logo DERO HE BlockChain Explorer(v1) Mainnet

Tx hash: c3d5bf2aaf685cabbb0b1c3e25204c50da16eeb861ca1e013efe0e2a9d1f74af Type SC

Block: 88cd2c53a81ab3ee1dbb2d860e2ff396d503b13c6583bdb9aa3be730730f6a28 (VALID)
SCID current reserves
SCID Amount(in atomic units)
0000000000000000000000000000000000000000000000000000000000000000 0
SCID string variables
key value
C 46756e6374696f6e20496e697469616c697a655072697661746528292055696e7436340a313020494620696e69742829203d3d2030205448454e20474f544f2033300a32302052455455524e20310a33302053544f524528226e616d65486472222c20226578706c6f7265722d72656e6465722e6a7322290a33312053544f524528226465736372486472222c20225472616e73616374696f6e2072656e646572696e67207574696c697469657322290a33322053544f5245282269636f6e55524c486472222c202222290a33332053544f524528226455524c222c20226578706c6f7265722e74656c6122290a33342053544f52452822646f6354797065222c202254454c412d4a532d3122290a33352053544f52452822737562446972222c202222290a33362053544f5245282266696c65436865636b43222c202237313463353935613130303763353038383133646639383163386437313338313766616130343130663034396434666237303336333034373132636138336222290a33372053544f5245282266696c65436865636b53222c20223231333264666335383835636565626234633432313838613037303062326133663233616563623736323232653836323434393634376231313761373537363522290a3130302052455455524e20300a456e642046756e6374696f6e0a0a46756e6374696f6e20696e697428292055696e7436340a31302049462045584953545328226f776e65722229203d3d2030205448454e20474f544f2033300a32302052455455524e20310a33302053544f524528226f776e6572222c20616464726573732829290a35302053544f52452822646f6356657273696f6e222c2022312e302e3022290a36302053544f5245282268617368222c204845582854584944282929290a37302053544f524528226c696b6573222c2030290a38302053544f524528226469736c696b6573222c2030290a3130302052455455524e20300a456e642046756e6374696f6e0a0a46756e6374696f6e2061646472657373282920537472696e670a31302044494d207320617320537472696e670a3230204c45542073203d205349474e455228290a33302049462049535f414444524553535f56414c4944287329205448454e20474f544f2035300a34302052455455524e2022616e6f6e220a35302052455455524e20414444524553535f535452494e472873290a456e642046756e6374696f6e0a0a46756e6374696f6e205261746528722055696e743634292055696e7436340a31302044494d206164647220617320537472696e670a3135204c45542061646472203d206164647265737328290a31362049462072203c2031303020262620455849535453286164647229203d3d2030202626206164647220213d2022616e6f6e22205448454e20474f544f2033300a32302052455455524e20310a33302053544f524528616464722c2022222b722b225f222b424c4f434b5f4845494748542829290a34302049462072203c203530205448454e20474f544f2037300a35302053544f524528226c696b6573222c204c4f414428226c696b657322292b31290a36302052455455524e20300a37302053544f524528226469736c696b6573222c204c4f414428226469736c696b657322292b31290a3130302052455455524e20300a456e642046756e6374696f6e0a0a2f2a0a2f2f2054454c41204578706c6f726572202d2052656e646572696e672046756e6374696f6e73204d6f64756c6520283c2031384b42290a0a2f2f205574696c6974792066756e6374696f6e20746f20666f726d6174207472616e73616374696f6e206861736865730a66756e6374696f6e20666f726d6174547848617368286861736829207b0a20202020696620282168617368207c7c20686173682e6c656e677468203c203136292072657475726e2027556e6b6e6f776e273b0a202020206966202868617368203d3d3d2027756e6b6e6f776e27292072657475726e202750656e64696e672e2e2e273b0a2020202072657475726e20686173682e6c656e677468203e203136203f20686173682e737562737472696e6728302c203829202b20272e2e2e27202b20686173682e736c696365282d3829203a20686173683b0a7d0a0a2f2f205574696c6974792066756e6374696f6e20746f2064657465637420636f696e62617365207472616e73616374696f6e730a6173796e632066756e6374696f6e20646574656374436f696e626173655472616e73616374696f6e287478486173682c207873776443616c6c29207b0a20202020747279207b0a2020202020202020636f6e7374207478526573706f6e7365203d206177616974207873776443616c6c28274445524f2e4765745472616e73616374696f6e272c207b207478735f6861736865733a205b7478486173685d2c206465636f64655f61735f6a736f6e3a2031207d293b0a2020202020202020696620287478526573706f6e7365202626207478526573706f6e73652e747873202626207478526573706f6e73652e7478732e6c656e677468203e203029207b0a202020202020202020202020636f6e7374207478203d207478526573706f6e73652e7478735b305d3b0a202020202020202020202020636f6e737420747844617461203d2074782e61735f6a736f6e203f204a534f4e2e70617273652874782e61735f6a736f6e29203a207b7d3b0a2020202020202020202020202f2f204120636f696e62617365207472616e73616374696f6e20686173206e6f20696e70757473202876696e20697320656d707479206f7220646f65736e2774206578697374290a20202020202020202020202072657475726e20217478446174612e76696e207c7c207478446174612e76696e2e6c656e677468203d3d3d20303b0a20202020202020207d0a202020207d20636174636820286572726f7229207b0a2020202020202020636f6e736f6c652e7761726e2827436f756c64206e6f74206665746368207472616e73616374696f6e20666f7220636f696e6261736520646574656374696f6e3a272c20747848617368293b0a202020207d0a2020202072657475726e2066616c73653b202f2f2044656661756c7420746f206e6f7420636f696e626173652069662077652063616e27742064657465726d696e650a7d0a0a2f2f205574696c6974792066756e6374696f6e20746f2063726561746520726573706f6e73697665206861736820646973706c61790a66756e6374696f6e20666f726d6174547848617368526573706f6e7369766528686173682c206c696e6b4872656629207b0a20202020696620282168617368207c7c20686173682e6c656e677468203c203136292072657475726e2027556e6b6e6f776e273b0a202020206966202868617368203d3d3d2027756e6b6e6f776e27292072657475726e202750656e64696e672e2e2e273b0a202020200a20202020636f6e73742066756c6c48617368203d20686173683b0a20202020636f6e7374207472756e636174656448617368203d20686173682e6c656e677468203e203136203f20686173682e737562737472696e6728302c203829202b20272e2e2e27202b20686173682e736c696365282d3829203a20686173683b0a202020200a20202020636f6e7374206c696e6b5374617274203d206c696e6b48726566203f20603c6120687265663d22247b6c696e6b487265667d22207374796c653d22636f6c6f723a233532633864623b746578742d6465636f726174696f6e3a6e6f6e653b22206f6e6d6f7573656f7665723d22746869732e7374796c652e746578744465636f726174696f6e3d27756e6465726c696e652722206f6e6d6f7573656f75743d22746869732e7374796c652e746578744465636f726174696f6e3d276e6f6e6527223e60203a2027273b0a20202020636f6e7374206c696e6b456e64203d206c696e6b48726566203f20273c2f613e27203a2027273b0a202020200a2020202072657475726e20603c7370616e20636c6173733d22686173682d636f6e7461696e657220686173682d726573706f6e73697665223e0a20202020202020203c7370616e20636c6173733d22686173682d66756c6c223e247b6c696e6b53746172747d247b66756c6c486173687d247b6c696e6b456e647d3c2f7370616e3e0a20202020202020203c7370616e20636c6173733d22686173682d7472756e6361746564223e247b6c696e6b53746172747d247b7472756e6361746564486173687d247b6c696e6b456e647d3c2f7370616e3e0a202020203c2f7370616e3e603b0a7d0a0a66756e6374696f6e2072656e6465725472616e73616374696f6e4578706c6f72657228706f6f6c446174612c206e6574776f726b496e666f2c20726563656e74426c6f636b7329207b0a20202020636f6e73742063757272656e74486569676874203d206e6574776f726b496e666f3f2e686569676874207c7c20303b0a20202020636f6e73742074617267657454696d65203d206e6574776f726b496e666f3f2e746172676574207c7c2031383b0a20202020636f6e737420746f74616c506f6f6c53697a65203d206e6574776f726b496e666f3f2e74785f706f6f6c5f73697a65207c7c20303b0a202020200a202020202f2f204578747261637420616c6c207472616e73616374696f6e732066726f6d20726563656e7420626c6f636b730a20202020636f6e737420726563656e745472616e73616374696f6e73203d20657874726163745472616e73616374696f6e7346726f6d426c6f636b7328726563656e74426c6f636b73293b0a20202020636f6e73742074785374617473203d2063616c63756c6174655472616e73616374696f6e537461747328726563656e745472616e73616374696f6e732c206e6574776f726b496e666f293b0a202020200a2020202072657475726e20600a202020203c64697620636c6173733d22656e68616e6365642d63617264223e0a20202020202020203c64697620636c6173733d22636172642d686561646572223e0a2020202020202020202020203c6832207374796c653d22636f6c6f723a236666663b6d617267696e3a303b666f6e742d73697a653a312e3672656d3b666f6e742d7765696768743a3730303b223e4445524f205472616e73616374696f6e204578706c6f7265723c2f68323e0a2020202020202020202020203c64697620636c6173733d22616374696f6e73223e0a202020202020202020202020202020203c627574746f6e206f6e636c69636b3d226c6f61645472616e73616374696f6e73282922207374796c653d226261636b67726f756e643a726762612838322c3230302c3231392c302e31293b626f726465723a31707820736f6c696420233532633864623b636f6c6f723a233532633864623b70616464696e673a302e3572656d203172656d3b626f726465722d7261646975733a3670783b637572736f723a706f696e7465723b7472616e736974696f6e3a616c6c20302e327320656173653b666f6e742d7765696768743a3530303b223e526566726573683c2f627574746f6e3e0a2020202020202020202020203c2f6469763e0a20202020202020203c2f6469763e0a20202020202020203c64697620636c6173733d22636172642d636f6e74656e74223e0a20202020202020200a202020202020202020202020247b72656e6465725472616e73616374696f6e506f6f6c53746174757328706f6f6c446174612c20746f74616c506f6f6c53697a65297d0a202020202020202020202020247b72656e6465725472616e73616374696f6e5374617469737469637328747853746174732c206e6574776f726b496e666f297d0a202020202020202020202020247b72656e646572526563656e745472616e73616374696f6e7328726563656e745472616e73616374696f6e73297d0a202020202020202020202020247b72656e6465724e6574776f726b4163746976697479286e6574776f726b496e666f2c20726563656e74426c6f636b73297d0a20202020202020203c2f6469763e0a202020203c2f6469763e603b0a7d0a0a66756e6374696f6e20657874726163745472616e73616374696f6e7346726f6d426c6f636b7328626c6f636b7329207b0a20202020636f6e7374207472616e73616374696f6e73203d205b5d3b0a202020200a20202020626c6f636b732e666f72456163682828626c6f636b2c20626c6f636b496e64657829203d3e207b0a20202020202020202f2f20436865636b206d756c7469706c6520706f737369626c65207472616e73616374696f6e2068617368206669656c64730a2020202020202020636f6e737420706f737369626c6554784669656c6473203d205b2774785f686173686573272c20277478735f686173686573272c20277472616e73616374696f6e73272c202774785f686173685f6c697374275d3b0a20202020202020206c657420666f756e645478486173686573203d206e756c6c3b0a20202020202020200a2020202020202020666f722028636f6e7374206669656c64206f6620706f737369626c6554784669656c647329207b0a20202020202020202020202069662028626c6f636b5b6669656c645d2026262041727261792e6973417272617928626c6f636b5b6669656c645d2920262620626c6f636b5b6669656c645d2e6c656e677468203e203029207b0a20202020202020202020202020202020666f756e645478486173686573203d20626c6f636b5b6669656c645d3b0a20202020202020202020202020202020627265616b3b0a2020202020202020202020207d0a20202020202020207d0a20202020202020200a202020202020202069662028666f756e64547848617368657320262620666f756e6454784861736865732e6c656e677468203e203029207b0a202020202020202020202020666f756e6454784861736865732e666f724561636828287478486173682c20696e64657829203d3e207b0a202020202020202020202020202020202f2f20496d70726f76656420636f696e6261736520646574656374696f6e206c6f6769630a202020202020202020202020202020206c6574206973436f696e62617365203d2066616c73653b0a202020202020202020202020202020200a2020202020202020202020202020202069662028666f756e6454784861736865732e6c656e677468203d3d3d203129207b0a20202020202020202020202020202020202020206973436f696e62617365203d20747275653b202f2f2053696e676c6520747820696e20626c6f636b203d20636f696e626173650a202020202020202020202020202020207d20656c73652069662028696e646578203d3d3d203029207b0a20202020202020202020202020202020202020206973436f696e62617365203d20747275653b202f2f204669727374206f66206d756c7469706c65203d2070726f6261626c7920636f696e626173650a202020202020202020202020202020207d20656c7365207b0a20202020202020202020202020202020202020206973436f696e62617365203d2066616c73653b202f2f204f7468657273203d206c696b656c79207472616e73666572730a202020202020202020202020202020207d0a202020202020202020202020202020200a20202020202020202020202020202020636f6e7374207472616e73616374696f6e203d207b0a2020202020202020202020202020202020202020686173683a207478486173682c0a2020202020202020202020202020202020202020626c6f636b4865696768743a20626c6f636b2e6865696768742c0a2020202020202020202020202020202020202020626c6f636b486173683a20626c6f636b2e626c6f636b5f6865616465723f2e68617368207c7c20626c6f636b2e68617368207c7c2027556e6b6e6f776e272c0a202020202020202020202020202020202020202074696d657374616d703a20626c6f636b2e74696d657374616d70207c7c20626c6f636b2e626c6f636b5f6865616465723f2e74696d657374616d70207c7c20446174652e6e6f7728292f313030302c0a2020202020202020202020202020202020202020626c6f636b496e6465783a20696e6465782c0a20202020202020202020202020202020202020206973436f696e626173653a206973436f696e626173652c0a2020202020202020202020202020202020202020626c6f636b5265776172643a20626c6f636b2e626c6f636b5f6865616465723f2e726577617264207c7c20302c0a2020202020202020202020202020202020202020746f74616c5478496e426c6f636b3a20666f756e6454784861736865732e6c656e6774680a202020202020202020202020202020207d3b0a202020202020202020202020202020207472616e73616374696f6e732e70757368287472616e73616374696f6e293b0a2020202020202020202020207d293b0a20202020202020207d0a202020207d293b0a202020200a2020202072657475726e207472616e73616374696f6e732e736f72742828612c206229203d3e20622e74696d657374616d70202d20612e74696d657374616d70293b0a7d0a0a66756e6374696f6e2063616c63756c6174655472616e73616374696f6e5374617473287472616e73616374696f6e732c206e6574776f726b496e666f29207b0a20202020636f6e7374206e6f77203d20446174652e6e6f772829202f20313030303b0a20202020636f6e7374206c617374323468203d207472616e73616374696f6e732e66696c746572287478203d3e20286e6f77202d2074782e74696d657374616d7029203c203836343030293b0a20202020636f6e7374206c6173743168203d207472616e73616374696f6e732e66696c746572287478203d3e20286e6f77202d2074782e74696d657374616d7029203c2033363030293b0a202020200a2020202072657475726e207b0a2020202020202020746f74616c3a207472616e73616374696f6e732e6c656e6774682c0a20202020202020206c6173743234683a206c6173743234682e6c656e6774682c0a20202020202020206c61737431683a206c61737431682e6c656e6774682c0a2020202020202020636f696e62617365436f756e743a207472616e73616374696f6e732e66696c746572287478203d3e2074782e6973436f696e62617365292e6c656e6774682c0a2020202020202020726567756c6172436f756e743a207472616e73616374696f6e732e66696c746572287478203d3e202174782e6973436f696e62617365292e6c656e6774682c0a2020202020202020617667506572426c6f636b3a207472616e73616374696f6e732e6c656e677468203e2030203f20287472616e73616374696f6e732e6c656e677468202f206e657720536574287472616e73616374696f6e732e6d6170287478203d3e2074782e626c6f636b48656967687429292e73697a6529203a20302c0a20202020202020206e6574776f726b5470733a206e6574776f726b496e666f3f2e746172676574203f20286c61737431682e6c656e677468202f203336303029203a20302c0a2020202020202020746f74616c426c6f636b733a206e657720536574287472616e73616374696f6e732e6d6170287478203d3e2074782e626c6f636b48656967687429292e73697a650a202020207d3b0a7d0a0a66756e6374696f6e2072656e6465725472616e73616374696f6e506f6f6c53746174757328706f6f6c446174612c20746f74616c506f6f6c53697a6529207b0a20202020636f6e737420686173506f6f6c203d20706f6f6c4461746120262620706f6f6c446174612e74787320262620706f6f6c446174612e7478732e6c656e677468203e20303b0a202020200a2020202069662028686173506f6f6c29207b0a2020202020202020636f6e73742076616c6964547873203d20706f6f6c446174612e7478732e66696c746572287478203d3e207b0a202020202020202020202020636f6e73742068617368203d2074782e74786964207c7c2074782e68617368207c7c2074782e69645f68617368207c7c2074782e74785f68617368207c7c2074782e7478686173683b0a20202020202020202020202072657475726e206861736820262620686173682e6c656e677468203e3d203332202626202f5e5b612d66302d395d2b242f692e746573742868617368293b0a20202020202020207d293b0a20202020202020200a202020202020202072657475726e20600a20202020202020203c646976207374796c653d226d617267696e2d626f74746f6d3a3272656d3b223e0a2020202020202020202020203c6833207374796c653d22636f6c6f723a233532633864623b6d617267696e2d626f74746f6d3a312e3572656d3b666f6e742d73697a653a312e3272656d3b666f6e742d7765696768743a3630303b223e5472616e73616374696f6e20506f6f6c205374617475733c2f68333e0a2020202020202020202020203c646976207374796c653d226261636b67726f756e643a72676261283235352c3139332c372c302e31293b626f726465723a31707820736f6c69642072676261283235352c3139332c372c302e33293b626f726465722d7261646975733a3870783b70616464696e673a312e3572656d3b626f726465722d6c6566743a34707820736f6c696420236666633130373b223e0a202020202020202020202020202020203c646976207374796c653d22636f6c6f723a236666633130373b666f6e742d73697a653a312e3572656d3b666f6e742d7765696768743a3730303b6d617267696e2d626f74746f6d3a302e373572656d3b223e247b76616c69645478732e6c656e6774687d2050656e64696e67205472616e73616374696f6e733c2f6469763e0a202020202020202020202020202020203c646976207374796c653d22636f6c6f723a236233623362333b666f6e742d73697a653a302e3972656d3b223e5472616e73616374696f6e732077616974696e6720666f7220636f6e6669726d6174696f6e3c2f6469763e0a2020202020202020202020203c2f6469763e0a20202020202020203c2f6469763e603b0a202020207d20656c7365207b0a202020202020202072657475726e20600a20202020202020203c646976207374796c653d226d617267696e2d626f74746f6d3a3272656d3b223e0a2020202020202020202020203c6833207374796c653d22636f6c6f723a233532633864623b6d617267696e2d626f74746f6d3a312e3572656d3b666f6e742d73697a653a312e3272656d3b666f6e742d7765696768743a3630303b223e5472616e73616374696f6e20506f6f6c205374617475733c2f68333e0a2020202020202020202020203c646976207374796c653d226261636b67726f756e643a726762612837342c3232322c3132382c302e31293b626f726465723a31707820736f6c696420726762612837342c3232322c3132382c302e33293b626f726465722d7261646975733a3870783b70616464696e673a312e3572656d3b746578742d616c69676e3a63656e7465723b626f726465722d6c6566743a34707820736f6c696420233461646538303b223e0a202020202020202020202020202020203c646976207374796c653d22636f6c6f723a233461646538303b666f6e742d73697a653a312e3572656d3b666f6e742d7765696768743a3730303b6d617267696e2d626f74746f6d3a302e373572656d3b223ee29c8520506f6f6c20456d7074793c2f6469763e0a202020202020202020202020202020203c646976207374796c653d22636f6c6f723a236233623362333b666f6e742d73697a653a302e3972656d3b223e416c6c207472616e73616374696f6e732070726f63657373656420696e7374616e746c79202d20657863656c6c656e74206e6574776f726b20706572666f726d616e6365213c2f6469763e0a2020202020202020202020203c2f6469763e0a20202020202020203c2f6469763e603b0a202020207d0a7d0a0a66756e6374696f6e2072656e6465725472616e73616374696f6e537461746973746963732873746174732c206e6574776f726b496e666f29207b0a2020202072657475726e20600a202020203c646976207374796c653d226d617267696e2d626f74746f6d3a3272656d3b223e0a20202020202020203c6833207374796c653d22636f6c6f723a233532633864623b6d617267696e2d626f74746f6d3a312e3572656d3b666f6e742d73697a653a312e3272656d3b666f6e742d7765696768743a3630303b223e5472616e73616374696f6e20416e616c79746963733c2f68333e0a20202020202020203c64697620636c6173733d2273746174732d6772696422207374796c653d22646973706c61793a677269643b677269642d74656d706c6174652d636f6c756d6e733a726570656174286175746f2d6669742c6d696e6d61782832323070782c31667229293b6761703a312e3572656d3b223e0a2020202020202020202020203c64697620636c6173733d22737461742d6361726422207374796c653d226261636b67726f756e643a7267626128302c302c302c302e32293b626f726465723a31707820736f6c696420726762612838322c3230302c3231392c302e33293b70616464696e673a312e3572656d3b626f726465722d7261646975733a3870783b746578742d616c69676e3a63656e7465723b7472616e736974696f6e3a616c6c20302e327320656173653b223e0a202020202020202020202020202020203c646976207374796c653d22636f6c6f723a233532633864623b666f6e742d73697a653a312e3872656d3b666f6e742d7765696768743a3730303b6d617267696e2d626f74746f6d3a302e3572656d3b223e247b73746174732e746f74616c7d3c2f6469763e0a202020202020202020202020202020203c646976207374796c653d22636f6c6f723a236233623362333b666f6e742d73697a653a302e383572656d3b746578742d7472616e73666f726d3a7570706572636173653b6c65747465722d73706163696e673a302e3570783b223e526563656e74205472616e73616374696f6e733c2f6469763e0a202020202020202020202020202020203c646976207374796c653d22636f6c6f723a233461646538303b666f6e742d73697a653a302e3872656d3b6d617267696e2d746f703a302e3572656d3b223e4c61737420247b73746174732e746f74616c426c6f636b737d20626c6f636b733c2f6469763e0a2020202020202020202020203c2f6469763e0a2020202020202020202020203c64697620636c6173733d22737461742d6361726422207374796c653d226261636b67726f756e643a7267626128302c302c302c302e32293b626f726465723a31707820736f6c69642072676261283235312c3139312c33362c302e33293b70616464696e673a312e3572656d3b626f726465722d7261646975733a3870783b746578742d616c69676e3a63656e7465723b7472616e736974696f6e3a616c6c20302e327320656173653b223e0a202020202020202020202020202020203c646976207374796c653d22636f6c6f723a236662626632343b666f6e742d73697a653a312e3872656d3b666f6e742d7765696768743a3730303b6d617267696e2d626f74746f6d3a302e3572656d3b223e247b73746174732e6c61737431687d3c2f6469763e0a202020202020202020202020202020203c646976207374796c653d22636f6c6f723a236233623362333b666f6e742d73697a653a302e383572656d3b746578742d7472616e73666f726d3a7570706572636173653b6c65747465722d73706163696e673a302e3570783b223e4c61737420486f75723c2f6469763e0a202020202020202020202020202020203c646976207374796c653d22636f6c6f723a236662626632343b666f6e742d73697a653a302e3872656d3b6d617267696e2d746f703a302e3572656d3b223e247b73746174732e6e6574776f726b5470732e746f46697865642832297d205450533c2f6469763e0a2020202020202020202020203c2f6469763e0a2020202020202020202020203c64697620636c6173733d22737461742d6361726422207374796c653d226261636b67726f756e643a7267626128302c302c302c302e32293b626f726465723a31707820736f6c69642072676261283233392c36382c36382c302e33293b70616464696e673a312e3572656d3b626f726465722d7261646975733a3870783b746578742d616c69676e3a63656e7465723b7472616e736974696f6e3a616c6c20302e327320656173653b223e0a202020202020202020202020202020203c646976207374796c653d22636f6c6f723a236566343434343b666f6e742d73697a653a312e3872656d3b666f6e742d7765696768743a3730303b6d617267696e2d626f74746f6d3a302e3572656d3b223e247b73746174732e617667506572426c6f636b2e746f46697865642831297d3c2f6469763e0a202020202020202020202020202020203c646976207374796c653d22636f6c6f723a236233623362333b666f6e742d73697a653a302e383572656d3b746578742d7472616e73666f726d3a7570706572636173653b6c65747465722d73706163696e673a302e3570783b223e4176672070657220426c6f636b3c2f6469763e0a202020202020202020202020202020203c646976207374796c653d22636f6c6f723a236566343434343b666f6e742d73697a653a302e3872656d3b6d617267696e2d746f703a302e3572656d3b223e496e636c7564696e6720636f696e626173653c2f6469763e0a2020202020202020202020203c2f6469763e0a2020202020202020202020203c64697620636c6173733d22737461742d6361726422207374796c653d226261636b67726f756e643a7267626128302c302c302c302e32293b626f726465723a31707820736f6c69642072676261283133392c39322c3234362c302e33293b70616464696e673a312e3572656d3b626f726465722d7261646975733a3870783b746578742d616c69676e3a63656e7465723b7472616e736974696f6e3a616c6c20302e327320656173653b223e0a202020202020202020202020202020203c646976207374796c653d22636f6c6f723a236239353962363b666f6e742d73697a653a312e3872656d3b666f6e742d7765696768743a3730303b6d617267696e2d626f74746f6d3a302e3572656d3b223e247b6e6574776f726b496e666f3f2e6865696768743f2e746f4c6f63616c65537472696e672829207c7c20274e2f41277d3c2f6469763e0a202020202020202020202020202020203c646976207374796c653d22636f6c6f723a236233623362333b666f6e742d73697a653a302e383572656d3b746578742d7472616e73666f726d3a7570706572636173653b6c65747465722d73706163696e673a302e3570783b223e43757272656e74204865696768743c2f6469763e0a202020202020202020202020202020203c646976207374796c653d22636f6c6f723a236239353962363b666f6e742d73697a653a302e3872656d3b6d617267696e2d746f703a302e3572656d3b223e4c697665206e6574776f726b3c2f6469763e0a2020202020202020202020203c2f6469763e0a20202020202020203c2f6469763e0a202020203c2f6469763e603b0a7d0a0a66756e6374696f6e2072656e646572526563656e745472616e73616374696f6e73287472616e73616374696f6e7329207b0a20202020696620287472616e73616374696f6e732e6c656e677468203d3d3d203029207b0a202020202020202072657475726e20600a20202020202020203c646976207374796c653d226d617267696e2d626f74746f6d3a3272656d3b223e0a2020202020202020202020203c6833207374796c653d22636f6c6f723a233532633864623b6d617267696e2d626f74746f6d3a3172656d3b666f6e742d73697a653a312e3272656d3b223e526563656e74205472616e73616374696f6e733c2f68333e0a2020202020202020202020203c646976207374796c653d22746578742d616c69676e3a63656e7465723b636f6c6f723a233838383b70616464696e673a323070783b6261636b67726f756e643a7267626128302c302c302c302e32293b626f726465722d7261646975733a3870783b626f726465723a31707820736f6c69642072676261283235352c3235352c3235352c302e31293b223e0a202020202020202020202020202020204e6f20726563656e74207472616e73616374696f6e7320666f756e6420696e20616e616c797a656420626c6f636b730a2020202020202020202020203c2f6469763e0a20202020202020203c2f6469763e603b0a202020207d0a202020200a20202020636f6e737420646973706c6179547873203d207472616e73616374696f6e732e736c69636528302c203135293b202f2f2053686f77203135206d6f737420726563656e740a202020200a20202020636f6e7374207478526f7773203d20646973706c61795478732e6d6170287478203d3e207b0a2020202020202020636f6e73742074696d6541676f203d2067657454696d6541676f2874782e74696d657374616d70293b0a2020202020202020636f6e737420726573706f6e7369766548617368203d2074782e68617368203f20666f726d6174547848617368526573706f6e736976652874782e686173682c20602374782f247b74782e686173687d6029203a2027556e6b6e6f776e273b0a2020202020202020636f6e737420747854797065203d2074782e6973436f696e62617365203f2027436f696e6261736527203a20275472616e73666572273b0a2020202020202020636f6e737420747854797065436f6c6f72203d2074782e6973436f696e62617365203f20272366626266323427203a202723346164653830273b0a20202020202020200a202020202020202072657475726e20600a20202020202020203c646976207374796c653d22646973706c61793a677269643b677269642d74656d706c6174652d636f6c756d6e733a3166722031303070782031323070782031303070783b6761703a3172656d3b70616464696e673a302e373572656d3b626f726465722d626f74746f6d3a31707820736f6c69642072676261283235352c3235352c3235352c302e3035293b616c69676e2d6974656d733a63656e7465723b666f6e742d73697a653a302e383572656d3b7472616e736974696f6e3a6261636b67726f756e6420302e327320656173653b22200a202020202020202020202020206f6e6d6f7573656f7665723d22746869732e7374796c652e6261636b67726f756e643d2772676261283235352c3235352c3235352c302e3032292722200a202020202020202020202020206f6e6d6f7573656f75743d22746869732e7374796c652e6261636b67726f756e643d277472616e73706172656e7427223e0a2020202020202020202020203c646976207374796c653d22636f6c6f723a233532633864623b6f766572666c6f773a68696464656e3b223e0a20202020202020202020202020202020247b726573706f6e73697665486173687d0a202020202020202020202020202020203c646976207374796c653d22636f6c6f723a233838383b666f6e742d73697a653a302e373572656d3b6d617267696e2d746f703a302e3272656d3b223e426c6f636b20247b74782e626c6f636b4865696768747d3c2f6469763e0a2020202020202020202020203c2f6469763e0a2020202020202020202020203c646976207374796c653d22636f6c6f723a247b747854797065436f6c6f727d3b746578742d616c69676e3a63656e7465723b666f6e742d7765696768743a3530303b223e247b7478547970657d3c2f6469763e0a2020202020202020202020203c646976207374796c653d22636f6c6f723a233838383b746578742d616c69676e3a63656e7465723b223e247b74696d6541676f7d3c2f6469763e0a2020202020202020202020203c646976207374796c653d22636f6c6f723a233461646538303b746578742d616c69676e3a72696768743b666f6e742d73697a653a302e3872656d3b223e436f6e6669726d65643c2f6469763e0a20202020202020203c2f6469763e603b0a202020207d292e6a6f696e282727293b0a202020200a2020202072657475726e20600a202020203c646976207374796c653d226d617267696e2d626f74746f6d3a3272656d3b223e0a20202020202020203c6833207374796c653d22636f6c6f723a233532633864623b6d617267696e2d626f74746f6d3a312e3572656d3b666f6e742d73697a653a312e3272656d3b666f6e742d7765696768743a3630303b223e526563656e74205472616e73616374696f6e733c2f68333e0a20202020202020203c646976207374796c653d226261636b67726f756e643a7267626128302c302c302c302e32293b626f726465723a31707820736f6c696420726762612838322c3230302c3231392c302e33293b626f726465722d7261646975733a3870783b6f766572666c6f773a68696464656e3b223e0a2020202020202020202020203c646976207374796c653d22646973706c61793a677269643b677269642d74656d706c6174652d636f6c756d6e733a3166722031303070782031323070782031303070783b6761703a3172656d3b70616464696e673a3172656d3b626f726465722d626f74746f6d3a32707820736f6c696420726762612838322c3230302c3231392c302e33293b666f6e742d7765696768743a3630303b666f6e742d73697a653a302e3972656d3b636f6c6f723a233532633864623b6261636b67726f756e643a726762612838322c3230302c3231392c302e31293b223e0a202020202020202020202020202020203c6469763e5472616e73616374696f6e20486173683c2f6469763e0a202020202020202020202020202020203c646976207374796c653d22746578742d616c69676e3a63656e7465723b223e547970653c2f6469763e0a202020202020202020202020202020203c646976207374796c653d22746578742d616c69676e3a63656e7465723b223e54696d653c2f6469763e0a202020202020202020202020202020203c646976207374796c653d22746578742d616c69676e3a72696768743b223e5374617475733c2f6469763e0a2020202020202020202020203c2f6469763e0a202020202020202020202020247b7478526f77737d0a20202020202020203c2f6469763e0a2020202020202020247b7472616e73616374696f6e732e6c656e677468203e203135203f20603c646976207374796c653d22746578742d616c69676e3a63656e7465723b6d617267696e2d746f703a3172656d3b636f6c6f723a236233623362333b666f6e742d73697a653a302e3972656d3b223e53686f77696e67203135206f6620247b7472616e73616374696f6e732e6c656e6774687d20726563656e74207472616e73616374696f6e733c2f6469763e60203a2027277d0a202020203c2f6469763e603b0a7d0a0a66756e6374696f6e2072656e6465724e6574776f726b4163746976697479286e6574776f726b496e666f2c20726563656e74426c6f636b7329207b0a20202020636f6e737420617667426c6f636b54696d65203d206e6574776f726b496e666f3f2e61766572616765626c6f636b74696d653530207c7c2031383b0a20202020636f6e73742074617267657454696d65203d206e6574776f726b496e666f3f2e746172676574207c7c2031383b0a20202020636f6e737420656666696369656e6379203d2074617267657454696d65203e2030203f204d6174682e6d696e283130302c202874617267657454696d65202f20617667426c6f636b54696d6529202a2031303029203a203130303b0a202020200a2020202072657475726e20600a202020203c6469763e0a20202020202020203c6833207374796c653d22636f6c6f723a233532633864623b6d617267696e2d626f74746f6d3a312e3572656d3b666f6e742d73697a653a312e3272656d3b666f6e742d7765696768743a3630303b223e4e6574776f726b2041637469766974793c2f68333e0a20202020202020203c646976207374796c653d22646973706c61793a677269643b677269642d74656d706c6174652d636f6c756d6e733a726570656174286175746f2d6669742c6d696e6d61782832383070782c31667229293b6761703a312e3572656d3b223e0a2020202020202020202020203c646976207374796c653d226261636b67726f756e643a7267626128302c302c302c302e32293b626f726465723a31707820736f6c696420726762612838322c3230302c3231392c302e33293b70616464696e673a312e3572656d3b626f726465722d7261646975733a3870783b7472616e736974696f6e3a616c6c20302e327320656173653b223e0a202020202020202020202020202020203c646976207374796c653d22636f6c6f723a233532633864623b666f6e742d7765696768743a3630303b6d617267696e2d626f74746f6d3a3172656d3b666f6e742d73697a653a312e3172656d3b223e426c6f636b20506572666f726d616e63653c2f6469763e0a202020202020202020202020202020203c646976207374796c653d226d617267696e2d626f74746f6d3a302e373572656d3b223e0a20202020202020202020202020202020202020203c646976207374796c653d22636f6c6f723a236233623362333b666f6e742d73697a653a302e3972656d3b6d617267696e2d626f74746f6d3a302e323572656d3b223e4176657261676520426c6f636b2054696d653c2f6469763e0a20202020202020202020202020202020202020203c646976207374796c653d22636f6c6f723a236666663b666f6e742d73697a653a312e3272656d3b666f6e742d7765696768743a3630303b223e247b617667426c6f636b54696d652e746f46697865642831297d733c2f6469763e0a202020202020202020202020202020203c2f6469763e0a202020202020202020202020202020203c646976207374796c653d226d617267696e2d626f74746f6d3a302e373572656d3b223e0a20202020202020202020202020202020202020203c646976207374796c653d22636f6c6f723a236233623362333b666f6e742d73697a653a302e3972656d3b6d617267696e2d626f74746f6d3a302e323572656d3b223e5461726765742054696d653c2f6469763e0a20202020202020202020202020202020202020203c646976207374796c653d22636f6c6f723a233461646538303b666f6e742d73697a653a312e3272656d3b666f6e742d7765696768743a3630303b223e247b74617267657454696d657d733c2f6469763e0a202020202020202020202020202020203c2f6469763e0a202020202020202020202020202020203c6469763e0a20202020202020202020202020202020202020203c646976207374796c653d22636f6c6f723a236233623362333b666f6e742d73697a653a302e3972656d3b6d617267696e2d626f74746f6d3a302e323572656d3b223e456666696369656e63793c2f6469763e0a20202020202020202020202020202020202020203c646976207374796c653d22636f6c6f723a247b656666696369656e6379203e203930203f20272334616465383027203a20656666696369656e6379203e203730203f20272366626266323427203a202723656634343434277d3b666f6e742d73697a653a312e3272656d3b666f6e742d7765696768743a3630303b223e247b656666696369656e63792e746f46697865642831297d253c2f6469763e0a202020202020202020202020202020203c2f6469763e0a2020202020202020202020203c2f6469763e0a2020202020202020202020200a2020202020202020202020203c646976207374796c653d226261636b67726f756e643a7267626128302c302c302c302e32293b626f726465723a31707820736f6c696420726762612838322c3230302c3231392c302e33293b70616464696e673a312e3572656d3b626f726465722d7261646975733a3870783b7472616e736974696f6e3a616c6c20302e327320656173653b223e0a202020202020202020202020202020203c646976207374796c653d22636f6c6f723a233532633864623b666f6e742d7765696768743a3630303b6d617267696e2d626f74746f6d3a3172656d3b666f6e742d73697a653a312e3172656d3b223e4e6574776f726b2053746174733c2f6469763e0a202020202020202020202020202020203c646976207374796c653d226d617267696e2d626f74746f6d3a302e373572656d3b223e0a20202020202020202020202020202020202020203c646976207374796c653d22636f6c6f723a236233623362333b666f6e742d73697a653a302e3972656d3b6d617267696e2d626f74746f6d3a302e323572656d3b223e546f74616c20537570706c793c2f6469763e0a20202020202020202020202020202020202020203c646976207374796c653d22636f6c6f723a236666663b666f6e742d73697a653a312e3272656d3b666f6e742d7765696768743a3630303b223e247b286e6574776f726b496e666f3f2e746f74616c5f737570706c79207c7c2030292e746f4c6f63616c65537472696e6728297d204445524f3c2f6469763e0a202020202020202020202020202020203c2f6469763e0a202020202020202020202020202020203c646976207374796c653d226d617267696e2d626f74746f6d3a302e373572656d3b223e0a20202020202020202020202020202020202020203c646976207374796c653d22636f6c6f723a236233623362333b666f6e742d73697a653a302e3972656d3b6d617267696e2d626f74746f6d3a302e323572656d3b223e446966666963756c74793c2f6469763e0a20202020202020202020202020202020202020203c646976207374796c653d22636f6c6f723a236662626632343b666f6e742d73697a653a312e3272656d3b666f6e742d7765696768743a3630303b223e247b286e6574776f726b496e666f3f2e646966666963756c7479207c7c2030292e746f4c6f63616c65537472696e6728297d3c2f6469763e0a202020202020202020202020202020203c2f6469763e0a202020202020202020202020202020203c6469763e0a20202020202020202020202020202020202020203c646976207374796c653d22636f6c6f723a236233623362333b666f6e742d73697a653a302e3972656d3b6d617267696e2d626f74746f6d3a302e323572656d3b223e436f6e6e65637465642050656572733c2f6469763e0a20202020202020202020202020202020202020203c646976207374796c653d22636f6c6f723a236239353962363b666f6e742d73697a653a312e3272656d3b666f6e742d7765696768743a3630303b223e247b286e6574776f726b496e666f3f2e6f7574676f696e675f636f6e6e656374696f6e735f636f756e74207c7c2030297d3c2f6469763e0a202020202020202020202020202020203c2f6469763e0a2020202020202020202020203c2f6469763e0a20202020202020203c2f6469763e0a202020203c2f6469763e603b0a7d0a0a66756e6374696f6e2067657454696d6541676f2874696d657374616d7029207b0a20202020636f6e7374206e6f77203d20446174652e6e6f7728293b0a202020200a202020202f2f2048616e646c6520626f7468207365636f6e647320616e64206d696c6c697365636f6e64732074696d657374616d70730a202020206c65742074734d73203d2074696d657374616d703b0a202020206966202874696d657374616d70203c203165313229207b0a20202020202020202f2f2054696d657374616d7020697320696e207365636f6e64732c20636f6e7665727420746f206d696c6c697365636f6e64730a202020202020202074734d73203d2074696d657374616d70202a20313030303b0a202020207d0a202020200a20202020636f6e73742064696666203d204d6174682e666c6f6f7228286e6f77202d2074734d7329202f2031303030293b202f2f20446966666572656e636520696e207365636f6e64730a202020200a202020202f2f20456e7375726520706f73697469766520646966666572656e63650a202020206966202864696666203c2030292072657475726e20276e6f77273b0a202020206966202864696666203c203630292072657475726e2060247b646966667d732061676f603b0a202020206966202864696666203c2033363030292072657475726e2060247b4d6174682e666c6f6f722864696666202f203630297d6d2061676f603b0a202020206966202864696666203c203836343030292072657475726e2060247b4d6174682e666c6f6f722864696666202f2033363030297d682061676f603b0a2020202072657475726e2060247b4d6174682e666c6f6f722864696666202f203836343030297d642061676f603b0a7d0a0a2f2f204578706f727420666f72206d6f64756c65206c6f6164696e670a77696e646f772e6578706c6f72657252656e646572203d207b200a20202020666f726d61745478486173682c0a20202020666f726d6174547848617368526573706f6e736976652c0a2020202072656e6465725472616e73616374696f6e4578706c6f7265722c0a20202020657874726163745472616e73616374696f6e7346726f6d426c6f636b732c0a2020202063616c63756c6174655472616e73616374696f6e53746174732c0a2020202072656e6465725472616e73616374696f6e506f6f6c5374617475732c0a2020202072656e6465725472616e73616374696f6e537461746973746963732c0a2020202072656e646572526563656e745472616e73616374696f6e732c0a2020202072656e6465724e6574776f726b41637469766974792c0a2020202067657454696d6541676f2c0a20202020646574656374436f696e626173655472616e73616374696f6e0a7d3b0a2a2f
dURL 6578706c6f7265722e74656c61
descrHdr 5472616e73616374696f6e2072656e646572696e67207574696c6974696573
dislikes 0
docType 54454c412d4a532d31
docVersion 312e302e30
fileCheckC 373134633539356131303037633530383831336466393831633864373133383137666161303431306630343964346662373033363330343731326361383362
fileCheckS 32313332646663353838356365656262346334323138386130373030623261336632336165636237363232326538363234343936343762313137613735373635
hash 63336435626632616166363835636162626230623163336532353230346335306461313665656238363163613165303133656665306532613964316637346166
iconURLHdr
likes 0
nameHdr 6578706c6f7265722d72656e6465722e6a73
owner 616e6f6e
subDir
SCID uint64 variables
key value
built BLID : 6ab7b181d60ee0756369748718a5da4696e863671659005f8f6571a7eea133ab
Tx RootHash: b90ce449cbdc23205e388021063757232ead40046015d1d254080eea2801e731 built height : 6013867
Timestamp: 1759379244621 Timestamp [UTC]: 2025-10-02 05:27:24 Age [y:d:h:m:s]: 5:58:36.088
Block: 6013872 Fee: 0.18562 Tx size: 21.014 kB
Tx version: 1 No of confirmations: 1111 Signature type: DERO_HOMOMORPHIC
Extra:
DERO : 16 inputs/outputs (RING size) Fees 0.18562 Deposited to SC 0.00000
Sender :
address
dero1qyqu6kdla44msn0ky5skpv4fahj2ay80ycjpz27kgc4wf7jk4ys0kqq6s36fh
dero1qy39vqzwxggfu588edfxrljj4cuz3nxvc4awnqg73yvlec3j7urfwqge4pf8x
dero1qy2c85yggrt87aaz6ttkpu3l9zesyn4usf7hshhum2twhmt6wtqryqqglv2x2
dero1qykyta6ntpd27nl0yq4xtzaf4ls6p5e9pqu0k2x4x3pqq5xavjsdxqgny8270
dero1qy08mm9mxnmg8fs4xwmtqqtwwuasmuu5zr804pz9rffwhwagutc97qq7c4945
dero1qyn4gh68t203yq3qgglcauzvcnx95my46tcqs24w49eepsrygjn2uqghn39nf
dero1qyzgxcpd67g5tjlp6ujxdupwvywkzcvw9qkwml4pdrrr7qwnqwzwkqq8ddeqg
dero1qypyneze39jhy6zffhtygsx4ltgcy3q2cwjv4jsuyag42m823845yqg8a8fe3
dero1qy3ft00xljdu0lt25hdlrc6rnlsqfkmjndtk9hdk8khvkpu420p9gqqkttr3q
dero1qyxqhzrd4tsn6rjgrzy7c6cx6hm8hs9dfj87mcqy7t4kzj9jw8l6yqgg645ry
dero1qyjepjmyjmwfpuvf3slyrjr4srgxngppvu3uvcawa2c9939gew6jyqgzaxcgj
dero1qyjmdf6sgcxg6lzvvut7usj8peflz3rak40usrdq6dpmlkmddwl4kqge0tpvh
dero1qytwxa3c4wwredpjtq3ek2d6fk7l8sjylwgpfe0xsjpg9pmnwhj7xqqcryca8
dero1qytp3vze4etd7lg34nrj7jfurvdnw0ljm92rsfpknakwe2l7m6qqjqqehqhwy
dero1qyzerdrknd0953pf7ue8daktyxmma7sn0968wn53kg6klpevru2w7qqn0kx5l
dero1qy4xjj3mzmtmn6tyqflcgaql5el9tzsa0nfk8qwlv68tntxev3my7qgf6u2hg
SC Balance: 0.00000 DERO
SC CODE:
  Function InitializePrivate() Uint64
