// File: contracts/Renderer.sol



//SPDX-License-Identifier: Unlicense

pragma solidity ^0.8.4;

interface IRenderer {
    function render(uint256 id) external view returns (string calldata);
}

contract Renderer {
    IRenderer private renderer2;
    IRenderer private renderer3;

    // string to big for one contract
    function setRenderers(IRenderer _renderer2, IRenderer _renderer3) external {
        require(address(renderer2) == address(0x0));
        renderer2 = _renderer2;
        renderer3 = _renderer3;
    }

    function render(uint256 _id) external view returns (string memory) {
        return
            string(
                abi.encodePacked(
                    '<svg width="744" baseProfile="full" version="1.1" viewBox="0 0 744 835" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <defs> <style type="text/css"><![CDATA[#screen {font-family: "DejaVu Sans Mono", monospace; font-style: normal; font-size: 14px;} text { dominant-baseline: text-before-edge; white-space: pre; } :root {  --animation-duration: 11875ms; } @keyframes roll {  9.112%{transform:translateY(-8500px)}10.282%{transform:translateY(-9350px)}10.897%{transform:translateY(-10200px)}11.318%{transform:translateY(-11050px)}13.078%{transform:translateY(-11900px)}16.236%{transform:translateY(-12750px)}16.253%{transform:translateY(-13600px)}17.709%{transform:translateY(-14450px)}18.400%{transform:translateY(-15300px)}19.074%{transform:translateY(-16150px)}19.091%{transform:translateY(-17000px)}19.764%{transform:translateY(-17850px)}19.773%{transform:translateY(-18700px)}20.446%{transform:translateY(-19550px)}20.472%{transform:translateY(-20400px)}21.128%{transform:translateY(-21250px)}21.154%{transform:translateY(-22100px)}21.811%{transform:translateY(-22950px)}21.827%{transform:translateY(-23800px)}22.493%{transform:translateY(-24650px)}22.509%{transform:translateY(-25500px)}23.175%{transform:translateY(-26350px)}23.192%{transform:translateY(-27200px)}23.857%{transform:translateY(-28050px)}23.874%{transform:translateY(-28900px)}24.539%{transform:translateY(-29750px)}24.556%{transform:translateY(-30600px)}25.221%{transform:translateY(-31450px)}25.246%{transform:translateY(-32300px)}25.903%{transform:translateY(-33150px)}25.920%{transform:translateY(-34000px)}26.585%{transform:translateY(-34850px)}26.611%{transform:translateY(-35700px)}27.267%{transform:translateY(-36550px)}27.293%{transform:translateY(-37400px)}27.949%{transform:translateY(-38250px)}27.966%{transform:translateY(-39100px)}28.623%{transform:translateY(-39950px)}28.648%{transform:translateY(-40800px)}29.314%{transform:translateY(-41650px)}29.331%{transform:translateY(-42500px)}29.996%{transform:translateY(-43350px)}30.029%{transform:translateY(-44200px)}30.678%{transform:translateY(-45050px)}30.686%{transform:translateY(-45900px)}31.352%{transform:translateY(-46750px)}31.368%{transform:translateY(-47600px)}32.034%{transform:translateY(-48450px)}32.051%{transform:translateY(-49300px)}32.716%{transform:translateY(-50150px)}32.733%{transform:translateY(-51000px)}33.389%{transform:translateY(-51850px)}33.406%{transform:translateY(-52700px)}34.080%{transform:translateY(-53550px)}34.097%{transform:translateY(-54400px)}34.762%{transform:translateY(-55250px)}34.779%{transform:translateY(-56100px)}35.444%{transform:translateY(-56950px)}35.469%{transform:translateY(-57800px)}36.118%{transform:translateY(-58650px)}36.143%{transform:translateY(-59500px)}36.808%{transform:translateY(-60350px)}36.834%{transform:translateY(-61200px)}37.491%{transform:translateY(-62050px)}37.516%{transform:translateY(-62900px)}38.173%{transform:translateY(-63750px)}38.855%{transform:translateY(-64600px)}38.872%{transform:translateY(-65450px)}39.537%{transform:translateY(-66300px)}39.562%{transform:translateY(-67150px)}40.219%{transform:translateY(-68000px)}40.236%{transform:translateY(-68850px)}40.901%{transform:translateY(-69700px)}40.926%{transform:translateY(-70550px)}41.575%{transform:translateY(-71400px)}41.608%{transform:translateY(-72250px)}42.265%{transform:translateY(-73100px)}42.274%{transform:translateY(-73950px)}42.947%{transform:translateY(-74800px)}42.973%{transform:translateY(-75650px)}43.629%{transform:translateY(-76500px)}43.655%{transform:translateY(-77350px)}44.312%{transform:translateY(-78200px)}44.328%{transform:translateY(-79050px)}44.994%{transform:translateY(-79900px)}45.011%{transform:translateY(-80750px)}45.676%{transform:translateY(-81600px)}45.701%{transform:translateY(-82450px)}46.358%{transform:translateY(-83300px)}46.375%{transform:translateY(-84150px)}47.048%{transform:translateY(-85000px)}47.057%{transform:translateY(-85850px)}47.731%{transform:translateY(-86700px)}47.747%{transform:translateY(-87550px)}48.413%{transform:translateY(-88400px)}48.421%{transform:translateY(-89250px)}49.095%{transform:translateY(-90100px)}49.112%{transform:translateY(-90950px)}49.777%{transform:translateY(-91800px)}49.794%{transform:translateY(-92650px)}50.459%{transform:translateY(-93500px)}50.476%{transform:translateY(-94350px)}51.141%{transform:translateY(-95200px)}51.166%{transform:translateY(-96050px)}51.823%{transform:translateY(-96900px)}51.857%{transform:translateY(-97750px)}52.505%{transform:translateY(-98600px)}52.522%{transform:translateY(-99450px)}53.187%{transform:translateY(-100300px)}53.204%{transform:translateY(-101150px)}53.861%{transform:translateY(-102000px)}53.878%{transform:translateY(-102850px)}54.543%{transform:translateY(-103700px)}54.560%{transform:translateY(-104550px)}55.225%{transform:translateY(-105400px)}55.251%{transform:translateY(-106250px)}55.907%{transform:translateY(-107100px)}55.924%{transform:translateY(-107950px)}56.589%{transform:translateY(-108800px)}56.606%{transform:translateY(-109650px)}57.272%{transform:translateY(-110500px)}57.288%{transform:translateY(-111350px)}57.954%{transform:translateY(-112200px)}57.971%{transform:translateY(-113050px)}58.636%{transform:translateY(-113900px)}58.653%{transform:translateY(-114750px)}59.318%{transform:translateY(-115600px)}59.335%{transform:translateY(-116450px)}60.000%{transform:translateY(-117300px)}60.025%{transform:translateY(-118150px)}60.674%{transform:translateY(-119000px)}60.707%{transform:translateY(-119850px)}61.347%{transform:translateY(-120700px)}61.364%{transform:translateY(-121550px)}62.021%{transform:translateY(-122400px)}62.712%{transform:translateY(-123250px)}63.385%{transform:translateY(-124100px)}63.419%{transform:translateY(-124950px)}64.067%{transform:translateY(-125800px)}64.093%{transform:translateY(-126650px)}64.749%{transform:translateY(-127500px)}64.775%{transform:translateY(-128350px)}65.432%{transform:translateY(-129200px)}65.465%{transform:translateY(-130050px)}66.105%{transform:translateY(-130900px)}66.796%{transform:translateY(-131750px)}66.813%{transform:translateY(-132600px)}67.478%{transform:translateY(-133450px)}67.495%{transform:translateY(-134300px)}68.160%{transform:translateY(-135150px)}68.185%{transform:translateY(-136000px)}68.842%{transform:translateY(-136850px)}68.859%{transform:translateY(-137700px)}69.524%{transform:translateY(-138550px)}69.541%{transform:translateY(-139400px)}70.206%{transform:translateY(-140250px)}70.232%{transform:translateY(-141100px)}70.880%{transform:translateY(-141950px)}70.897%{transform:translateY(-142800px)}71.571%{transform:translateY(-143650px)}71.587%{transform:translateY(-144500px)}72.253%{transform:translateY(-145350px)}72.269%{transform:translateY(-146200px)}72.935%{transform:translateY(-147050px)}72.952%{transform:translateY(-147900px)}73.617%{transform:translateY(-148750px)}73.642%{transform:translateY(-149600px)}74.291%{transform:translateY(-150450px)}74.316%{transform:translateY(-151300px)}74.973%{transform:translateY(-152150px)}74.998%{transform:translateY(-153000px)}75.655%{transform:translateY(-153850px)}75.672%{transform:translateY(-154700px)}76.337%{transform:translateY(-155550px)}76.362%{transform:translateY(-156400px)}77.011%{transform:translateY(-157250px)}77.693%{transform:translateY(-158100px)}77.718%{transform:translateY(-158950px)}78.375%{transform:translateY(-159800px)}78.400%{transform:translateY(-160650px)}79.057%{transform:translateY(-161500px)}79.082%{transform:translateY(-162350px)}79.739%{transform:translateY(-163200px)}79.764%{transform:translateY(-164050px)}80.421%{transform:translateY(-164900px)}80.438%{transform:translateY(-165750px)}81.103%{transform:translateY(-166600px)} 81.120%{transform:translateY(-167450px)} } #screen_view { animation-duration: 11875ms; animation-iteration-count:infinite; animation-name:roll; animation-timing-function: steps(1,end);  animation-fill-mode: forwards; } ]]></style> <style type="text/css">.foreground {fill: #cccccc;} .background {fill: #0c0c0c;} .color0 {fill: #0c0c0c;} .color1 {fill: #c50f1f;} .color2 {fill: #13a10e;}  .color3 {fill: #c19c00;} .color4 {fill: #0037da;}  .color5 {fill: #881798;} .color6 {fill: #3a96dd;} .color7 {fill: #cccccc;}  .color8 {fill: #767676;}  .color9 {fill: #e74856;}  .color10 {fill: #16c60c;}  .color11 {fill: #f9f1a5;} .color12 {fill: #3b78ff;} .color13 {fill: #b4009e;}  .color14 {fill: #61d6d6;} .color15 {fill: #f2f2f2;}</style></defs><svg id="screen" width="744" height="833" viewBox="0 0 744 833" preserveAspectRatio="xMidYMin slice"><rect class="background" height="100%" width="100%" x="0" y="0"/><defs><g id="g2"><text x="0" textLength="8" class="background"> </text></g><g id="g3"><text x="0" textLength="8" class="background"> </text><text x="8" textLength="736" class="foreground">                                                                                            </text></g><g id="g4"><text x="0" textLength="24" font-weight="bold" class="color10">&#10140;  </text><text x="24" textLength="72" font-weight="bold" class="color14">sudoverse</text><text x="96" textLength="8" class="foreground"> </text><text x="104" textLength="8" class="background"> </text><text x="112" textLength="632" class="foreground">                                                                               </text></g><g id="g5"><text x="0" textLength="24" font-weight="bold" class="color10">&#10140;  </text><text x="24" textLength="72" font-weight="bold" class="color14">sudoverse</text><text x="96" textLength="16" class="foreground"> n</text><text x="112" textLength="8" class="background"> </text><text x="120" textLength="624" class="foreground">                                                                              </text></g><g id="g6"><text x="0" textLength="24" font-weight="bold" class="color10">&#10140;  </text><text x="24" textLength="72" font-weight="bold" class="color14">sudoverse</text><text x="96" textLength="24" class="foreground"> no</text><text x="120" textLength="8" class="background"> </text><text x="128" textLength="616" class="foreground">                                                                             </text></g><g id="g7"><text x="0" textLength="24" font-weight="bold" class="color10">&#10140;  </text><text x="24" textLength="72" font-weight="bold" class="color14">sudoverse</text><text x="96" textLength="32" class="foreground"> nod</text><text x="128" textLength="8" class="background"> </text><text x="136" textLength="608" class="foreground">                                                                            </text></g><g id="g8"><text x="0" textLength="24" font-weight="bold" class="color10">&#10140;  </text><text x="24" textLength="72" font-weight="bold" class="color14">sudoverse</text><text x="96" textLength="40" class="foreground"> node</text><text x="136" textLength="8" class="background"> </text><text x="144" textLength="600" class="foreground">                                                                           </text></g><g id="g9"><text x="0" textLength="24" font-weight="bold" class="color10">&#10140;  </text><text x="24" textLength="72" font-weight="bold" class="color14">sudoverse</text><text x="96" textLength="48" class="foreground"> node </text><text x="144" textLength="8" class="background"> </text><text x="152" textLength="592" class="foreground">                                                                          </text></g><g id="g10"><text x="0" textLength="24" font-weight="bold" class="color10">&#10140;  </text><text x="24" textLength="72" font-weight="bold" class="color14">sudoverse</text><text x="96" textLength="56" class="foreground"> node i</text><text x="152" textLength="8" class="background"> </text><text x="160" textLength="584" class="foreground">                                                                         </text></g><g id="g11"><text x="0" textLength="24" font-weight="bold" class="color10">&#10140;  </text><text x="24" textLength="72" font-weight="bold" class="color14">sudoverse</text><text x="96" textLength="64" class="foreground"> node in</text><text x="160" textLength="8" class="background"> </text><text x="168" textLength="576" class="foreground">                                                                        </text></g><g id="g12"><text x="0" textLength="24" font-weight="bold" class="color10">&#10140;  </text><text x="24" textLength="72" font-weight="bold" class="color14">sudoverse</text><text x="96" textLength="72" class="foreground"> node ind</text><text x="168" textLength="8" class="background"> </text><text x="176" textLength="568" class="foreground">                                                                       </text></g><g id="g13"><text x="0" textLength="24" font-weight="bold" class="color10">&#10140;  </text><text x="24" textLength="72" font-weight="bold" class="color14">sudoverse</text><text x="96" textLength="80" class="foreground"> node inde</text><text x="176" textLength="8" class="background"> </text><text x="184" textLength="560" class="foreground">                                                                      </text></g><g id="g14"><text x="0" textLength="24" font-weight="bold" class="color10">&#10140;  </text><text x="24" textLength="72" font-weight="bold" class="color14">sudoverse</text><text x="96" textLength="112" class="foreground"> node index.js</text><text x="208" textLength="8" font-weight="bold" class="foreground"> </text><text x="216" textLength="8" class="background"> </text><text x="224" textLength="520" class="foreground">                                                                 </text></g><g id="g15"><text x="0" textLength="24" font-weight="bold" class="color10">&#10140;  </text><text x="24" textLength="72" font-weight="bold" class="color14">sudoverse</text><text x="96" textLength="112" class="foreground"> node index.js</text><text x="208" textLength="8" class="background"> </text><text x="216" textLength="528" class="foreground">                                                                  </text></g><g id="g16"><text x="0" textLength="24" font-weight="bold" class="color10">&#10140;  </text><text x="24" textLength="72" font-weight="bold" class="color14">sudoverse</text><text x="96" textLength="648" class="foreground"> node index.js                                                                   </text></g><g id="g17"><text x="0" textLength="24" class="color6">&#127761; </text><text x="24" textLength="392" class="foreground"> on-chain ponzi game exploring SudoSwap boundaries &#129412;</text></g><g id="g18"><text x="0" textLength="24" class="color6">&#127762; </text><text x="24" textLength="720" class="foreground"> on-chain ponzi game exploring SudoSwap boundaries &#129412;                                         </text></g><g id="g19"><text x="0" textLength="24" class="color6">&#127763; </text><text x="24" textLength="720" class="foreground"> on-chain ponzi game exploring SudoSwap boundaries &#129412;                                         </text></g><g id="g20"><text x="0" textLength="24" class="color6">&#127764; </text><text x="24" textLength="720" class="foreground"> on-chain ponzi game exploring SudoSwap boundaries &#129412;                                         </text></g><g id="g21"><text x="0" textLength="24" class="color6">&#127765; </text><text x="24" textLength="720" class="foreground"> on-chain ponzi game exploring SudoSwap boundaries &#129412;                                         </text></g><g id="g22"><text x="0" textLength="24" class="color6">&#127766; </text><text x="24" textLength="720" class="foreground"> on-chain ponzi game exploring SudoSwap boundaries &#129412;                                         </text></g><g id="g23"><text x="0" textLength="24" class="color6">&#127767; </text><text x="24" textLength="720" class="foreground"> on-chain ponzi game exploring SudoSwap boundaries &#129412;                                         </text></g><g id="g24"><text x="0" textLength="24" class="color6">&#127768; </text><text x="24" textLength="720" class="foreground"> on-chain ponzi game exploring SudoSwap boundaries &#129412;                                         </text></g><g id="g25"><text x="0" textLength="744" class="foreground">                                                                                             </text></g><g id="g26"><text x="0" textLength="24" class="color6">&#127761; </text><text x="24" textLength="720" class="foreground"> on-chain ponzi game exploring SudoSwap boundaries &#129412;                                         </text></g><g id="g27"><text x="0" textLength="24" class="color6">&#129304; </text><text x="24" textLength="720" class="foreground"> Metadata &amp; mechanics will be revealed when the pool is emptied &#128073; ',
                    renderer2.render(_id), //lol1
                    renderer3.render(_id) //lol2
                )
            );
    }

    function attributes(uint256 _id) external view returns (string memory) {
        return '"attributes":[]}';
    }
}