<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<ndbx formatVersion="21" type="file" uuid="00ae9047-2dea-4dc3-a8c6-4683be6d631f">
    <property name="canvasHeight" value="1200"/>
    <property name="canvasWidth" value="1200"/>
    <property name="canvasX" value="0"/>
    <property name="canvasY" value="0"/>
    <node name="root" prototype="core.network" renderedChild="combine1">
        <node name="colored_text" position="0.00,5.00" prototype="core.network" renderedChild="switch1">
            <node name="colorize1" position="-17.00,7.00" prototype="corevector.colorize">
                <port name="fill" type="color" value="#858dbdff"/>
            </node>
            <node name="colorize2" position="-14.00,7.00" prototype="corevector.colorize">
                <port name="fill" type="color" value="#fa0000ff"/>
            </node>
            <node name="compare1" position="-8.00,8.00" prototype="math.compare">
                <port name="value2" type="float" value="9.0"/>
            </node>
            <node name="equals1" position="-11.00,8.00" prototype="string.equals">
                <port name="equals" type="string" value="Poema"/>
            </node>
            <node name="length1" position="-8.00,6.00" prototype="string.length"/>
            <node name="multiply1" position="-11.00,10.00" prototype="math.multiply"/>
            <node name="null1" position="-11.00,3.00" prototype="corevector.null"/>
            <node name="number1" position="-8.00,7.00" prototype="math.number"/>
            <node name="sub_string1" position="-11.00,7.00" prototype="string.sub_string">
                <port name="end" type="int" value="6"/>
            </node>
            <node name="switch1" position="-14.00,12.00" prototype="list.switch"/>
            <node name="textpath1" position="-17.00,6.00" prototype="corevector.textpath">
                <port name="font_size" type="float" value="8.0"/>
                <port name="align" type="string" value="LEFT"/>
                <port name="position" type="point" value="0.00,3.00"/>
            </node>
            <node name="textpath2" position="-14.00,6.00" prototype="corevector.textpath">
                <port name="font_name" type="string" value="Verdana-Bold"/>
                <port name="font_size" type="float" value="10.0"/>
                <port name="align" type="string" value="LEFT"/>
                <port name="position" type="point" value="0.00,4.00"/>
            </node>
            <port childReference="null1.shape" description="The input shape." label="" name="text_value" range="value" type="geometry" widget="none"/>
            <conn input="equals1.string" output="sub_string1"/>
            <conn input="sub_string1.string" output="null1"/>
            <conn input="length1.string" output="null1"/>
            <conn input="number1.value" output="length1"/>
            <conn input="compare1.value1" output="number1"/>
            <conn input="multiply1.value1" output="equals1"/>
            <conn input="multiply1.value2" output="compare1"/>
            <conn input="switch1.index" output="multiply1"/>
            <conn input="textpath1.text" output="null1"/>
            <conn input="textpath2.text" output="null1"/>
            <conn input="colorize1.shape" output="textpath1"/>
            <conn input="colorize2.shape" output="textpath2"/>
            <conn input="switch1.input1" output="colorize1"/>
            <conn input="switch1.input2" output="colorize2"/>
        </node>
        <node name="colorize1" position="-4.00,15.00" prototype="corevector.colorize">
            <port name="fill" type="color" value="#ffffffff"/>
        </node>
        <node name="combine1" position="-1.00,18.00" prototype="list.combine"/>
        <node name="connect_items" position="6.00,15.00" prototype="core.network" renderedChild="colorize1">
            <node comment="calculate quad distance so that all curves bend toward center" name="bend_inward" position="-7.00,22.00" prototype="core.network" renderedChild="subtract1">
                <node name="compare3" position="-6.00,24.00" prototype="math.compare">
                    <port name="value2" type="float" value="-180.0"/>
                    <port name="comparator" type="string" value="&gt;"/>
                </node>
                <node name="multiply1" position="-6.00,25.00" prototype="math.multiply">
                    <port name="value2" type="float" value="100.0"/>
                </node>
                <node name="spin_last" position="-6.00,21.00" prototype="core.network" renderedChild="combine1">
                    <node name="add1" position="4.00,26.00" prototype="math.add">
                        <port name="value2" type="float" value="360.0"/>
                    </node>
                    <node name="combine1" position="2.00,28.00" prototype="list.combine"/>
                    <node name="last1" position="4.00,24.00" prototype="list.last"/>
                    <node name="null1" position="2.00,22.00" prototype="corevector.null"/>
                    <node name="rest1" position="1.00,25.00" prototype="list.rest"/>
                    <node name="reverse1" position="1.00,24.00" prototype="list.reverse"/>
                    <node name="reverse2" position="1.00,26.00" prototype="list.reverse"/>
                    <port childReference="null1.shape" description="The input shape." label="" name="list" range="list" type="geometry" widget="none"/>
                    <conn input="rest1.list" output="reverse1"/>
                    <conn input="reverse2.list" output="rest1"/>
                    <conn input="add1.value1" output="last1"/>
                    <conn input="combine1.list1" output="reverse2"/>
                    <conn input="combine1.list7" output="add1"/>
                    <conn input="reverse1.list" output="null1"/>
                    <conn input="last1.list" output="null1"/>
                </node>
                <node name="subtract1" position="-6.00,26.00" prototype="math.subtract">
                    <port name="value2" type="float" value="50.0"/>
                </node>
                <node name="subtract2" position="-6.00,23.00" prototype="math.subtract"/>
                <node name="true_angle" position="-9.00,20.00" prototype="core.network" renderedChild="switch2">
                    <node name="add1" position="-15.00,12.00" prototype="math.add">
                        <port name="value2" type="float" value="360.0"/>
                    </node>
                    <node name="angle3" position="-16.00,10.00" prototype="math.angle"/>
                    <node name="compare4" position="-11.00,12.00" prototype="math.compare"/>
                    <node name="switch2" position="-16.00,15.00" prototype="list.switch"/>
                    <port childReference="angle3.point2" description="" label="" name="point" range="value" type="point" value="100.00,100.00" widget="point"/>
                    <conn input="compare4.value1" output="angle3"/>
                    <conn input="add1.value1" output="angle3"/>
                    <conn input="switch2.input2" output="add1"/>
                    <conn input="switch2.input1" output="angle3"/>
                    <conn input="switch2.index" output="compare4"/>
                </node>
                <node name="true_angle1" position="-6.00,20.00" prototype="core.network" renderedChild="switch2">
                    <node name="add1" position="-15.00,12.00" prototype="math.add">
                        <port name="value2" type="float" value="360.0"/>
                    </node>
                    <node name="angle3" position="-16.00,10.00" prototype="math.angle"/>
                    <node name="compare4" position="-11.00,12.00" prototype="math.compare"/>
                    <node name="switch2" position="-16.00,15.00" prototype="list.switch"/>
                    <port childReference="angle3.point2" description="" label="" name="point" range="value" type="point" value="100.00,100.00" widget="point"/>
                    <conn input="compare4.value1" output="angle3"/>
                    <conn input="add1.value1" output="angle3"/>
                    <conn input="switch2.input2" output="add1"/>
                    <conn input="switch2.input1" output="angle3"/>
                    <conn input="switch2.index" output="compare4"/>
                </node>
                <port childReference="true_angle.point" description="" label="" name="point_1" range="list" type="point" value="100.00,100.00" widget="point"/>
                <port childReference="true_angle1.point" description="" label="" name="point_2" range="list" type="point" value="100.00,100.00" widget="point"/>
                <conn input="multiply1.value1" output="compare3"/>
                <conn input="subtract1.value1" output="multiply1"/>
                <conn input="spin_last.list" output="true_angle1"/>
                <conn input="subtract2.value1" output="true_angle"/>
                <conn input="subtract2.value2" output="spin_last"/>
                <conn input="compare3.value1" output="subtract2"/>
            </node>
            <node name="colorize1" position="-1.00,27.00" prototype="corevector.colorize">
                <port name="fill" type="color" value="#00000000"/>
                <port name="stroke" type="color" value="#51aee3ff"/>
                <port name="strokeWidth" type="float" value="2.0"/>
            </node>
            <node name="compare2" position="-3.00,14.00" prototype="math.compare">
                <port name="value2" type="float" value="1.0"/>
                <port name="comparator" type="string" value="!="/>
            </node>
            <node name="count1" position="-3.00,13.00" prototype="list.count"/>
            <node comment="don't draw curves for terms which only occur once" name="cull1" position="-4.00,16.00" prototype="list.cull"/>
            <node comment="find all instances of a given term" name="filter_data1" position="-4.00,11.00" prototype="data.filter_data">
                <port name="key" type="string" value="Poemas"/>
            </node>
            <node name="lookup2" position="-4.00,17.00" prototype="data.lookup">
                <port name="key" type="string" value="Coordinates"/>
            </node>
            <node name="quad_curve1" position="-4.00,25.00" prototype="corevector.quad_curve"/>
            <node name="shift1" position="-3.00,20.00" prototype="list.shift"/>
            <node name="vary_color" position="0.00,20.00" prototype="core.network" renderedChild="hsb_color1">
                <node name="first1" position="-2.00,17.00" prototype="list.first"/>
                <node name="hsb_color1" position="-2.00,26.00" prototype="color.hsb_color">
                    <port name="hue" type="float" value="160.0"/>
                    <port name="saturation" type="float" value="211.0"/>
                    <port name="brightness" type="float" value="166.0"/>
                    <port name="alpha" type="float" value="128.0"/>
                </node>
                <node name="lookup1" position="-2.00,20.00" prototype="data.lookup"/>
                <node name="lookup3" position="1.00,20.00" prototype="data.lookup">
                    <port name="key" type="string" value="y"/>
                </node>
                <node name="multiply2" position="-2.00,22.00" prototype="math.multiply"/>
                <node name="random_numbers1" position="-2.00,24.00" prototype="math.random_numbers">
                    <port name="amount" type="int" value="1"/>
                    <port name="end" type="float" value="255.0"/>
                </node>
                <port childReference="first1.list" description="The input list." label="" name="list" range="list" type="list" widget="none"/>
                <conn input="lookup1.list" output="first1"/>
                <conn input="lookup3.list" output="first1"/>
                <conn input="multiply2.value1" output="lookup1"/>
                <conn input="multiply2.value2" output="lookup3"/>
                <conn input="random_numbers1.seed" output="multiply2"/>
                <conn input="hsb_color1.saturation" output="random_numbers1"/>
            </node>
            <port childReference="filter_data1.data" description="" label="" name="data" range="list" type="data" widget="none"/>
            <port childReference="filter_data1.value" description="" label="" name="value" range="value" type="string" value="Bob" widget="string"/>
            <conn input="count1.list" output="filter_data1"/>
            <conn input="quad_curve1.point2" output="shift1"/>
            <conn input="compare2.value1" output="count1"/>
            <conn input="cull1.list" output="filter_data1"/>
            <conn input="cull1.booleans" output="compare2"/>
            <conn input="lookup2.list" output="cull1"/>
            <conn input="quad_curve1.point1" output="lookup2"/>
            <conn input="shift1.list" output="lookup2"/>
            <conn input="colorize1.shape" output="quad_curve1"/>
            <conn input="vary_color.list" output="lookup2"/>
            <conn input="colorize1.stroke" output="vary_color"/>
            <conn input="bend_inward.point_1" output="lookup2"/>
            <conn input="bend_inward.point_2" output="shift1"/>
            <conn input="quad_curve1.distance" output="bend_inward"/>
        </node>
        <node name="coordinates1" position="6.00,7.00" prototype="math.coordinates">
            <port name="distance" type="float" value="320.0"/>
        </node>
        <node name="coordinates2" position="9.00,7.00" prototype="math.coordinates">
            <port name="distance" type="float" value="317.0"/>
        </node>
        <node name="count1" position="6.00,3.00" prototype="list.count"/>
        <node name="distinct1" position="7.00,12.00" prototype="list.distinct">
            <port name="key" type="string" value="Poemas"/>
        </node>
        <node name="import_csv1" position="3.00,1.00" prototype="data.import_csv">
            <port name="file" type="string" value="Poemas_novos_otimizado2_-_Página1.csv"/>
        </node>
        <node name="lookup1" position="3.00,3.00" prototype="data.lookup">
            <port name="key" type="string" value="Poemas"/>
        </node>
        <node name="lookup2" position="7.00,13.00" prototype="data.lookup">
            <port name="key" type="string" value="Poemas"/>
        </node>
        <node name="make_table" position="6.00,10.00" prototype="core.network" renderedChild="zip_map1">
            <node name="combine1" position="5.00,9.00" prototype="list.combine"/>
            <node name="make_strings1" position="2.00,9.00" prototype="string.make_strings">
                <port name="string" type="string" value="Poemas,Coordinates"/>
                <port name="separator" type="string" value=","/>
            </node>
            <node name="zip_map1" position="4.00,11.00" prototype="list.zip_map"/>
            <port childReference="combine1.list1" description="The first list." label="" name="list1" range="value" type="list" widget="none"/>
            <port childReference="combine1.list2" description="The second list." label="" name="list2" range="value" type="list" widget="none"/>
            <conn input="zip_map1.keys" output="make_strings1"/>
            <conn input="zip_map1.values" output="combine1"/>
        </node>
        <node name="rect1" position="-4.00,14.00" prototype="corevector.rect">
            <port name="width" type="float" value="1200.0"/>
            <port name="height" type="float" value="1200.0"/>
        </node>
        <node name="rotate1" position="0.00,8.00" prototype="corevector.rotate"/>
        <node name="sample1" position="6.00,4.00" prototype="math.sample">
            <port name="end" type="float" value="358.0"/>
        </node>
        <node name="translate1" position="0.00,11.00" prototype="corevector.translate"/>
        <conn input="lookup1.list" output="import_csv1"/>
        <conn input="sample1.amount" output="count1"/>
        <conn input="coordinates1.angle" output="sample1"/>
        <conn input="translate1.shape" output="rotate1"/>
        <conn input="translate1.translate" output="coordinates1"/>
        <conn input="rotate1.angle" output="sample1"/>
        <conn input="count1.list" output="import_csv1"/>
        <conn input="make_table.list1" output="lookup1"/>
        <conn input="distinct1.list" output="make_table"/>
        <conn input="lookup2.list" output="distinct1"/>
        <conn input="coordinates2.angle" output="sample1"/>
        <conn input="make_table.list2" output="coordinates2"/>
        <conn input="colored_text.text_value" output="lookup1"/>
        <conn input="rotate1.shape" output="colored_text"/>
        <conn input="connect_items.data" output="make_table"/>
        <conn input="connect_items.value" output="lookup2"/>
        <conn input="combine1.list7" output="connect_items"/>
        <conn input="combine1.list3" output="translate1"/>
        <conn input="colorize1.shape" output="rect1"/>
        <conn input="combine1.list1" output="colorize1"/>
    </node>
</ndbx>
