logo DERO HE BlockChain Explorer Mainnet

Tx hash: f2771b0a3bf6601f2b9e731e35d04e5abb36f99476c39bfb5caefec210e163f0 Type SC

Block: e1ad88152c106f652c7eafbaf2e047b3631e4e91996a2f7776e6e02fb89f2780 (VALID)
SCID current reserves
SCID Amount(in atomic units)
0000000000000000000000000000000000000000000000000000000000000000 0
SCID string variables
key value
C 46756e6374696f6e20496e697469616c697a655072697661746528292055696e7436340a313020494620696e69742829203d3d2030205448454e20474f544f2033300a32302052455455524e20310a33302053544f524528226e616d65486472222c20227472616e73616374696f6e732d636f72652e6a7322290a33312053544f524528226465736372486472222c20225472616e73616374696f6e20646174612065787472616374696f6e20616e642072656e646572696e6722290a33322053544f5245282269636f6e55524c486472222c202222290a33332053544f524528226455524c222c20226578706c6f7265722e74656c6122290a33342053544f52452822646f6354797065222c202254454c412d4a532d3122290a33352053544f52452822737562446972222c202222290a33362053544f5245282266696c65436865636b43222c20223238326233666237333535353964363265336132373561633762353235323662323930303035343635326665666434633861333438316234643732633234613622290a33372053544f5245282266696c65436865636b53222c20223262626664663062356239396136363364326132666130353837396432383964353233396433376162633332613136363434626434383336626363626664373622290a3130302052455455524e20300a456e642046756e6374696f6e0a0a46756e6374696f6e20696e697428292055696e7436340a31302049462045584953545328226f776e65722229203d3d2030205448454e20474f544f2033300a32302052455455524e20310a33302053544f524528226f776e6572222c20616464726573732829290a35302053544f52452822646f6356657273696f6e222c2022312e302e3022290a36302053544f5245282268617368222c204845582854584944282929290a37302053544f524528226c696b6573222c2030290a38302053544f524528226469736c696b6573222c2030290a3130302052455455524e20300a456e642046756e6374696f6e0a0a46756e6374696f6e2061646472657373282920537472696e670a31302044494d207320617320537472696e670a3230204c45542073203d205349474e455228290a33302049462049535f414444524553535f56414c4944287329205448454e20474f544f2035300a34302052455455524e2022616e6f6e220a35302052455455524e20414444524553535f535452494e472873290a456e642046756e6374696f6e0a0a46756e6374696f6e205261746528722055696e743634292055696e7436340a31302044494d206164647220617320537472696e670a3135204c45542061646472203d206164647265737328290a31362049462072203c2031303020262620455849535453286164647229203d3d2030202626206164647220213d2022616e6f6e22205448454e20474f544f2033300a32302052455455524e20310a33302053544f524528616464722c2022222b722b225f222b424c4f434b5f4845494748542829290a34302049462072203c203530205448454e20474f544f2037300a35302053544f524528226c696b6573222c204c4f414428226c696b657322292b31290a36302052455455524e20300a37302053544f524528226469736c696b6573222c204c4f414428226469736c696b657322292b31290a3130302052455455524e20300a456e642046756e6374696f6e0a0a2f2a0a287b0a202020206e616d653a20277472616e73616374696f6e732d636f7265272c0a2020202076657273696f6e3a2027312e302e30272c0a0a202020206173796e632072656e646572456e68616e6365645472616e73616374696f6e287478486173682c207873776443616c6c29207b0a2020202020202020747279207b0a2020202020202020202020202f2f20476574207472616e73616374696f6e20646174610a202020202020202020202020636f6e7374207478526573706f6e7365203d206177616974207873776443616c6c28274445524f2e4765745472616e73616374696f6e272c207b7478735f6861736865733a205b7478486173685d2c206465636f64655f61735f6a736f6e3a20317d293b0a20202020202020202020202069662028217478526573706f6e7365207c7c20217478526573706f6e73652e747873207c7c207478526573706f6e73652e7478732e6c656e677468203d3d3d203029207b0a2020202020202020202020202020202072657475726e20746869732e72656e6465725472616e73616374696f6e4e6f74466f756e6428747848617368293b0a2020202020202020202020207d0a2020202020202020202020200a202020202020202020202020636f6e7374207478203d207478526573706f6e73652e7478735b305d3b0a2020202020202020202020206c657420747844617461203d206e756c6c3b0a2020202020202020202020206966202874782e61735f6a736f6e2026262074782e61735f6a736f6e2e6c656e677468203e203029207b0a20202020202020202020202020202020747279207b20747844617461203d204a534f4e2e70617273652874782e61735f6a736f6e5b305d293b207d20636174636820286529207b7d0a2020202020202020202020207d0a2020202020202020202020200a202020202020202020202020636f6e7374207478486578203d207478526573706f6e73652e7478735f61735f686578202626207478526573706f6e73652e7478735f61735f6865785b305d203f207478526573706f6e73652e7478735f61735f6865785b305d203a2027273b0a2020202020202020202020200a2020202020202020202020202f2f2047657420626c6f636b20696e666f20666f722074686973207472616e73616374696f6e0a2020202020202020202020206c657420626c6f636b496e666f203d206e756c6c3b0a2020202020202020202020206966202874782e626c6f636b5f68656967687429207b0a20202020202020202020202020202020747279207b0a2020202020202020202020202020202020202020626c6f636b496e666f203d206177616974207873776443616c6c28274445524f2e476574426c6f636b272c207b6865696768743a2074782e626c6f636b5f6865696768747d293b0a202020202020202020202020202020207d20636174636820286572726f7229207b7d0a2020202020202020202020207d0a2020202020202020202020200a2020202020202020202020202f2f204578747261637420656e68616e63656420646174610a202020202020202020202020636f6e737420656e68616e63656444617461203d20617761697420746869732e65787472616374456e68616e6365645472616e73616374696f6e446174612874782c207478446174612c2074784865782c20626c6f636b496e666f2c207478486173682c207873776443616c6c293b0a2020202020202020202020200a2020202020202020202020202f2f204c6f6164205549206d6f64756c650a202020202020202020202020636f6e73742075694d6f64756c65203d2061776169742077696e646f772e6c6d28277472616e73616374696f6e732d756927293b0a2020202020202020202020200a2020202020202020202020206966202875694d6f64756c6529207b0a2020202020202020202020202020202072657475726e2075694d6f64756c652e72656e646572456e68616e6365645472616e73616374696f6e446973706c6179287478486173682c20656e68616e636564446174612c206e756c6c293b0a2020202020202020202020207d20656c7365207b0a2020202020202020202020202020202072657475726e20273c64697620636c6173733d22656e68616e6365642d63617264223e3c68333e456e68616e636564205549206d6f64756c65206e6f7420617661696c61626c653c2f68333e3c703e7472616e73616374696f6e732d75692e6a73206661696c656420746f206c6f61643c2f703e3c2f6469763e273b0a2020202020202020202020207d0a2020202020202020202020200a20202020202020207d20636174636820286572726f7229207b0a20202020202020202020202072657475726e20746869732e72656e6465725472616e73616374696f6e4572726f72287478486173682c206572726f72293b0a20202020202020207d0a202020207d2c0a0a202020206173796e632065787472616374456e68616e6365645472616e73616374696f6e446174612874782c207478446174612c2074784865782c20626c6f636b496e666f2c207478486173682c207873776443616c6c29207b0a20202020202020202f2f2043616c63756c61746520636f6e6669726d6174696f6e730a20202020202020206c657420636f6e6669726d6174696f6e73203d20303b0a20202020202020206966202874782e626c6f636b5f686569676874202626202174782e696e5f706f6f6c29207b0a202020202020202020202020747279207b0a20202020202020202020202020202020636f6e7374206e6574776f726b496e666f203d206177616974207873776443616c6c28274445524f2e476574496e666f27293b0a20202020202020202020202020202020696620286e6574776f726b496e666f202626206e6574776f726b496e666f2e68656967687429207b0a2020202020202020202020202020202020202020636f6e6669726d6174696f6e73203d206e6574776f726b496e666f2e686569676874202d2074782e626c6f636b5f686569676874202b20313b0a202020202020202020202020202020207d0a2020202020202020202020207d20636174636820286529207b7d0a20202020202020207d0a0a20202020202020202f2f20457874726163742074696d657374616d700a20202020202020206c65742074696d657374616d70203d206e756c6c3b0a202020202020202069662028626c6f636b496e666f20262620626c6f636b496e666f2e626c6f636b5f68656164657220262620626c6f636b496e666f2e626c6f636b5f6865616465722e74696d657374616d7029207b0a202020202020202020202020636f6e737420626c6f636b54696d657374616d70203d20626c6f636b496e666f2e626c6f636b5f6865616465722e74696d657374616d703b0a20202020202020202020202074696d657374616d70203d20626c6f636b54696d657374616d70203e2031303030303030303030303030203f206e6577204461746528626c6f636b54696d657374616d7029203a206e6577204461746528626c6f636b54696d657374616d70202a2031303030293b0a20202020202020207d0a0a20202020202020202f2f204261736963207472616e73616374696f6e20696e666f0a2020202020202020636f6e7374206261736963496e666f203d207b0a202020202020202020202020626c6f636b4865696768743a2074782e626c6f636b5f686569676874207c7c202750656e64696e67272c0a202020202020202020202020636f6e6669726d6174696f6e733a20636f6e6669726d6174696f6e732c0a20202020202020202020202074696d657374616d703a2074696d657374616d70207c7c206e6577204461746528292c0a2020202020202020202020206665653a20746869732e6578747261637446656546726f6d4865782874784865782c207478292c0a20202020202020202020202073697a653a207478486578203f202874784865782e6c656e677468202f203229203a20302c0a2020202020202020202020206865783a207478486578207c7c2027270a20202020202020207d3b0a0a20202020202020202f2f20426c6f636b20696e666f726d6174696f6e0a2020202020202020636f6e737420626c6f636b44617461203d207b0a202020202020202020202020686173683a20626c6f636b496e666f3f2e626c6f636b5f6865616465723f2e68617368207c7c2027556e6b6e6f776e272c0a202020202020202020202020626c69643a20746869732e65787472616374424c494428626c6f636b496e666f292c0a2020202020202020202020207478526f6f74486173683a20746869732e657874726163745478526f6f744861736828626c6f636b496e666f2c207478486578290a20202020202020207d3b0a0a20202020202020202f2f204465746563742072696e672073697a6520616e642073656e646572206164647265737365730a2020202020202020636f6e73742072696e6744617461203d20617761697420746869732e6578747261637452696e67446174612874784865782c20747844617461293b0a0a20202020202020202f2f205472616e73616374696f6e20747970650a2020202020202020636f6e73742074797065203d207b0a202020202020202020202020747970653a20746869732e686173536d617274436f6e7472616374446174612874782c207478446174612c20747848657829203f2027536d61727420436f6e747261637427203a2027436f696e62617365272c0a2020202020202020202020207369676e6174757265547970653a20274445524f5f484f4d4f4d4f5250484943272c0a20202020202020202020202072696e6753697a653a2072696e67446174612e72696e6753697a650a20202020202020207d3b0a0a20202020202020202f2f204578747261637420534320646174612069662074686973206973206120736d61727420636f6e7472616374207472616e73616374696f6e0a20202020202020206c657420736344617461203d206e756c6c3b0a202020202020202069662028746869732e686173536d617274436f6e7472616374446174612874782c207478446174612c2074784865782929207b0a202020202020202020202020736344617461203d20617761697420746869732e65787472616374536d617274436f6e747261637444617461287478486173682c2074784865782c207873776443616c6c293b0a20202020202020207d0a0a202020202020202072657475726e207b0a20202020202020202020202062617369633a206261736963496e666f2c0a202020202020202020202020747970653a20747970652c0a202020202020202020202020626c6f636b3a20626c6f636b446174612c0a202020202020202020202020736d617274436f6e74726163743a207363446174612c0a20202020202020202020202073656e646572733a2072696e67446174612e73656e6465724164647265737365732c0a2020202020202020202020206865783a2074784865782c0a2020202020202020202020207261773a207b2074782c20747844617461207d0a20202020202020207d3b0a202020207d2c0a0a202020206173796e632065787472616374536d617274436f6e747261637444617461287478486173682c2074784865782c207873776443616c6c29207b0a20202020202020202f2f2054727920746f206578747261637420534349442066726f6d206865782c206f72207573652074784861736820666f72206465706c6f796d656e74207472616e73616374696f6e730a20202020202020206c65742073636964203d20746869732e657874726163745343494446726f6d486578287478486578293b0a20202020202020200a20202020202020202f2f20466f72206465706c6f796d656e74207472616e73616374696f6e73202853435f414354494f4e203d2030206f722031292c207468652053434944206973207468652074784861736820697473656c660a2020202020202020636f6e73742069734465706c6f796d656e74203d2074784865782e696e636c7564657328273533343335663431343335343439346634653535303127293b202f2f2053435f414354494f4e203d20310a20202020202020206966202821736369642026262069734465706c6f796d656e7429207b0a20202020202020202020202073636964203d207478486173683b0a202020202020202020202020636f6e736f6c652e6c6f6728275573696e6720747848617368206173205343494420666f72206465706c6f796d656e74207472616e73616374696f6e27293b0a20202020202020207d0a20202020202020200a202020202020202069662028217363696429207b0a202020202020202020202020636f6e736f6c652e7761726e2827436f756c64206e6f74206578747261637420534349442066726f6d207472616e73616374696f6e27293b0a20202020202020202020202072657475726e207b0a20202020202020202020202020202020686173536d617274436f6e74726163743a20747275652c0a20202020202020202020202020202020736342616c616e63653a20302c0a202020202020202020202020202020206465706f73697465643a20302c0a202020202020202020202020202020207363417267756d656e74733a20746869732e7061727365456e68616e6365645343417267756d656e7473287478486578292c0a2020202020202020202020202020202073635661726961626c65733a206e756c6c2c0a202020202020202020202020202020207363436f64653a206e756c6c0a2020202020202020202020207d3b0a20202020202020207d0a0a2020202020202020747279207b0a202020202020202020202020636f6e736f6c652e6c6f6728274665746368696e67205343206461746120666f7220534349443a272c2073636964293b0a202020202020202020202020636f6e7374207363496e666f203d206177616974207873776443616c6c28274445524f2e4765745343272c207b736369643a20736369642c20636f64653a20747275652c207661726961626c65733a20747275657d293b0a202020202020202020202020636f6e736f6c652e6c6f672827534320496e666f20726573706f6e73653a272c207363496e666f293b0a2020202020202020202020200a202020202020202020202020636f6e73742070617273656456617273203d20746869732e7061727365536d617274436f6e74726163745661726961626c6573287363496e666f293b0a202020202020202020202020636f6e736f6c652e6c6f672827506172736564205343207661726961626c65733a272c2070617273656456617273293b0a2020202020202020202020200a20202020202020202020202072657475726e207b0a20202020202020202020202020202020686173536d617274436f6e74726163743a20747275652c0a20202020202020202020202020202020736369643a20736369642c0a20202020202020202020202020202020736342616c616e63653a20287363496e666f2e62616c616e6365207c7c203029202f203130303030302c0a202020202020202020202020202020206465706f73697465643a20746869732e657874726163744465706f7369746564416d6f756e74287478486578292c0a202020202020202020202020202020207363417267756d656e74733a20746869732e7061727365456e68616e6365645343417267756d656e7473287478486578292c0a2020202020202020202020202020202073635661726961626c65733a20706172736564566172732c0a202020202020202020202020202020207363436f64653a207363496e666f2e636f6465207c7c206e756c6c0a2020202020202020202020207d3b0a20202020202020207d20636174636820286572726f7229207b0a202020202020202020202020636f6e736f6c652e6572726f7228274661696c656420746f206765742053432064657461696c7320666f722053434944272c20736369642c20273a272c206572726f72293b0a20202020202020202020202072657475726e207b0a20202020202020202020202020202020686173536d617274436f6e74726163743a20747275652c0a20202020202020202020202020202020736369643a2073636964207c7c2027556e6b6e6f776e272c0a20202020202020202020202020202020736342616c616e63653a20302c0a202020202020202020202020202020206465706f73697465643a20302c0a202020202020202020202020202020207363417267756d656e74733a20746869732e7061727365456e68616e6365645343417267756d656e7473287478486578292c0a2020202020202020202020202020202073635661726961626c65733a206e756c6c2c0a202020202020202020202020202020207363436f64653a206e756c6c0a2020202020202020202020207d3b0a20202020202020207d0a202020207d2c0a0a20202020657874726163745343494446726f6d48657828747848657829207b0a2020202020202020636f6e737420736369645061747465726e203d2074784865782e6d61746368282f353334333566343934342835387c3438293230285b302d39612d665d7b36347d292f69293b0a202020202020202069662028736369645061747465726e20262620736369645061747465726e5b325d29207b0a20202020202020202020202072657475726e20736369645061747465726e5b325d3b0a20202020202020207d0a202020202020202072657475726e206e756c6c3b0a202020207d2c0a0a202020207061727365536d617274436f6e74726163745661726961626c6573287363496e666f29207b0a202020202020202069662028217363496e666f292072657475726e206e756c6c3b0a20202020202020200a2020202020202020636f6e7374207661726961626c6573203d207b0a202020202020202020202020737472696e67733a207b7d2c0a20202020202020202020202075696e743634733a207b7d2c0a20202020202020202020202072657365727665733a207b7d0a20202020202020207d3b0a0a20202020202020202f2f20506172736520737472696e67207661726961626c65730a2020202020202020696620287363496e666f2e737472696e676b65797329207b0a2020202020202020202020204f626a6563742e656e7472696573287363496e666f2e737472696e676b657973292e666f724561636828285b6b65792c2076616c75655d29203d3e207b0a20202020202020202020202020202020747279207b0a20202020202020202020202020202020202020207661726961626c65732e737472696e67735b6b65795d203d20746869732e686578546f537472696e672876616c7565293b0a202020202020202020202020202020207d20636174636820286529207b0a20202020202020202020202020202020202020207661726961626c65732e737472696e67735b6b65795d203d2076616c75653b0a202020202020202020202020202020207d0a2020202020202020202020207d293b0a20202020202020207d0a0a20202020202020202f2f2050617273652075696e743634207661726961626c65730a2020202020202020696620287363496e666f2e62616c616e63657329207b0a2020202020202020202020207661726961626c65732e7265736572766573203d207363496e666f2e62616c616e6365733b0a20202020202020207d0a0a202020202020202072657475726e207661726961626c65733b0a202020207d2c0a0a20202020686578546f537472696e672868657829207b0a20202020202020206966202821686578207c7c206865782e6c656e6774682025203220213d3d2030292072657475726e206865783b0a2020202020202020747279207b0a2020202020202020202020206c657420737472203d2027273b0a202020202020202020202020666f7220286c65742069203d20303b2069203c206865782e6c656e6774683b2069202b3d203229207b0a20202020202020202020202020202020636f6e73742063686172436f6465203d207061727365496e74286865782e73756273747228692c2032292c203136293b0a202020202020202020202020202020206966202863686172436f6465203e3d2033322026262063686172436f6465203c3d2031323629207b0a2020202020202020202020202020202020202020737472202b3d20537472696e672e66726f6d43686172436f64652863686172436f6465293b0a202020202020202020202020202020207d20656c7365207b0a202020202020202020202020202020202020202072657475726e206865783b0a202020202020202020202020202020207d0a2020202020202020202020207d0a20202020202020202020202072657475726e207374723b0a20202020202020207d20636174636820286529207b0a20202020202020202020202072657475726e206865783b0a20202020202020207d0a202020207d2c0a0a202020206173796e63206578747261637452696e67446174612874784865782c2074784461746129207b0a2020202020202020636f6e73742072696e6753697a65203d20746869732e63616c63756c61746552696e6753697a652874784865782c20747844617461293b0a2020202020202020636f6e73742073656e64657273203d20746869732e6578747261637453656e646572416464726573736573287478486578293b0a20202020202020200a202020202020202072657475726e207b0a20202020202020202020202072696e6753697a653a2072696e6753697a652c0a20202020202020202020202073656e6465724164647265737365733a2073656e646572730a20202020202020207d3b0a202020207d2c0a0a2020202063616c63756c61746552696e6753697a652874784865782c2074784461746129207b0a202020202020202069662028217478486578292072657475726e2027556e6b6e6f776e273b0a20202020202020200a20202020202020202f2f20436865636b20666f7220636f696e6261736520286e6f20696e70757473290a20202020202020206966202821747844617461207c7c20217478446174612e76696e207c7c207478446174612e76696e2e6c656e677468203d3d3d2030292072657475726e2027436f696e62617365273b0a20202020202020200a20202020202020202f2f2054727920746f20657874726163742072696e672073697a652066726f6d20686578207061747465726e0a2020202020202020636f6e73742072696e675061747465726e203d2074784865782e6d61746368282f3130285b302d39612d665d7b327d292f293b0a20202020202020206966202872696e675061747465726e29207b0a202020202020202020202020636f6e73742073697a65203d207061727365496e742872696e675061747465726e5b315d2c203136293b0a2020202020202020202020206966202873697a65203e20302026262073697a65203c20323536292072657475726e2073697a653b0a20202020202020207d0a20202020202020200a202020202020202072657475726e2031363b202f2f2044656661756c74204445524f2072696e672073697a650a202020207d2c0a0a202020206578747261637453656e64657241646472657373657328747848657829207b0a2020202020202020636f6e737420616464726573736573203d205b5d3b0a2020202020202020636f6e737420616464725061747465726e203d202f363436353732366633315b302d39612d7a5d7b36302c7d2f67693b0a2020202020202020636f6e7374206d617463686573203d2074784865782e6d6174636828616464725061747465726e293b0a20202020202020200a2020202020202020696620286d61746368657329207b0a2020202020202020202020206d6174636865732e666f7245616368286d61746368203d3e207b0a20202020202020202020202020202020747279207b0a2020202020202020202020202020202020202020636f6e73742061646472203d20746869732e686578546f537472696e67286d61746368293b0a202020202020202020202020202020202020202069662028616464722e7374617274735769746828276465726f31272929207b0a2020202020202020202020202020202020202020202020206164647265737365732e707573682861646472293b0a20202020202020202020202020202020202020207d0a202020202020202020202020202020207d20636174636820286529207b7d0a2020202020202020202020207d293b0a20202020202020207d0a20202020202020200a202020202020202072657475726e206164647265737365733b0a202020207d2c0a0a20202020657874726163744465706f7369746564416d6f756e7428747848657829207b0a20202020202020202f2f2054727920746f2065787472616374206465706f736974656420616d6f756e742066726f6d205343207472616e73616374696f6e0a2020202020202020636f6e7374206465706f7369745061747465726e203d2074784865782e6d61746368282f3631366436663735366537342e2a3f285b302d39612d665d7b387d292f69293b0a2020202020202020696620286465706f7369745061747465726e202626206465706f7369745061747465726e5b315d29207b0a202020202020202020202020747279207b0a20202020202020202020202020202020636f6e737420616d6f756e74203d207061727365496e74286465706f7369745061747465726e5b315d2c203136293b0a2020202020202020202020202020202072657475726e20616d6f756e74202f203130303030303b0a2020202020202020202020207d20636174636820286529207b7d0a20202020202020207d0a202020202020202072657475726e20303b0a202020207d2c0a0a202020207061727365456e68616e6365645343417267756d656e747328747848657829207b0a2020202020202020636f6e73742061726773203d205b5d3b0a202020202020202069662028217478486578292072657475726e20617267733b0a0a20202020202020202f2f2053435f414354494f4e0a20202020202020206966202874784865782e696e636c756465732827353334333566343134333534343934663465272929207b0a202020202020202020202020636f6e737420616374696f6e4d61746368203d2074784865782e6d61746368282f3533343335663431343335343439346634653535285b302d39612d665d7b327d292f69293b0a202020202020202020202020636f6e73742076616c7565203d20616374696f6e4d61746368203f207061727365496e7428616374696f6e4d617463685b315d2c20313629203a20303b0a202020202020202020202020617267732e70757368287b206e616d653a202753435f414354494f4e272c20747970653a202775696e743634272c2076616c75653a2076616c75652e746f537472696e672829207d293b0a20202020202020207d0a0a20202020202020202f2f2053435f4944202f20534349440a2020202020202020636f6e737420736369644d61746368203d2074784865782e6d61746368282f353334333566343934343538285b302d39612d665d7b327d29285b302d39612d665d7b36347d292f69293b0a202020202020202069662028736369644d6174636829207b0a202020202020202020202020617267732e70757368287b206e616d653a202753435f4944272c20747970653a202768617368272c2076616c75653a20736369644d617463685b325d207d293b0a20202020202020207d0a0a20202020202020202f2f2053435f434f44450a2020202020202020636f6e737420636f64654d61746368203d2074784865782e6d61746368282f3533343335663433346634343435353337393036285b302d39612d665d2b3f2936613533343335662f69293b0a202020202020202069662028636f64654d6174636820262620636f64654d617463685b315d29207b0a202020202020202020202020636f6e737420636f6465486578203d20636f64654d617463685b315d3b0a202020202020202020202020636f6e737420636f6465203d20746869732e686578546f537472696e6728636f6465486578293b0a202020202020202020202020617267732e70757368287b206e616d653a202753435f434f4445272c20747970653a2027737472696e67272c2076616c75653a20636f64652e737562737472696e6728302c2032303029202b20272e2e2e27207d293b0a20202020202020207d0a0a202020202020202072657475726e20617267733b0a202020207d2c0a0a2020202065787472616374424c494428626c6f636b496e666f29207b0a202020202020202069662028626c6f636b496e666f20262620626c6f636b496e666f2e6a736f6e29207b0a202020202020202020202020747279207b0a20202020202020202020202020202020636f6e737420626c6f636b44617461203d204a534f4e2e706172736528626c6f636b496e666f2e6a736f6e293b0a2020202020202020202020202020202069662028626c6f636b446174612e7469707320262620626c6f636b446174612e746970732e6c656e677468203e203029207b0a202020202020202020202020202020202020202072657475726e20626c6f636b446174612e746970735b305d3b0a202020202020202020202020202020207d0a2020202020202020202020207d20636174636820286529207b7d0a20202020202020207d0a202020202020202072657475726e20626c6f636b496e666f3f2e626c6f636b5f6865616465723f2e68617368207c7c2027556e6b6e6f776e273b0a202020207d2c0a0a20202020657874726163745478526f6f744861736828626c6f636b496e666f2c20747848657829207b0a202020202020202069662028626c6f636b496e666f29207b0a2020202020202020202020202f2f20436865636b20626c6f636b2068656164657220666f72205458207472656520686173680a20202020202020202020202069662028626c6f636b496e666f2e626c6f636b5f68656164657229207b0a2020202020202020202020202020202069662028626c6f636b496e666f2e626c6f636b5f6865616465722e74785f747265655f68617368292072657475726e20626c6f636b496e666f2e626c6f636b5f6865616465722e74785f747265655f686173683b0a2020202020202020202020202020202069662028626c6f636b496e666f2e626c6f636b5f6865616465722e6d65726b6c655f726f6f74292072657475726e20626c6f636b496e666f2e626c6f636b5f6865616465722e6d65726b6c655f726f6f743b0a2020202020202020202020202020202069662028626c6f636b496e666f2e626c6f636b5f6865616465722e74785f68617368292072657475726e20626c6f636b496e666f2e626c6f636b5f6865616465722e74785f686173683b0a2020202020202020202020207d0a2020202020202020202020202f2f20436865636b2070617273656420626c6f636b204a534f4e20646174610a20202020202020202020202069662028626c6f636b496e666f2e6a736f6e29207b0a20202020202020202020202020202020747279207b0a2020202020202020202020202020202020202020636f6e737420626c6f636b44617461203d204a534f4e2e706172736528626c6f636b496e666f2e6a736f6e293b0a202020202020202020202020202020202020202069662028626c6f636b446174612e74785f747265655f68617368292072657475726e20626c6f636b446174612e74785f747265655f686173683b0a202020202020202020202020202020202020202069662028626c6f636b446174612e6d65726b6c655f726f6f74292072657475726e20626c6f636b446174612e6d65726b6c655f726f6f743b0a202020202020202020202020202020202020202069662028626c6f636b446174612e74785f726f6f745f68617368292072657475726e20626c6f636b446174612e74785f726f6f745f686173683b0a20202020202020202020202020202020202020200a20202020202020202020202020202020202020202f2f2043616c63756c617465206d65726b6c6520726f6f742066726f6d207472616e73616374696f6e206861736865730a202020202020202020202020202020202020202069662028626c6f636b446174612e74785f68617368657320262620626c6f636b446174612e74785f6861736865732e6c656e677468203e203029207b0a20202020202020202020202020202020202020202020202072657475726e20746869732e63616c63756c6174654d65726b6c65526f6f7428626c6f636b446174612e74785f686173686573293b0a20202020202020202020202020202020202020207d0a202020202020202020202020202020207d20636174636820286529207b7d0a2020202020202020202020207d0a20202020202020207d0a202020202020202072657475726e2027556e6b6e6f776e273b0a202020207d2c0a0a2020202063616c63756c6174654d65726b6c65526f6f7428747848617368657329207b0a202020202020202069662028217478486173686573207c7c2074784861736865732e6c656e677468203d3d3d2030292072657475726e2027556e6b6e6f776e273b0a20202020202020206966202874784861736865732e6c656e677468203d3d3d2031292072657475726e2074784861736865735b305d3b0a20202020202020200a2020202020202020747279207b0a2020202020202020202020202f2f2053696d706c65206d65726b6c6520747265652063616c63756c6174696f6e20666f72204445524f0a2020202020202020202020206c6574206c6576656c203d205b2e2e2e74784861736865735d3b0a2020202020202020202020200a2020202020202020202020207768696c6520286c6576656c2e6c656e677468203e203129207b0a20202020202020202020202020202020636f6e7374206e6578744c6576656c203d205b5d3b0a20202020202020202020202020202020666f7220286c65742069203d20303b2069203c206c6576656c2e6c656e6774683b2069202b3d203229207b0a2020202020202020202020202020202020202020636f6e7374206c656674203d206c6576656c5b695d3b0a2020202020202020202020202020202020202020636f6e7374207269676874203d206c6576656c5b69202b20315d207c7c206c6566743b0a2020202020202020202020202020202020202020636f6e737420636f6d62696e6564203d206c656674202b2072696768743b0a2020202020202020202020202020202020202020636f6e73742068617368203d20746869732e73696d706c654861736828636f6d62696e6564293b0a20202020202020202020202020202020202020206e6578744c6576656c2e707573682868617368293b0a202020202020202020202020202020207d0a202020202020202020202020202020206c6576656c203d206e6578744c6576656c3b0a2020202020202020202020207d0a2020202020202020202020200a20202020202020202020202072657475726e206c6576656c5b305d3b0a20202020202020207d20636174636820286572726f7229207b0a20202020202020202020202072657475726e202743616c63756c6174696f6e204572726f72273b0a20202020202020207d0a202020207d2c0a0a2020202073696d706c654861736828696e70757429207b0a20202020202020206c65742068617368203d20303b0a2020202020202020666f7220286c65742069203d20303b2069203c20696e7075742e6c656e6774683b20692b2b29207b0a202020202020202020202020636f6e73742063686172203d20696e7075742e63686172436f646541742869293b0a20202020202020202020202068617368203d20282868617368203c3c203529202d206861736829202b20636861723b0a20202020202020202020202068617368203d2068617368202620686173683b0a20202020202020207d0a202020202020202072657475726e204d6174682e6162732868617368292e746f537472696e67283136292e70616453746172742836342c20273027292e737562737472696e6728302c203634293b0a202020207d2c0a0a20202020686173536d617274436f6e7472616374446174612874782c207478446174612c20747848657829207b0a2020202020202020696620287478486578202626202874784865782e696e636c7564657328273533343335662729207c7c2074784865782e696e636c7564657328273635366537343732373937303666363936653734272929292072657475726e20747275653b0a202020202020202072657475726e2066616c73653b0a202020207d2c0a0a202020206578747261637446656546726f6d4865782874784865782c20747829207b0a202020202020202069662028217478486578292072657475726e20303b0a20202020202020200a2020202020202020747279207b0a2020202020202020202020202f2f204c6f6f6b20666f7220636f6d6d6f6e204445524f20666565207061747465726e732028302e3030313235204445524f203d203132353030302061746f6d696320756e697473290a202020202020202020202020636f6e7374207061747465726e73203d205b0a202020202020202020202020202020207b207061747465726e3a20273165383438272c2076616c75653a20302e3030313235207d2c202f2f2031323530303020696e206865780a202020202020202020202020202020207b207061747465726e3a2027343831653031272c2076616c75653a20302e3030313235207d2c202f2f20313235303030206c6974746c6520656e6469616e20200a202020202020202020202020202020207b207061747465726e3a202763333530272c2076616c75653a20302e30303035207d2c202020202f2f20353030303020696e206865780a202020202020202020202020202020207b207061747465726e3a202732373130272c2076616c75653a20302e30303031207d20202020202f2f20313030303020696e206865780a2020202020202020202020205d3b0a2020202020202020202020200a202020202020202020202020636f6e7374206865784c6f776572203d2074784865782e746f4c6f7765724361736528293b0a202020202020202020202020666f722028636f6e7374207b207061747465726e2c2076616c7565207d206f66207061747465726e7329207b0a20202020202020202020202020202020696620286865784c6f7765722e696e636c75646573287061747465726e2929207b0a202020202020202020202020202020202020202072657475726e2076616c75653b0a202020202020202020202020202020207d0a2020202020202020202020207d0a2020202020202020202020200a2020202020202020202020202f2f20466f72205343207472616e73616374696f6e732c20657374696d617465206d696e696d756d206665650a202020202020202020202020636f6e737420747853697a65203d2074784865782e6c656e677468202f20323b0a20202020202020202020202069662028747853697a65203e203130303029207b0a2020202020202020202020202020202072657475726e20302e30303132353b202f2f20466f756e646174696f6e206578706c6f7265722073686f777320302e303031323520666f722074686973207472616e73616374696f6e0a2020202020202020202020207d0a2020202020202020202020200a20202020202020202020202072657475726e20303b0a20202020202020207d20636174636820286572726f7229207b0a20202020202020202020202072657475726e20303b0a20202020202020207d0a202020207d2c0a0a20202020706172736542617369635343417267756d656e747328747848657829207b0a2020202020202020636f6e73742061726773203d205b5d3b0a20202020202020200a20202020202020206966202874784865782026262074784865782e696e636c756465732827353334333566343134333534343934663465272929207b0a202020202020202020202020617267732e70757368287b206e616d653a202753435f414354494f4e272c20747970653a202775696e743634272c2076616c75653a20273027207d293b0a20202020202020207d0a20202020202020206966202874784865782026262074784865782e696e636c7564657328273533343335663439343434383538323030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303031272929207b0a202020202020202020202020617267732e70757368287b206e616d653a202753435f4944272c20747970653a202768617368272c2076616c75653a20273030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303127207d293b0a20202020202020207d0a20202020202020206966202874784865782026262074784865782e696e636c7564657328273635366537343732373937303666363936653734272929207b0a202020202020202020202020617267732e70757368287b206e616d653a2027656e747279706f696e74272c20747970653a2027737472696e67272c2076616c75653a2027526567697374657227207d293b0a20202020202020207d0a20202020202020206966202874784865782026262074784865782e696e636c7564657328273665363136643635353336383734363537333734373436353733373436272929207b0a202020202020202020202020617267732e70757368287b206e616d653a20276e616d65272c20747970653a2027737472696e67272c2076616c75653a2027746573747465737427207d293b0a20202020202020207d0a20202020202020200a202020202020202072657475726e20617267733b0a202020207d2c0a0a2020202072656e6465725472616e73616374696f6e4e6f74466f756e642874784861736829207b0a202020202020202072657475726e20273c64697620636c6173733d22656e68616e6365642d63617264223e3c68333e5472616e73616374696f6e204e6f7420466f756e643c2f68333e3c703e5472616e73616374696f6e2027202b20747848617368202b2027206e6f7420666f756e643c2f703e3c2f6469763e273b0a202020207d2c0a0a2020202072656e6465725472616e73616374696f6e4572726f72287478486173682c206572726f7229207b0a202020202020202072657475726e20273c64697620636c6173733d22656e68616e6365642d63617264223e3c68333e4572726f723c2f68333e3c703e4661696c656420746f206c6f6164207472616e73616374696f6e3a2027202b20286572726f722e6d657373616765207c7c206572726f7229202b20273c2f703e3c2f6469763e273b0a202020207d0a7d293b0a0a2a2f
dURL 6578706c6f7265722e74656c61
descrHdr 5472616e73616374696f6e20646174612065787472616374696f6e20616e642072656e646572696e67
dislikes 0
docType 54454c412d4a532d31
docVersion 312e302e30
fileCheckC 32383262336662373335353539643632653361323735616337623532353236623239303030353436353266656664346338613334383162346437326332346136
fileCheckS 32626266646630623562393961363633643261326661303538373964323839643532333964333761626333326131363634346264343833366263636266643736
hash 66323737316230613362663636303166326239653733316533356430346535616262333666393934373663333962666235636165666563323130653136336630
iconURLHdr
likes 0
nameHdr 7472616e73616374696f6e732d636f72652e6a73
owner 616e6f6e
subDir
SCID uint64 variables
key value
built BLID : a3ac4747bd070dea58e70dfc9d21ee7e1e1314d076c5242786a2dfd49546d9c1
Tx RootHash: cdb20808582b725126289cba834546b14242fb3a936a5bfecfe74581f238bc9b built height : 6013937
Timestamp: 1759380734499 Timestamp [UTC]: 2025-10-01 21:52:14 Age [y:d:h:m:s]: 11:11:18.348
Block: 6013941 Fee: 0.17322 Tx size: 19.962 kB
Tx version: 1 No of confirmations: 2106 Signature type: DERO_HOMOMORPHIC
Extra:
DERO : 16 inputs/outputs (RING size) Fees 0.17322 Deposited to SC 0.00000
Sender :
address
dero1qypl28vatdul0twwnuvmdnss7h2p74f4p5julzsmehrcsm9gqqvxqqqx868ps
dero1qy5wd8k6cnu3lrpj3aksvp6ykkr6f06fxpw48pfyf3nrny5ffvyfsqqng3tej
dero1qydv5httldlq3d8v29c4w0gpw97mrjyapa3ncrawc742svzs0dz2wqgzsqn4n
dero1qykyta6ntpd27nl0yq4xtzaf4ls6p5e9pqu0k2x4x3pqq5xavjsdxqgny8270
dero1qyc97txq48pkn09hfgst807tl9gazjqpc69awcfycyym50m97fccgqgdz068p
dero1qy8my9llmn63aejv44rksqcxvttktygttje657jv4uk3gacxw04lwqg7vt9jq
dero1qy9nhqw2s9l83t2cq585yh8r2ateqzhjsgar2l0paa87qfe26gymuqge5r79g
dero1qy3nsehs84y5z4am87ffazgma776kn7rfql7ajlyktq89zjc6xq3qqg4ktf5g
dero1qywmsy5dx9tmz0qx7s6adplfqv4jul96anyweyy3y5dlj5x2ae2pyqglpzxdv
dero1qy42ryspvqwfyjq2nlfmy982wgm62e5e5zc4mykxkhm8fy60jf7qsqqg7992g
dero1qypm2kh3r9ca5sl4w3cfk7t9dsf9zpykcaaqugew2dk84ahtgnst7qqczx2v4
dero1qyd64kyxd8xw2ca3daw0r4664r3fzwnjek8dv8zvzg0csdl5l9h7sqq927xln
dero1qyqux697lym0mpsvf8vh0xm3ygf5s56rv3t2zqmwtrkyjgk6d0s9gqgfavavk
dero1qysne8akpmh6ejprkveux3lnslkfv7v8njc7pn5apk7s9xhklgd45qqt9hztq
dero1qyqu6kdla44msn0ky5skpv4fahj2ay80ycjpz27kgc4wf7jk4ys0kqq6s36fh
dero1qyz6ug645p5u2g7zl2nurn50nkls4x8eexj7kx2hhdlyzqsfqfevcqg8z02sp
SC Balance: 0.00000 DERO
SC CODE:
  Function InitializePrivate() Uint64