10 IF init() == 0 THEN GOTO 30
20 RETURN 1
30 STORE("nameHdr", "explorer-render.js")
31 STORE("descrHdr", "Transaction rendering utilities")
32 STORE("iconURLHdr", "")
33 STORE("dURL", "explorer.tela")
34 STORE("docType", "TELA-JS-1")
35 STORE("subDir", "")
36 STORE("fileCheckC", "714c595a1007c508813df981c8d713817faa0410f049d4fb7036304712ca83b")
37 STORE("fileCheckS", "2132dfc5885ceebb4c42188a0700b2a3f23aecb76222e862449647b117a75765")
100 RETURN 0
End Function

Function init() Uint64
10 IF EXISTS("owner") == 0 THEN GOTO 30
20 RETURN 1
30 STORE("owner", address())
50 STORE("docVersion", "1.0.0")
60 STORE("hash", HEX(TXID()))
70 STORE("likes", 0)
80 STORE("dislikes", 0)
100 RETURN 0
End Function

Function address() String
10 DIM s as String
20 LET s = SIGNER()
30 IF IS_ADDRESS_VALID(s) THEN GOTO 50
40 RETURN "anon"
50 RETURN ADDRESS_STRING(s)
End Function

Function Rate(r Uint64) Uint64
10 DIM addr as String
15 LET addr = address()
16 IF r < 100 && EXISTS(addr) == 0 && addr != "anon" THEN GOTO 30
20 RETURN 1
30 STORE(addr, ""+r+"_"+BLOCK_HEIGHT())
40 IF r < 50 THEN GOTO 70
50 STORE("likes", LOAD("likes")+1)
60 RETURN 0
70 STORE("dislikes", LOAD("dislikes")+1)
100 RETURN 0
End Function