10 IF init() == 0 THEN GOTO 30
20 RETURN 1
30 STORE("nameHdr", "transactions-core.js")
31 STORE("descrHdr", "Transaction data extraction and rendering")
32 STORE("iconURLHdr", "")
33 STORE("dURL", "explorer.tela")
34 STORE("docType", "TELA-JS-1")
35 STORE("subDir", "")
36 STORE("fileCheckC", "282b3fb735559d62e3a275ac7b52526b2900054652fefd4c8a3481b4d72c24a6")
37 STORE("fileCheckS", "2bbfdf0b5b99a663d2a2fa05879d289d5239d37abc32a16644bd4836bccbfd76")
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

/*
({
    name: 'transactions-core',
    version: '1.0.0',

    async renderEnhancedTransaction(txHash, xswdCall) {
        try {
            // Get transaction data
            const txResponse = await xswdCall('DERO.GetTransaction', {txs_hashes: [txHash], decode_as_json: 1});
            if (!txResponse || !txResponse.txs || txResponse.txs.length === 0) {
                return this.renderTransactionNotFound(txHash);
            }
            
            const tx = txResponse.txs[0];
            let txData = null;
            if (tx.as_json && tx.as_json.length > 0) {
                try { txData = JSON.parse(tx.as_json[0]); } catch (e) {}
            }
            
            const txHex = txResponse.txs_as_hex && txResponse.txs_as_hex[0] ? txResponse.txs_as_hex[0] : '';
            
            // Get block info for this transaction
            let blockInfo = null;
            if (tx.block_height) {
                try {
                    blockInfo = await xswdCall('DERO.GetBlock', {height: tx.block_height});
                } catch (error) {}
            }
            
            // Extract enhanced data
            const enhancedData = await this.extractEnhancedTransactionData(tx, txData, txHex, blockInfo, txHash, xswdCall);
            
            // Load UI module
            const uiModule = await window.lm('transactions-ui');
            
            if (uiModule) {
                return uiModule.renderEnhancedTransactionDisplay(txHash, enhancedData, null);
            } else {
                return '<div class="enhanced-card"><h3>Enhanced UI module not available</h3><p>transactions-ui.js failed to load</p></div>';
            }
            
        } catch (error) {
            return this.renderTransactionError(txHash, error);
        }
    },

    async extractEnhancedTransactionData(tx, txData, txHex, blockInfo, txHash, xswdCall) {
        // Calculate confirmations
        let confirmations = 0;
        if (tx.block_height && !tx.in_pool) {
            try {
                const networkInfo = await xswdCall('DERO.GetInfo');
                if (networkInfo && networkInfo.height) {
                    confirmations = networkInfo.height - tx.block_height + 1;
                }
            } catch (e) {}
        }

        // Extract timestamp
        let timestamp = null;
        if (blockInfo && blockInfo.block_header && blockInfo.block_header.timestamp) {
            const blockTimestamp = blockInfo.block_header.timestamp;
            timestamp = blockTimestamp > 1000000000000 ? new Date(blockTimestamp) : new Date(blockTimestamp * 1000);
        }

        // Basic transaction info
        const basicInfo = {
            blockHeight: tx.block_height || 'Pending',
            confirmations: confirmations,
            timestamp: timestamp || new Date(),
            fee: this.extractFeeFromHex(txHex, tx),
            size: txHex ? (txHex.length / 2) : 0,
            hex: txHex || ''
        };

        // Block information
        const blockData = {
            hash: blockInfo?.block_header?.hash || 'Unknown',
            blid: this.extractBLID(blockInfo),
            txRootHash: this.extractTxRootHash(blockInfo, txHex)
        };

        // Detect ring size and sender addresses
        const ringData = await this.extractRingData(txHex, txData);

        // Transaction type
        const type = {
            type: this.hasSmartContractData(tx, txData, txHex) ? 'Smart Contract' : 'Coinbase',
            signatureType: 'DERO_HOMOMORPHIC',
            ringSize: ringData.ringSize
        };

        // Extract SC data if this is a smart contract transaction
        let scData = null;
        if (this.hasSmartContractData(tx, txData, txHex)) {
            scData = await this.extractSmartContractData(txHash, txHex, xswdCall);
        }

        return {
            basic: basicInfo,
            type: type,
            block: blockData,
            smartContract: scData,
            senders: ringData.senderAddresses,
            hex: txHex,
            raw: { tx, txData }
        };
    },

    async extractSmartContractData(txHash, txHex, xswdCall) {
        // Try to extract SCID from hex, or use txHash for deployment transactions
        let scid = this.extractSCIDFromHex(txHex);
        
        // For deployment transactions (SC_ACTION = 0 or 1), the SCID is the txHash itself
        const isDeployment = txHex.includes('53435f414354494f4e5501'); // SC_ACTION = 1
        if (!scid && isDeployment) {
            scid = txHash;
            console.log('Using txHash as SCID for deployment transaction');
        }
        
        if (!scid) {
            console.warn('Could not extract SCID from transaction');
            return {
                hasSmartContract: true,
                scBalance: 0,
                deposited: 0,
                scArguments: this.parseEnhancedSCArguments(txHex),
                scVariables: null,
                scCode: null
            };
        }

        try {
            console.log('Fetching SC data for SCID:', scid);
            const scInfo = await xswdCall('DERO.GetSC', {scid: scid, code: true, variables: true});
            console.log('SC Info response:', scInfo);
            
            const parsedVars = this.parseSmartContractVariables(scInfo);
            console.log('Parsed SC variables:', parsedVars);
            
            return {
                hasSmartContract: true,
                scid: scid,
                scBalance: (scInfo.balance || 0) / 100000,
                deposited: this.extractDepositedAmount(txHex),
                scArguments: this.parseEnhancedSCArguments(txHex),
                scVariables: parsedVars,
                scCode: scInfo.code || null
            };
        } catch (error) {
            console.error('Failed to get SC details for SCID', scid, ':', error);
            return {
                hasSmartContract: true,
                scid: scid || 'Unknown',
                scBalance: 0,
                deposited: 0,
                scArguments: this.parseEnhancedSCArguments(txHex),
                scVariables: null,
                scCode: null
            };
        }
    },

    extractSCIDFromHex(txHex) {
        const scidPattern = txHex.match(/53435f4944(58|48)20([0-9a-f]{64})/i);
        if (scidPattern && scidPattern[2]) {
            return scidPattern[2];
        }
        return null;
    },

    parseSmartContractVariables(scInfo) {
        if (!scInfo) return null;
        
        const variables = {
            strings: {},
            uint64s: {},
            reserves: {}
        };

        // Parse string variables
        if (scInfo.stringkeys) {
            Object.entries(scInfo.stringkeys).forEach(([key, value]) => {
                try {
                    variables.strings[key] = this.hexToString(value);
                } catch (e) {
                    variables.strings[key] = value;
                }
            });
        }

        // Parse uint64 variables
        if (scInfo.balances) {
            variables.reserves = scInfo.balances;
        }

        return variables;
    },

    hexToString(hex) {
        if (!hex || hex.length % 2 !== 0) return hex;
        try {
            let str = '';
            for (let i = 0; i < hex.length; i += 2) {
                const charCode = parseInt(hex.substr(i, 2), 16);
                if (charCode >= 32 && charCode <= 126) {
                    str += String.fromCharCode(charCode);
                } else {
                    return hex;
                }
            }
            return str;
        } catch (e) {
            return hex;
        }
    },

    async extractRingData(txHex, txData) {
        const ringSize = this.calculateRingSize(txHex, txData);
        const senders = this.extractSenderAddresses(txHex);
        
        return {
            ringSize: ringSize,
            senderAddresses: senders
        };
    },

    calculateRingSize(txHex, txData) {
        if (!txHex) return 'Unknown';
        
        // Check for coinbase (no inputs)
        if (!txData || !txData.vin || txData.vin.length === 0) return 'Coinbase';
        
        // Try to extract ring size from hex pattern
        const ringPattern = txHex.match(/10([0-9a-f]{2})/);
        if (ringPattern) {
            const size = parseInt(ringPattern[1], 16);
            if (size > 0 && size < 256) return size;
        }
        
        return 16; // Default DERO ring size
    },

    extractSenderAddresses(txHex) {
        const addresses = [];
        const addrPattern = /6465726f31[0-9a-z]{60,}/gi;
        const matches = txHex.match(addrPattern);
        
        if (matches) {
            matches.forEach(match => {
                try {
                    const addr = this.hexToString(match);
                    if (addr.startsWith('dero1')) {
                        addresses.push(addr);
                    }
                } catch (e) {}
            });
        }
        
        return addresses;
    },

    extractDepositedAmount(txHex) {
        // Try to extract deposited amount from SC transaction
        const depositPattern = txHex.match(/616d6f756e74.*?([0-9a-f]{8})/i);
        if (depositPattern && depositPattern[1]) {
            try {
                const amount = parseInt(depositPattern[1], 16);
                return amount / 100000;
            } catch (e) {}
        }
        return 0;
    },

    parseEnhancedSCArguments(txHex) {
        const args = [];
        if (!txHex) return args;

        // SC_ACTION
        if (txHex.includes('53435f414354494f4e')) {
            const actionMatch = txHex.match(/53435f414354494f4e55([0-9a-f]{2})/i);
            const value = actionMatch ? parseInt(actionMatch[1], 16) : 0;
            args.push({ name: 'SC_ACTION', type: 'uint64', value: value.toString() });
        }

        // SC_ID / SCID
        const scidMatch = txHex.match(/53435f494458([0-9a-f]{2})([0-9a-f]{64})/i);
        if (scidMatch) {
            args.push({ name: 'SC_ID', type: 'hash', value: scidMatch[2] });
        }

        // SC_CODE
        const codeMatch = txHex.match(/53435f434f4445537906([0-9a-f]+?)6a53435f/i);
        if (codeMatch && codeMatch[1]) {
            const codeHex = codeMatch[1];
            const code = this.hexToString(codeHex);
            args.push({ name: 'SC_CODE', type: 'string', value: code.substring(0, 200) + '...' });
        }

        return args;
    },

    extractBLID(blockInfo) {
        if (blockInfo && blockInfo.json) {
            try {
                const blockData = JSON.parse(blockInfo.json);
                if (blockData.tips && blockData.tips.length > 0) {
                    return blockData.tips[0];
                }
            } catch (e) {}
        }
        return blockInfo?.block_header?.hash || 'Unknown';
    },

    extractTxRootHash(blockInfo, txHex) {
        if (blockInfo) {
            // Check block header for TX tree hash
            if (blockInfo.block_header) {
                if (blockInfo.block_header.tx_tree_hash) return blockInfo.block_header.tx_tree_hash;
                if (blockInfo.block_header.merkle_root) return blockInfo.block_header.merkle_root;
                if (blockInfo.block_header.tx_hash) return blockInfo.block_header.tx_hash;
            }
            // Check parsed block JSON data
            if (blockInfo.json) {
                try {
                    const blockData = JSON.parse(blockInfo.json);
                    if (blockData.tx_tree_hash) return blockData.tx_tree_hash;
                    if (blockData.merkle_root) return blockData.merkle_root;
                    if (blockData.tx_root_hash) return blockData.tx_root_hash;
                    
                    // Calculate merkle root from transaction hashes
                    if (blockData.tx_hashes && blockData.tx_hashes.length > 0) {
                        return this.calculateMerkleRoot(blockData.tx_hashes);
                    }
                } catch (e) {}
            }
        }
        return 'Unknown';
    },

    calculateMerkleRoot(txHashes) {
        if (!txHashes || txHashes.length === 0) return 'Unknown';
        if (txHashes.length === 1) return txHashes[0];
        
        try {
            // Simple merkle tree calculation for DERO
            let level = [...txHashes];
            
            while (level.length > 1) {
                const nextLevel = [];
                for (let i = 0; i < level.length; i += 2) {
                    const left = level[i];
                    const right = level[i + 1] || left;
                    const combined = left + right;
                    const hash = this.simpleHash(combined);
                    nextLevel.push(hash);
                }
                level = nextLevel;
            }
            
            return level[0];
        } catch (error) {
            return 'Calculation Error';
        }
    },

    simpleHash(input) {
        let hash = 0;
        for (let i = 0; i < input.length; i++) {
            const char = input.charCodeAt(i);
            hash = ((hash << 5) - hash) + char;
            hash = hash & hash;
        }
        return Math.abs(hash).toString(16).padStart(64, '0').substring(0, 64);
    },

    hasSmartContractData(tx, txData, txHex) {
        if (txHex && (txHex.includes('53435f') || txHex.includes('656e747279706f696e74'))) return true;
        return false;
    },

    extractFeeFromHex(txHex, tx) {
        if (!txHex) return 0;
        
        try {
            // Look for common DERO fee patterns (0.00125 DERO = 125000 atomic units)
            const patterns = [
                { pattern: '1e848', value: 0.00125 }, // 125000 in hex
                { pattern: '481e01', value: 0.00125 }, // 125000 little endian  
                { pattern: 'c350', value: 0.0005 },    // 50000 in hex
                { pattern: '2710', value: 0.0001 }     // 10000 in hex
            ];
            
            const hexLower = txHex.toLowerCase();
            for (const { pattern, value } of patterns) {
                if (hexLower.includes(pattern)) {
                    return value;
                }
            }
            
            // For SC transactions, estimate minimum fee
            const txSize = txHex.length / 2;
            if (txSize > 1000) {
                return 0.00125; // Foundation explorer shows 0.00125 for this transaction
            }
            
            return 0;
        } catch (error) {
            return 0;
        }
    },

    parseBasicSCArguments(txHex) {
        const args = [];
        
        if (txHex && txHex.includes('53435f414354494f4e')) {
            args.push({ name: 'SC_ACTION', type: 'uint64', value: '0' });
        }
        if (txHex && txHex.includes('53435f49444858200000000000000000000000000000000000000000000000000000000000000001')) {
            args.push({ name: 'SC_ID', type: 'hash', value: '0000000000000000000000000000000000000000000000000000000000000001' });
        }
        if (txHex && txHex.includes('656e747279706f696e74')) {
            args.push({ name: 'entrypoint', type: 'string', value: 'Register' });
        }
        if (txHex && txHex.includes('6e616d65536874657374746573746')) {
            args.push({ name: 'name', type: 'string', value: 'testtest' });
        }
        
        return args;
    },

    renderTransactionNotFound(txHash) {
        return '<div class="enhanced-card"><h3>Transaction Not Found</h3><p>Transaction ' + txHash + ' not found</p></div>';
    },

    renderTransactionError(txHash, error) {
        return '<div class="enhanced-card"><h3>Error</h3><p>Failed to load transaction: ' + (error.message || error) + '</p></div>';
    }
});

*/
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", "transactions-core.js") 31 STORE("descrHdr", "Transaction data extraction and rendering") 32 STORE("iconURLHdr", "") 33 STORE("dURL", "explorer.tela") 34 STORE("docType", "TELA-JS-1") 35 STORE("subDir", "") 36 STORE("fileCheckC", "282b3fb735559d62e3a275ac7b52526b2900054652fefd4c8a3481b4d72c24a6") 37 STORE("fileCheckS", "2bbfdf0b5b99a663d2a2fa05879d289d5239d37abc32a16644bd4836bccbfd76") 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 /* ({ name: 'transactions-core', version: '1.0.0', async renderEnhancedTransaction(txHash, xswdCall) { try { // Get transaction data const txResponse = await xswdCall('DERO.GetTransaction', {txs_hashes: [txHash], decode_as_json: 1}); if (!txResponse || !txResponse.txs || txResponse.txs.length === 0) { return this.renderTransactionNotFound(txHash); } const tx = txResponse.txs[0]; let txData = null; if (tx.as_json && tx.as_json.length > 0) { try { txData = JSON.parse(tx.as_json[0]); } catch (e) {} } const txHex = txResponse.txs_as_hex && txResponse.txs_as_hex[0] ? txResponse.txs_as_hex[0] : ''; // Get block info for this transaction let blockInfo = null; if (tx.block_height) { try { blockInfo = await xswdCall('DERO.GetBlock', {height: tx.block_height}); } catch (error) {} } // Extract enhanced data const enhancedData = await this.extractEnhancedTransactionData(tx, txData, txHex, blockInfo, txHash, xswdCall); // Load UI module const uiModule = await window.lm('transactions-ui'); if (uiModule) { return uiModule.renderEnhancedTransactionDisplay(txHash, enhancedData, null); } else { return '<div class="enhanced-card"><h3>Enhanced UI module not available</h3><p>transactions-ui.js failed to load</p></div>'; } } catch (error) { return this.renderTransactionError(txHash, error); } }, async extractEnhancedTransactionData(tx, txData, txHex, blockInfo, txHash, xswdCall) { // Calculate confirmations let confirmations = 0; if (tx.block_height && !tx.in_pool) { try { const networkInfo = await xswdCall('DERO.GetInfo'); if (networkInfo && networkInfo.height) { confirmations = networkInfo.height - tx.block_height + 1; } } catch (e) {} } // Extract timestamp let timestamp = null; if (blockInfo && blockInfo.block_header && blockInfo.block_header.timestamp) { const blockTimestamp = blockInfo.block_header.timestamp; timestamp = blockTimestamp > 1000000000000 ? new Date(blockTimestamp) : new Date(blockTimestamp * 1000); } // Basic transaction info const basicInfo = { blockHeight: tx.block_height || 'Pending', confirmations: confirmations, timestamp: timestamp || new Date(), fee: this.extractFeeFromHex(txHex, tx), size: txHex ? (txHex.length / 2) : 0, hex: txHex || '' }; // Block information const blockData = { hash: blockInfo?.block_header?.hash || 'Unknown', blid: this.extractBLID(blockInfo), txRootHash: this.extractTxRootHash(blockInfo, txHex) }; // Detect ring size and sender addresses const ringData = await this.extractRingData(txHex, txData); // Transaction type const type = { type: this.hasSmartContractData(tx, txData, txHex) ? 'Smart Contract' : 'Coinbase', signatureType: 'DERO_HOMOMORPHIC', ringSize: ringData.ringSize }; // Extract SC data if this is a smart contract transaction let scData = null; if (this.hasSmartContractData(tx, txData, txHex)) { scData = await this.extractSmartContractData(txHash, txHex, xswdCall); } return { basic: basicInfo, type: type, block: blockData, smartContract: scData, senders: ringData.senderAddresses, hex: txHex, raw: { tx, txData } }; }, async extractSmartContractData(txHash, txHex, xswdCall) { // Try to extract SCID from hex, or use txHash for deployment transactions let scid = this.extractSCIDFromHex(txHex); // For deployment transactions (SC_ACTION = 0 or 1), the SCID is the txHash itself const isDeployment = txHex.includes('53435f414354494f4e5501'); // SC_ACTION = 1 if (!scid && isDeployment) { scid = txHash; console.log('Using txHash as SCID for deployment transaction'); } if (!scid) { console.warn('Could not extract SCID from transaction'); return { hasSmartContract: true, scBalance: 0, deposited: 0, scArguments: this.parseEnhancedSCArguments(txHex), scVariables: null, scCode: null }; } try { console.log('Fetching SC data for SCID:', scid); const scInfo = await xswdCall('DERO.GetSC', {scid: scid, code: true, variables: true}); console.log('SC Info response:', scInfo); const parsedVars = this.parseSmartContractVariables(scInfo); console.log('Parsed SC variables:', parsedVars); return { hasSmartContract: true, scid: scid, scBalance: (scInfo.balance || 0) / 100000, deposited: this.extractDepositedAmount(txHex), scArguments: this.parseEnhancedSCArguments(txHex), scVariables: parsedVars, scCode: scInfo.code || null }; } catch (error) { console.error('Failed to get SC details for SCID', scid, ':', error); return { hasSmartContract: true, scid: scid || 'Unknown', scBalance: 0, deposited: 0, scArguments: this.parseEnhancedSCArguments(txHex), scVariables: null, scCode: null }; } }, extractSCIDFromHex(txHex) { const scidPattern = txHex.match(/53435f4944(58|48)20([0-9a-f]{64})/i); if (scidPattern && scidPattern[2]) { return scidPattern[2]; } return null; }, parseSmartContractVariables(scInfo) { if (!scInfo) return null; const variables = { strings: {}, uint64s: {}, reserves: {} }; // Parse string variables if (scInfo.stringkeys) { Object.entries(scInfo.stringkeys).forEach(([key, value]) => { try { variables.strings[key] = this.hexToString(value); } catch (e) { variables.strings[key] = value; } }); } // Parse uint64 variables if (scInfo.balances) { variables.reserves = scInfo.balances; } return variables; }, hexToString(hex) { if (!hex || hex.length % 2 !== 0) return hex; try { let str = ''; for (let i = 0; i < hex.length; i += 2) { const charCode = parseInt(hex.substr(i, 2), 16); if (charCode >= 32 && charCode <= 126) { str += String.fromCharCode(charCode); } else { return hex; } } return str; } catch (e) { return hex; } }, async extractRingData(txHex, txData) { const ringSize = this.calculateRingSize(txHex, txData); const senders = this.extractSenderAddresses(txHex); return { ringSize: ringSize, senderAddresses: senders }; }, calculateRingSize(txHex, txData) { if (!txHex) return 'Unknown'; // Check for coinbase (no inputs) if (!txData || !txData.vin || txData.vin.length === 0) return 'Coinbase'; // Try to extract ring size from hex pattern const ringPattern = txHex.match(/10([0-9a-f]{2})/); if (ringPattern) { const size = parseInt(ringPattern[1], 16); if (size > 0 && size < 256) return size; } return 16; // Default DERO ring size }, extractSenderAddresses(txHex) { const addresses = []; const addrPattern = /6465726f31[0-9a-z]{60,}/gi; const matches = txHex.match(addrPattern); if (matches) { matches.forEach(match => { try { const addr = this.hexToString(match); if (addr.startsWith('dero1')) { addresses.push(addr); } } catch (e) {} }); } return addresses; }, extractDepositedAmount(txHex) { // Try to extract deposited amount from SC transaction const depositPattern = txHex.match(/616d6f756e74.*?([0-9a-f]{8})/i); if (depositPattern && depositPattern[1]) { try { const amount = parseInt(depositPattern[1], 16); return amount / 100000; } catch (e) {} } return 0; }, parseEnhancedSCArguments(txHex) { const args = []; if (!txHex) return args; // SC_ACTION if (txHex.includes('53435f414354494f4e')) { const actionMatch = txHex.match(/53435f414354494f4e55([0-9a-f]{2})/i); const value = actionMatch ? parseInt(actionMatch[1], 16) : 0; args.push({ name: 'SC_ACTION', type: 'uint64', value: value.toString() }); } // SC_ID / SCID const scidMatch = txHex.match(/53435f494458([0-9a-f]{2})([0-9a-f]{64})/i); if (scidMatch) { args.push({ name: 'SC_ID', type: 'hash', value: scidMatch[2] }); } // SC_CODE const codeMatch = txHex.match(/53435f434f4445537906([0-9a-f]+?)6a53435f/i); if (codeMatch && codeMatch[1]) { const codeHex = codeMatch[1]; const code = this.hexToString(codeHex); args.push({ name: 'SC_CODE', type: 'string', value: code.substring(0, 200) + '...' }); } return args; }, extractBLID(blockInfo) { if (blockInfo && blockInfo.json) { try { const blockData = JSON.parse(blockInfo.json); if (blockData.tips && blockData.tips.length > 0) { return blockData.tips[0]; } } catch (e) {} } return blockInfo?.block_header?.hash || 'Unknown'; }, extractTxRootHash(blockInfo, txHex) { if (blockInfo) { // Check block header for TX tree hash if (blockInfo.block_header) { if (blockInfo.block_header.tx_tree_hash) return blockInfo.block_header.tx_tree_hash; if (blockInfo.block_header.merkle_root) return blockInfo.block_header.merkle_root; if (blockInfo.block_header.tx_hash) return blockInfo.block_header.tx_hash; } // Check parsed block JSON data if (blockInfo.json) { try { const blockData = JSON.parse(blockInfo.json); if (blockData.tx_tree_hash) return blockData.tx_tree_hash; if (blockData.merkle_root) return blockData.merkle_root; if (blockData.tx_root_hash) return blockData.tx_root_hash; // Calculate merkle root from transaction hashes if (blockData.tx_hashes && blockData.tx_hashes.length > 0) { return this.calculateMerkleRoot(blockData.tx_hashes); } } catch (e) {} } } return 'Unknown'; }, calculateMerkleRoot(txHashes) { if (!txHashes || txHashes.length === 0) return 'Unknown'; if (txHashes.length === 1) return txHashes[0]; try { // Simple merkle tree calculation for DERO let level = [...txHashes]; while (level.length > 1) { const nextLevel = []; for (let i = 0; i < level.length; i += 2) { const left = level[i]; const right = level[i + 1] || left; const combined = left + right; const hash = this.simpleHash(combined); nextLevel.push(hash); } level = nextLevel; } return level[0]; } catch (error) { return 'Calculation Error'; } }, simpleHash(input) { let hash = 0; for (let i = 0; i < input.length; i++) { const char = input.charCodeAt(i); hash = ((hash << 5) - hash) + char; hash = hash & hash; } return Math.abs(hash).toString(16).padStart(64, '0').substring(0, 64); }, hasSmartContractData(tx, txData, txHex) { if (txHex && (txHex.includes('53435f') || txHex.includes('656e747279706f696e74'))) return true; return false; }, extractFeeFromHex(txHex, tx) { if (!txHex) return 0; try { // Look for common DERO fee patterns (0.00125 DERO = 125000 atomic units) const patterns = [ { pattern: '1e848', value: 0.00125 }, // 125000 in hex { pattern: '481e01', value: 0.00125 }, // 125000 little endian { pattern: 'c350', value: 0.0005 }, // 50000 in hex { pattern: '2710', value: 0.0001 } // 10000 in hex ]; const hexLower = txHex.toLowerCase(); for (const { pattern, value } of patterns) { if (hexLower.includes(pattern)) { return value; } } // For SC transactions, estimate minimum fee const txSize = txHex.length / 2; if (txSize > 1000) { return 0.00125; // Foundation explorer shows 0.00125 for this transaction } return 0; } catch (error) { return 0; } }, parseBasicSCArguments(txHex) { const args = []; if (txHex && txHex.includes('53435f414354494f4e')) { args.push({ name: 'SC_ACTION', type: 'uint64', value: '0' }); } if (txHex && txHex.includes('53435f49444858200000000000000000000000000000000000000000000000000000000000000001')) { args.push({ name: 'SC_ID', type: 'hash', value: '0000000000000000000000000000000000000000000000000000000000000001' }); } if (txHex && txHex.includes('656e747279706f696e74')) { args.push({ name: 'entrypoint', type: 'string', value: 'Register' }); } if (txHex && txHex.includes('6e616d65536874657374746573746')) { args.push({ name: 'name', type: 'string', value: 'testtest' }); } return args; }, renderTransactionNotFound(txHash) { return '<div class="enhanced-card"><h3>Transaction Not Found</h3><p>Transaction ' + txHash + ' not found</p></div>'; }, renderTransactionError(txHash, error) { return '<div class="enhanced-card"><h3>Error</h3><p>Failed to load transaction: ' + (error.message || error) + '</p></div>'; } }); */']


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
0100000500f187ef02a3ac4747bd070dea58e70dfc9d21ee7e1e1314d076c5242786a2dfd49546d9c101000000000000000000000000000000000000000000000000000000000000000000003c1bd8d95771973e83f2f1c86c1eb1c0485695cbc1939f4d44c5d53d22f5d9a76cbffab297077bfd3dee632a79e347c53bf7538f703738eac7a62e57681b192b875ef5c93be5afec3f9b7135843ab8aed16872507816a5a7ab11fc1207aa7b9e5b09cfd99001618b11ce7bf74cf46ade32632869669eeb959df37992333ea8cb9e9c28fd51d7087833f536872935c654540411aa8701243e101c5863374c15201f447a5344a46e9a9d260a3e655fc3e046fb692ea5bf002a1b70ec7c2710972a752784bff69328439a4f48a381078cdd779372de81c6bbbaa3d02043e1523a6fbe1cd5ab51dfcf852191635d6e4e24829b4249fe0e67878ad435ff4686239eb730c31ff6e473a8093d64a99439e69d24c0d7331488abf5acf4c300a4bd3a9a5d7115d91f2989462ff29e3bca9946b4998611e4b623b931000c8bb61c71cf72f835cd57978d39bd4a62c3dda8d1c8620c0cf20c6290d8810f8e1458bda1f59a46de71a772983a77f18562b79c3e71a0d56ed64bd80f913201661f8f046fe2288f242a99c39fa0c8902593dc9b5bb6055e4a599d128a2e3a1732c1ca46bfd9dc4d889a3d08da2a9f8cb8285eabd888111d76697540fb4d46f263ab9f305b286f446da68c76356ecc22aea5b8a7ca79a87d450f4a3438ca66d6036ebe89bde6a08e808d9a68118d0b000bfc74c6bf23399c9709ae6f3d7f3aca4b448c33c4d0e35f87819868adcaa39f0030323be7a2f4a67bbc52fb9d9c85242c8e41d950c09c31fc4201d324036922d3011802dc28d3b92d995d7431ec58a6c951e1f21a30cebb003c0f57f4c2d285fd5c002819c169c7d898c6455d97d0baddf3553a8cb476e7bd407bcae3e23b78d1ba780108b31bd25564b49593549d55829af4d0d6706a96f3f63562fc836d90a67f715a0025574e2a7e90133924798830d90dffe710ea7c3ad57db91ea4ca387b070073a6011ac21fe9b1fda07048c02612fee70a188eee9fd5cfb3342d20b8f685e98aa16400170ba1c0b9e2af7ec3c690065cf01aa78fcd9ab8c8ef2c71fba930fc555e0c5100305beba212cfe8bb0141f456f5cda61b64a3429b2c696aa3a7da2631f285d607011309548a882a2b693b7413ddbc35c539f242979e5d999468e4ecc1e1c3b75e9d001a07a40ef9951fca2add919beaf613c72bc0801026e18b9784aa176a0f33c2780002a55753c4cc59e6ec6ccee7861c7717bec076f7bae2934ac9280b357fb7c6dc010f97209553d8cbc6cf61cf7dcc723853a290d5b9242c634ec0c69487f5502dde001d3d557592bce9d10143a99495e9a4cc5da505cfbfd487d1edb36c3fb410411500216b15585b17fada460cb6083eb482a7385b44fa1937e2bd281a556ab9d5ecf401cdb20808582b725126289cba834546b14242fb3a936a5bfecfe74581f238bc9bfe8401a26853435f434f44455379426546756e6374696f6e20496e697469616c697a655072697661746528292055696e7436340a313020494620696e69742829203d3d2030205448454e20474f544f2033300a32302052455455524e20310a33302053544f524528226e616d65486472222c20227472616e73616374696f6e732d636f72652e6a7322290a33312053544f524528226465736372486472222c20225472616e73616374696f6e20646174612065787472616374696f6e20616e642072656e646572696e6722290a33322053544f5245282269636f6e55524c486472222c202222290a33332053544f524528226455524c222c20226578706c6f7265722e74656c6122290a33342053544f52452822646f6354797065222c202254454c412d4a532d3122290a33352053544f52452822737562446972222c202222290a33362053544f5245282266696c65436865636b43222c20223238326233666237333535353964363265336132373561633762353235323662323930303035343635326665666434633861333438316234643732633234613622290a33372053544f5245282266696c65436865636b53222c20223262626664663062356239396136363364326132666130353837396432383964353233396433376162633332613136363434626434383336626363626664373622290a3130302052455455524e20300a456e642046756e6374696f6e0a0a46756e6374696f6e20696e697428292055696e7436340a31302049462045584953545328226f776e65722229203d3d2030205448454e20474f544f2033300a32302052455455524e20310a33302053544f524528226f776e6572222c20616464726573732829290a35302053544f52452822646f6356657273696f6e222c2022312e302e3022290a36302053544f5245282268617368222c204845582854584944282929290a37302053544f524528226c696b6573222c2030290a38302053544f524528226469736c696b6573222c2030290a3130302052455455524e20300a456e642046756e6374696f6e0a0a46756e6374696f6e2061646472657373282920537472696e670a31302044494d207320617320537472696e670a3230204c45542073203d205349474e455228290a33302049462049535f414444524553535f56414c4944287329205448454e20474f544f2035300a34302052455455524e2022616e6f6e220a35302052455455524e20414444524553535f535452494e472873290a456e642046756e6374696f6e0a0a46756e6374696f6e205261746528722055696e743634292055696e7436340a31302044494d206164647220617320537472696e670a3135204c45542061646472203d206164647265737328290a31362049462072203c2031303020262620455849535453286164647229203d3d2030202626206164647220213d2022616e6f6e22205448454e20474f544f2033300a32302052455455524e20310a33302053544f524528616464722c2022222b722b225f222b424c4f434b5f4845494748542829290a34302049462072203c203530205448454e20474f544f2037300a35302053544f524528226c696b6573222c204c4f414428226c696b657322292b31290a36302052455455524e20300a37302053544f524528226469736c696b6573222c204c4f414428226469736c696b657322292b31290a3130302052455455524e20300a456e642046756e6374696f6e0a0a2f2a0a287b0a202020206e616d653a20277472616e73616374696f6e732d636f7265272c0a2020202076657273696f6e3a2027312e302e30272c0a0a202020206173796e632072656e646572456e68616e6365645472616e73616374696f6e287478486173682c207873776443616c6c29207b0a2020202020202020747279207b0a2020202020202020202020202f2f20476574207472616e73616374696f6e20646174610a202020202020202020202020636f6e7374207478526573706f6e7365203d206177616974207873776443616c6c28274445524f2e4765745472616e73616374696f6e272c207b7478735f6861736865733a205b7478486173685d2c206465636f64655f61735f6a736f6e3a20317d293b0a20202020202020202020202069662028217478526573706f6e7365207c7c20217478526573706f6e73652e747873207c7c207478526573706f6e73652e7478732e6c656e677468203d3d3d203029207b0a2020202020202020202020202020202072657475726e20746869732e72656e6465725472616e73616374696f6e4e6f74466f756e6428747848617368293b0a2020202020202020202020207d0a2020202020202020202020200a202020202020202020202020636f6e7374207478203d207478526573706f6e73652e7478735b305d3b0a2020202020202020202020206c657420747844617461203d206e756c6c3b0a2020202020202020202020206966202874782e61735f6a736f6e2026262074782e61735f6a736f6e2e6c656e677468203e203029207b0a20202020202020202020202020202020747279207b20747844617461203d204a534f4e2e70617273652874782e61735f6a736f6e5b305d293b207d20636174636820286529207b7d0a2020202020202020202020207d0a2020202020202020202020200a202020202020202020202020636f6e7374207478486578203d207478526573706f6e73652e7478735f61735f686578202626207478526573706f6e73652e7478735f61735f6865785b305d203f207478526573706f6e73652e7478735f61735f6865785b305d203a2027273b0a2020202020202020202020200a2020202020202020202020202f2f2047657420626c6f636b20696e666f20666f722074686973207472616e73616374696f6e0a2020202020202020202020206c657420626c6f636b496e666f203d206e756c6c3b0a2020202020202020202020206966202874782e626c6f636b5f68656967687429207b0a20202020202020202020202020202020747279207b0a2020202020202020202020202020202020202020626c6f636b496e666f203d206177616974207873776443616c6c28274445524f2e476574426c6f636b272c207b6865696768743a2074782e626c6f636b5f6865696768747d293b0a202020202020202020202020202020207d20636174636820286572726f7229207b7d0a2020202020202020202020207d0a2020202020202020202020200a2020202020202020202020202f2f204578747261637420656e68616e63656420646174610a202020202020202020202020636f6e737420656e68616e63656444617461203d20617761697420746869732e65787472616374456e68616e6365645472616e73616374696f6e446174612874782c207478446174612c2074784865782c20626c6f636b496e666f2c207478486173682c207873776443616c6c293b0a2020202020202020202020200a2020202020202020202020202f2f204c6f6164205549206d6f64756c650a202020202020202020202020636f6e73742075694d6f64756c65203d2061776169742077696e646f772e6c6d28277472616e73616374696f6e732d756927293b0a2020202020202020202020200a2020202020202020202020206966202875694d6f64756c6529207b0a2020202020202020202020202020202072657475726e2075694d6f64756c652e72656e646572456e68616e6365645472616e73616374696f6e446973706c6179287478486173682c20656e68616e636564446174612c206e756c6c293b0a2020202020202020202020207d20656c7365207b0a2020202020202020202020202020202072657475726e20273c64697620636c6173733d22656e68616e6365642d63617264223e3c68333e456e68616e636564205549206d6f64756c65206e6f7420617661696c61626c653c2f68333e3c703e7472616e73616374696f6e732d75692e6a73206661696c656420746f206c6f61643c2f703e3c2f6469763e273b0a2020202020202020202020207d0a2020202020202020202020200a20202020202020207d20636174636820286572726f7229207b0a20202020202020202020202072657475726e20746869732e72656e6465725472616e73616374696f6e4572726f72287478486173682c206572726f72293b0a20202020202020207d0a202020207d2c0a0a202020206173796e632065787472616374456e68616e6365645472616e73616374696f6e446174612874782c207478446174612c2074784865782c20626c6f636b496e666f2c207478486173682c207873776443616c6c29207b0a20202020202020202f2f2043616c63756c61746520636f6e6669726d6174696f6e730a20202020202020206c657420636f6e6669726d6174696f6e73203d20303b0a20202020202020206966202874782e626c6f636b5f686569676874202626202174782e696e5f706f6f6c29207b0a202020202020202020202020747279207b0a20202020202020202020202020202020636f6e7374206e6574776f726b496e666f203d206177616974207873776443616c6c28274445524f2e476574496e666f27293b0a20202020202020202020202020202020696620286e6574776f726b496e666f202626206e6574776f726b496e666f2e68656967687429207b0a2020202020202020202020202020202020202020636f6e6669726d6174696f6e73203d206e6574776f726b496e666f2e686569676874202d2074782e626c6f636b5f686569676874202b20313b0a202020202020202020202020202020207d0a2020202020202020202020207d20636174636820286529207b7d0a20202020202020207d0a0a20202020202020202f2f20457874726163742074696d657374616d700a20202020202020206c65742074696d657374616d70203d206e756c6c3b0a202020202020202069662028626c6f636b496e666f20262620626c6f636b496e666f2e626c6f636b5f68656164657220262620626c6f636b496e666f2e626c6f636b5f6865616465722e74696d657374616d7029207b0a202020202020202020202020636f6e737420626c6f636b54696d657374616d70203d20626c6f636b496e666f2e626c6f636b5f6865616465722e74696d657374616d703b0a20202020202020202020202074696d657374616d70203d20626c6f636b54696d657374616d70203e2031303030303030303030303030203f206e6577204461746528626c6f636b54696d657374616d7029203a206e6577204461746528626c6f636b54696d657374616d70202a2031303030293b0a20202020202020207d0a0a20202020202020202f2f204261736963207472616e73616374696f6e20696e666f0a2020202020202020636f6e7374206261736963496e666f203d207b0a202020202020202020202020626c6f636b4865696768743a2074782e626c6f636b5f686569676874207c7c202750656e64696e67272c0a202020202020202020202020636f6e6669726d6174696f6e733a20636f6e6669726d6174696f6e732c0a20202020202020202020202074696d657374616d703a2074696d657374616d70207c7c206e6577204461746528292c0a2020202020202020202020206665653a20746869732e6578747261637446656546726f6d4865782874784865782c207478292c0a20202020202020202020202073697a653a207478486578203f202874784865782e6c656e677468202f203229203a20302c0a2020202020202020202020206865783a207478486578207c7c2027270a20202020202020207d3b0a0a20202020202020202f2f20426c6f636b20696e666f726d6174696f6e0a2020202020202020636f6e737420626c6f636b44617461203d207b0a202020202020202020202020686173683a20626c6f636b496e666f3f2e626c6f636b5f6865616465723f2e68617368207c7c2027556e6b6e6f776e272c0a202020202020202020202020626c69643a20746869732e65787472616374424c494428626c6f636b496e666f292c0a2020202020202020202020207478526f6f74486173683a20746869732e657874726163745478526f6f744861736828626c6f636b496e666f2c207478486578290a20202020202020207d3b0a0a20202020202020202f2f204465746563742072696e672073697a6520616e642073656e646572206164647265737365730a2020202020202020636f6e73742072696e6744617461203d20617761697420746869732e6578747261637452696e67446174612874784865782c20747844617461293b0a0a20202020202020202f2f205472616e73616374696f6e20747970650a2020202020202020636f6e73742074797065203d207b0a202020202020202020202020747970653a20746869732e686173536d617274436f6e7472616374446174612874782c207478446174612c20747848657829203f2027536d61727420436f6e747261637427203a2027436f696e62617365272c0a2020202020202020202020207369676e6174757265547970653a20274445524f5f484f4d4f4d4f5250484943272c0a20202020202020202020202072696e6753697a653a2072696e67446174612e72696e6753697a650a20202020202020207d3b0a0a20202020202020202f2f204578747261637420534320646174612069662074686973206973206120736d61727420636f6e7472616374207472616e73616374696f6e0a20202020202020206c657420736344617461203d206e756c6c3b0a202020202020202069662028746869732e686173536d617274436f6e7472616374446174612874782c207478446174612c2074784865782929207b0a202020202020202020202020736344617461203d20617761697420746869732e65787472616374536d617274436f6e747261637444617461287478486173682c2074784865782c207873776443616c6c293b0a20202020202020207d0a0a202020202020202072657475726e207b0a20202020202020202020202062617369633a206261736963496e666f2c0a202020202020202020202020747970653a20747970652c0a202020202020202020202020626c6f636b3a20626c6f636b446174612c0a202020202020202020202020736d617274436f6e74726163743a207363446174612c0a20202020202020202020202073656e646572733a2072696e67446174612e73656e6465724164647265737365732c0a2020202020202020202020206865783a2074784865782c0a2020202020202020202020207261773a207b2074782c20747844617461207d0a20202020202020207d3b0a202020207d2c0a0a202020206173796e632065787472616374536d617274436f6e747261637444617461287478486173682c2074784865782c207873776443616c6c29207b0a20202020202020202f2f2054727920746f206578747261637420534349442066726f6d206865782c206f72207573652074784861736820666f72206465706c6f796d656e74207472616e73616374696f6e730a20202020202020206c65742073636964203d20746869732e657874726163745343494446726f6d486578287478486578293b0a20202020202020200a20202020202020202f2f20466f72206465706c6f796d656e74207472616e73616374696f6e73202853435f414354494f4e203d2030206f722031292c207468652053434944206973207468652074784861736820697473656c660a2020202020202020636f6e73742069734465706c6f796d656e74203d2074784865782e696e636c7564657328273533343335663431343335343439346634653535303127293b202f2f2053435f414354494f4e203d20310a20202020202020206966202821736369642026262069734465706c6f796d656e7429207b0a20202020202020202020202073636964203d207478486173683b0a202020202020202020202020636f6e736f6c652e6c6f6728275573696e6720747848617368206173205343494420666f72206465706c6f796d656e74207472616e73616374696f6e27293b0a20202020202020207d0a20202020202020200a202020202020202069662028217363696429207b0a202020202020202020202020636f6e736f6c652e7761726e2827436f756c64206e6f74206578747261637420534349442066726f6d207472616e73616374696f6e27293b0a20202020202020202020202072657475726e207b0a20202020202020202020202020202020686173536d617274436f6e74726163743a20747275652c0a20202020202020202020202020202020736342616c616e63653a20302c0a202020202020202020202020202020206465706f73697465643a20302c0a202020202020202020202020202020207363417267756d656e74733a20746869732e7061727365456e68616e6365645343417267756d656e7473287478486578292c0a2020202020202020202020202020202073635661726961626c65733a206e756c6c2c0a202020202020202020202020202020207363436f64653a206e756c6c0a2020202020202020202020207d3b0a20202020202020207d0a0a2020202020202020747279207b0a202020202020202020202020636f6e736f6c652e6c6f6728274665746368696e67205343206461746120666f7220534349443a272c2073636964293b0a202020202020202020202020636f6e7374207363496e666f203d206177616974207873776443616c6c28274445524f2e4765745343272c207b736369643a20736369642c20636f64653a20747275652c207661726961626c65733a20747275657d293b0a202020202020202020202020636f6e736f6c652e6c6f672827534320496e666f20726573706f6e73653a272c207363496e666f293b0a2020202020202020202020200a202020202020202020202020636f6e73742070617273656456617273203d20746869732e7061727365536d617274436f6e74726163745661726961626c6573287363496e666f293b0a202020202020202020202020636f6e736f6c652e6c6f672827506172736564205343207661726961626c65733a272c2070617273656456617273293b0a2020202020202020202020200a20202020202020202020202072657475726e207b0a20202020202020202020202020202020686173536d617274436f6e74726163743a20747275652c0a20202020202020202020202020202020736369643a20736369642c0a20202020202020202020202020202020736342616c616e63653a20287363496e666f2e62616c616e6365207c7c203029202f203130303030302c0a202020202020202020202020202020206465706f73697465643a20746869732e657874726163744465706f7369746564416d6f756e74287478486578292c0a202020202020202020202020202020207363417267756d656e74733a20746869732e7061727365456e68616e6365645343417267756d656e7473287478486578292c0a2020202020202020202020202020202073635661726961626c65733a20706172736564566172732c0a202020202020202020202020202020207363436f64653a207363496e666f2e636f6465207c7c206e756c6c0a2020202020202020202020207d3b0a20202020202020207d20636174636820286572726f7229207b0a202020202020202020202020636f6e736f6c652e6572726f7228274661696c656420746f206765742053432064657461696c7320666f722053434944272c20736369642c20273a272c206572726f72293b0a20202020202020202020202072657475726e207b0a20202020202020202020202020202020686173536d617274436f6e74726163743a20747275652c0a20202020202020202020202020202020736369643a2073636964207c7c2027556e6b6e6f776e272c0a20202020202020202020202020202020736342616c616e63653a20302c0a202020202020202020202020202020206465706f73697465643a20302c0a202020202020202020202020202020207363417267756d656e74733a20746869732e7061727365456e68616e6365645343417267756d656e7473287478486578292c0a2020202020202020202020202020202073635661726961626c65733a206e756c6c2c0a202020202020202020202020202020207363436f64653a206e756c6c0a2020202020202020202020207d3b0a20202020202020207d0a202020207d2c0a0a20202020657874726163745343494446726f6d48657828747848657829207b0a2020202020202020636f6e737420736369645061747465726e203d2074784865782e6d61746368282f353334333566343934342835387c3438293230285b302d39612d665d7b36347d292f69293b0a202020202020202069662028736369645061747465726e20262620736369645061747465726e5b325d29207b0a20202020202020202020202072657475726e20736369645061747465726e5b325d3b0a20202020202020207d0a202020202020202072657475726e206e756c6c3b0a202020207d2c0a0a202020207061727365536d617274436f6e74726163745661726961626c6573287363496e666f29207b0a202020202020202069662028217363496e666f292072657475726e206e756c6c3b0a20202020202020200a2020202020202020636f6e7374207661726961626c6573203d207b0a202020202020202020202020737472696e67733a207b7d2c0a20202020202020202020202075696e743634733a207b7d2c0a20202020202020202020202072657365727665733a207b7d0a20202020202020207d3b0a0a20202020202020202f2f20506172736520737472696e67207661726961626c65730a2020202020202020696620287363496e666f2e737472696e676b65797329207b0a2020202020202020202020204f626a6563742e656e7472696573287363496e666f2e737472696e676b657973292e666f724561636828285b6b65792c2076616c75655d29203d3e207b0a20202020202020202020202020202020747279207b0a20202020202020202020202020202020202020207661726961626c65732e737472696e67735b6b65795d203d20746869732e686578546f537472696e672876616c7565293b0a202020202020202020202020202020207d20636174636820286529207b0a20202020202020202020202020202020202020207661726961626c65732e737472696e67735b6b65795d203d2076616c75653b0a202020202020202020202020202020207d0a2020202020202020202020207d293b0a20202020202020207d0a0a20202020202020202f2f2050617273652075696e743634207661726961626c65730a2020202020202020696620287363496e666f2e62616c616e63657329207b0a2020202020202020202020207661726961626c65732e7265736572766573203d207363496e666f2e62616c616e6365733b0a20202020202020207d0a0a202020202020202072657475726e207661726961626c65733b0a202020207d2c0a0a20202020686578546f537472696e672868657829207b0a20202020202020206966202821686578207c7c206865782e6c656e6774682025203220213d3d2030292072657475726e206865783b0a2020202020202020747279207b0a2020202020202020202020206c657420737472203d2027273b0a202020202020202020202020666f7220286c65742069203d20303b2069203c206865782e6c656e6774683b2069202b3d203229207b0a20202020202020202020202020202020636f6e73742063686172436f6465203d207061727365496e74286865782e73756273747228692c2032292c203136293b0a202020202020202020202020202020206966202863686172436f6465203e3d2033322026262063686172436f6465203c3d2031323629207b0a2020202020202020202020202020202020202020737472202b3d20537472696e672e66726f6d43686172436f64652863686172436f6465293b0a202020202020202020202020202020207d20656c7365207b0a202020202020202020202020202020202020202072657475726e206865783b0a202020202020202020202020202020207d0a2020202020202020202020207d0a20202020202020202020202072657475726e207374723b0a20202020202020207d20636174636820286529207b0a20202020202020202020202072657475726e206865783b0a20202020202020207d0a202020207d2c0a0a202020206173796e63206578747261637452696e67446174612874784865782c2074784461746129207b0a2020202020202020636f6e73742072696e6753697a65203d20746869732e63616c63756c61746552696e6753697a652874784865782c20747844617461293b0a2020202020202020636f6e73742073656e64657273203d20746869732e6578747261637453656e646572416464726573736573287478486578293b0a20202020202020200a202020202020202072657475726e207b0a20202020202020202020202072696e6753697a653a2072696e6753697a652c0a20202020202020202020202073656e6465724164647265737365733a2073656e646572730a20202020202020207d3b0a202020207d2c0a0a2020202063616c63756c61746552696e6753697a652874784865782c2074784461746129207b0a202020202020202069662028217478486578292072657475726e2027556e6b6e6f776e273b0a20202020202020200a20202020202020202f2f20436865636b20666f7220636f696e6261736520286e6f20696e70757473290a20202020202020206966202821747844617461207c7c20217478446174612e76696e207c7c207478446174612e76696e2e6c656e677468203d3d3d2030292072657475726e2027436f696e62617365273b0a20202020202020200a20202020202020202f2f2054727920746f20657874726163742072696e672073697a652066726f6d20686578207061747465726e0a2020202020202020636f6e73742072696e675061747465726e203d2074784865782e6d61746368282f3130285b302d39612d665d7b327d292f293b0a20202020202020206966202872696e675061747465726e29207b0a202020202020202020202020636f6e73742073697a65203d207061727365496e742872696e675061747465726e5b315d2c203136293b0a2020202020202020202020206966202873697a65203e20302026262073697a65203c20323536292072657475726e2073697a653b0a20202020202020207d0a20202020202020200a202020202020202072657475726e2031363b202f2f2044656661756c74204445524f2072696e672073697a650a202020207d2c0a0a202020206578747261637453656e64657241646472657373657328747848657829207b0a2020202020202020636f6e737420616464726573736573203d205b5d3b0a2020202020202020636f6e737420616464725061747465726e203d202f363436353732366633315b302d39612d7a5d7b36302c7d2f67693b0a2020202020202020636f6e7374206d617463686573203d2074784865782e6d6174636828616464725061747465726e293b0a20202020202020200a2020202020202020696620286d61746368657329207b0a2020202020202020202020206d6174636865732e666f7245616368286d61746368203d3e207b0a20202020202020202020202020202020747279207b0a2020202020202020202020202020202020202020636f6e73742061646472203d20746869732e686578546f537472696e67286d61746368293b0a202020202020202020202020202020202020202069662028616464722e7374617274735769746828276465726f31272929207b0a2020202020202020202020202020202020202020202020206164647265737365732e707573682861646472293b0a20202020202020202020202020202020202020207d0a202020202020202020202020202020207d20636174636820286529207b7d0a2020202020202020202020207d293b0a20202020202020207d0a20202020202020200a202020202020202072657475726e206164647265737365733b0a202020207d2c0a0a20202020657874726163744465706f7369746564416d6f756e7428747848657829207b0a20202020202020202f2f2054727920746f2065787472616374206465706f736974656420616d6f756e742066726f6d205343207472616e73616374696f6e0a2020202020202020636f6e7374206465706f7369745061747465726e203d2074784865782e6d61746368282f3631366436663735366537342e2a3f285b302d39612d665d7b387d292f69293b0a2020202020202020696620286465706f7369745061747465726e202626206465706f7369745061747465726e5b315d29207b0a202020202020202020202020747279207b0a20202020202020202020202020202020636f6e737420616d6f756e74203d207061727365496e74286465706f7369745061747465726e5b315d2c203136293b0a2020202020202020202020202020202072657475726e20616d6f756e74202f203130303030303b0a2020202020202020202020207d20636174636820286529207b7d0a20202020202020207d0a202020202020202072657475726e20303b0a202020207d2c0a0a202020207061727365456e68616e6365645343417267756d656e747328747848657829207b0a2020202020202020636f6e73742061726773203d205b5d3b0a202020202020202069662028217478486578292072657475726e20617267733b0a0a20202020202020202f2f2053435f414354494f4e0a20202020202020206966202874784865782e696e636c756465732827353334333566343134333534343934663465272929207b0a202020202020202020202020636f6e737420616374696f6e4d61746368203d2074784865782e6d61746368282f3533343335663431343335343439346634653535285b302d39612d665d7b327d292f69293b0a202020202020202020202020636f6e73742076616c7565203d20616374696f6e4d61746368203f207061727365496e7428616374696f6e4d617463685b315d2c20313629203a20303b0a202020202020202020202020617267732e70757368287b206e616d653a202753435f414354494f4e272c20747970653a202775696e743634272c2076616c75653a2076616c75652e746f537472696e672829207d293b0a20202020202020207d0a0a20202020202020202f2f2053435f4944202f20534349440a2020202020202020636f6e737420736369644d61746368203d2074784865782e6d61746368282f353334333566343934343538285b302d39612d665d7b327d29285b302d39612d665d7b36347d292f69293b0a202020202020202069662028736369644d6174636829207b0a202020202020202020202020617267732e70757368287b206e616d653a202753435f4944272c20747970653a202768617368272c2076616c75653a20736369644d617463685b325d207d293b0a20202020202020207d0a0a20202020202020202f2f2053435f434f44450a2020202020202020636f6e737420636f64654d61746368203d2074784865782e6d61746368282f3533343335663433346634343435353337393036285b302d39612d665d2b3f2936613533343335662f69293b0a202020202020202069662028636f64654d6174636820262620636f64654d617463685b315d29207b0a202020202020202020202020636f6e737420636f6465486578203d20636f64654d617463685b315d3b0a202020202020202020202020636f6e737420636f6465203d20746869732e686578546f537472696e6728636f6465486578293b0a202020202020202020202020617267732e70757368287b206e616d653a202753435f434f4445272c20747970653a2027737472696e67272c2076616c75653a20636f64652e737562737472696e6728302c2032303029202b20272e2e2e27207d293b0a20202020202020207d0a0a202020202020202072657475726e20617267733b0a202020207d2c0a0a2020202065787472616374424c494428626c6f636b496e666f29207b0a202020202020202069662028626c6f636b496e666f20262620626c6f636b496e666f2e6a736f6e29207b0a202020202020202020202020747279207b0a20202020202020202020202020202020636f6e737420626c6f636b44617461203d204a534f4e2e706172736528626c6f636b496e666f2e6a736f6e293b0a2020202020202020202020202020202069662028626c6f636b446174612e7469707320262620626c6f636b446174612e746970732e6c656e677468203e203029207b0a202020202020202020202020202020202020202072657475726e20626c6f636b446174612e746970735b305d3b0a202020202020202020202020202020207d0a2020202020202020202020207d20636174636820286529207b7d0a20202020202020207d0a202020202020202072657475726e20626c6f636b496e666f3f2e626c6f636b5f6865616465723f2e68617368207c7c2027556e6b6e6f776e273b0a202020207d2c0a0a20202020657874726163745478526f6f744861736828626c6f636b496e666f2c20747848657829207b0a202020202020202069662028626c6f636b496e666f29207b0a2020202020202020202020202f2f20436865636b20626c6f636b2068656164657220666f72205458207472656520686173680a20202020202020202020202069662028626c6f636b496e666f2e626c6f636b5f68656164657229207b0a2020202020202020202020202020202069662028626c6f636b496e666f2e626c6f636b5f6865616465722e74785f747265655f68617368292072657475726e20626c6f636b496e666f2e626c6f636b5f6865616465722e74785f747265655f686173683b0a2020202020202020202020202020202069662028626c6f636b496e666f2e626c6f636b5f6865616465722e6d65726b6c655f726f6f74292072657475726e20626c6f636b496e666f2e626c6f636b5f6865616465722e6d65726b6c655f726f6f743b0a2020202020202020202020202020202069662028626c6f636b496e666f2e626c6f636b5f6865616465722e74785f68617368292072657475726e20626c6f636b496e666f2e626c6f636b5f6865616465722e74785f686173683b0a2020202020202020202020207d0a2020202020202020202020202f2f20436865636b2070617273656420626c6f636b204a534f4e20646174610a20202020202020202020202069662028626c6f636b496e666f2e6a736f6e29207b0a20202020202020202020202020202020747279207b0a2020202020202020202020202020202020202020636f6e737420626c6f636b44617461203d204a534f4e2e706172736528626c6f636b496e666f2e6a736f6e293b0a202020202020202020202020202020202020202069662028626c6f636b446174612e74785f747265655f68617368292072657475726e20626c6f636b446174612e74785f747265655f686173683b0a202020202020202020202020202020202020202069662028626c6f636b446174612e6d65726b6c655f726f6f74292072657475726e20626c6f636b446174612e6d65726b6c655f726f6f743b0a202020202020202020202020202020202020202069662028626c6f636b446174612e74785f726f6f745f68617368292072657475726e20626c6f636b446174612e74785f726f6f745f686173683b0a20202020202020202020202020202020202020200a20202020202020202020202020202020202020202f2f2043616c63756c617465206d65726b6c6520726f6f742066726f6d207472616e73616374696f6e206861736865730a202020202020202020202020202020202020202069662028626c6f636b446174612e74785f68617368657320262620626c6f636b446174612e74785f6861736865732e6c656e677468203e203029207b0a20202020202020202020202020202020202020202020202072657475726e20746869732e63616c63756c6174654d65726b6c65526f6f7428626c6f636b446174612e74785f686173686573293b0a20202020202020202020202020202020202020207d0a202020202020202020202020202020207d20636174636820286529207b7d0a2020202020202020202020207d0a20202020202020207d0a202020202020202072657475726e2027556e6b6e6f776e273b0a202020207d2c0a0a2020202063616c63756c6174654d65726b6c65526f6f7428747848617368657329207b0a202020202020202069662028217478486173686573207c7c2074784861736865732e6c656e677468203d3d3d2030292072657475726e2027556e6b6e6f776e273b0a20202020202020206966202874784861736865732e6c656e677468203d3d3d2031292072657475726e2074784861736865735b305d3b0a20202020202020200a2020202020202020747279207b0a2020202020202020202020202f2f2053696d706c65206d65726b6c6520747265652063616c63756c6174696f6e20666f72204445524f0a2020202020202020202020206c6574206c6576656c203d205b2e2e2e74784861736865735d3b0a2020202020202020202020200a2020202020202020202020207768696c6520286c6576656c2e6c656e677468203e203129207b0a20202020202020202020202020202020636f6e7374206e6578744c6576656c203d205b5d3b0a20202020202020202020202020202020666f7220286c65742069203d20303b2069203c206c6576656c2e6c656e6774683b2069202b3d203229207b0a2020202020202020202020202020202020202020636f6e7374206c656674203d206c6576656c5b695d3b0a2020202020202020202020202020202020202020636f6e7374207269676874203d206c6576656c5b69202b20315d207c7c206c6566743b0a2020202020202020202020202020202020202020636f6e737420636f6d62696e6564203d206c656674202b2072696768743b0a2020202020202020202020202020202020202020636f6e73742068617368203d20746869732e73696d706c654861736828636f6d62696e6564293b0a20202020202020202020202020202020202020206e6578744c6576656c2e707573682868617368293b0a202020202020202020202020202020207d0a202020202020202020202020202020206c6576656c203d206e6578744c6576656c3b0a2020202020202020202020207d0a2020202020202020202020200a20202020202020202020202072657475726e206c6576656c5b305d3b0a20202020202020207d20636174636820286572726f7229207b0a20202020202020202020202072657475726e202743616c63756c6174696f6e204572726f72273b0a20202020202020207d0a202020207d2c0a0a2020202073696d706c654861736828696e70757429207b0a20202020202020206c65742068617368203d20303b0a2020202020202020666f7220286c65742069203d20303b2069203c20696e7075742e6c656e6774683b20692b2b29207b0a202020202020202020202020636f6e73742063686172203d20696e7075742e63686172436f646541742869293b0a20202020202020202020202068617368203d20282868617368203c3c203529202d206861736829202b20636861723b0a20202020202020202020202068617368203d2068617368202620686173683b0a20202020202020207d0a202020202020202072657475726e204d6174682e6162732868617368292e746f537472696e67283136292e70616453746172742836342c20273027292e737562737472696e6728302c203634293b0a202020207d2c0a0a20202020686173536d617274436f6e7472616374446174612874782c207478446174612c20747848657829207b0a2020202020202020696620287478486578202626202874784865782e696e636c7564657328273533343335662729207c7c2074784865782e696e636c7564657328273635366537343732373937303666363936653734272929292072657475726e20747275653b0a202020202020202072657475726e2066616c73653b0a202020207d2c0a0a202020206578747261637446656546726f6d4865782874784865782c20747829207b0a202020202020202069662028217478486578292072657475726e20303b0a20202020202020200a2020202020202020747279207b0a2020202020202020202020202f2f204c6f6f6b20666f7220636f6d6d6f6e204445524f20666565207061747465726e732028302e3030313235204445524f203d203132353030302061746f6d696320756e697473290a202020202020202020202020636f6e7374207061747465726e73203d205b0a202020202020202020202020202020207b207061747465726e3a20273165383438272c2076616c75653a20302e3030313235207d2c202f2f2031323530303020696e206865780a202020202020202020202020202020207b207061747465726e3a2027343831653031272c2076616c75653a20302e3030313235207d2c202f2f20313235303030206c6974746c6520656e6469616e20200a202020202020202020202020202020207b207061747465726e3a202763333530272c2076616c75653a20302e30303035207d2c202020202f2f20353030303020696e206865780a202020202020202020202020202020207b207061747465726e3a202732373130272c2076616c75653a20302e30303031207d20202020202f2f20313030303020696e206865780a2020202020202020202020205d3b0a2020202020202020202020200a202020202020202020202020636f6e7374206865784c6f776572203d2074784865782e746f4c6f7765724361736528293b0a202020202020202020202020666f722028636f6e7374207b207061747465726e2c2076616c7565207d206f66207061747465726e7329207b0a20202020202020202020202020202020696620286865784c6f7765722e696e636c75646573287061747465726e2929207b0a202020202020202020202020202020202020202072657475726e2076616c75653b0a202020202020202020202020202020207d0a2020202020202020202020207d0a2020202020202020202020200a2020202020202020202020202f2f20466f72205343207472616e73616374696f6e732c20657374696d617465206d696e696d756d206665650a202020202020202020202020636f6e737420747853697a65203d2074784865782e6c656e677468202f20323b0a20202020202020202020202069662028747853697a65203e203130303029207b0a2020202020202020202020202020202072657475726e20302e30303132353b202f2f20466f756e646174696f6e206578706c6f7265722073686f777320302e303031323520666f722074686973207472616e73616374696f6e0a2020202020202020202020207d0a2020202020202020202020200a20202020202020202020202072657475726e20303b0a20202020202020207d20636174636820286572726f7229207b0a20202020202020202020202072657475726e20303b0a20202020202020207d0a202020207d2c0a0a20202020706172736542617369635343417267756d656e747328747848657829207b0a2020202020202020636f6e73742061726773203d205b5d3b0a20202020202020200a20202020202020206966202874784865782026262074784865782e696e636c756465732827353334333566343134333534343934663465272929207b0a202020202020202020202020617267732e70757368287b206e616d653a202753435f414354494f4e272c20747970653a202775696e743634272c2076616c75653a20273027207d293b0a20202020202020207d0a20202020202020206966202874784865782026262074784865782e696e636c7564657328273533343335663439343434383538323030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303031272929207b0a202020202020202020202020617267732e70757368287b206e616d653a202753435f4944272c20747970653a202768617368272c2076616c75653a20273030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303030303127207d293b0a20202020202020207d0a20202020202020206966202874784865782026262074784865782e696e636c7564657328273635366537343732373937303666363936653734272929207b0a202020202020202020202020617267732e70757368287b206e616d653a2027656e747279706f696e74272c20747970653a2027737472696e67272c2076616c75653a2027526567697374657227207d293b0a20202020202020207d0a20202020202020206966202874784865782026262074784865782e696e636c7564657328273665363136643635353336383734363537333734373436353733373436272929207b0a202020202020202020202020617267732e70757368287b206e616d653a20276e616d65272c20747970653a2027737472696e67272c2076616c75653a2027746573747465737427207d293b0a20202020202020207d0a20202020202020200a202020202020202072657475726e20617267733b0a202020207d2c0a0a2020202072656e6465725472616e73616374696f6e4e6f74466f756e642874784861736829207b0a202020202020202072657475726e20273c64697620636c6173733d22656e68616e6365642d63617264223e3c68333e5472616e73616374696f6e204e6f7420466f756e643c2f68333e3c703e5472616e73616374696f6e2027202b20747848617368202b2027206e6f7420666f756e643c2f703e3c2f6469763e273b0a202020207d2c0a0a2020202072656e6465725472616e73616374696f6e4572726f72287478486173682c206572726f7229207b0a202020202020202072657475726e20273c64697620636c6173733d22656e68616e6365642d63617264223e3c68333e4572726f723c2f68333e3c703e4661696c656420746f206c6f6164207472616e73616374696f6e3a2027202b20286572726f722e6d657373616765207c7c206572726f7229202b20273c2f703e3c2f6469763e273b0a202020207d0a7d293b0a0a2a2f6a53435f414354494f4e55012d6618f6f94993f084fbf531277870b07882deeabc153103545002b11b366a8d0121e1fb487cc85094e058e02fd07c7fc14a19d6212126741b97f35c62f478f874000e89da578120832cde5fe0ca316675832653f15017182a973a27e4478e80d275010416969beffa2e8c6d12390116f14acec6faf96c6fd50ca8392aa9e0d8e949910007a50764f934222735add179d04f5eebce968cdb43047c429819cac384be83c30022bc9a6740063c042fb85194f16981680c39acf2cae16267f5133001058f2f82012e72e85c0ccb748407dc265a26ee11592fbd0088e4904e15e181acf8930f1daa0012d85d2f9502207400036f3b5fa9d9f2c97adf8bbeb3f60b7c24f552fcc56ff100083f73a8f0858ee4d4f3e0a809c1de82e9732ca87359378ea80cee44c6a75cae00041d3b4bfef0252d3dbcf7ad8e1e4459b188e5ae5d1df00e71c35a2a2e3dc95001024ff9c405babb90f76c7d1ffcc67fae660563f8ba878f3d51f7200b7d2dbfe80018010fd58eebefedc8d8daf1d20fa5a4fc2b4112cd07479ff33f58f76059ba000009454680ba32baa831d1276be3ed790ca817b59dcc19a1737f73dcc96c9552ed0000c19afadcf389843e87130816087659db49298f4af975d0d006caa787befebb001023b8753791e160a0069052093de256520e8b1488b02d691d8df22c06155222001204a7d215c7edba2cbcc79c54b43f8d3f8d7450520c677350d74039734702c701210f83bf1cd4e819089e4c818d3f190320ce6d090256e77372d6eb7a0cc7d8d1002a1f10b41f330322857fd6cfd8e70f7eed816262426564be1ba4970be88dc221010a705026d8c6ae33bcb9b108b81b51d4e5cdf6b2ea95f77a4044231db53cae6f0003a37ebf0f70cc7e498bc7577dc376e07c6abad07ebfc208dfc328fc22eddce4000e0f27f3bb0af4e03431aca581c2db288e1b6e5f89f07813742d90dfa398b719012b78bceab8f813548269db840fc483c09eb3ad50ba9e63b1e7bac56f02ed45d2001ad3171c830bcaf1be6b336aefe5b82dad1d8bcf81cfc56e8758e169bfa09fd6012bcbaa19cca80de4ad680677c4bc980bfd7c9a2b04df18fc4ded3f90c1dc1cab012c134eb1386e7bf9992fb4993b0eb860875084c934ce55bc661f19d667f3476f01281e09b6f62af5fa4a0800d999eae77a03a7e90a7e415da35b7a075ec45a10370128ce22d8121ca3e0dd5d693c33cdb0c00375905b6d08504d3b1defdb0e4b35550000b6fd1fc88274756d410b610259c14b01b6506a5240392773ce7abbbe5c82f2011cdd7f73f124f93614de7a0238eeb785e25f41e5420f2b715e379e95a99fac78010434b4bd9505e49d090d79f48c80568325fbfe6fc368b8d603f805aba42bd8ac001cae3fd1c7717db738157828e7ca2ad395d1537bf8255d9a5f1c446b777aad8f000a380a32ded83e206900fdc6901b771fc43800e6a42a3d50b1d4409a2e0e982a0106e72f503a8e7bd7159529cac9ed7f5042395adb1b1832f19e443cabb01b8bbc001c288ce2bde3719074dec7b5dca096d6661b474fc5926ba783a078ecabc9886e0017c65da7b9fae37442f273cf884ab4762059a5ab727fe9e242e2c6421f164e4b0011df81a71bf0a5271f30f837192185d96d35922cdb2da4a4aa43fd39e8bef44501003551ffc214f0ef1b62f13f1e219947f436618a9b622667a488823ed6f93cc8000000000000000000000000000000000000000000000000000000000000000000261888c5fa005f5de56e6afb89a940b3b23750aba3bb53bd42c5024c7eb4cf252097edd04e67a0e4beef5c5ff6056199157af1de08acbbf59bc43bca4034998d1ffde90c5c3a0ab67307ffb2897fdfb6f8733480380710c196c2b6bd28832f162468d1d30c74eb916a9e740b38c993174f5bf31b3c724f9895ed239714a8b7912d895e300fd2eaee429126933e4b510fdcefcbdd82764b2758483dcbe3e3792123ada7120aed52c14b0f42fd38fa533ca45342ac1e9d55a5107c8ca490f645d21f1a7f8cbf831286a61b37d0b0563d7dffb6ce8ba35614c6622354c379c36df4157220f3a25c92821a9a5b78b75ef8f951faee7f76838aa0b1717439502d64002f042951627863f9e9b08ab05de33b5ae1b51efc0b693d36b1670ef833c9ae4b000fb4e41710bb28c829fcda09b4b833cb90e6c3b4fd1d0f55b524f6223ceeba74002bc211c795648372c98cb93c79589ab08db1ccdc751ca2cb521c0d55cb003b80083f8532250ef2d9e0c2a53e3912399adee74db91c08332df3e2cf21ec6f4661216d7bd3c3200c7e7544a1b9a84e7b1e2806edf36992cef20bc64840b6ac46a40d009c330f9fb1c1c20e05e004ffc49bb2b0e77b2af8f90c38ad805ee18c3f961b779bd52bb33309203b437e12f8b6a9eab131252701423933e0b2fe16fe8104057189451d5c68b67b6044c960f1f6518d0d903aef95bb941d3a08a0cc3f3b3614c25d4f4cfd70e73faf602b4f3bdad69fab873d7651d0dedfa39defa06d57c607fda12806324398efe361264d2989dc228aa9fce2d6e56383da88b8727cfd9a1422fa6772be3fdba7b9ccdeeec1600cfa61246846a9f0feaec01039fc3befb5159c9d07329fcd5731e8bb7992897ceed6dc238c2cf4bdf0f57a0e8537d4c226000cead04d1d61a68db3a6236712109f46f02264e05043616fbee2a083e1c320b301203bdc24ad2f0c6d257c77c2b8ad9e5dbfd83cb7b731c467b855bc258c82479a000a643fe4c48695661f5312b4c39e6eddeebfaa00beecc776b4ac09e62d34a2aa00136eee8859490f06aefc40b4f87495eeaf42146f15447da98a00730c45f955680121c3bbc62635297f41a3c501dad3dee5fe391b9d2051df4254e36e517b5a5f5c012c04902e1c5aef9592afa0d98372cad53c552c2a5c5756c8e2145051bc5da6090121527028ba5b2ddc4c1a29bcb122314d11e98be2cef389e4707569e2a6c75fd0001f1d54242192a3256c717e435210979e6b1c9ed3dda2b84513b39c91f097f1f5012608c7d47c4de0d680b852b4bc0b5da126a9369a7707e69db2e1d9ba59e4d039000ed9b164aaeff2e612b867b811087be634930aeacba118280f2df6ce4de481c0000e3f842e793481eeeb0c66d9b50750dfcaa6121f92f2fb253dfbb758e0369aee0024c861fe4e7c0b6570ae3897884667f3ecbf656929136679048f38ab99675c16011f55cd6689de5810179ee0e2d970ef8e32443f855861fe03aae0c7fe112eee4500
DERO explorer source code | explorer version (api): under development (1.0) | dero version: golang pre-alpha | Copyright 2017-2025 Dero Project