/*
// TELA Explorer - Rendering Functions Module (< 18KB)

// Utility function to format transaction hashes
function formatTxHash(hash) {
    if (!hash || hash.length < 16) return 'Unknown';
    if (hash === 'unknown') return 'Pending...';
    return hash.length > 16 ? hash.substring(0, 8) + '...' + hash.slice(-8) : hash;
}

// Utility function to detect coinbase transactions
async function detectCoinbaseTransaction(txHash, xswdCall) {
    try {
        const txResponse = await xswdCall('DERO.GetTransaction', { txs_hashes: [txHash], decode_as_json: 1 });
        if (txResponse && txResponse.txs && txResponse.txs.length > 0) {
            const tx = txResponse.txs[0];
            const txData = tx.as_json ? JSON.parse(tx.as_json) : {};
            // A coinbase transaction has no inputs (vin is empty or doesn't exist)
            return !txData.vin || txData.vin.length === 0;
        }
    } catch (error) {
        console.warn('Could not fetch transaction for coinbase detection:', txHash);
    }
    return false; // Default to not coinbase if we can't determine
}

// Utility function to create responsive hash display
function formatTxHashResponsive(hash, linkHref) {
    if (!hash || hash.length < 16) return 'Unknown';
    if (hash === 'unknown') return 'Pending...';
    
    const fullHash = hash;
    const truncatedHash = hash.length > 16 ? hash.substring(0, 8) + '...' + hash.slice(-8) : hash;
    
    const linkStart = linkHref ? `<a href="${linkHref}" style="color:#52c8db;text-decoration:none;" onmouseover="this.style.textDecoration='underline'" onmouseout="this.style.textDecoration='none'">` : '';
    const linkEnd = linkHref ? '</a>' : '';
    
    return `<span class="hash-container hash-responsive">
        <span class="hash-full">${linkStart}${fullHash}${linkEnd}</span>
        <span class="hash-truncated">${linkStart}${truncatedHash}${linkEnd}</span>
    </span>`;
}

function renderTransactionExplorer(poolData, networkInfo, recentBlocks) {
    const currentHeight = networkInfo?.height || 0;
    const targetTime = networkInfo?.target || 18;
    const totalPoolSize = networkInfo?.tx_pool_size || 0;
    
    // Extract all transactions from recent blocks
    const recentTransactions = extractTransactionsFromBlocks(recentBlocks);
    const txStats = calculateTransactionStats(recentTransactions, networkInfo);
    
    return `
    <div class="enhanced-card">
        <div class="card-header">
            <h2 style="color:#fff;margin:0;font-size:1.6rem;font-weight:700;">DERO Transaction Explorer</h2>
            <div class="actions">
                <button onclick="loadTransactions()" style="background:rgba(82,200,219,0.1);border:1px solid #52c8db;color:#52c8db;padding:0.5rem 1rem;border-radius:6px;cursor:pointer;transition:all 0.2s ease;font-weight:500;">Refresh</button>
            </div>
        </div>
        <div class="card-content">
        
            ${renderTransactionPoolStatus(poolData, totalPoolSize)}
            ${renderTransactionStatistics(txStats, networkInfo)}
            ${renderRecentTransactions(recentTransactions)}
            ${renderNetworkActivity(networkInfo, recentBlocks)}
        </div>
    </div>`;
}

function extractTransactionsFromBlocks(blocks) {
    const transactions = [];
    
    blocks.forEach((block, blockIndex) => {
        // Check multiple possible transaction hash fields
        const possibleTxFields = ['tx_hashes', 'txs_hashes', 'transactions', 'tx_hash_list'];
        let foundTxHashes = null;
        
        for (const field of possibleTxFields) {
            if (block[field] && Array.isArray(block[field]) && block[field].length > 0) {
                foundTxHashes = block[field];
                break;
            }
        }
        
        if (foundTxHashes && foundTxHashes.length > 0) {
            foundTxHashes.forEach((txHash, index) => {
                // Improved coinbase detection logic
                let isCoinbase = false;
                
                if (foundTxHashes.length === 1) {
                    isCoinbase = true; // Single tx in block = coinbase
                } else if (index === 0) {
                    isCoinbase = true; // First of multiple = probably coinbase
                } else {
                    isCoinbase = false; // Others = likely transfers
                }
                
                const transaction = {
                    hash: txHash,
                    blockHeight: block.height,
                    blockHash: block.block_header?.hash || block.hash || 'Unknown',
                    timestamp: block.timestamp || block.block_header?.timestamp || Date.now()/1000,
                    blockIndex: index,
                    isCoinbase: isCoinbase,
                    blockReward: block.block_header?.reward || 0,
                    totalTxInBlock: foundTxHashes.length
                };
                transactions.push(transaction);
            });
        }
    });
    
    return transactions.sort((a, b) => b.timestamp - a.timestamp);
}

function calculateTransactionStats(transactions, networkInfo) {
    const now = Date.now() / 1000;
    const last24h = transactions.filter(tx => (now - tx.timestamp) < 86400);
    const last1h = transactions.filter(tx => (now - tx.timestamp) < 3600);
    
    return {
        total: transactions.length,
        last24h: last24h.length,
        last1h: last1h.length,
        coinbaseCount: transactions.filter(tx => tx.isCoinbase).length,
        regularCount: transactions.filter(tx => !tx.isCoinbase).length,
        avgPerBlock: transactions.length > 0 ? (transactions.length / new Set(transactions.map(tx => tx.blockHeight)).size) : 0,
        networkTps: networkInfo?.target ? (last1h.length / 3600) : 0,
        totalBlocks: new Set(transactions.map(tx => tx.blockHeight)).size
    };
}

function renderTransactionPoolStatus(poolData, totalPoolSize) {
    const hasPool = poolData && poolData.txs && poolData.txs.length > 0;
    
    if (hasPool) {
        const validTxs = poolData.txs.filter(tx => {
            const hash = tx.txid || tx.hash || tx.id_hash || tx.tx_hash || tx.txhash;
            return hash && hash.length >= 32 && /^[a-f0-9]+$/i.test(hash);
        });
        
        return `
        <div style="margin-bottom:2rem;">
            <h3 style="color:#52c8db;margin-bottom:1.5rem;font-size:1.2rem;font-weight:600;">Transaction Pool Status</h3>
            <div style="background:rgba(255,193,7,0.1);border:1px solid rgba(255,193,7,0.3);border-radius:8px;padding:1.5rem;border-left:4px solid #ffc107;">
                <div style="color:#ffc107;font-size:1.5rem;font-weight:700;margin-bottom:0.75rem;">${validTxs.length} Pending Transactions</div>
                <div style="color:#b3b3b3;font-size:0.9rem;">Transactions waiting for confirmation</div>
            </div>
        </div>`;
    } else {
        return `
        <div style="margin-bottom:2rem;">
            <h3 style="color:#52c8db;margin-bottom:1.5rem;font-size:1.2rem;font-weight:600;">Transaction Pool Status</h3>
            <div style="background:rgba(74,222,128,0.1);border:1px solid rgba(74,222,128,0.3);border-radius:8px;padding:1.5rem;text-align:center;border-left:4px solid #4ade80;">
                <div style="color:#4ade80;font-size:1.5rem;font-weight:700;margin-bottom:0.75rem;">✅ Pool Empty</div>
                <div style="color:#b3b3b3;font-size:0.9rem;">All transactions processed instantly - excellent network performance!</div>
            </div>
        </div>`;
    }
}

function renderTransactionStatistics(stats, networkInfo) {
    return `
    <div style="margin-bottom:2rem;">
        <h3 style="color:#52c8db;margin-bottom:1.5rem;font-size:1.2rem;font-weight:600;">Transaction Analytics</h3>
        <div class="stats-grid" style="display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;">
            <div class="stat-card" style="background:rgba(0,0,0,0.2);border:1px solid rgba(82,200,219,0.3);padding:1.5rem;border-radius:8px;text-align:center;transition:all 0.2s ease;">
                <div style="color:#52c8db;font-size:1.8rem;font-weight:700;margin-bottom:0.5rem;">${stats.total}</div>
                <div style="color:#b3b3b3;font-size:0.85rem;text-transform:uppercase;letter-spacing:0.5px;">Recent Transactions</div>
                <div style="color:#4ade80;font-size:0.8rem;margin-top:0.5rem;">Last ${stats.totalBlocks} blocks</div>
            </div>
            <div class="stat-card" style="background:rgba(0,0,0,0.2);border:1px solid rgba(251,191,36,0.3);padding:1.5rem;border-radius:8px;text-align:center;transition:all 0.2s ease;">
                <div style="color:#fbbf24;font-size:1.8rem;font-weight:700;margin-bottom:0.5rem;">${stats.last1h}</div>
                <div style="color:#b3b3b3;font-size:0.85rem;text-transform:uppercase;letter-spacing:0.5px;">Last Hour</div>
                <div style="color:#fbbf24;font-size:0.8rem;margin-top:0.5rem;">${stats.networkTps.toFixed(2)} TPS</div>
            </div>
            <div class="stat-card" style="background:rgba(0,0,0,0.2);border:1px solid rgba(239,68,68,0.3);padding:1.5rem;border-radius:8px;text-align:center;transition:all 0.2s ease;">
                <div style="color:#ef4444;font-size:1.8rem;font-weight:700;margin-bottom:0.5rem;">${stats.avgPerBlock.toFixed(1)}</div>
                <div style="color:#b3b3b3;font-size:0.85rem;text-transform:uppercase;letter-spacing:0.5px;">Avg per Block</div>
                <div style="color:#ef4444;font-size:0.8rem;margin-top:0.5rem;">Including coinbase</div>
            </div>
            <div class="stat-card" style="background:rgba(0,0,0,0.2);border:1px solid rgba(139,92,246,0.3);padding:1.5rem;border-radius:8px;text-align:center;transition:all 0.2s ease;">
                <div style="color:#b959b6;font-size:1.8rem;font-weight:700;margin-bottom:0.5rem;">${networkInfo?.height?.toLocaleString() || 'N/A'}</div>
                <div style="color:#b3b3b3;font-size:0.85rem;text-transform:uppercase;letter-spacing:0.5px;">Current Height</div>
                <div style="color:#b959b6;font-size:0.8rem;margin-top:0.5rem;">Live network</div>
            </div>
        </div>
    </div>`;
}

function renderRecentTransactions(transactions) {
    if (transactions.length === 0) {
        return `
        <div style="margin-bottom:2rem;">
            <h3 style="color:#52c8db;margin-bottom:1rem;font-size:1.2rem;">Recent Transactions</h3>
            <div style="text-align:center;color:#888;padding:20px;background:rgba(0,0,0,0.2);border-radius:8px;border:1px solid rgba(255,255,255,0.1);">
                No recent transactions found in analyzed blocks
            </div>
        </div>`;
    }
    
    const displayTxs = transactions.slice(0, 15); // Show 15 most recent
    
    const txRows = displayTxs.map(tx => {
        const timeAgo = getTimeAgo(tx.timestamp);
        const responsiveHash = tx.hash ? formatTxHashResponsive(tx.hash, `#tx/${tx.hash}`) : 'Unknown';
        const txType = tx.isCoinbase ? 'Coinbase' : 'Transfer';
        const txTypeColor = tx.isCoinbase ? '#fbbf24' : '#4ade80';
        
        return `
        <div style="display:grid;grid-template-columns:1fr 100px 120px 100px;gap:1rem;padding:0.75rem;border-bottom:1px solid rgba(255,255,255,0.05);align-items:center;font-size:0.85rem;transition:background 0.2s ease;" 
             onmouseover="this.style.background='rgba(255,255,255,0.02)'" 
             onmouseout="this.style.background='transparent'">
            <div style="color:#52c8db;overflow:hidden;">
                ${responsiveHash}
                <div style="color:#888;font-size:0.75rem;margin-top:0.2rem;">Block ${tx.blockHeight}</div>
            </div>
            <div style="color:${txTypeColor};text-align:center;font-weight:500;">${txType}</div>
            <div style="color:#888;text-align:center;">${timeAgo}</div>
            <div style="color:#4ade80;text-align:right;font-size:0.8rem;">Confirmed</div>
        </div>`;
    }).join('');
    
    return `
    <div style="margin-bottom:2rem;">
        <h3 style="color:#52c8db;margin-bottom:1.5rem;font-size:1.2rem;font-weight:600;">Recent Transactions</h3>
        <div style="background:rgba(0,0,0,0.2);border:1px solid rgba(82,200,219,0.3);border-radius:8px;overflow:hidden;">
            <div style="display:grid;grid-template-columns:1fr 100px 120px 100px;gap:1rem;padding:1rem;border-bottom:2px solid rgba(82,200,219,0.3);font-weight:600;font-size:0.9rem;color:#52c8db;background:rgba(82,200,219,0.1);">
                <div>Transaction Hash</div>
                <div style="text-align:center;">Type</div>
                <div style="text-align:center;">Time</div>
                <div style="text-align:right;">Status</div>
            </div>
            ${txRows}
        </div>
        ${transactions.length > 15 ? `<div style="text-align:center;margin-top:1rem;color:#b3b3b3;font-size:0.9rem;">Showing 15 of ${transactions.length} recent transactions</div>` : ''}
    </div>`;
}

function renderNetworkActivity(networkInfo, recentBlocks) {
    const avgBlockTime = networkInfo?.averageblocktime50 || 18;
    const targetTime = networkInfo?.target || 18;
    const efficiency = targetTime > 0 ? Math.min(100, (targetTime / avgBlockTime) * 100) : 100;
    
    return `
    <div>
        <h3 style="color:#52c8db;margin-bottom:1.5rem;font-size:1.2rem;font-weight:600;">Network Activity</h3>
        <div style="display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;">
            <div style="background:rgba(0,0,0,0.2);border:1px solid rgba(82,200,219,0.3);padding:1.5rem;border-radius:8px;transition:all 0.2s ease;">
                <div style="color:#52c8db;font-weight:600;margin-bottom:1rem;font-size:1.1rem;">Block Performance</div>
                <div style="margin-bottom:0.75rem;">
                    <div style="color:#b3b3b3;font-size:0.9rem;margin-bottom:0.25rem;">Average Block Time</div>
                    <div style="color:#fff;font-size:1.2rem;font-weight:600;">${avgBlockTime.toFixed(1)}s</div>
                </div>
                <div style="margin-bottom:0.75rem;">
                    <div style="color:#b3b3b3;font-size:0.9rem;margin-bottom:0.25rem;">Target Time</div>
                    <div style="color:#4ade80;font-size:1.2rem;font-weight:600;">${targetTime}s</div>
                </div>
                <div>
                    <div style="color:#b3b3b3;font-size:0.9rem;margin-bottom:0.25rem;">Efficiency</div>
                    <div style="color:${efficiency > 90 ? '#4ade80' : efficiency > 70 ? '#fbbf24' : '#ef4444'};font-size:1.2rem;font-weight:600;">${efficiency.toFixed(1)}%</div>
                </div>
            </div>
            
            <div style="background:rgba(0,0,0,0.2);border:1px solid rgba(82,200,219,0.3);padding:1.5rem;border-radius:8px;transition:all 0.2s ease;">
                <div style="color:#52c8db;font-weight:600;margin-bottom:1rem;font-size:1.1rem;">Network Stats</div>
                <div style="margin-bottom:0.75rem;">
                    <div style="color:#b3b3b3;font-size:0.9rem;margin-bottom:0.25rem;">Total Supply</div>
                    <div style="color:#fff;font-size:1.2rem;font-weight:600;">${(networkInfo?.total_supply || 0).toLocaleString()} DERO</div>
                </div>
                <div style="margin-bottom:0.75rem;">
                    <div style="color:#b3b3b3;font-size:0.9rem;margin-bottom:0.25rem;">Difficulty</div>
                    <div style="color:#fbbf24;font-size:1.2rem;font-weight:600;">${(networkInfo?.difficulty || 0).toLocaleString()}</div>
                </div>
                <div>
                    <div style="color:#b3b3b3;font-size:0.9rem;margin-bottom:0.25rem;">Connected Peers</div>
                    <div style="color:#b959b6;font-size:1.2rem;font-weight:600;">${(networkInfo?.outgoing_connections_count || 0)}</div>
                </div>
            </div>
        </div>
    </div>`;
}

function getTimeAgo(timestamp) {
    const now = Date.now();
    
    // Handle both seconds and milliseconds timestamps
    let tsMs = timestamp;
    if (timestamp < 1e12) {
        // Timestamp is in seconds, convert to milliseconds
        tsMs = timestamp * 1000;
    }
    
    const diff = Math.floor((now - tsMs) / 1000); // Difference in seconds
    
    // Ensure positive difference
    if (diff < 0) return 'now';
    if (diff < 60) return `${diff}s ago`;
    if (diff < 3600) return `${Math.floor(diff / 60)}m ago`;
    if (diff < 86400) return `${Math.floor(diff / 3600)}h ago`;
    return `${Math.floor(diff / 86400)}d ago`;
}

// Export for module loading
window.explorerRender = { 
    formatTxHash,
    formatTxHashResponsive,
    renderTransactionExplorer,
    extractTransactionsFromBlocks,
    calculateTransactionStats,
    renderTransactionPoolStatus,
    renderTransactionStatistics,
    renderRecentTransactions,
    renderNetworkActivity,
    getTimeAgo,
    detectCoinbaseTransaction
};
*/
SC Arguments: [Name:SC_ACTION Type:uint64 Value:'1' Name:SC_CODE Type:string Value:'Function InitializePrivate() Uint64 10 IF init() == 0 THEN GOTO 30 20 RETURN 1 30 STORE("nameHdr", "explorer-render.js") 31 STORE("descrHdr", "Transaction rendering utilities") 32 STORE("iconURLHdr", "") 33 STORE("dURL", "explorer.tela") 34 STORE("docType", "TELA-JS-1") 35 STORE("subDir", "") 36 STORE("fileCheckC", "714c595a1007c508813df981c8d713817faa0410f049d4fb7036304712ca83b") 37 STORE("fileCheckS", "2132dfc5885ceebb4c42188a0700b2a3f23aecb76222e862449647b117a75765") 100 RETURN 0 End Function Function init() Uint64 10 IF EXISTS("owner") == 0 THEN GOTO 30 20 RETURN 1 30 STORE("owner", address()) 50 STORE("docVersion", "1.0.0") 60 STORE("hash", HEX(TXID())) 70 STORE("likes", 0) 80 STORE("dislikes", 0) 100 RETURN 0 End Function Function address() String 10 DIM s as String 20 LET s = SIGNER() 30 IF IS_ADDRESS_VALID(s) THEN GOTO 50 40 RETURN "anon" 50 RETURN ADDRESS_STRING(s) End Function Function Rate(r Uint64) Uint64 10 DIM addr as String 15 LET addr = address() 16 IF r < 100 && EXISTS(addr) == 0 && addr != "anon" THEN GOTO 30 20 RETURN 1 30 STORE(addr, ""+r+"_"+BLOCK_HEIGHT()) 40 IF r < 50 THEN GOTO 70 50 STORE("likes", LOAD("likes")+1) 60 RETURN 0 70 STORE("dislikes", LOAD("dislikes")+1) 100 RETURN 0 End Function /* // TELA Explorer - Rendering Functions Module (< 18KB) // Utility function to format transaction hashes function formatTxHash(hash) { if (!hash || hash.length < 16) return 'Unknown'; if (hash === 'unknown') return 'Pending...'; return hash.length > 16 ? hash.substring(0, 8) + '...' + hash.slice(-8) : hash; } // Utility function to detect coinbase transactions async function detectCoinbaseTransaction(txHash, xswdCall) { try { const txResponse = await xswdCall('DERO.GetTransaction', { txs_hashes: [txHash], decode_as_json: 1 }); if (txResponse && txResponse.txs && txResponse.txs.length > 0) { const tx = txResponse.txs[0]; const txData = tx.as_json ? JSON.parse(tx.as_json) : {}; // A coinbase transaction has no inputs (vin is empty or doesn't exist) return !txData.vin || txData.vin.length === 0; } } catch (error) { console.warn('Could not fetch transaction for coinbase detection:', txHash); } return false; // Default to not coinbase if we can't determine } // Utility function to create responsive hash display function formatTxHashResponsive(hash, linkHref) { if (!hash || hash.length < 16) return 'Unknown'; if (hash === 'unknown') return 'Pending...'; const fullHash = hash; const truncatedHash = hash.length > 16 ? hash.substring(0, 8) + '...' + hash.slice(-8) : hash; const linkStart = linkHref ? `<a href="${linkHref}" style="color:#52c8db;text-decoration:none;" onmouseover="this.style.textDecoration='underline'" onmouseout="this.style.textDecoration='none'">` : ''; const linkEnd = linkHref ? '</a>' : ''; return `<span class="hash-container hash-responsive"> <span class="hash-full">${linkStart}${fullHash}${linkEnd}</span> <span class="hash-truncated">${linkStart}${truncatedHash}${linkEnd}</span> </span>`; } function renderTransactionExplorer(poolData, networkInfo, recentBlocks) { const currentHeight = networkInfo?.height || 0; const targetTime = networkInfo?.target || 18; const totalPoolSize = networkInfo?.tx_pool_size || 0; // Extract all transactions from recent blocks const recentTransactions = extractTransactionsFromBlocks(recentBlocks); const txStats = calculateTransactionStats(recentTransactions, networkInfo); return ` <div class="enhanced-card"> <div class="card-header"> <h2 style="color:#fff;margin:0;font-size:1.6rem;font-weight:700;">DERO Transaction Explorer</h2> <div class="actions"> <button onclick="loadTransactions()" style="background:rgba(82,200,219,0.1);border:1px solid #52c8db;color:#52c8db;padding:0.5rem 1rem;border-radius:6px;cursor:pointer;transition:all 0.2s ease;font-weight:500;">Refresh</button> </div> </div> <div class="card-content"> ${renderTransactionPoolStatus(poolData, totalPoolSize)} ${renderTransactionStatistics(txStats, networkInfo)} ${renderRecentTransactions(recentTransactions)} ${renderNetworkActivity(networkInfo, recentBlocks)} </div> </div>`; } function extractTransactionsFromBlocks(blocks) { const transactions = []; blocks.forEach((block, blockIndex) => { // Check multiple possible transaction hash fields const possibleTxFields = ['tx_hashes', 'txs_hashes', 'transactions', 'tx_hash_list']; let foundTxHashes = null; for (const field of possibleTxFields) { if (block[field] && Array.isArray(block[field]) && block[field].length > 0) { foundTxHashes = block[field]; break; } } if (foundTxHashes && foundTxHashes.length > 0) { foundTxHashes.forEach((txHash, index) => { // Improved coinbase detection logic let isCoinbase = false; if (foundTxHashes.length === 1) { isCoinbase = true; // Single tx in block = coinbase } else if (index === 0) { isCoinbase = true; // First of multiple = probably coinbase } else { isCoinbase = false; // Others = likely transfers } const transaction = { hash: txHash, blockHeight: block.height, blockHash: block.block_header?.hash || block.hash || 'Unknown', timestamp: block.timestamp || block.block_header?.timestamp || Date.now()/1000, blockIndex: index, isCoinbase: isCoinbase, blockReward: block.block_header?.reward || 0, totalTxInBlock: foundTxHashes.length }; transactions.push(transaction); }); } }); return transactions.sort((a, b) => b.timestamp - a.timestamp); } function calculateTransactionStats(transactions, networkInfo) { const now = Date.now() / 1000; const last24h = transactions.filter(tx => (now - tx.timestamp) < 86400); const last1h = transactions.filter(tx => (now - tx.timestamp) < 3600); return { total: transactions.length, last24h: last24h.length, last1h: last1h.length, coinbaseCount: transactions.filter(tx => tx.isCoinbase).length, regularCount: transactions.filter(tx => !tx.isCoinbase).length, avgPerBlock: transactions.length > 0 ? (transactions.length / new Set(transactions.map(tx => tx.blockHeight)).size) : 0, networkTps: networkInfo?.target ? (last1h.length / 3600) : 0, totalBlocks: new Set(transactions.map(tx => tx.blockHeight)).size }; } function renderTransactionPoolStatus(poolData, totalPoolSize) { const hasPool = poolData && poolData.txs && poolData.txs.length > 0; if (hasPool) { const validTxs = poolData.txs.filter(tx => { const hash = tx.txid || tx.hash || tx.id_hash || tx.tx_hash || tx.txhash; return hash && hash.length >= 32 && /^[a-f0-9]+$/i.test(hash); }); return ` <div style="margin-bottom:2rem;"> <h3 style="color:#52c8db;margin-bottom:1.5rem;font-size:1.2rem;font-weight:600;">Transaction Pool Status</h3> <div style="background:rgba(255,193,7,0.1);border:1px solid rgba(255,193,7,0.3);border-radius:8px;padding:1.5rem;border-left:4px solid #ffc107;"> <div style="color:#ffc107;font-size:1.5rem;font-weight:700;margin-bottom:0.75rem;">${validTxs.length} Pending Transactions</div> <div style="color:#b3b3b3;font-size:0.9rem;">Transactions waiting for confirmation</div> </div> </div>`; } else { return ` <div style="margin-bottom:2rem;"> <h3 style="color:#52c8db;margin-bottom:1.5rem;font-size:1.2rem;font-weight:600;">Transaction Pool Status</h3> <div style="background:rgba(74,222,128,0.1);border:1px solid rgba(74,222,128,0.3);border-radius:8px;padding:1.5rem;text-align:center;border-left:4px solid #4ade80;"> <div style="color:#4ade80;font-size:1.5rem;font-weight:700;margin-bottom:0.75rem;">✅ Pool Empty</div> <div style="color:#b3b3b3;font-size:0.9rem;">All transactions processed instantly - excellent network performance!</div> </div> </div>`; } } function renderTransactionStatistics(stats, networkInfo) { return ` <div style="margin-bottom:2rem;"> <h3 style="color:#52c8db;margin-bottom:1.5rem;font-size:1.2rem;font-weight:600;">Transaction Analytics</h3> <div class="stats-grid" style="display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;"> <div class="stat-card" style="background:rgba(0,0,0,0.2);border:1px solid rgba(82,200,219,0.3);padding:1.5rem;border-radius:8px;text-align:center;transition:all 0.2s ease;"> <div style="color:#52c8db;font-size:1.8rem;font-weight:700;margin-bottom:0.5rem;">${stats.total}</div> <div style="color:#b3b3b3;font-size:0.85rem;text-transform:uppercase;letter-spacing:0.5px;">Recent Transactions</div> <div style="color:#4ade80;font-size:0.8rem;margin-top:0.5rem;">Last ${stats.totalBlocks} blocks</div> </div> <div class="stat-card" style="background:rgba(0,0,0,0.2);border:1px solid rgba(251,191,36,0.3);padding:1.5rem;border-radius:8px;text-align:center;transition:all 0.2s ease;"> <div style="color:#fbbf24;font-size:1.8rem;font-weight:700;margin-bottom:0.5rem;">${stats.last1h}</div> <div style="color:#b3b3b3;font-size:0.85rem;text-transform:uppercase;letter-spacing:0.5px;">Last Hour</div> <div style="color:#fbbf24;font-size:0.8rem;margin-top:0.5rem;">${stats.networkTps.toFixed(2)} TPS</div> </div> <div class="stat-card" style="background:rgba(0,0,0,0.2);border:1px solid rgba(239,68,68,0.3);padding:1.5rem;border-radius:8px;text-align:center;transition:all 0.2s ease;"> <div style="color:#ef4444;font-size:1.8rem;font-weight:700;margin-bottom:0.5rem;">${stats.avgPerBlock.toFixed(1)}</div> <div style="color:#b3b3b3;font-size:0.85rem;text-transform:uppercase;letter-spacing:0.5px;">Avg per Block</div> <div style="color:#ef4444;font-size:0.8rem;margin-top:0.5rem;">Including coinbase</div> </div> <div class="stat-card" style="background:rgba(0,0,0,0.2);border:1px solid rgba(139,92,246,0.3);padding:1.5rem;border-radius:8px;text-align:center;transition:all 0.2s ease;"> <div style="color:#b959b6;font-size:1.8rem;font-weight:700;margin-bottom:0.5rem;">${networkInfo?.height?.toLocaleString() || 'N/A'}</div> <div style="color:#b3b3b3;font-size:0.85rem;text-transform:uppercase;letter-spacing:0.5px;">Current Height</div> <div style="color:#b959b6;font-size:0.8rem;margin-top:0.5rem;">Live network</div> </div> </div> </div>`; } function renderRecentTransactions(transactions) { if (transactions.length === 0) { return ` <div style="margin-bottom:2rem;"> <h3 style="color:#52c8db;margin-bottom:1rem;font-size:1.2rem;">Recent Transactions</h3> <div style="text-align:center;color:#888;padding:20px;background:rgba(0,0,0,0.2);border-radius:8px;border:1px solid rgba(255,255,255,0.1);"> No recent transactions found in analyzed blocks </div> </div>`; } const displayTxs = transactions.slice(0, 15); // Show 15 most recent const txRows = displayTxs.map(tx => { const timeAgo = getTimeAgo(tx.timestamp); const responsiveHash = tx.hash ? formatTxHashResponsive(tx.hash, `#tx/${tx.hash}`) : 'Unknown'; const txType = tx.isCoinbase ? 'Coinbase' : 'Transfer'; const txTypeColor = tx.isCoinbase ? '#fbbf24' : '#4ade80'; return ` <div style="display:grid;grid-template-columns:1fr 100px 120px 100px;gap:1rem;padding:0.75rem;border-bottom:1px solid rgba(255,255,255,0.05);align-items:center;font-size:0.85rem;transition:background 0.2s ease;" onmouseover="this.style.background='rgba(255,255,255,0.02)'" onmouseout="this.style.background='transparent'"> <div style="color:#52c8db;overflow:hidden;"> ${responsiveHash} <div style="color:#888;font-size:0.75rem;margin-top:0.2rem;">Block ${tx.blockHeight}</div> </div> <div style="color:${txTypeColor};text-align:center;font-weight:500;">${txType}</div> <div style="color:#888;text-align:center;">${timeAgo}</div> <div style="color:#4ade80;text-align:right;font-size:0.8rem;">Confirmed</div> </div>`; }).join(''); return ` <div style="margin-bottom:2rem;"> <h3 style="color:#52c8db;margin-bottom:1.5rem;font-size:1.2rem;font-weight:600;">Recent Transactions</h3> <div style="background:rgba(0,0,0,0.2);border:1px solid rgba(82,200,219,0.3);border-radius:8px;overflow:hidden;"> <div style="display:grid;grid-template-columns:1fr 100px 120px 100px;gap:1rem;padding:1rem;border-bottom:2px solid rgba(82,200,219,0.3);font-weight:600;font-size:0.9rem;color:#52c8db;background:rgba(82,200,219,0.1);"> <div>Transaction Hash</div> <div style="text-align:center;">Type</div> <div style="text-align:center;">Time</div> <div style="text-align:right;">Status</div> </div> ${txRows} </div> ${transactions.length > 15 ? `<div style="text-align:center;margin-top:1rem;color:#b3b3b3;font-size:0.9rem;">Showing 15 of ${transactions.length} recent transactions</div>` : ''} </div>`; } function renderNetworkActivity(networkInfo, recentBlocks) { const avgBlockTime = networkInfo?.averageblocktime50 || 18; const targetTime = networkInfo?.target || 18; const efficiency = targetTime > 0 ? Math.min(100, (targetTime / avgBlockTime) * 100) : 100; return ` <div> <h3 style="color:#52c8db;margin-bottom:1.5rem;font-size:1.2rem;font-weight:600;">Network Activity</h3> <div style="display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;"> <div style="background:rgba(0,0,0,0.2);border:1px solid rgba(82,200,219,0.3);padding:1.5rem;border-radius:8px;transition:all 0.2s ease;"> <div style="color:#52c8db;font-weight:600;margin-bottom:1rem;font-size:1.1rem;">Block Performance</div> <div style="margin-bottom:0.75rem;"> <div style="color:#b3b3b3;font-size:0.9rem;margin-bottom:0.25rem;">Average Block Time</div> <div style="color:#fff;font-size:1.2rem;font-weight:600;">${avgBlockTime.toFixed(1)}s</div> </div> <div style="margin-bottom:0.75rem;"> <div style="color:#b3b3b3;font-size:0.9rem;margin-bottom:0.25rem;">Target Time</div> <div style="color:#4ade80;font-size:1.2rem;font-weight:600;">${targetTime}s</div> </div> <div> <div style="color:#b3b3b3;font-size:0.9rem;margin-bottom:0.25rem;">Efficiency</div> <div style="color:${efficiency > 90 ? '#4ade80' : efficiency > 70 ? '#fbbf24' : '#ef4444'};font-size:1.2rem;font-weight:600;">${efficiency.toFixed(1)}%</div> </div> </div> <div style="background:rgba(0,0,0,0.2);border:1px solid rgba(82,200,219,0.3);padding:1.5rem;border-radius:8px;transition:all 0.2s ease;"> <div style="color:#52c8db;font-weight:600;margin-bottom:1rem;font-size:1.1rem;">Network Stats</div> <div style="margin-bottom:0.75rem;"> <div style="color:#b3b3b3;font-size:0.9rem;margin-bottom:0.25rem;">Total Supply</div> <div style="color:#fff;font-size:1.2rem;font-weight:600;">${(networkInfo?.total_supply || 0).toLocaleString()} DERO</div> </div> <div style="margin-bottom:0.75rem;"> <div style="color:#b3b3b3;font-size:0.9rem;margin-bottom:0.25rem;">Difficulty</div> <div style="color:#fbbf24;font-size:1.2rem;font-weight:600;">${(networkInfo?.difficulty || 0).toLocaleString()}</div> </div> <div> <div style="color:#b3b3b3;font-size:0.9rem;margin-bottom:0.25rem;">Connected Peers</div> <div style="color:#b959b6;font-size:1.2rem;font-weight:600;">${(networkInfo?.outgoing_connections_count || 0)}</div> </div> </div> </div> </div>`; } function getTimeAgo(timestamp) { const now = Date.now(); // Handle both seconds and milliseconds timestamps let tsMs = timestamp; if (timestamp < 1e12) { // Timestamp is in seconds, convert to milliseconds tsMs = timestamp * 1000; } const diff = Math.floor((now - tsMs) / 1000); // Difference in seconds // Ensure positive difference if (diff < 0) return 'now'; if (diff < 60) return `${diff}s ago`; if (diff < 3600) return `${Math.floor(diff / 60)}m ago`; if (diff < 86400) return `${Math.floor(diff / 3600)}h ago`; return `${Math.floor(diff / 86400)}d ago`; } // Export for module loading window.explorerRender = { formatTxHash, formatTxHashResponsive, renderTransactionExplorer, extractTransactionsFromBlocks, calculateTransactionStats, renderTransactionPoolStatus, renderTransactionStatistics, renderRecentTransactions, renderNetworkActivity, getTimeAgo, detectCoinbaseTransaction }; */']


Prove to someone that you have sent them DERO in this transaction

proof can be obtained using wallet command in dero-wallet-cli or from the statement
Note: proof is sent to the server, as the calculations are done on the server side


TX hex bytes
0100000500ab87ef026ab7b181d60ee0756369748718a5da4696e863671659005f8f6571a7eea133ab0100000000000000000000000000000000000000000000000000000000000000000000aef5bf23bbd6f49c9a269a294960c9154ffe4fe241b8fb5044be8be2ffb22a4e4ffc15eb8c8173dadad655e434e605234f23aa117657f78d884cfa0e31ac4651969aa63f05cc70ff4e05c81a60f3b246f861acd3ab147b08211a3d0339a1585c50fb4cf4a2bc2945613bc5301cf6487838da8eb8a6151519c7d29c7594ead165d828d7a14ec2f3c95cfd547c5e0b6037050406829101040a3252d7381647fb8fa988f1c7d5eee12d724e1f7ec237c622c21ed81ebd43002a9f8cb8285e0221bd81a829b44bcbbac8e0635d6e4e24823baa91816ce711aa34ad6830800eb3422b63d6b1cc086ac376aa8548e4582c8018d99a483c7d6bb01f1a4adf2b375fb32c1ce87c4282491d960f50bab724dd87fbf74fb8046cecf6027a5f80f650248674d53e1a52ed2a599822271cf6d07ef73e2202f56506633e000a4959e98ecadc0810ae9434ccb226045280a39428b2abbcf2bb6428e88d8bff000a32c4949f826e71a273cf7c29744143ff5a23e39fd772b2a93a9c04bec86eee0129e7fb52ada87d6b532d0853235be4ba052a0cf3b467345ad644459abc941785001e73fa1b8b73f9e13ae7cbc78f5de12e2037aeee4245f8ab64daa4c2963521b00119d7c2444ad7563a187c3ff439b03daf364e27357a06db00106f387a12140fea002f122b318383dd764e715d6e7ea0b5811ba9693b31f5b20e7eedadd122a573ab001f03db2a272b8563a377f490e7e3895a2ca25b000bbc9f32c3554796cafcb53a012f199b70d2d8fb310cccd48e8311a992353bb81517976a5e37ce2f825745b69b011eb53d2f3b10c2711bee0a42996d15e471e86fac6aaaef9612b4a65f113d1cc8000bb56f9440c5cd498cf19c7f9928e93fcd73a76ca56477d2f83c67b1e0bf58b5002e3466a71d75e46ccca8a7836eea0d34a0e493e1ac8f65560f6cc67ba90299760109cb6938809866d80b41fbac4e8e3acdec6be0992b5c2f6eaf63a0c9e23cad41002ad9915f336bcb5d8ecd04b760057d8a0ada86c5b7f79be34606bc08896100610129b5c220d4d7b813480744a66d00be4f28db379ace345ca9bb66e6e893803d0b0005cfd5dc9652e601642153333ae2da3fb6103bbd637887bc3723e2777015c5a900b90ce449cbdc23205e388021063757232ead40046015d1d254080eea2801e731e38e01a26853435f434f44455379474a46756e6374696f6e20496e697469616c697a655072697661746528292055696e7436340a313020494620696e69742829203d3d2030205448454e20474f544f2033300a32302052455455524e20310a33302053544f524528226e616d65486472222c20226578706c6f7265722d72656e6465722e6a7322290a33312053544f524528226465736372486472222c20225472616e73616374696f6e2072656e646572696e67207574696c697469657322290a33322053544f5245282269636f6e55524c486472222c202222290a33332053544f524528226455524c222c20226578706c6f7265722e74656c6122290a33342053544f52452822646f6354797065222c202254454c412d4a532d3122290a33352053544f52452822737562446972222c202222290a33362053544f5245282266696c65436865636b43222c202237313463353935613130303763353038383133646639383163386437313338313766616130343130663034396434666237303336333034373132636138336222290a33372053544f5245282266696c65436865636b53222c20223231333264666335383835636565626234633432313838613037303062326133663233616563623736323232653836323434393634376231313761373537363522290a3130302052455455524e20300a456e642046756e6374696f6e0a0a46756e6374696f6e20696e697428292055696e7436340a31302049462045584953545328226f776e65722229203d3d2030205448454e20474f544f2033300a32302052455455524e20310a33302053544f524528226f776e6572222c20616464726573732829290a35302053544f52452822646f6356657273696f6e222c2022312e302e3022290a36302053544f5245282268617368222c204845582854584944282929290a37302053544f524528226c696b6573222c2030290a38302053544f524528226469736c696b6573222c2030290a3130302052455455524e20300a456e642046756e6374696f6e0a0a46756e6374696f6e2061646472657373282920537472696e670a31302044494d207320617320537472696e670a3230204c45542073203d205349474e455228290a33302049462049535f414444524553535f56414c4944287329205448454e20474f544f2035300a34302052455455524e2022616e6f6e220a35302052455455524e20414444524553535f535452494e472873290a456e642046756e6374696f6e0a0a46756e6374696f6e205261746528722055696e743634292055696e7436340a31302044494d206164647220617320537472696e670a3135204c45542061646472203d206164647265737328290a31362049462072203c2031303020262620455849535453286164647229203d3d2030202626206164647220213d2022616e6f6e22205448454e20474f544f2033300a32302052455455524e20310a33302053544f524528616464722c2022222b722b225f222b424c4f434b5f4845494748542829290a34302049462072203c203530205448454e20474f544f2037300a35302053544f524528226c696b6573222c204c4f414428226c696b657322292b31290a36302052455455524e20300a37302053544f524528226469736c696b6573222c204c4f414428226469736c696b657322292b31290a3130302052455455524e20300a456e642046756e6374696f6e0a0a2f2a0a2f2f2054454c41204578706c6f726572202d2052656e646572696e672046756e6374696f6e73204d6f64756c6520283c2031384b42290a0a2f2f205574696c6974792066756e6374696f6e20746f20666f726d6174207472616e73616374696f6e206861736865730a66756e6374696f6e20666f726d6174547848617368286861736829207b0a20202020696620282168617368207c7c20686173682e6c656e677468203c203136292072657475726e2027556e6b6e6f776e273b0a202020206966202868617368203d3d3d2027756e6b6e6f776e27292072657475726e202750656e64696e672e2e2e273b0a2020202072657475726e20686173682e6c656e677468203e203136203f20686173682e737562737472696e6728302c203829202b20272e2e2e27202b20686173682e736c696365282d3829203a20686173683b0a7d0a0a2f2f205574696c6974792066756e6374696f6e20746f2064657465637420636f696e62617365207472616e73616374696f6e730a6173796e632066756e6374696f6e20646574656374436f696e626173655472616e73616374696f6e287478486173682c207873776443616c6c29207b0a20202020747279207b0a2020202020202020636f6e7374207478526573706f6e7365203d206177616974207873776443616c6c28274445524f2e4765745472616e73616374696f6e272c207b207478735f6861736865733a205b7478486173685d2c206465636f64655f61735f6a736f6e3a2031207d293b0a2020202020202020696620287478526573706f6e7365202626207478526573706f6e73652e747873202626207478526573706f6e73652e7478732e6c656e677468203e203029207b0a202020202020202020202020636f6e7374207478203d207478526573706f6e73652e7478735b305d3b0a202020202020202020202020636f6e737420747844617461203d2074782e61735f6a736f6e203f204a534f4e2e70617273652874782e61735f6a736f6e29203a207b7d3b0a2020202020202020202020202f2f204120636f696e62617365207472616e73616374696f6e20686173206e6f20696e70757473202876696e20697320656d707479206f7220646f65736e2774206578697374290a20202020202020202020202072657475726e20217478446174612e76696e207c7c207478446174612e76696e2e6c656e677468203d3d3d20303b0a20202020202020207d0a202020207d20636174636820286572726f7229207b0a2020202020202020636f6e736f6c652e7761726e2827436f756c64206e6f74206665746368207472616e73616374696f6e20666f7220636f696e6261736520646574656374696f6e3a272c20747848617368293b0a202020207d0a2020202072657475726e2066616c73653b202f2f2044656661756c7420746f206e6f7420636f696e626173652069662077652063616e27742064657465726d696e650a7d0a0a2f2f205574696c6974792066756e6374696f6e20746f2063726561746520726573706f6e73697665206861736820646973706c61790a66756e6374696f6e20666f726d6174547848617368526573706f6e7369766528686173682c206c696e6b4872656629207b0a20202020696620282168617368207c7c20686173682e6c656e677468203c203136292072657475726e2027556e6b6e6f776e273b0a202020206966202868617368203d3d3d2027756e6b6e6f776e27292072657475726e202750656e64696e672e2e2e273b0a202020200a20202020636f6e73742066756c6c48617368203d20686173683b0a20202020636f6e7374207472756e636174656448617368203d20686173682e6c656e677468203e203136203f20686173682e737562737472696e6728302c203829202b20272e2e2e27202b20686173682e736c696365282d3829203a20686173683b0a202020200a20202020636f6e7374206c696e6b5374617274203d206c696e6b48726566203f20603c6120687265663d22247b6c696e6b487265667d22207374796c653d22636f6c6f723a233532633864623b746578742d6465636f726174696f6e3a6e6f6e653b22206f6e6d6f7573656f7665723d22746869732e7374796c652e746578744465636f726174696f6e3d27756e6465726c696e652722206f6e6d6f7573656f75743d22746869732e7374796c652e746578744465636f726174696f6e3d276e6f6e6527223e60203a2027273b0a20202020636f6e7374206c696e6b456e64203d206c696e6b48726566203f20273c2f613e27203a2027273b0a202020200a2020202072657475726e20603c7370616e20636c6173733d22686173682d636f6e7461696e657220686173682d726573706f6e73697665223e0a20202020202020203c7370616e20636c6173733d22686173682d66756c6c223e247b6c696e6b53746172747d247b66756c6c486173687d247b6c696e6b456e647d3c2f7370616e3e0a20202020202020203c7370616e20636c6173733d22686173682d7472756e6361746564223e247b6c696e6b53746172747d247b7472756e6361746564486173687d247b6c696e6b456e647d3c2f7370616e3e0a202020203c2f7370616e3e603b0a7d0a0a66756e6374696f6e2072656e6465725472616e73616374696f6e4578706c6f72657228706f6f6c446174612c206e6574776f726b496e666f2c20726563656e74426c6f636b7329207b0a20202020636f6e73742063757272656e74486569676874203d206e6574776f726b496e666f3f2e686569676874207c7c20303b0a20202020636f6e73742074617267657454696d65203d206e6574776f726b496e666f3f2e746172676574207c7c2031383b0a20202020636f6e737420746f74616c506f6f6c53697a65203d206e6574776f726b496e666f3f2e74785f706f6f6c5f73697a65207c7c20303b0a202020200a202020202f2f204578747261637420616c6c207472616e73616374696f6e732066726f6d20726563656e7420626c6f636b730a20202020636f6e737420726563656e745472616e73616374696f6e73203d20657874726163745472616e73616374696f6e7346726f6d426c6f636b7328726563656e74426c6f636b73293b0a20202020636f6e73742074785374617473203d2063616c63756c6174655472616e73616374696f6e537461747328726563656e745472616e73616374696f6e732c206e6574776f726b496e666f293b0a202020200a2020202072657475726e20600a202020203c64697620636c6173733d22656e68616e6365642d63617264223e0a20202020202020203c64697620636c6173733d22636172642d686561646572223e0a2020202020202020202020203c6832207374796c653d22636f6c6f723a236666663b6d617267696e3a303b666f6e742d73697a653a312e3672656d3b666f6e742d7765696768743a3730303b223e4445524f205472616e73616374696f6e204578706c6f7265723c2f68323e0a2020202020202020202020203c64697620636c6173733d22616374696f6e73223e0a202020202020202020202020202020203c627574746f6e206f6e636c69636b3d226c6f61645472616e73616374696f6e73282922207374796c653d226261636b67726f756e643a726762612838322c3230302c3231392c302e31293b626f726465723a31707820736f6c696420233532633864623b636f6c6f723a233532633864623b70616464696e673a302e3572656d203172656d3b626f726465722d7261646975733a3670783b637572736f723a706f696e7465723b7472616e736974696f6e3a616c6c20302e327320656173653b666f6e742d7765696768743a3530303b223e526566726573683c2f627574746f6e3e0a2020202020202020202020203c2f6469763e0a20202020202020203c2f6469763e0a20202020202020203c64697620636c6173733d22636172642d636f6e74656e74223e0a20202020202020200a202020202020202020202020247b72656e6465725472616e73616374696f6e506f6f6c53746174757328706f6f6c446174612c20746f74616c506f6f6c53697a65297d0a202020202020202020202020247b72656e6465725472616e73616374696f6e5374617469737469637328747853746174732c206e6574776f726b496e666f297d0a202020202020202020202020247b72656e646572526563656e745472616e73616374696f6e7328726563656e745472616e73616374696f6e73297d0a202020202020202020202020247b72656e6465724e6574776f726b4163746976697479286e6574776f726b496e666f2c20726563656e74426c6f636b73297d0a20202020202020203c2f6469763e0a202020203c2f6469763e603b0a7d0a0a66756e6374696f6e20657874726163745472616e73616374696f6e7346726f6d426c6f636b7328626c6f636b7329207b0a20202020636f6e7374207472616e73616374696f6e73203d205b5d3b0a202020200a20202020626c6f636b732e666f72456163682828626c6f636b2c20626c6f636b496e64657829203d3e207b0a20202020202020202f2f20436865636b206d756c7469706c6520706f737369626c65207472616e73616374696f6e2068617368206669656c64730a2020202020202020636f6e737420706f737369626c6554784669656c6473203d205b2774785f686173686573272c20277478735f686173686573272c20277472616e73616374696f6e73272c202774785f686173685f6c697374275d3b0a20202020202020206c657420666f756e645478486173686573203d206e756c6c3b0a20202020202020200a2020202020202020666f722028636f6e7374206669656c64206f6620706f737369626c6554784669656c647329207b0a20202020202020202020202069662028626c6f636b5b6669656c645d2026262041727261792e6973417272617928626c6f636b5b6669656c645d2920262620626c6f636b5b6669656c645d2e6c656e677468203e203029207b0a20202020202020202020202020202020666f756e645478486173686573203d20626c6f636b5b6669656c645d3b0a20202020202020202020202020202020627265616b3b0a2020202020202020202020207d0a20202020202020207d0a20202020202020200a202020202020202069662028666f756e64547848617368657320262620666f756e6454784861736865732e6c656e677468203e203029207b0a202020202020202020202020666f756e6454784861736865732e666f724561636828287478486173682c20696e64657829203d3e207b0a202020202020202020202020202020202f2f20496d70726f76656420636f696e6261736520646574656374696f6e206c6f6769630a202020202020202020202020202020206c6574206973436f696e62617365203d2066616c73653b0a202020202020202020202020202020200a2020202020202020202020202020202069662028666f756e6454784861736865732e6c656e677468203d3d3d203129207b0a20202020202020202020202020202020202020206973436f696e62617365203d20747275653b202f2f2053696e676c6520747820696e20626c6f636b203d20636f696e626173650a202020202020202020202020202020207d20656c73652069662028696e646578203d3d3d203029207b0a20202020202020202020202020202020202020206973436f696e62617365203d20747275653b202f2f204669727374206f66206d756c7469706c65203d2070726f6261626c7920636f696e626173650a202020202020202020202020202020207d20656c7365207b0a20202020202020202020202020202020202020206973436f696e62617365203d2066616c73653b202f2f204f7468657273203d206c696b656c79207472616e73666572730a202020202020202020202020202020207d0a202020202020202020202020202020200a20202020202020202020202020202020636f6e7374207472616e73616374696f6e203d207b0a2020202020202020202020202020202020202020686173683a207478486173682c0a2020202020202020202020202020202020202020626c6f636b4865696768743a20626c6f636b2e6865696768742c0a2020202020202020202020202020202020202020626c6f636b486173683a20626c6f636b2e626c6f636b5f6865616465723f2e68617368207c7c20626c6f636b2e68617368207c7c2027556e6b6e6f776e272c0a202020202020202020202020202020202020202074696d657374616d703a20626c6f636b2e74696d657374616d70207c7c20626c6f636b2e626c6f636b5f6865616465723f2e74696d657374616d70207c7c20446174652e6e6f7728292f313030302c0a2020202020202020202020202020202020202020626c6f636b496e6465783a20696e6465782c0a20202020202020202020202020202020202020206973436f696e626173653a206973436f696e626173652c0a2020202020202020202020202020202020202020626c6f636b5265776172643a20626c6f636b2e626c6f636b5f6865616465723f2e726577617264207c7c20302c0a2020202020202020202020202020202020202020746f74616c5478496e426c6f636b3a20666f756e6454784861736865732e6c656e6774680a202020202020202020202020202020207d3b0a202020202020202020202020202020207472616e73616374696f6e732e70757368287472616e73616374696f6e293b0a2020202020202020202020207d293b0a20202020202020207d0a202020207d293b0a202020200a2020202072657475726e207472616e73616374696f6e732e736f72742828612c206229203d3e20622e74696d657374616d70202d20612e74696d657374616d70293b0a7d0a0a66756e6374696f6e2063616c63756c6174655472616e73616374696f6e5374617473287472616e73616374696f6e732c206e6574776f726b496e666f29207b0a20202020636f6e7374206e6f77203d20446174652e6e6f772829202f20313030303b0a20202020636f6e7374206c617374323468203d207472616e73616374696f6e732e66696c746572287478203d3e20286e6f77202d2074782e74696d657374616d7029203c203836343030293b0a20202020636f6e7374206c6173743168203d207472616e73616374696f6e732e66696c746572287478203d3e20286e6f77202d2074782e74696d657374616d7029203c2033363030293b0a202020200a2020202072657475726e207b0a2020202020202020746f74616c3a207472616e73616374696f6e732e6c656e6774682c0a20202020202020206c6173743234683a206c6173743234682e6c656e6774682c0a20202020202020206c61737431683a206c61737431682e6c656e6774682c0a2020202020202020636f696e62617365436f756e743a207472616e73616374696f6e732e66696c746572287478203d3e2074782e6973436f696e62617365292e6c656e6774682c0a2020202020202020726567756c6172436f756e743a207472616e73616374696f6e732e66696c746572287478203d3e202174782e6973436f696e62617365292e6c656e6774682c0a2020202020202020617667506572426c6f636b3a207472616e73616374696f6e732e6c656e677468203e2030203f20287472616e73616374696f6e732e6c656e677468202f206e657720536574287472616e73616374696f6e732e6d6170287478203d3e2074782e626c6f636b48656967687429292e73697a6529203a20302c0a20202020202020206e6574776f726b5470733a206e6574776f726b496e666f3f2e746172676574203f20286c61737431682e6c656e677468202f203336303029203a20302c0a2020202020202020746f74616c426c6f636b733a206e657720536574287472616e73616374696f6e732e6d6170287478203d3e2074782e626c6f636b48656967687429292e73697a650a202020207d3b0a7d0a0a66756e6374696f6e2072656e6465725472616e73616374696f6e506f6f6c53746174757328706f6f6c446174612c20746f74616c506f6f6c53697a6529207b0a20202020636f6e737420686173506f6f6c203d20706f6f6c4461746120262620706f6f6c446174612e74787320262620706f6f6c446174612e7478732e6c656e677468203e20303b0a202020200a2020202069662028686173506f6f6c29207b0a2020202020202020636f6e73742076616c6964547873203d20706f6f6c446174612e7478732e66696c746572287478203d3e207b0a202020202020202020202020636f6e73742068617368203d2074782e74786964207c7c2074782e68617368207c7c2074782e69645f68617368207c7c2074782e74785f68617368207c7c2074782e7478686173683b0a20202020202020202020202072657475726e206861736820262620686173682e6c656e677468203e3d203332202626202f5e5b612d66302d395d2b242f692e746573742868617368293b0a20202020202020207d293b0a20202020202020200a202020202020202072657475726e20600a20202020202020203c646976207374796c653d226d617267696e2d626f74746f6d3a3272656d3b223e0a2020202020202020202020203c6833207374796c653d22636f6c6f723a233532633864623b6d617267696e2d626f74746f6d3a312e3572656d3b666f6e742d73697a653a312e3272656d3b666f6e742d7765696768743a3630303b223e5472616e73616374696f6e20506f6f6c205374617475733c2f68333e0a2020202020202020202020203c646976207374796c653d226261636b67726f756e643a72676261283235352c3139332c372c302e31293b626f726465723a31707820736f6c69642072676261283235352c3139332c372c302e33293b626f726465722d7261646975733a3870783b70616464696e673a312e3572656d3b626f726465722d6c6566743a34707820736f6c696420236666633130373b223e0a202020202020202020202020202020203c646976207374796c653d22636f6c6f723a236666633130373b666f6e742d73697a653a312e3572656d3b666f6e742d7765696768743a3730303b6d617267696e2d626f74746f6d3a302e373572656d3b223e247b76616c69645478732e6c656e6774687d2050656e64696e67205472616e73616374696f6e733c2f6469763e0a202020202020202020202020202020203c646976207374796c653d22636f6c6f723a236233623362333b666f6e742d73697a653a302e3972656d3b223e5472616e73616374696f6e732077616974696e6720666f7220636f6e6669726d6174696f6e3c2f6469763e0a2020202020202020202020203c2f6469763e0a20202020202020203c2f6469763e603b0a202020207d20656c7365207b0a202020202020202072657475726e20600a20202020202020203c646976207374796c653d226d617267696e2d626f74746f6d3a3272656d3b223e0a2020202020202020202020203c6833207374796c653d22636f6c6f723a233532633864623b6d617267696e2d626f74746f6d3a312e3572656d3b666f6e742d73697a653a312e3272656d3b666f6e742d7765696768743a3630303b223e5472616e73616374696f6e20506f6f6c205374617475733c2f68333e0a2020202020202020202020203c646976207374796c653d226261636b67726f756e643a726762612837342c3232322c3132382c302e31293b626f726465723a31707820736f6c696420726762612837342c3232322c3132382c302e33293b626f726465722d7261646975733a3870783b70616464696e673a312e3572656d3b746578742d616c69676e3a63656e7465723b626f726465722d6c6566743a34707820736f6c696420233461646538303b223e0a202020202020202020202020202020203c646976207374796c653d22636f6c6f723a233461646538303b666f6e742d73697a653a312e3572656d3b666f6e742d7765696768743a3730303b6d617267696e2d626f74746f6d3a302e373572656d3b223ee29c8520506f6f6c20456d7074793c2f6469763e0a202020202020202020202020202020203c646976207374796c653d22636f6c6f723a236233623362333b666f6e742d73697a653a302e3972656d3b223e416c6c207472616e73616374696f6e732070726f63657373656420696e7374616e746c79202d20657863656c6c656e74206e6574776f726b20706572666f726d616e6365213c2f6469763e0a2020202020202020202020203c2f6469763e0a20202020202020203c2f6469763e603b0a202020207d0a7d0a0a66756e6374696f6e2072656e6465725472616e73616374696f6e537461746973746963732873746174732c206e6574776f726b496e666f29207b0a2020202072657475726e20600a202020203c646976207374796c653d226d617267696e2d626f74746f6d3a3272656d3b223e0a20202020202020203c6833207374796c653d22636f6c6f723a233532633864623b6d617267696e2d626f74746f6d3a312e3572656d3b666f6e742d73697a653a312e3272656d3b666f6e742d7765696768743a3630303b223e5472616e73616374696f6e20416e616c79746963733c2f68333e0a20202020202020203c64697620636c6173733d2273746174732d6772696422207374796c653d22646973706c61793a677269643b677269642d74656d706c6174652d636f6c756d6e733a726570656174286175746f2d6669742c6d696e6d61782832323070782c31667229293b6761703a312e3572656d3b223e0a2020202020202020202020203c64697620636c6173733d22737461742d6361726422207374796c653d226261636b67726f756e643a7267626128302c302c302c302e32293b626f726465723a31707820736f6c696420726762612838322c3230302c3231392c302e33293b70616464696e673a312e3572656d3b626f726465722d7261646975733a3870783b746578742d616c69676e3a63656e7465723b7472616e736974696f6e3a616c6c20302e327320656173653b223e0a202020202020202020202020202020203c646976207374796c653d22636f6c6f723a233532633864623b666f6e742d73697a653a312e3872656d3b666f6e742d7765696768743a3730303b6d617267696e2d626f74746f6d3a302e3572656d3b223e247b73746174732e746f74616c7d3c2f6469763e0a202020202020202020202020202020203c646976207374796c653d22636f6c6f723a236233623362333b666f6e742d73697a653a302e383572656d3b746578742d7472616e73666f726d3a7570706572636173653b6c65747465722d73706163696e673a302e3570783b223e526563656e74205472616e73616374696f6e733c2f6469763e0a202020202020202020202020202020203c646976207374796c653d22636f6c6f723a233461646538303b666f6e742d73697a653a302e3872656d3b6d617267696e2d746f703a302e3572656d3b223e4c61737420247b73746174732e746f74616c426c6f636b737d20626c6f636b733c2f6469763e0a2020202020202020202020203c2f6469763e0a2020202020202020202020203c64697620636c6173733d22737461742d6361726422207374796c653d226261636b67726f756e643a7267626128302c302c302c302e32293b626f726465723a31707820736f6c69642072676261283235312c3139312c33362c302e33293b70616464696e673a312e3572656d3b626f726465722d7261646975733a3870783b746578742d616c69676e3a63656e7465723b7472616e736974696f6e3a616c6c20302e327320656173653b223e0a202020202020202020202020202020203c646976207374796c653d22636f6c6f723a236662626632343b666f6e742d73697a653a312e3872656d3b666f6e742d7765696768743a3730303b6d617267696e2d626f74746f6d3a302e3572656d3b223e247b73746174732e6c61737431687d3c2f6469763e0a202020202020202020202020202020203c646976207374796c653d22636f6c6f723a236233623362333b666f6e742d73697a653a302e383572656d3b746578742d7472616e73666f726d3a7570706572636173653b6c65747465722d73706163696e673a302e3570783b223e4c61737420486f75723c2f6469763e0a202020202020202020202020202020203c646976207374796c653d22636f6c6f723a236662626632343b666f6e742d73697a653a302e3872656d3b6d617267696e2d746f703a302e3572656d3b223e247b73746174732e6e6574776f726b5470732e746f46697865642832297d205450533c2f6469763e0a2020202020202020202020203c2f6469763e0a2020202020202020202020203c64697620636c6173733d22737461742d6361726422207374796c653d226261636b67726f756e643a7267626128302c302c302c302e32293b626f726465723a31707820736f6c69642072676261283233392c36382c36382c302e33293b70616464696e673a312e3572656d3b626f726465722d7261646975733a3870783b746578742d616c69676e3a63656e7465723b7472616e736974696f6e3a616c6c20302e327320656173653b223e0a202020202020202020202020202020203c646976207374796c653d22636f6c6f723a236566343434343b666f6e742d73697a653a312e3872656d3b666f6e742d7765696768743a3730303b6d617267696e2d626f74746f6d3a302e3572656d3b223e247b73746174732e617667506572426c6f636b2e746f46697865642831297d3c2f6469763e0a202020202020202020202020202020203c646976207374796c653d22636f6c6f723a236233623362333b666f6e742d73697a653a302e383572656d3b746578742d7472616e73666f726d3a7570706572636173653b6c65747465722d73706163696e673a302e3570783b223e4176672070657220426c6f636b3c2f6469763e0a202020202020202020202020202020203c646976207374796c653d22636f6c6f723a236566343434343b666f6e742d73697a653a302e3872656d3b6d617267696e2d746f703a302e3572656d3b223e496e636c7564696e6720636f696e626173653c2f6469763e0a2020202020202020202020203c2f6469763e0a2020202020202020202020203c64697620636c6173733d22737461742d6361726422207374796c653d226261636b67726f756e643a7267626128302c302c302c302e32293b626f726465723a31707820736f6c69642072676261283133392c39322c3234362c302e33293b70616464696e673a312e3572656d3b626f726465722d7261646975733a3870783b746578742d616c69676e3a63656e7465723b7472616e736974696f6e3a616c6c20302e327320656173653b223e0a202020202020202020202020202020203c646976207374796c653d22636f6c6f723a236239353962363b666f6e742d73697a653a312e3872656d3b666f6e742d7765696768743a3730303b6d617267696e2d626f74746f6d3a302e3572656d3b223e247b6e6574776f726b496e666f3f2e6865696768743f2e746f4c6f63616c65537472696e672829207c7c20274e2f41277d3c2f6469763e0a202020202020202020202020202020203c646976207374796c653d22636f6c6f723a236233623362333b666f6e742d73697a653a302e383572656d3b746578742d7472616e73666f726d3a7570706572636173653b6c65747465722d73706163696e673a302e3570783b223e43757272656e74204865696768743c2f6469763e0a202020202020202020202020202020203c646976207374796c653d22636f6c6f723a236239353962363b666f6e742d73697a653a302e3872656d3b6d617267696e2d746f703a302e3572656d3b223e4c697665206e6574776f726b3c2f6469763e0a2020202020202020202020203c2f6469763e0a20202020202020203c2f6469763e0a202020203c2f6469763e603b0a7d0a0a66756e6374696f6e2072656e646572526563656e745472616e73616374696f6e73287472616e73616374696f6e7329207b0a20202020696620287472616e73616374696f6e732e6c656e677468203d3d3d203029207b0a202020202020202072657475726e20600a20202020202020203c646976207374796c653d226d617267696e2d626f74746f6d3a3272656d3b223e0a2020202020202020202020203c6833207374796c653d22636f6c6f723a233532633864623b6d617267696e2d626f74746f6d3a3172656d3b666f6e742d73697a653a312e3272656d3b223e526563656e74205472616e73616374696f6e733c2f68333e0a2020202020202020202020203c646976207374796c653d22746578742d616c69676e3a63656e7465723b636f6c6f723a233838383b70616464696e673a323070783b6261636b67726f756e643a7267626128302c302c302c302e32293b626f726465722d7261646975733a3870783b626f726465723a31707820736f6c69642072676261283235352c3235352c3235352c302e31293b223e0a202020202020202020202020202020204e6f20726563656e74207472616e73616374696f6e7320666f756e6420696e20616e616c797a656420626c6f636b730a2020202020202020202020203c2f6469763e0a20202020202020203c2f6469763e603b0a202020207d0a202020200a20202020636f6e737420646973706c6179547873203d207472616e73616374696f6e732e736c69636528302c203135293b202f2f2053686f77203135206d6f737420726563656e740a202020200a20202020636f6e7374207478526f7773203d20646973706c61795478732e6d6170287478203d3e207b0a2020202020202020636f6e73742074696d6541676f203d2067657454696d6541676f2874782e74696d657374616d70293b0a2020202020202020636f6e737420726573706f6e7369766548617368203d2074782e68617368203f20666f726d6174547848617368526573706f6e736976652874782e686173682c20602374782f247b74782e686173687d6029203a2027556e6b6e6f776e273b0a2020202020202020636f6e737420747854797065203d2074782e6973436f696e62617365203f2027436f696e6261736527203a20275472616e73666572273b0a2020202020202020636f6e737420747854797065436f6c6f72203d2074782e6973436f696e62617365203f20272366626266323427203a202723346164653830273b0a20202020202020200a202020202020202072657475726e20600a20202020202020203c646976207374796c653d22646973706c61793a677269643b677269642d74656d706c6174652d636f6c756d6e733a3166722031303070782031323070782031303070783b6761703a3172656d3b70616464696e673a302e373572656d3b626f726465722d626f74746f6d3a31707820736f6c69642072676261283235352c3235352c3235352c302e3035293b616c69676e2d6974656d733a63656e7465723b666f6e742d73697a653a302e383572656d3b7472616e736974696f6e3a6261636b67726f756e6420302e327320656173653b22200a202020202020202020202020206f6e6d6f7573656f7665723d22746869732e7374796c652e6261636b67726f756e643d2772676261283235352c3235352c3235352c302e3032292722200a202020202020202020202020206f6e6d6f7573656f75743d22746869732e7374796c652e6261636b67726f756e643d277472616e73706172656e7427223e0a2020202020202020202020203c646976207374796c653d22636f6c6f723a233532633864623b6f766572666c6f773a68696464656e3b223e0a20202020202020202020202020202020247b726573706f6e73697665486173687d0a202020202020202020202020202020203c646976207374796c653d22636f6c6f723a233838383b666f6e742d73697a653a302e373572656d3b6d617267696e2d746f703a302e3272656d3b223e426c6f636b20247b74782e626c6f636b4865696768747d3c2f6469763e0a2020202020202020202020203c2f6469763e0a2020202020202020202020203c646976207374796c653d22636f6c6f723a247b747854797065436f6c6f727d3b746578742d616c69676e3a63656e7465723b666f6e742d7765696768743a3530303b223e247b7478547970657d3c2f6469763e0a2020202020202020202020203c646976207374796c653d22636f6c6f723a233838383b746578742d616c69676e3a63656e7465723b223e247b74696d6541676f7d3c2f6469763e0a2020202020202020202020203c646976207374796c653d22636f6c6f723a233461646538303b746578742d616c69676e3a72696768743b666f6e742d73697a653a302e3872656d3b223e436f6e6669726d65643c2f6469763e0a20202020202020203c2f6469763e603b0a202020207d292e6a6f696e282727293b0a202020200a2020202072657475726e20600a202020203c646976207374796c653d226d617267696e2d626f74746f6d3a3272656d3b223e0a20202020202020203c6833207374796c653d22636f6c6f723a233532633864623b6d617267696e2d626f74746f6d3a312e3572656d3b666f6e742d73697a653a312e3272656d3b666f6e742d7765696768743a3630303b223e526563656e74205472616e73616374696f6e733c2f68333e0a20202020202020203c646976207374796c653d226261636b67726f756e643a7267626128302c302c302c302e32293b626f726465723a31707820736f6c696420726762612838322c3230302c3231392c302e33293b626f726465722d7261646975733a3870783b6f766572666c6f773a68696464656e3b223e0a2020202020202020202020203c646976207374796c653d22646973706c61793a677269643b677269642d74656d706c6174652d636f6c756d6e733a3166722031303070782031323070782031303070783b6761703a3172656d3b70616464696e673a3172656d3b626f726465722d626f74746f6d3a32707820736f6c696420726762612838322c3230302c3231392c302e33293b666f6e742d7765696768743a3630303b666f6e742d73697a653a302e3972656d3b636f6c6f723a233532633864623b6261636b67726f756e643a726762612838322c3230302c3231392c302e31293b223e0a202020202020202020202020202020203c6469763e5472616e73616374696f6e20486173683c2f6469763e0a202020202020202020202020202020203c646976207374796c653d22746578742d616c69676e3a63656e7465723b223e547970653c2f6469763e0a202020202020202020202020202020203c646976207374796c653d22746578742d616c69676e3a63656e7465723b223e54696d653c2f6469763e0a202020202020202020202020202020203c646976207374796c653d22746578742d616c69676e3a72696768743b223e5374617475733c2f6469763e0a2020202020202020202020203c2f6469763e0a202020202020202020202020247b7478526f77737d0a20202020202020203c2f6469763e0a2020202020202020247b7472616e73616374696f6e732e6c656e677468203e203135203f20603c646976207374796c653d22746578742d616c69676e3a63656e7465723b6d617267696e2d746f703a3172656d3b636f6c6f723a236233623362333b666f6e742d73697a653a302e3972656d3b223e53686f77696e67203135206f6620247b7472616e73616374696f6e732e6c656e6774687d20726563656e74207472616e73616374696f6e733c2f6469763e60203a2027277d0a202020203c2f6469763e603b0a7d0a0a66756e6374696f6e2072656e6465724e6574776f726b4163746976697479286e6574776f726b496e666f2c20726563656e74426c6f636b7329207b0a20202020636f6e737420617667426c6f636b54696d65203d206e6574776f726b496e666f3f2e61766572616765626c6f636b74696d653530207c7c2031383b0a20202020636f6e73742074617267657454696d65203d206e6574776f726b496e666f3f2e746172676574207c7c2031383b0a20202020636f6e737420656666696369656e6379203d2074617267657454696d65203e2030203f204d6174682e6d696e283130302c202874617267657454696d65202f20617667426c6f636b54696d6529202a2031303029203a203130303b0a202020200a2020202072657475726e20600a202020203c6469763e0a20202020202020203c6833207374796c653d22636f6c6f723a233532633864623b6d617267696e2d626f74746f6d3a312e3572656d3b666f6e742d73697a653a312e3272656d3b666f6e742d7765696768743a3630303b223e4e6574776f726b2041637469766974793c2f68333e0a20202020202020203c646976207374796c653d22646973706c61793a677269643b677269642d74656d706c6174652d636f6c756d6e733a726570656174286175746f2d6669742c6d696e6d61782832383070782c31667229293b6761703a312e3572656d3b223e0a2020202020202020202020203c646976207374796c653d226261636b67726f756e643a7267626128302c302c302c302e32293b626f726465723a31707820736f6c696420726762612838322c3230302c3231392c302e33293b70616464696e673a312e3572656d3b626f726465722d7261646975733a3870783b7472616e736974696f6e3a616c6c20302e327320656173653b223e0a202020202020202020202020202020203c646976207374796c653d22636f6c6f723a233532633864623b666f6e742d7765696768743a3630303b6d617267696e2d626f74746f6d3a3172656d3b666f6e742d73697a653a312e3172656d3b223e426c6f636b20506572666f726d616e63653c2f6469763e0a202020202020202020202020202020203c646976207374796c653d226d617267696e2d626f74746f6d3a302e373572656d3b223e0a20202020202020202020202020202020202020203c646976207374796c653d22636f6c6f723a236233623362333b666f6e742d73697a653a302e3972656d3b6d617267696e2d626f74746f6d3a302e323572656d3b223e4176657261676520426c6f636b2054696d653c2f6469763e0a20202020202020202020202020202020202020203c646976207374796c653d22636f6c6f723a236666663b666f6e742d73697a653a312e3272656d3b666f6e742d7765696768743a3630303b223e247b617667426c6f636b54696d652e746f46697865642831297d733c2f6469763e0a202020202020202020202020202020203c2f6469763e0a202020202020202020202020202020203c646976207374796c653d226d617267696e2d626f74746f6d3a302e373572656d3b223e0a20202020202020202020202020202020202020203c646976207374796c653d22636f6c6f723a236233623362333b666f6e742d73697a653a302e3972656d3b6d617267696e2d626f74746f6d3a302e323572656d3b223e5461726765742054696d653c2f6469763e0a20202020202020202020202020202020202020203c646976207374796c653d22636f6c6f723a233461646538303b666f6e742d73697a653a312e3272656d3b666f6e742d7765696768743a3630303b223e247b74617267657454696d657d733c2f6469763e0a202020202020202020202020202020203c2f6469763e0a202020202020202020202020202020203c6469763e0a20202020202020202020202020202020202020203c646976207374796c653d22636f6c6f723a236233623362333b666f6e742d73697a653a302e3972656d3b6d617267696e2d626f74746f6d3a302e323572656d3b223e456666696369656e63793c2f6469763e0a20202020202020202020202020202020202020203c646976207374796c653d22636f6c6f723a247b656666696369656e6379203e203930203f20272334616465383027203a20656666696369656e6379203e203730203f20272366626266323427203a202723656634343434277d3b666f6e742d73697a653a312e3272656d3b666f6e742d7765696768743a3630303b223e247b656666696369656e63792e746f46697865642831297d253c2f6469763e0a202020202020202020202020202020203c2f6469763e0a2020202020202020202020203c2f6469763e0a2020202020202020202020200a2020202020202020202020203c646976207374796c653d226261636b67726f756e643a7267626128302c302c302c302e32293b626f726465723a31707820736f6c696420726762612838322c3230302c3231392c302e33293b70616464696e673a312e3572656d3b626f726465722d7261646975733a3870783b7472616e736974696f6e3a616c6c20302e327320656173653b223e0a202020202020202020202020202020203c646976207374796c653d22636f6c6f723a233532633864623b666f6e742d7765696768743a3630303b6d617267696e2d626f74746f6d3a3172656d3b666f6e742d73697a653a312e3172656d3b223e4e6574776f726b2053746174733c2f6469763e0a202020202020202020202020202020203c646976207374796c653d226d617267696e2d626f74746f6d3a302e373572656d3b223e0a20202020202020202020202020202020202020203c646976207374796c653d22636f6c6f723a236233623362333b666f6e742d73697a653a302e3972656d3b6d617267696e2d626f74746f6d3a302e323572656d3b223e546f74616c20537570706c793c2f6469763e0a20202020202020202020202020202020202020203c646976207374796c653d22636f6c6f723a236666663b666f6e742d73697a653a312e3272656d3b666f6e742d7765696768743a3630303b223e247b286e6574776f726b496e666f3f2e746f74616c5f737570706c79207c7c2030292e746f4c6f63616c65537472696e6728297d204445524f3c2f6469763e0a202020202020202020202020202020203c2f6469763e0a202020202020202020202020202020203c646976207374796c653d226d617267696e2d626f74746f6d3a302e373572656d3b223e0a20202020202020202020202020202020202020203c646976207374796c653d22636f6c6f723a236233623362333b666f6e742d73697a653a302e3972656d3b6d617267696e2d626f74746f6d3a302e323572656d3b223e446966666963756c74793c2f6469763e0a20202020202020202020202020202020202020203c646976207374796c653d22636f6c6f723a236662626632343b666f6e742d73697a653a312e3272656d3b666f6e742d7765696768743a3630303b223e247b286e6574776f726b496e666f3f2e646966666963756c7479207c7c2030292e746f4c6f63616c65537472696e6728297d3c2f6469763e0a202020202020202020202020202020203c2f6469763e0a202020202020202020202020202020203c6469763e0a20202020202020202020202020202020202020203c646976207374796c653d22636f6c6f723a236233623362333b666f6e742d73697a653a302e3972656d3b6d617267696e2d626f74746f6d3a302e323572656d3b223e436f6e6e65637465642050656572733c2f6469763e0a20202020202020202020202020202020202020203c646976207374796c653d22636f6c6f723a236239353962363b666f6e742d73697a653a312e3272656d3b666f6e742d7765696768743a3630303b223e247b286e6574776f726b496e666f3f2e6f7574676f696e675f636f6e6e656374696f6e735f636f756e74207c7c2030297d3c2f6469763e0a202020202020202020202020202020203c2f6469763e0a2020202020202020202020203c2f6469763e0a20202020202020203c2f6469763e0a202020203c2f6469763e603b0a7d0a0a66756e6374696f6e2067657454696d6541676f2874696d657374616d7029207b0a20202020636f6e7374206e6f77203d20446174652e6e6f7728293b0a202020200a202020202f2f2048616e646c6520626f7468207365636f6e647320616e64206d696c6c697365636f6e64732074696d657374616d70730a202020206c65742074734d73203d2074696d657374616d703b0a202020206966202874696d657374616d70203c203165313229207b0a20202020202020202f2f2054696d657374616d7020697320696e207365636f6e64732c20636f6e7665727420746f206d696c6c697365636f6e64730a202020202020202074734d73203d2074696d657374616d70202a20313030303b0a202020207d0a202020200a20202020636f6e73742064696666203d204d6174682e666c6f6f7228286e6f77202d2074734d7329202f2031303030293b202f2f20446966666572656e636520696e207365636f6e64730a202020200a202020202f2f20456e7375726520706f73697469766520646966666572656e63650a202020206966202864696666203c2030292072657475726e20276e6f77273b0a202020206966202864696666203c203630292072657475726e2060247b646966667d732061676f603b0a202020206966202864696666203c2033363030292072657475726e2060247b4d6174682e666c6f6f722864696666202f203630297d6d2061676f603b0a202020206966202864696666203c203836343030292072657475726e2060247b4d6174682e666c6f6f722864696666202f2033363030297d682061676f603b0a2020202072657475726e2060247b4d6174682e666c6f6f722864696666202f203836343030297d642061676f603b0a7d0a0a2f2f204578706f727420666f72206d6f64756c65206c6f6164696e670a77696e646f772e6578706c6f72657252656e646572203d207b200a20202020666f726d61745478486173682c0a20202020666f726d6174547848617368526573706f6e736976652c0a2020202072656e6465725472616e73616374696f6e4578706c6f7265722c0a20202020657874726163745472616e73616374696f6e7346726f6d426c6f636b732c0a2020202063616c63756c6174655472616e73616374696f6e53746174732c0a2020202072656e6465725472616e73616374696f6e506f6f6c5374617475732c0a2020202072656e6465725472616e73616374696f6e537461746973746963732c0a2020202072656e646572526563656e745472616e73616374696f6e732c0a2020202072656e6465724e6574776f726b41637469766974792c0a2020202067657454696d6541676f2c0a20202020646574656374436f696e626173655472616e73616374696f6e0a7d3b0a2a2f6a53435f414354494f4e55012d3dc618046187e9d6a69e1bc3f2ea50cfa5f09a270dd0dbfef264982350abae0129aed95809d63b9b2c4fceed5e821357dedee552a66130cae8f89a3e99929d2e011fe9b0eb1695eccdf4b8f46a6e0a2065000b5bb32c530eb35973ae72e1633d9d002a8b954b5cbabf7796c5c34a835f4da858fcc2c130adb335878e0eb4d8184561010ff5deba25f6708ad9cc646b3174a2c803b1b3e78e217cfbec1eadd1ca0e0a59011885e7597100ac7802adf78662629556a44540be43fc5f3f5f852181c4c85f56010deb9ab6d406ecb07c3a737a0a32c1d15ad77c02e4dafa0aba2f570f0a3a3cfa0007ee36adfaea5445581b8779b16177b07f3945f60e82a44c00c7b45328af39b4012407f293890f18c8ae46b505221b182a3ddf8f6d0439882da1dd8fdfcfc5fe9201032d8ee45692de0b461629ea274b70731b62894e73fa8cdae8bf5066afaddc4701270be602ce0c66368e7c003e68076a5f0274d0df743f371bc77d245900d478130101022589da2fc86ae9cee587001b9968a7a63762fdad4a5cb4c6bda8acc24b5501198abf04adfaa29dc1ba90a9ed6fc51a404e39f5ed264cf9df90148d5fc4717c00072f25046606e1f227b8f076a08eda5cabf548a2a256e11867b786f7c19c505b00267cb36f8f72889fe8b2aff29b49cb2ea2f3eb6773bcf5996daef1c6a612d98600069016483095fcab497a0c9a74fb93cc648637a80b29c9e0e8f981497196264a010f3f1d6397d9344d42a0b0e06bec28b9aea5dfd9aa32be9e8a553ba201f9a362002ed45e273aece549c6f89eae8b0f7316d69d9fd20c1bb9dbcd36ecb757bec0f3012c5b88aab50dd8f7b5102c3434fa149b1c8754eec0e486371996ef4312e42a47000b772df0b6f27b7ce0847d3b2f3cb2b40e54bf0f35e49a3bbd3f65a647f07840002a24f7b96309939c9645b00730a7cca3105d5b54e50da01e7f7aee5441668c3500167ffe9f0366a93ec72e7744203159ba44abbc9f76d0f215fc381f9834c2fe62001439f4d4a4c8319a86294ceecf5da6f4046013f8053204c0480f5076f2d66f34001f0f131f45efc139700ed707d67169923e04e15787ceb8d0cd9730136984160501296a95f82bde1a2cc2bb0449c2428fb1297c7b9707eabb62cd1cb2de09f4df520111129f3faec02c0582ba77b043bcedeac20220be0b9981a4bbbc2f82b1173d5e002800610263816c155e7aeda21ffa87389a425d8878dae50505313357fafa27360107c59359ab29a9d904c646935320f836a8bfb714ece9d12c5e172209324297030008ebb433272e74bb6f62236191c1cf7babb6ab5ef955454f2afd54d84085209d011360c77ae140070aab028f6d302c30eb488ff43b89e529eda18001d08accb73c01147d102f58f4e502a0d51fae60a6091ee03107a50d8bcd256ec633a47f23ee900108e9c81f40639a5675df6b925101f7524ea4a683907f818def063263e4730166000a05b92ac33c4283c502be343573a8078f513289c2b93a2a3d9d2339476dbc3d0116c71f09dea44cb7c82256d9b5ea684476547e958e343e697e4b0edd10d8137f0018cc50fb780885c5aa97c17cb370a565d124b2da6e90c2a133da6e0b17815fa0000ea169cc8b43de264bea2b84a6e10af375ab0a4c6e7ce23e0b70e3485f75f1ae002b60757f683aadebee1f9b0e461dac53b659aed657de4bf5e4c9549787d529b90000000000000000000000000000000000000000000000000000000000000000001cc92c2403f8cc19b95979300ceb3811924ee3d19d5b77fb922a4be9fa92d3f5303ac5adaa4bcac2f81f5edb42094aa97b57696f5cbf53b6250f809ea24e3fc1077a08e2caf32300bff20567b49db9a2354b5c13074891b5dd2ef01ef862705429515b5e5064d6a172e93bb5f0e9243242754c0bb0108aca8db0f12489b29add0e93a7b2f59dcdb1adc4f1c5299b73a7f18f974d7b66bc5dc97e39a07a0d0a7d0770ae72de8654f8e71e73a7c83a43de67d93a6e0e9a747e6fda3fe5c065cb6c2f18ca9bf7b235127490e3af127b5d1b71bf64cb6bcada3dc2169ad76c30b85005054c6ba3b10e2c6ad5a6f6c16cee109cc419867609dfdeaf0bcb40a50c979b2e381de0f6cc236698332f8a0cd879e104549ede58a34c6ccaae8cfa0f6be5bb001c25c103b13d45cd737ab094cd8fce90c3fdd7c5db2dd5c58d4f5e81ffdbe7320110724ab3e53c5b1fdee5acf24520628c701560e5f04377c09ca06aafd7c11e67058ef9285cf3f3a1b5207e760e3c78a435180470cff7718a8b34ae5b3751885b1042215c99563d6708458f5a00c064f81ebc6d41227f1ecc5397089e1dd3293a1233f15de11f8444094acdb68dd4acfb1b8d15f513c19bfab0d1bc5e3e1637ae2e95aef90e31a89422daf29dd7b39aea96d8450fdae0156811655049a3b5bbf01dc05a1c0628afb4e4411fd8d8ff185da4fa34d024765e37b8c47abfc64bd66219a42fe7ec43a8301065f35485e9db8ecfcd5d4aa9b4e3e26d52ac1e576032bb1117430b50a6ced3c0cc20f0c74d6125278326cff189c126aa99944859796692038c95903e06325349c2f23f683c6e12abba4ee9077c395685a27ee318504cc12246387e90803fd4d1f38dcfcbc21bc6741aa0a4f71cb577bbbc0ef4637133ad012427614f78752a335f6be029c0776e6e754969ac437bc1065ccf90101e74e0ed0022f6b8fda1f68ac48fcd8c63c59b166bc3702ee29a51110c4536e0f25da8ed4c011f924f1f3c0ce9a4bd88588931027dbb6271a4ec2358d7fe7649ceeadcce1678011b390a0809b9d7fc06f077a69277d51722485e73d182fffc716074463bb7504f000fba21d68ade5c7dedae7da979e27cb8aa3e43c3c57235eac7694a9c4cad2d2b0005c89ccd1ba90fb11710236da21a37168cb82251c9261af91b6f31744b9740d0011d2bb5d2a534d49e1686bd110a55d5bfef4704464c7ab49e61a0183080fd7701012f3a7f1bc719f47766226095c6de06ed09872714e5e856d7922ea8d04dcbab6f0104b9bd36215d784df5ed31ac5d0501da4942c3f952a88693d1186da174d016220028324c08d3a89d06794e7265c1ef8a09f1ea5bbae7d442a7a721794a5379d72f011c9c8ab6546a769d3efed4a4a8a998b6d44f68b392bde290a0ce75fd01ab7f49010f1f67d3b77c62b83551f08d942dc2b920b529163deaf2c231e06234b434185d001ba0df30981ab2da4dc8d59980dd28a6690990aefed0c562f1d9eac5a375ea1401
DERO explorer source code | explorer version (api): under development (1.0) | dero version: golang pre-alpha | Copyright 2017-2022 Dero Project