Improve the handling of alternative of intern methods since an extern body can be used as a fallback.
~~~
redef class Int
fun foo is intern `{ return foo(self) `}
end
~~~
Moreover, NativeArray intern alternatives is now fixed with nitc.
There is still an issue with the extern methods of NativeArray in the interpreter.
Pull-Request: #1898
Reviewed-by: Alexis Laferrière <alexis.laf@xymus.net>
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
--- /dev/null
+NITC=../../bin/nitc
+NITLS=../../bin/nitls
+
+all: bin/asteronits
+
+bin/asteronits: $(shell ${NITLS} -M src/asteronits.nit linux) ${NITC} pre-build
+ ${NITC} src/asteronits.nit -m linux -o $@
+
+bin/texture_atlas_parser: src/texture_atlas_parser.nit
+ ${NITC} src/texture_atlas_parser.nit -o $@
+
+src/controls.nit: art/controls.svg
+ make -C ../inkscape_tools/
+ ../inkscape_tools/bin/svg_to_png_and_nit art/controls.svg -a assets/ -s src/ -x 2.0 -g
+
+src/spritesheet_city.nit: bin/texture_atlas_parser
+ bin/texture_atlas_parser art/sheet.xml --dir src/ -n spritesheet
+
+pre-build: src/controls.nit src/spritesheet_city.nit
+
+check: bin/asteronits
+ NIT_TESTING=true bin/asteronits
+
+# ---
+# Android
+
+android: bin/asteronits.apk
+bin/asteronits.apk: $(shell ${NITLS} -M src/asteronits.nit android) ${NITC} res/drawable-hdpi/icon.png pre-build
+ ${NITC} src/android.nit -m android -o $@
+
+android-release: $(shell ${NITLS} -M src/asteronits.nit android) ${NITC} res/drawable-hdpi/icon.png pre-build
+ ${NITC} src/android.nit -m android -o bin/asteronits.apk --release
+
+res/drawable-hdpi/icon.png: art/icon.svg
+ make -C ../inkscape_tools/
+ ../inkscape_tools/bin/svg_to_icons --out res --android art/icon.svg
--- /dev/null
+Sample portable 2D game implemented with the `simple_2d` API of gamnit
+
+This projects is organized in 3 modules, one per concern:
+
+* `game_logic` defines the pure game logic without any of the display details.
+
+* `asteronits` implements the display logic with support for keyboard input events.
+
+* `touch_ui` adds an interface for touchscreen devices with buttons to open fire and control the ship.
+
+# Art
+
+* Graphics and laser sound created by Kenney.nl under CC0.
+* Remote explosion sound created by NenadSimic under CC0.
+* Close explosion sound created by dklon under CC-BY 3.0.
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.48.5 r10040"
+ width="900"
+ height="592"
+ sodipodi:docname="controls.svg">
+ <metadata
+ id="metadata501">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="2558"
+ inkscape:window-height="1379"
+ id="namedview499"
+ showgrid="false"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ inkscape:zoom="2.5371829"
+ inkscape:cx="273.28266"
+ inkscape:cy="501.2337"
+ inkscape:window-x="2560"
+ inkscape:window-y="27"
+ inkscape:window-maximized="1"
+ inkscape:current-layer="0joystick_down" />
+ <defs
+ id="defs4">
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.02929688,0.02929688,0,44,484)"
+ id="gradient0">
+ <stop
+ offset="0"
+ stop-color="#383838"
+ id="stop7" />
+ <stop
+ offset="1"
+ stop-color="#585858"
+ id="stop9" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.02929688,0.02929688,0,104,484)"
+ id="gradient1">
+ <stop
+ offset="0"
+ stop-color="#383838"
+ id="stop12" />
+ <stop
+ offset="1"
+ stop-color="#585858"
+ id="stop14" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.02929688,0.02929688,0,164,484)"
+ id="gradient2">
+ <stop
+ offset="0"
+ stop-color="#383838"
+ id="stop17" />
+ <stop
+ offset="1"
+ stop-color="#585858"
+ id="stop19" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.02929688,0.02929688,0,224,484)"
+ id="gradient3">
+ <stop
+ offset="0"
+ stop-color="#383838"
+ id="stop22" />
+ <stop
+ offset="1"
+ stop-color="#585858"
+ id="stop24" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.02929688,0.02929688,0,284,484)"
+ id="gradient4">
+ <stop
+ offset="0"
+ stop-color="#383838"
+ id="stop27" />
+ <stop
+ offset="1"
+ stop-color="#585858"
+ id="stop29" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.02929688,0.02929688,0,344,484)"
+ id="gradient5">
+ <stop
+ offset="0"
+ stop-color="#383838"
+ id="stop32" />
+ <stop
+ offset="1"
+ stop-color="#585858"
+ id="stop34" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.02929688,0.02929688,0,44,424)"
+ id="gradient6">
+ <stop
+ offset="0"
+ stop-color="#383838"
+ id="stop37" />
+ <stop
+ offset="1"
+ stop-color="#585858"
+ id="stop39" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.02929688,0.02929688,0,104,424)"
+ id="gradient7">
+ <stop
+ offset="0"
+ stop-color="#383838"
+ id="stop42" />
+ <stop
+ offset="1"
+ stop-color="#585858"
+ id="stop44" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.02929688,0.02929688,0,164,424)"
+ id="gradient8">
+ <stop
+ offset="0"
+ stop-color="#383838"
+ id="stop47" />
+ <stop
+ offset="1"
+ stop-color="#585858"
+ id="stop49" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.02929688,0.02929688,0,224,424)"
+ id="gradient9">
+ <stop
+ offset="0"
+ stop-color="#383838"
+ id="stop52" />
+ <stop
+ offset="1"
+ stop-color="#585858"
+ id="stop54" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.02929688,0.02929688,0,284,424)"
+ id="gradient10">
+ <stop
+ offset="0"
+ stop-color="#383838"
+ id="stop57" />
+ <stop
+ offset="1"
+ stop-color="#585858"
+ id="stop59" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.02929688,0.02929688,0,344,424)"
+ id="gradient11">
+ <stop
+ offset="0"
+ stop-color="#383838"
+ id="stop62" />
+ <stop
+ offset="1"
+ stop-color="#585858"
+ id="stop64" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.02929688,0.02929688,0,44,364)"
+ id="gradient12">
+ <stop
+ offset="0"
+ stop-color="#383838"
+ id="stop67" />
+ <stop
+ offset="1"
+ stop-color="#585858"
+ id="stop69" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.02929688,0.02929688,0,104,364)"
+ id="gradient13">
+ <stop
+ offset="0"
+ stop-color="#383838"
+ id="stop72" />
+ <stop
+ offset="1"
+ stop-color="#585858"
+ id="stop74" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.02929688,0.02929688,0,164,364)"
+ id="gradient14">
+ <stop
+ offset="0"
+ stop-color="#383838"
+ id="stop77" />
+ <stop
+ offset="1"
+ stop-color="#585858"
+ id="stop79" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.02929688,0.02929688,0,224,364)"
+ id="gradient15">
+ <stop
+ offset="0"
+ stop-color="#383838"
+ id="stop82" />
+ <stop
+ offset="1"
+ stop-color="#585858"
+ id="stop84" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.02929688,0.02929688,0,284,364)"
+ id="gradient16">
+ <stop
+ offset="0"
+ stop-color="#383838"
+ id="stop87" />
+ <stop
+ offset="1"
+ stop-color="#585858"
+ id="stop89" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.02929688,0.02929688,0,344,364)"
+ id="gradient17">
+ <stop
+ offset="0"
+ stop-color="#383838"
+ id="stop92" />
+ <stop
+ offset="1"
+ stop-color="#585858"
+ id="stop94" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.02935791,0.02929688,0,314,574)"
+ id="gradient18">
+ <stop
+ offset="0"
+ stop-color="#383838"
+ id="stop97" />
+ <stop
+ offset="1"
+ stop-color="#585858"
+ id="stop99" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.02935791,0.02929688,0,194,574)"
+ id="gradient19">
+ <stop
+ offset="0"
+ stop-color="#383838"
+ id="stop102" />
+ <stop
+ offset="1"
+ stop-color="#585858"
+ id="stop104" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.04882812,0.04882812,0,700,470)"
+ id="gradient20">
+ <stop
+ offset="0"
+ stop-color="#383838"
+ id="stop107" />
+ <stop
+ offset="1"
+ stop-color="#585858"
+ id="stop109" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.04882812,0.04882812,0,610,470)"
+ id="gradient21">
+ <stop
+ offset="0"
+ stop-color="#383838"
+ id="stop112" />
+ <stop
+ offset="1"
+ stop-color="#585858"
+ id="stop114" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.04882812,0.04882812,0,520,470)"
+ id="gradient22">
+ <stop
+ offset="0"
+ stop-color="#383838"
+ id="stop117" />
+ <stop
+ offset="1"
+ stop-color="#585858"
+ id="stop119" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.04882812,0.04882812,0,430,470)"
+ id="gradient23">
+ <stop
+ offset="0"
+ stop-color="#383838"
+ id="stop122" />
+ <stop
+ offset="1"
+ stop-color="#585858"
+ id="stop124" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.04882812,0.04882812,0,880,380)"
+ id="gradient24">
+ <stop
+ offset="0"
+ stop-color="#383838"
+ id="stop127" />
+ <stop
+ offset="1"
+ stop-color="#585858"
+ id="stop129" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.04882812,0.04882812,0,790,380)"
+ id="gradient25">
+ <stop
+ offset="0"
+ stop-color="#383838"
+ id="stop132" />
+ <stop
+ offset="1"
+ stop-color="#585858"
+ id="stop134" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.04882812,0.04882812,0,700,380)"
+ id="gradient26">
+ <stop
+ offset="0"
+ stop-color="#383838"
+ id="stop137" />
+ <stop
+ offset="1"
+ stop-color="#585858"
+ id="stop139" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.04882812,0.04882812,0,610,380)"
+ id="gradient27">
+ <stop
+ offset="0"
+ stop-color="#383838"
+ id="stop142" />
+ <stop
+ offset="1"
+ stop-color="#585858"
+ id="stop144" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.04882812,0.04882812,0,520,380)"
+ id="gradient28">
+ <stop
+ offset="0"
+ stop-color="#383838"
+ id="stop147" />
+ <stop
+ offset="1"
+ stop-color="#585858"
+ id="stop149" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.04882812,0.04882812,0,430,380)"
+ id="gradient29">
+ <stop
+ offset="0"
+ stop-color="#383838"
+ id="stop152" />
+ <stop
+ offset="1"
+ stop-color="#585858"
+ id="stop154" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.09765625,0.09765625,0,279.95,240)"
+ id="gradient30">
+ <stop
+ offset="0"
+ stop-color="#383838"
+ id="stop157" />
+ <stop
+ offset="1"
+ stop-color="#585858"
+ id="stop159" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0.04142761,-0.04142761,0.04142761,0.04142761,279.95,70)"
+ id="gradient31">
+ <stop
+ offset="0"
+ stop-color="#383838"
+ id="stop162" />
+ <stop
+ offset="1"
+ stop-color="#585858"
+ id="stop164" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.05493164,0.05493164,0,279.95,70)"
+ id="gradient32">
+ <stop
+ offset="0.00392156862745098"
+ stop-color="#434343"
+ id="stop167" />
+ <stop
+ offset="1"
+ stop-color="#2C2C2C"
+ id="stop169" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.09762573,0.09762573,0,459.95,239.95)"
+ id="gradient33">
+ <stop
+ offset="0"
+ stop-color="#383838"
+ id="stop172" />
+ <stop
+ offset="1"
+ stop-color="#585858"
+ id="stop174" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.02935791,0.02929688,0,74,574)"
+ id="gradient34">
+ <stop
+ offset="0"
+ stop-color="#383838"
+ id="stop177" />
+ <stop
+ offset="1"
+ stop-color="#585858"
+ id="stop179" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.09765625,0.09765625,0,840,240)"
+ id="gradient35">
+ <stop
+ offset="0"
+ stop-color="#383838"
+ id="stop182" />
+ <stop
+ offset="1"
+ stop-color="#585858"
+ id="stop184" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0.05392456,-0.05392456,0.05392456,0.05392456,839.45,70.45)"
+ id="gradient36">
+ <stop
+ offset="0"
+ stop-color="#383838"
+ id="stop187" />
+ <stop
+ offset="1"
+ stop-color="#585858"
+ id="stop189" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.07260132,0.07260132,0,839.4,70.5)"
+ id="gradient37">
+ <stop
+ offset="0.00392156862745098"
+ stop-color="#434343"
+ id="stop192" />
+ <stop
+ offset="1"
+ stop-color="#2C2C2C"
+ id="stop194" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.04608154,0.04608154,0,650.5,117.75)"
+ id="gradient38">
+ <stop
+ offset="0"
+ stop-color="#383838"
+ id="stop197" />
+ <stop
+ offset="1"
+ stop-color="#585858"
+ id="stop199" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.0378418,0.03723145,0,692.7,200.5)"
+ id="gradient39">
+ <stop
+ offset="0"
+ stop-color="#383838"
+ id="stop202" />
+ <stop
+ offset="1"
+ stop-color="#585858"
+ id="stop204" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.0447998,0.04544067,0,650.5,282.7)"
+ id="gradient40">
+ <stop
+ offset="0"
+ stop-color="#383838"
+ id="stop207" />
+ <stop
+ offset="1"
+ stop-color="#585858"
+ id="stop209" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.03723145,0.03723145,0,607.75,200.5)"
+ id="gradient41">
+ <stop
+ offset="0"
+ stop-color="#383838"
+ id="stop212" />
+ <stop
+ offset="1"
+ stop-color="#585858"
+ id="stop214" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.09765625,0.09765625,0,100,240)"
+ id="gradient42">
+ <stop
+ offset="0"
+ stop-color="#383838"
+ id="stop217" />
+ <stop
+ offset="1"
+ stop-color="#585858"
+ id="stop219" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.05267334,0.05264282,0,100.05,70.05)"
+ id="gradient43">
+ <stop
+ offset="0.00392157"
+ stop-color="#434343"
+ id="stop222"
+ style="stop-color:#262626;stop-opacity:1;" />
+ <stop
+ offset="1"
+ stop-color="#2C2C2C"
+ id="stop224"
+ style="stop-color:#0d0d0d;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0.04142761,-0.04142761,0.04142761,0.04142761,100.1,70.15)"
+ id="gradient44">
+ <stop
+ offset="0"
+ stop-color="#383838"
+ id="stop227" />
+ <stop
+ offset="1"
+ stop-color="#585858"
+ id="stop229" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.04882812,0.04882812,0,880,470)"
+ id="gradient45">
+ <stop
+ offset="0"
+ stop-color="#383838"
+ id="stop232" />
+ <stop
+ offset="1"
+ stop-color="#585858"
+ id="stop234" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.04882812,0.04882812,0,790,470)"
+ id="gradient46">
+ <stop
+ offset="0"
+ stop-color="#383838"
+ id="stop237" />
+ <stop
+ offset="1"
+ stop-color="#585858"
+ id="stop239" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.04882812,0.04882812,0,700,560)"
+ id="gradient47">
+ <stop
+ offset="0"
+ stop-color="#383838"
+ id="stop242" />
+ <stop
+ offset="1"
+ stop-color="#585858"
+ id="stop244" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.04882812,0.04882812,0,610,560)"
+ id="gradient48">
+ <stop
+ offset="0"
+ stop-color="#383838"
+ id="stop247" />
+ <stop
+ offset="1"
+ stop-color="#585858"
+ id="stop249" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.04882812,0.04882812,0,520,560)"
+ id="gradient49">
+ <stop
+ offset="0"
+ stop-color="#383838"
+ id="stop252" />
+ <stop
+ offset="1"
+ stop-color="#585858"
+ id="stop254" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.04882812,0.04882812,0,880,560)"
+ id="gradient50">
+ <stop
+ offset="0"
+ stop-color="#383838"
+ id="stop257" />
+ <stop
+ offset="1"
+ stop-color="#585858"
+ id="stop259" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.04882812,0.04882812,0,790,560)"
+ id="gradient51">
+ <stop
+ offset="0"
+ stop-color="#383838"
+ id="stop262" />
+ <stop
+ offset="1"
+ stop-color="#585858"
+ id="stop264" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.04882812,0.04882812,0,430,560)"
+ id="gradient52">
+ <stop
+ offset="0"
+ stop-color="#383838"
+ id="stop267" />
+ <stop
+ offset="1"
+ stop-color="#585858"
+ id="stop269" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient0"
+ id="linearGradient3714"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.02929688,0.02929688,0,24,476)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient1"
+ id="linearGradient3716"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.02929688,0.02929688,0,84,476)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient2"
+ id="linearGradient3718"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.02929688,0.02929688,0,144,476)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient3"
+ id="linearGradient3720"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.02929688,0.02929688,0,204,476)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient4"
+ id="linearGradient3722"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.02929688,0.02929688,0,264,476)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient5"
+ id="linearGradient3724"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.02929688,0.02929688,0,324,476)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient6"
+ id="linearGradient3726"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.02929688,0.02929688,0,24,416)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient7"
+ id="linearGradient3728"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.02929688,0.02929688,0,84,416)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient8"
+ id="linearGradient3730"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.02929688,0.02929688,0,144,416)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient9"
+ id="linearGradient3732"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.02929688,0.02929688,0,204,416)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient10"
+ id="linearGradient3734"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.02929688,0.02929688,0,264,416)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient11"
+ id="linearGradient3736"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.02929688,0.02929688,0,324,416)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient12"
+ id="linearGradient3738"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.02929688,0.02929688,0,24,356)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient13"
+ id="linearGradient3740"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.02929688,0.02929688,0,84,356)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient14"
+ id="linearGradient3742"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.02929688,0.02929688,0,144,356)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient15"
+ id="linearGradient3744"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.02929688,0.02929688,0,204,356)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient16"
+ id="linearGradient3746"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.02929688,0.02929688,0,264,356)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient17"
+ id="linearGradient3748"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.02929688,0.02929688,0,324,356)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient18"
+ id="linearGradient3750"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.02935791,0.02929688,0,294,566)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient19"
+ id="linearGradient3752"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.02935791,0.02929688,0,174,566)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient20"
+ id="linearGradient3754"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.04882812,0.04882812,0,680,462)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient21"
+ id="linearGradient3756"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.04882812,0.04882812,0,590,462)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient22"
+ id="linearGradient3758"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.04882812,0.04882812,0,500,462)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient23"
+ id="linearGradient3760"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.04882812,0.04882812,0,410,462)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient24"
+ id="linearGradient3762"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.04882812,0.04882812,0,860,372)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient25"
+ id="linearGradient3764"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.04882812,0.04882812,0,770,372)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient26"
+ id="linearGradient3766"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.04882812,0.04882812,0,680,372)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient27"
+ id="linearGradient3768"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.04882812,0.04882812,0,590,372)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient28"
+ id="linearGradient3770"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.04882812,0.04882812,0,500,372)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient29"
+ id="linearGradient3772"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.04882812,0.04882812,0,410,372)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient30"
+ id="linearGradient3774"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.09765625,0.09765625,0,259.95,232)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient31"
+ id="linearGradient3776"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.04142761,-0.04142761,0.04142761,0.04142761,259.95,62)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient52"
+ id="linearGradient3824"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.04882812,0.04882812,0,410,552)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient51"
+ id="linearGradient3829"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.04882812,0.04882812,0,770,552)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient50"
+ id="linearGradient3833"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.04882812,0.04882812,0,860,552)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient49"
+ id="linearGradient3837"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.04882812,0.04882812,0,500,552)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient48"
+ id="linearGradient3841"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.04882812,0.04882812,0,590,552)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient47"
+ id="linearGradient3845"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.04882812,0.04882812,0,680,552)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient46"
+ id="linearGradient3849"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.04882812,0.04882812,0,770,462)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient45"
+ id="linearGradient3853"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.04882812,0.04882812,0,860,462)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient44"
+ id="linearGradient3860"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.04142761,-0.04142761,0.04142761,0.04142761,80.1,62.15)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient43"
+ id="linearGradient3863"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.05267334,0.05264282,0,80.05,62.05)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient42"
+ id="linearGradient3868"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.09765625,0.09765625,0,80,232)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient41"
+ id="linearGradient3871"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.03723145,0.03723145,0,587.75,192.5)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient40"
+ id="linearGradient3874"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.0447998,0.04544067,0,630.5,274.7)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient39"
+ id="linearGradient3877"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.0378418,0.03723145,0,672.7,192.5)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient38"
+ id="linearGradient3882"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.04608154,0.04608154,0,630.5,109.75)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient37"
+ id="linearGradient3888"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.07260132,0.07260132,0,819.4,62.5)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient36"
+ id="linearGradient3891"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.05392456,-0.05392456,0.05392456,0.05392456,819.45,62.45)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient35"
+ id="linearGradient3895"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.09765625,0.09765625,0,820,232)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient34"
+ id="linearGradient3901"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.02935791,0.02929688,0,54,566)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient33"
+ id="linearGradient3905"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.09762573,0.09762573,0,439.95,231.95)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient32"
+ id="linearGradient3909"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.05493164,0.05493164,0,259.95,62)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient40"
+ id="linearGradient3374"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.0447998,0.04544067,0,630.5,274.7)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ </defs>
+ <path
+ style="fill:url(#linearGradient3714);stroke:none"
+ inkscape:connector-curvature="0"
+ id="path273"
+ d="m 3,457.2 0,37.85 Q 3.1,497 5.2,497 l 37.65,0 q 2.05,0 2.15,-1.95 L 45,457.2 Q 45,455 42.85,455 L 5.2,455 Q 3,455 3,457.2 m -3,0 Q 0,452 5.2,452 l 37.65,0 q 5.15,0 5.15,5.2 l 0,37.85 Q 47.9,500 42.85,500 L 5.2,500 Q 0.1,500 0,495.05 L 0,457.2" />
+ <path
+ style="fill:#383838;stroke:none"
+ inkscape:connector-curvature="0"
+ id="path275"
+ d="M 3,457.2 Q 3,455 5.2,455 l 37.65,0 q 2.15,0 2.15,2.2 l 0,37.85 Q 44.9,497 42.85,497 L 5.2,497 Q 3.1,497 3,495.05 L 3,457.2" />
+ <path
+ style="fill:#383838;stroke:none"
+ inkscape:connector-curvature="0"
+ id="path277"
+ d="m 63,457.2 q 0,-2.2 2.2,-2.2 l 37.65,0 q 2.15,0 2.15,2.2 l 0,37.85 q -0.1,1.95 -2.15,1.95 l -37.65,0 q -2.1,0 -2.2,-1.95 l 0,-37.85" />
+ <path
+ style="fill:url(#linearGradient3716);stroke:none"
+ inkscape:connector-curvature="0"
+ id="path279"
+ d="m 63,457.2 0,37.85 q 0.1,1.95 2.2,1.95 l 37.65,0 q 2.05,0 2.15,-1.95 l 0,-37.85 q 0,-2.2 -2.15,-2.2 l -37.65,0 q -2.2,0 -2.2,2.2 m 39.85,-5.2 q 5.15,0 5.15,5.2 l 0,37.85 q -0.1,4.95 -5.15,4.95 l -37.65,0 q -5.1,0 -5.2,-4.95 l 0,-37.85 q 0,-5.2 5.2,-5.2 l 37.65,0" />
+ <path
+ style="fill:#383838;stroke:none"
+ inkscape:connector-curvature="0"
+ id="path281"
+ d="m 162.85,455 q 2.15,0 2.15,2.2 l 0,37.85 q -0.1,1.95 -2.15,1.95 l -37.65,0 q -2.1,0 -2.2,-1.95 l 0,-37.85 q 0,-2.2 2.2,-2.2 l 37.65,0" />
+ <path
+ style="fill:url(#linearGradient3718);stroke:none"
+ inkscape:connector-curvature="0"
+ id="path283"
+ d="m 162.85,455 -37.65,0 q -2.2,0 -2.2,2.2 l 0,37.85 q 0.1,1.95 2.2,1.95 l 37.65,0 q 2.05,0 2.15,-1.95 l 0,-37.85 q 0,-2.2 -2.15,-2.2 m 0,-3 q 5.15,0 5.15,5.2 l 0,37.85 q -0.1,4.95 -5.15,4.95 l -37.65,0 q -5.1,0 -5.2,-4.95 l 0,-37.85 q 0,-5.2 5.2,-5.2 l 37.65,0" />
+ <path
+ style="fill:#383838;stroke:none"
+ inkscape:connector-curvature="0"
+ id="path285"
+ d="m 183,457.2 q 0,-2.2 2.2,-2.2 l 37.65,0 q 2.15,0 2.15,2.2 l 0,37.85 q -0.1,1.95 -2.15,1.95 l -37.65,0 q -2.1,0 -2.2,-1.95 l 0,-37.85" />
+ <path
+ style="fill:url(#linearGradient3720);stroke:none"
+ inkscape:connector-curvature="0"
+ id="path287"
+ d="m 183,457.2 0,37.85 q 0.1,1.95 2.2,1.95 l 37.65,0 q 2.05,0 2.15,-1.95 l 0,-37.85 q 0,-2.2 -2.15,-2.2 l -37.65,0 q -2.2,0 -2.2,2.2 m 2.2,-5.2 37.65,0 q 5.15,0 5.15,5.2 l 0,37.85 q -0.1,4.95 -5.15,4.95 l -37.65,0 q -5.1,0 -5.2,-4.95 l 0,-37.85 q 0,-5.2 5.2,-5.2" />
+ <path
+ style="fill:#383838;stroke:none"
+ inkscape:connector-curvature="0"
+ id="path289"
+ d="m 243,457.2 q 0,-2.2 2.2,-2.2 l 37.65,0 q 2.15,0 2.15,2.2 l 0,37.85 q -0.1,1.95 -2.15,1.95 l -37.65,0 q -2.1,0 -2.2,-1.95 l 0,-37.85" />
+ <path
+ style="fill:url(#linearGradient3722);stroke:none"
+ inkscape:connector-curvature="0"
+ id="path291"
+ d="m 243,457.2 0,37.85 q 0.1,1.95 2.2,1.95 l 37.65,0 q 2.05,0 2.15,-1.95 l 0,-37.85 q 0,-2.2 -2.15,-2.2 l -37.65,0 q -2.2,0 -2.2,2.2 m -3,0 q 0,-5.2 5.2,-5.2 l 37.65,0 q 5.15,0 5.15,5.2 l 0,37.85 q -0.1,4.95 -5.15,4.95 l -37.65,0 q -5.1,0 -5.2,-4.95 l 0,-37.85" />
+ <path
+ style="fill:#383838;stroke:none"
+ inkscape:connector-curvature="0"
+ id="path293"
+ d="m 303,495.05 0,-37.85 q 0,-2.2 2.2,-2.2 l 37.65,0 q 2.15,0 2.15,2.2 l 0,37.85 q -0.1,1.95 -2.15,1.95 l -37.65,0 q -2.1,0 -2.2,-1.95" />
+ <path
+ style="fill:url(#linearGradient3724);stroke:none"
+ inkscape:connector-curvature="0"
+ id="path295"
+ d="m 303,495.05 q 0.1,1.95 2.2,1.95 l 37.65,0 q 2.05,0 2.15,-1.95 l 0,-37.85 q 0,-2.2 -2.15,-2.2 l -37.65,0 q -2.2,0 -2.2,2.2 l 0,37.85 m -3,0 0,-37.85 q 0,-5.2 5.2,-5.2 l 37.65,0 q 5.15,0 5.15,5.2 l 0,37.85 q -0.1,4.95 -5.15,4.95 l -37.65,0 q -5.1,0 -5.2,-4.95" />
+ <path
+ style="fill:url(#linearGradient3726);stroke:none"
+ inkscape:connector-curvature="0"
+ id="path297"
+ d="M 45,397.2 Q 45,395 42.85,395 L 5.2,395 Q 3,395 3,397.2 l 0,37.85 Q 3.1,437 5.2,437 l 37.65,0 q 2.05,0 2.15,-1.95 l 0,-37.85 m 3,0 0,37.85 Q 47.9,440 42.85,440 L 5.2,440 Q 0.1,440 0,435.05 L 0,397.2 Q 0,392 5.2,392 l 37.65,0 q 5.15,0 5.15,5.2" />
+ <path
+ style="fill:#383838;stroke:none"
+ inkscape:connector-curvature="0"
+ id="path299"
+ d="m 45,397.2 0,37.85 Q 44.9,437 42.85,437 L 5.2,437 Q 3.1,437 3,435.05 L 3,397.2 Q 3,395 5.2,395 l 37.65,0 q 2.15,0 2.15,2.2" />
+ <path
+ style="fill:url(#linearGradient3728);stroke:none"
+ inkscape:connector-curvature="0"
+ id="path301"
+ d="m 105,397.2 q 0,-2.2 -2.15,-2.2 l -37.65,0 q -2.2,0 -2.2,2.2 l 0,37.85 q 0.1,1.95 2.2,1.95 l 37.65,0 q 2.05,0 2.15,-1.95 l 0,-37.85 m 3,0 0,37.85 q -0.1,4.95 -5.15,4.95 l -37.65,0 q -5.1,0 -5.2,-4.95 l 0,-37.85 q 0,-5.2 5.2,-5.2 l 37.65,0 q 5.15,0 5.15,5.2" />
+ <path
+ style="fill:#383838;stroke:none"
+ inkscape:connector-curvature="0"
+ id="path303"
+ d="m 105,397.2 0,37.85 q -0.1,1.95 -2.15,1.95 l -37.65,0 q -2.1,0 -2.2,-1.95 l 0,-37.85 q 0,-2.2 2.2,-2.2 l 37.65,0 q 2.15,0 2.15,2.2" />
+ <path
+ style="fill:#383838;stroke:none"
+ inkscape:connector-curvature="0"
+ id="path305"
+ d="m 165,397.2 0,37.85 q -0.1,1.95 -2.15,1.95 l -37.65,0 q -2.1,0 -2.2,-1.95 l 0,-37.85 q 0,-2.2 2.2,-2.2 l 37.65,0 q 2.15,0 2.15,2.2" />
+ <path
+ style="fill:url(#linearGradient3730);stroke:none"
+ inkscape:connector-curvature="0"
+ id="path307"
+ d="m 165,397.2 q 0,-2.2 -2.15,-2.2 l -37.65,0 q -2.2,0 -2.2,2.2 l 0,37.85 q 0.1,1.95 2.2,1.95 l 37.65,0 q 2.05,0 2.15,-1.95 l 0,-37.85 m 3,0 0,37.85 q -0.1,4.95 -5.15,4.95 l -37.65,0 q -5.1,0 -5.2,-4.95 l 0,-37.85 q 0,-5.2 5.2,-5.2 l 37.65,0 q 5.15,0 5.15,5.2" />
+ <path
+ style="fill:#383838;stroke:none"
+ inkscape:connector-curvature="0"
+ id="path309"
+ d="m 225,397.2 0,37.85 q -0.1,1.95 -2.15,1.95 l -37.65,0 q -2.1,0 -2.2,-1.95 l 0,-37.85 q 0,-2.2 2.2,-2.2 l 37.65,0 q 2.15,0 2.15,2.2" />
+ <path
+ style="fill:url(#linearGradient3732);stroke:none"
+ inkscape:connector-curvature="0"
+ id="path311"
+ d="m 225,397.2 q 0,-2.2 -2.15,-2.2 l -37.65,0 q -2.2,0 -2.2,2.2 l 0,37.85 q 0.1,1.95 2.2,1.95 l 37.65,0 q 2.05,0 2.15,-1.95 l 0,-37.85 m 3,0 0,37.85 q -0.1,4.95 -5.15,4.95 l -37.65,0 q -5.1,0 -5.2,-4.95 l 0,-37.85 q 0,-5.2 5.2,-5.2 l 37.65,0 q 5.15,0 5.15,5.2" />
+ <path
+ style="fill:#383838;stroke:none"
+ inkscape:connector-curvature="0"
+ id="path313"
+ d="m 285,397.2 0,37.85 q -0.1,1.95 -2.15,1.95 l -37.65,0 q -2.1,0 -2.2,-1.95 l 0,-37.85 q 0,-2.2 2.2,-2.2 l 37.65,0 q 2.15,0 2.15,2.2" />
+ <path
+ style="fill:url(#linearGradient3734);stroke:none"
+ inkscape:connector-curvature="0"
+ id="path315"
+ d="m 285,397.2 q 0,-2.2 -2.15,-2.2 l -37.65,0 q -2.2,0 -2.2,2.2 l 0,37.85 q 0.1,1.95 2.2,1.95 l 37.65,0 q 2.05,0 2.15,-1.95 l 0,-37.85 m 3,0 0,37.85 q -0.1,4.95 -5.15,4.95 l -37.65,0 q -5.1,0 -5.2,-4.95 l 0,-37.85 q 0,-5.2 5.2,-5.2 l 37.65,0 q 5.15,0 5.15,5.2" />
+ <path
+ style="fill:#383838;stroke:none"
+ inkscape:connector-curvature="0"
+ id="path317"
+ d="m 303,435.05 0,-37.85 q 0,-2.2 2.2,-2.2 l 37.65,0 q 2.15,0 2.15,2.2 l 0,37.85 q -0.1,1.95 -2.15,1.95 l -37.65,0 q -2.1,0 -2.2,-1.95" />
+ <path
+ style="fill:url(#linearGradient3736);stroke:none"
+ inkscape:connector-curvature="0"
+ id="path319"
+ d="m 303,435.05 q 0.1,1.95 2.2,1.95 l 37.65,0 q 2.05,0 2.15,-1.95 l 0,-37.85 q 0,-2.2 -2.15,-2.2 l -37.65,0 q -2.2,0 -2.2,2.2 l 0,37.85 m -3,0 0,-37.85 q 0,-5.2 5.2,-5.2 l 37.65,0 q 5.15,0 5.15,5.2 l 0,37.85 q -0.1,4.95 -5.15,4.95 l -37.65,0 q -5.1,0 -5.2,-4.95" />
+ <path
+ style="fill:url(#linearGradient3738);stroke:none"
+ inkscape:connector-curvature="0"
+ id="path321"
+ d="M 42.85,335 5.2,335 Q 3,335 3,337.2 l 0,37.85 Q 3.1,377 5.2,377 l 37.65,0 q 2.05,0 2.15,-1.95 L 45,337.2 Q 45,335 42.85,335 m 0,-3 q 5.15,0 5.15,5.2 l 0,37.85 Q 47.9,380 42.85,380 L 5.2,380 Q 0.1,380 0,375.05 L 0,337.2 Q 0,332 5.2,332 l 37.65,0" />
+ <path
+ style="fill:#383838;stroke:none"
+ inkscape:connector-curvature="0"
+ id="path323"
+ d="m 42.85,335 q 2.15,0 2.15,2.2 l 0,37.85 Q 44.9,377 42.85,377 L 5.2,377 Q 3.1,377 3,375.05 L 3,337.2 Q 3,335 5.2,335 l 37.65,0" />
+ <path
+ style="fill:url(#linearGradient3740);stroke:none"
+ inkscape:connector-curvature="0"
+ id="path325"
+ d="m 60,375.05 0,-37.85 q 0,-5.2 5.2,-5.2 l 37.65,0 q 5.15,0 5.15,5.2 l 0,37.85 q -0.1,4.95 -5.15,4.95 l -37.65,0 q -5.1,0 -5.2,-4.95 M 102.85,335 65.2,335 q -2.2,0 -2.2,2.2 l 0,37.85 q 0.1,1.95 2.2,1.95 l 37.65,0 q 2.05,0 2.15,-1.95 l 0,-37.85 q 0,-2.2 -2.15,-2.2" />
+ <path
+ style="fill:#383838;stroke:none"
+ inkscape:connector-curvature="0"
+ id="path327"
+ d="m 102.85,335 q 2.15,0 2.15,2.2 l 0,37.85 q -0.1,1.95 -2.15,1.95 l -37.65,0 q -2.1,0 -2.2,-1.95 l 0,-37.85 q 0,-2.2 2.2,-2.2 l 37.65,0" />
+ <path
+ style="fill:#383838;stroke:none"
+ inkscape:connector-curvature="0"
+ id="path329"
+ d="m 123,337.2 q 0,-2.2 2.2,-2.2 l 37.65,0 q 2.15,0 2.15,2.2 l 0,37.85 q -0.1,1.95 -2.15,1.95 l -37.65,0 q -2.1,0 -2.2,-1.95 l 0,-37.85" />
+ <path
+ style="fill:url(#linearGradient3742);stroke:none"
+ inkscape:connector-curvature="0"
+ id="path331"
+ d="m 123,337.2 0,37.85 q 0.1,1.95 2.2,1.95 l 37.65,0 q 2.05,0 2.15,-1.95 l 0,-37.85 q 0,-2.2 -2.15,-2.2 l -37.65,0 q -2.2,0 -2.2,2.2 m -3,0 q 0,-5.2 5.2,-5.2 l 37.65,0 q 5.15,0 5.15,5.2 l 0,37.85 q -0.1,4.95 -5.15,4.95 l -37.65,0 q -5.1,0 -5.2,-4.95 l 0,-37.85" />
+ <path
+ style="fill:#383838;stroke:none"
+ inkscape:connector-curvature="0"
+ id="path333"
+ d="m 185.2,335 37.65,0 q 2.15,0 2.15,2.2 l 0,37.85 q -0.1,1.95 -2.15,1.95 l -37.65,0 q -2.1,0 -2.2,-1.95 l 0,-37.85 q 0,-2.2 2.2,-2.2" />
+ <path
+ style="fill:url(#linearGradient3744);stroke:none"
+ inkscape:connector-curvature="0"
+ id="path335"
+ d="m 185.2,335 q -2.2,0 -2.2,2.2 l 0,37.85 q 0.1,1.95 2.2,1.95 l 37.65,0 q 2.05,0 2.15,-1.95 l 0,-37.85 q 0,-2.2 -2.15,-2.2 l -37.65,0 m 0,-3 37.65,0 q 5.15,0 5.15,5.2 l 0,37.85 q -0.1,4.95 -5.15,4.95 l -37.65,0 q -5.1,0 -5.2,-4.95 l 0,-37.85 q 0,-5.2 5.2,-5.2" />
+ <path
+ style="fill:#383838;stroke:none"
+ inkscape:connector-curvature="0"
+ id="path337"
+ d="m 282.85,335 q 2.15,0 2.15,2.2 l 0,37.85 q -0.1,1.95 -2.15,1.95 l -37.65,0 q -2.1,0 -2.2,-1.95 l 0,-37.85 q 0,-2.2 2.2,-2.2 l 37.65,0" />
+ <path
+ style="fill:url(#linearGradient3746);stroke:none"
+ inkscape:connector-curvature="0"
+ id="path339"
+ d="m 282.85,335 -37.65,0 q -2.2,0 -2.2,2.2 l 0,37.85 q 0.1,1.95 2.2,1.95 l 37.65,0 q 2.05,0 2.15,-1.95 l 0,-37.85 q 0,-2.2 -2.15,-2.2 m 0,-3 q 5.15,0 5.15,5.2 l 0,37.85 q -0.1,4.95 -5.15,4.95 l -37.65,0 q -5.1,0 -5.2,-4.95 l 0,-37.85 q 0,-5.2 5.2,-5.2 l 37.65,0" />
+ <path
+ style="fill:#383838;stroke:none"
+ inkscape:connector-curvature="0"
+ id="path341"
+ d="m 305.2,335 37.65,0 q 2.15,0 2.15,2.2 l 0,37.85 q -0.1,1.95 -2.15,1.95 l -37.65,0 q -2.1,0 -2.2,-1.95 l 0,-37.85 q 0,-2.2 2.2,-2.2" />
+ <path
+ style="fill:url(#linearGradient3748);stroke:none"
+ inkscape:connector-curvature="0"
+ id="path343"
+ d="m 305.2,335 q -2.2,0 -2.2,2.2 l 0,37.85 q 0.1,1.95 2.2,1.95 l 37.65,0 q 2.05,0 2.15,-1.95 l 0,-37.85 q 0,-2.2 -2.15,-2.2 l -37.65,0 m 0,-3 37.65,0 q 5.15,0 5.15,5.2 l 0,37.85 q -0.1,4.95 -5.15,4.95 l -37.65,0 q -5.1,0 -5.2,-4.95 l 0,-37.85 q 0,-5.2 5.2,-5.2" />
+ <path
+ style="fill:url(#linearGradient3750);stroke:none"
+ inkscape:connector-curvature="0"
+ id="path345"
+ d="m 243,547.2 0,37.85 q 0.1,1.95 2.2,1.95 l 97.65,0 q 2.1,0 2.15,-2 l 0,-37.8 q 0,-2.2 -2.15,-2.2 l -97.65,0 q -2.2,0 -2.2,2.2 m -3,37.85 0,-37.85 q 0,-5.2 5.2,-5.2 l 97.65,0 q 5.15,0 5.15,5.2 l 0,37.85 q -0.1,4.95 -5.15,4.95 l -97.65,0 q -5.1,0 -5.2,-4.95" />
+ <path
+ style="fill:#383838;stroke:none"
+ inkscape:connector-curvature="0"
+ id="path347"
+ d="m 243,547.2 q 0,-2.2 2.2,-2.2 l 97.65,0 q 2.15,0 2.15,2.2 l 0,37.8 q -0.05,2 -2.15,2 l -97.65,0 q -2.1,0 -2.2,-1.95 l 0,-37.85" />
+ <path
+ style="fill:url(#linearGradient3752);stroke:none"
+ inkscape:connector-curvature="0"
+ id="path349"
+ d="m 225,585 0,-37.8 q 0,-2.2 -2.15,-2.2 l -97.65,0 q -2.2,0 -2.2,2.2 l 0,37.85 q 0.1,1.95 2.2,1.95 l 97.65,0 q 2.1,0 2.15,-2 m 3,-37.8 0,37.85 q -0.1,4.95 -5.15,4.95 l -97.65,0 q -5.1,0 -5.2,-4.95 l 0,-37.85 q 0,-5.2 5.2,-5.2 l 97.65,0 q 5.15,0 5.15,5.2" />
+ <path
+ style="fill:#383838;stroke:none"
+ inkscape:connector-curvature="0"
+ id="path351"
+ d="m 225,585 q -0.05,2 -2.15,2 l -97.65,0 q -2.1,0 -2.2,-1.95 l 0,-37.85 q 0,-2.2 2.2,-2.2 l 97.65,0 q 2.15,0 2.15,2.2 l 0,37.8" />
+ <path
+ style="fill:url(#linearGradient3754);stroke:none"
+ inkscape:connector-curvature="0"
+ id="path353"
+ d="M 708.25,433.7 Q 720,445.45 720,462 720,478.55 708.25,490.25 696.55,502 680,502 663.35,502 651.65,490.25 640,478.55 640,462 640,445.45 651.65,433.7 663.35,422 680,422 q 16.55,0 28.25,11.7 M 645.7,462 q 0,14.25 10.05,24.2 10,10.1 24.25,10.1 14.25,0 24.2,-10.1 10.1,-9.95 10.1,-24.2 0,-14.15 -10.1,-24.25 -9.95,-10.05 -24.2,-10.05 -14.25,0 -24.25,10.05 -10.05,10.1 -10.05,24.25" />
+ <path
+ style="fill:#383838;stroke:none"
+ inkscape:connector-curvature="0"
+ id="path355"
+ d="m 645.7,462 q 0,-14.15 10.05,-24.25 10,-10.05 24.25,-10.05 14.25,0 24.2,10.05 10.1,10.1 10.1,24.25 0,14.25 -10.1,24.2 -9.95,10.1 -24.2,10.1 -14.25,0 -24.25,-10.1 Q 645.7,476.25 645.7,462" />
+ <path
+ style="fill:url(#linearGradient3756);stroke:none"
+ inkscape:connector-curvature="0"
+ id="path357"
+ d="M 618.25,433.7 Q 630,445.45 630,462 630,478.55 618.25,490.25 606.55,502 590,502 573.35,502 561.65,490.25 550,478.55 550,462 550,445.45 561.65,433.7 573.35,422 590,422 q 16.55,0 28.25,11.7 M 555.7,462 q 0,14.25 10.05,24.2 10,10.1 24.25,10.1 14.25,0 24.2,-10.1 10.1,-9.95 10.1,-24.2 0,-14.15 -10.1,-24.25 -9.95,-10.05 -24.2,-10.05 -14.25,0 -24.25,10.05 -10.05,10.1 -10.05,24.25" />
+ <path
+ style="fill:#383838;stroke:none"
+ inkscape:connector-curvature="0"
+ id="path359"
+ d="m 555.7,462 q 0,-14.15 10.05,-24.25 10,-10.05 24.25,-10.05 14.25,0 24.2,10.05 10.1,10.1 10.1,24.25 0,14.25 -10.1,24.2 -9.95,10.1 -24.2,10.1 -14.25,0 -24.25,-10.1 Q 555.7,476.25 555.7,462" />
+ <path
+ style="fill:url(#linearGradient3758);stroke:none"
+ inkscape:connector-curvature="0"
+ id="path361"
+ d="m 500,422 q 16.55,0 28.25,11.7 Q 540,445.45 540,462 540,478.55 528.25,490.25 516.55,502 500,502 483.35,502 471.65,490.25 460,478.55 460,462 460,445.45 471.65,433.7 483.35,422 500,422 m 24.2,64.2 q 10.1,-9.95 10.1,-24.2 0,-14.15 -10.1,-24.25 -9.95,-10.05 -24.2,-10.05 -14.25,0 -24.25,10.05 -10.05,10.1 -10.05,24.25 0,14.25 10.05,24.2 10,10.1 24.25,10.1 14.25,0 24.2,-10.1" />
+ <path
+ style="fill:#383838;stroke:none"
+ inkscape:connector-curvature="0"
+ id="path363"
+ d="m 524.2,486.2 q -9.95,10.1 -24.2,10.1 -14.25,0 -24.25,-10.1 -10.05,-9.95 -10.05,-24.2 0,-14.15 10.05,-24.25 10,-10.05 24.25,-10.05 14.25,0 24.2,10.05 10.1,10.1 10.1,24.25 0,14.25 -10.1,24.2" />
+ <path
+ style="fill:url(#linearGradient3760);stroke:none"
+ inkscape:connector-curvature="0"
+ id="path365"
+ d="m 434.2,486.2 q 10.1,-9.95 10.1,-24.2 0,-14.15 -10.1,-24.25 -9.95,-10.05 -24.2,-10.05 -14.25,0 -24.25,10.05 -10.05,10.1 -10.05,24.25 0,14.25 10.05,24.2 10,10.1 24.25,10.1 14.25,0 24.2,-10.1 m 4.05,-52.5 Q 450,445.45 450,462 450,478.55 438.25,490.25 426.55,502 410,502 393.35,502 381.65,490.25 370,478.55 370,462 370,445.45 381.65,433.7 393.35,422 410,422 q 16.55,0 28.25,11.7" />
+ <path
+ style="fill:#383838;stroke:none"
+ inkscape:connector-curvature="0"
+ id="path367"
+ d="m 434.2,486.2 q -9.95,10.1 -24.2,10.1 -14.25,0 -24.25,-10.1 -10.05,-9.95 -10.05,-24.2 0,-14.15 10.05,-24.25 10,-10.05 24.25,-10.05 14.25,0 24.2,10.05 10.1,10.1 10.1,24.25 0,14.25 -10.1,24.2" />
+ <path
+ style="fill:url(#linearGradient3762);stroke:none"
+ inkscape:connector-curvature="0"
+ id="path369"
+ d="M 831.65,343.7 Q 843.35,332 860,332 q 16.55,0 28.25,11.7 Q 900,355.45 900,372 900,388.55 888.25,400.25 876.55,412 860,412 843.35,412 831.65,400.25 820,388.55 820,372 q 0,-16.55 11.65,-28.3 m 4.1,4.05 q -10.05,10.1 -10.05,24.25 0,14.25 10.05,24.2 10,10.1 24.25,10.1 14.25,0 24.2,-10.1 10.1,-9.95 10.1,-24.2 0,-14.15 -10.1,-24.25 -9.95,-10.05 -24.2,-10.05 -14.25,0 -24.25,10.05" />
+ <path
+ style="fill:#383838;stroke:none"
+ inkscape:connector-curvature="0"
+ id="path371"
+ d="m 835.75,347.75 q 10,-10.05 24.25,-10.05 14.25,0 24.2,10.05 10.1,10.1 10.1,24.25 0,14.25 -10.1,24.2 -9.95,10.1 -24.2,10.1 -14.25,0 -24.25,-10.1 -10.05,-9.95 -10.05,-24.2 0,-14.15 10.05,-24.25" />
+ <path
+ style="fill:url(#linearGradient3764);stroke:none"
+ inkscape:connector-curvature="0"
+ id="path373"
+ d="M 741.65,343.7 Q 753.35,332 770,332 q 16.55,0 28.25,11.7 Q 810,355.45 810,372 810,388.55 798.25,400.25 786.55,412 770,412 753.35,412 741.65,400.25 730,388.55 730,372 q 0,-16.55 11.65,-28.3 m 4.1,4.05 q -10.05,10.1 -10.05,24.25 0,14.25 10.05,24.2 10,10.1 24.25,10.1 14.25,0 24.2,-10.1 10.1,-9.95 10.1,-24.2 0,-14.15 -10.1,-24.25 -9.95,-10.05 -24.2,-10.05 -14.25,0 -24.25,10.05" />
+ <path
+ style="fill:#383838;stroke:none"
+ inkscape:connector-curvature="0"
+ id="path375"
+ d="m 745.75,347.75 q 10,-10.05 24.25,-10.05 14.25,0 24.2,10.05 10.1,10.1 10.1,24.25 0,14.25 -10.1,24.2 -9.95,10.1 -24.2,10.1 -14.25,0 -24.25,-10.1 -10.05,-9.95 -10.05,-24.2 0,-14.15 10.05,-24.25" />
+ <path
+ style="fill:url(#linearGradient3766);stroke:none"
+ inkscape:connector-curvature="0"
+ id="path377"
+ d="M 651.65,343.7 Q 663.35,332 680,332 q 16.55,0 28.25,11.7 Q 720,355.45 720,372 720,388.55 708.25,400.25 696.55,412 680,412 663.35,412 651.65,400.25 640,388.55 640,372 q 0,-16.55 11.65,-28.3 m 4.1,4.05 q -10.05,10.1 -10.05,24.25 0,14.25 10.05,24.2 10,10.1 24.25,10.1 14.25,0 24.2,-10.1 10.1,-9.95 10.1,-24.2 0,-14.15 -10.1,-24.25 -9.95,-10.05 -24.2,-10.05 -14.25,0 -24.25,10.05" />
+ <path
+ style="fill:#383838;stroke:none"
+ inkscape:connector-curvature="0"
+ id="path379"
+ d="m 655.75,347.75 q 10,-10.05 24.25,-10.05 14.25,0 24.2,10.05 10.1,10.1 10.1,24.25 0,14.25 -10.1,24.2 -9.95,10.1 -24.2,10.1 -14.25,0 -24.25,-10.1 -10.05,-9.95 -10.05,-24.2 0,-14.15 10.05,-24.25" />
+ <path
+ style="fill:url(#linearGradient3768);stroke:none"
+ inkscape:connector-curvature="0"
+ id="path381"
+ d="M 561.65,343.7 Q 573.35,332 590,332 q 16.55,0 28.25,11.7 Q 630,355.45 630,372 630,388.55 618.25,400.25 606.55,412 590,412 573.35,412 561.65,400.25 550,388.55 550,372 q 0,-16.55 11.65,-28.3 m 4.1,4.05 q -10.05,10.1 -10.05,24.25 0,14.25 10.05,24.2 10,10.1 24.25,10.1 14.25,0 24.2,-10.1 10.1,-9.95 10.1,-24.2 0,-14.15 -10.1,-24.25 -9.95,-10.05 -24.2,-10.05 -14.25,0 -24.25,10.05" />
+ <path
+ style="fill:#383838;stroke:none"
+ inkscape:connector-curvature="0"
+ id="path383"
+ d="m 565.75,347.75 q 10,-10.05 24.25,-10.05 14.25,0 24.2,10.05 10.1,10.1 10.1,24.25 0,14.25 -10.1,24.2 -9.95,10.1 -24.2,10.1 -14.25,0 -24.25,-10.1 -10.05,-9.95 -10.05,-24.2 0,-14.15 10.05,-24.25" />
+ <path
+ style="fill:url(#linearGradient3770);stroke:none"
+ inkscape:connector-curvature="0"
+ id="path385"
+ d="m 540,372 q 0,16.55 -11.75,28.25 Q 516.55,412 500,412 483.35,412 471.65,400.25 460,388.55 460,372 460,355.45 471.65,343.7 483.35,332 500,332 q 16.55,0 28.25,11.7 Q 540,355.45 540,372 m -5.7,0 q 0,-14.15 -10.1,-24.25 -9.95,-10.05 -24.2,-10.05 -14.25,0 -24.25,10.05 -10.05,10.1 -10.05,24.25 0,14.25 10.05,24.2 10,10.1 24.25,10.1 14.25,0 24.2,-10.1 10.1,-9.95 10.1,-24.2" />
+ <path
+ style="fill:#383838;stroke:none"
+ inkscape:connector-curvature="0"
+ id="path387"
+ d="m 534.3,372 q 0,14.25 -10.1,24.2 -9.95,10.1 -24.2,10.1 -14.25,0 -24.25,-10.1 -10.05,-9.95 -10.05,-24.2 0,-14.15 10.05,-24.25 10,-10.05 24.25,-10.05 14.25,0 24.2,10.05 10.1,10.1 10.1,24.25" />
+ <path
+ style="fill:url(#linearGradient3772);stroke:none"
+ inkscape:connector-curvature="0"
+ id="path389"
+ d="M 381.65,343.7 Q 393.35,332 410,332 q 16.55,0 28.25,11.7 Q 450,355.45 450,372 450,388.55 438.25,400.25 426.55,412 410,412 393.35,412 381.65,400.25 370,388.55 370,372 q 0,-16.55 11.65,-28.3 M 444.3,372 q 0,-14.15 -10.1,-24.25 -9.95,-10.05 -24.2,-10.05 -14.25,0 -24.25,10.05 -10.05,10.1 -10.05,24.25 0,14.25 10.05,24.2 10,10.1 24.25,10.1 14.25,0 24.2,-10.1 10.1,-9.95 10.1,-24.2" />
+ <path
+ style="fill:#383838;stroke:none"
+ inkscape:connector-curvature="0"
+ id="path391"
+ d="m 444.3,372 q 0,14.25 -10.1,24.2 -9.95,10.1 -24.2,10.1 -14.25,0 -24.25,-10.1 -10.05,-9.95 -10.05,-24.2 0,-14.15 10.05,-24.25 10,-10.05 24.25,-10.05 14.25,0 24.2,10.05 10.1,10.1 10.1,24.25" />
+ <path
+ style="fill:url(#linearGradient3774);stroke:none"
+ inkscape:connector-curvature="0"
+ id="path393"
+ d="m 334.95,157.2 -0.2,-0.2 -149.65,0 -0.15,0.2 0,149.65 0.15,0.15 149.65,0 0.2,-0.15 0,-149.65 m -0.2,-5.2 q 5.2,0 5.2,5.2 l 0,149.65 q 0,5.15 -5.2,5.15 l -149.65,0 q -5.15,0 -5.15,-5.15 l 0,-149.65 q 0,-5.2 5.15,-5.2 l 149.65,0" />
+ <path
+ style="fill:#383838;stroke:none"
+ inkscape:connector-curvature="0"
+ id="path395"
+ d="m 334.95,157.2 0,149.65 -0.2,0.15 -149.65,0 -0.15,-0.15 0,-149.65 0.15,-0.2 149.65,0 0.2,0.2" />
+ <path
+ style="fill:#000000;fill-opacity:0.10196078;stroke:none"
+ inkscape:connector-curvature="0"
+ id="path397"
+ d="m 307.95,105.1 0,2 q -0.15,4.9 -5.2,4.9 l -85.65,0 q -5,0 -5.15,-4.9 l 0,-2 q 0.15,4.9 5.15,4.9 l 85.65,0 q 5.05,0 5.2,-4.9" />
+ <path
+ style="fill:url(#linearGradient3776);stroke:none"
+ inkscape:connector-curvature="0"
+ id="path399"
+ d="m 307.95,105.1 q -0.15,4.9 -5.2,4.9 l -85.65,0 q -5,0 -5.15,-4.9 l 0,-85.9 q 0,-5.2 5.15,-5.2 l 85.65,0 q 5.2,0 5.2,5.2 l 0,85.9 m -3,-0.1 0,-85.8 q 0,-2.2 -2.2,-2.2 l -85.65,0 q -2.15,0 -2.15,2.2 l 0,85.9 q 0.15,1.9 2.15,1.9 l 85.65,0 q 2.1,0 2.2,-2" />
+ <path
+ style="fill:url(#linearGradient3909);stroke:none"
+ inkscape:connector-curvature="0"
+ id="path401"
+ d="m 304.95,105 q -0.1,2 -2.2,2 l -85.65,0 q -2,0 -2.15,-1.9 l 0,-85.9 q 0,-2.2 2.15,-2.2 l 85.65,0 q 2.2,0 2.2,2.2 l 0,85.8" />
+ <path
+ style="fill:#666666;stroke:none"
+ inkscape:connector-curvature="0"
+ id="path403"
+ d="m 264,31 q 0,1.6 -1.2,2.8 -1.2,1.2 -2.8,1.2 -1.65,0 -2.85,-1.2 Q 256,32.6 256,31 l 0.05,-0.5 q 0.15,-1.35 1.1,-2.35 1.2,-1.15 2.85,-1.15 1.6,0 2.8,1.15 1,1 1.2,2.35 l 0,0.5 m -32.15,28.15 q 0.95,1 1.15,2.35 l 0,0.5 q 0,1.6 -1.15,2.8 -1.2,1.2 -2.85,1.2 -1.6,0 -2.8,-1.2 Q 225,63.6 225,62 l 0.05,-0.5 q 0.15,-1.35 1.15,-2.35 1.2,-1.15 2.8,-1.15 1.65,0 2.85,1.15 M 260,89 q 1.6,0 2.8,1.15 1,1 1.2,2.35 l 0,0.5 q 0,1.6 -1.2,2.8 -1.2,1.2 -2.8,1.2 -1.65,0 -2.85,-1.2 Q 256,94.6 256,93 l 0.05,-0.5 q 0.15,-1.35 1.1,-2.35 Q 258.35,89 260,89 M 288.2,59.15 Q 289.4,58 291,58 q 1.65,0 2.85,1.15 0.95,1 1.15,2.35 l 0,0.5 q 0,1.6 -1.15,2.8 -1.2,1.2 -2.85,1.2 -1.6,0 -2.8,-1.2 Q 287,63.6 287,62 l 0.05,-0.5 q 0.15,-1.35 1.15,-2.35" />
+ <path
+ style="fill:url(#linearGradient3905);stroke:none"
+ inkscape:connector-curvature="0"
+ id="path405"
+ d="m 467,157 q 0,-1 -1,-1 l -51,0 q -1,0 -1,1 l 0,45 q 0,1.65 -1.15,2.85 -1.2,1.15 -2.85,1.15 l -45,0 q -1,0 -1,1 l 0,51 q 0,1 1,1 l 45,0 q 1.65,0 2.85,1.2 1.15,1.15 1.15,2.8 l 0,43.95 q 0,1 1,1 l 51,0 q 1,0 1,-1 L 467,263 q 0,-1.65 1.2,-2.8 1.15,-1.2 2.8,-1.2 l 43.95,0 q 1,0 1,-1 l 0,-51 q 0,-1 -1,-1 L 471,206 q -1.65,0 -2.8,-1.15 -1.2,-1.2 -1.2,-2.85 l 0,-45 m -1,-5 q 5,0 5,5 l 0,45 43.95,0 q 5,0 5,5 l 0,51 q 0,5 -5,5 l -43.95,0 0,43.95 q 0,5 -5,5 l -51,0 q -5,0 -5,-5 l 0,-43.95 -45,0 q -5,0 -5,-5 l 0,-51 q 0,-5 5,-5 l 45,0 0,-45 q 0,-5 5,-5 l 51,0" />
+ <path
+ style="fill:#383838;stroke:none"
+ inkscape:connector-curvature="0"
+ id="path407"
+ d="m 467,157 0,45 q 0,1.65 1.2,2.85 1.15,1.15 2.8,1.15 l 43.95,0 q 1,0 1,1 l 0,51 q 0,1 -1,1 L 471,259 q -1.65,0 -2.8,1.2 -1.2,1.15 -1.2,2.8 l 0,43.95 q 0,1 -1,1 l -51,0 q -1,0 -1,-1 L 414,263 q 0,-1.65 -1.15,-2.8 -1.2,-1.2 -2.85,-1.2 l -45,0 q -1,0 -1,-1 l 0,-51 q 0,-1 1,-1 l 45,0 q 1.65,0 2.85,-1.15 1.15,-1.2 1.15,-2.85 l 0,-45 q 0,-1 1,-1 l 51,0 q 1,0 1,1" />
+ <path
+ style="fill:url(#linearGradient3901);stroke:none"
+ inkscape:connector-curvature="0"
+ id="path409"
+ d="m 3,547.2 0,37.85 Q 3.1,587 5.2,587 l 97.65,0 q 2.1,0 2.15,-2 l 0,-37.8 q 0,-2.2 -2.15,-2.2 L 5.2,545 Q 3,545 3,547.2 M 0,585.05 0,547.2 Q 0,542 5.2,542 l 97.65,0 q 5.15,0 5.15,5.2 l 0,37.85 Q 107.9,590 102.85,590 L 5.2,590 Q 0.1,590 0,585.05" />
+ <path
+ style="fill:#383838;stroke:none"
+ inkscape:connector-curvature="0"
+ id="path411"
+ d="M 3,547.2 Q 3,545 5.2,545 l 97.65,0 q 2.15,0 2.15,2.2 l 0,37.8 q -0.05,2 -2.15,2 L 5.2,587 Q 3.1,587 3,585.05 L 3,547.2" />
+ <path
+ style="fill:#666666;stroke:none"
+ inkscape:connector-curvature="0"
+ id="path413"
+ d="m 441,167 q 0.35,0 0.65,0.3 l 5.05,5.05 q 0.45,0.45 0.2,1.05 -0.25,0.6 -0.9,0.6 l -10.05,0 q -0.65,0 -0.9,-0.6 L 435,173 q -0.05,-0.35 0.25,-0.65 l 0.05,0 5,-5.05 q 0.3,-0.3 0.7,-0.3 m -66,66 q 0,-0.35 0.3,-0.65 l 5.05,-5.05 q 0.45,-0.45 1.05,-0.2 0.6,0.25 0.6,0.9 l 0,10.05 q 0,0.65 -0.6,0.9 L 381,239 q -0.35,0.05 -0.65,-0.25 l 0,-0.05 -5.05,-5 Q 375,233.4 375,233 m 71.7,58.65 -5.05,5.05 -0.65,0.3 -0.7,-0.3 -5,-5.05 -0.05,0 q -0.3,-0.3 -0.25,-0.65 l 0.05,-0.4 q 0.25,-0.6 0.9,-0.6 l 10.05,0 q 0.65,0 0.9,0.6 0.25,0.6 -0.2,1.05 M 505,233 l -0.3,0.7 -5.05,5 0,0.05 -0.65,0.25 -0.4,-0.05 Q 498,238.7 498,238.05 L 498,228 q 0,-0.65 0.6,-0.9 0.6,-0.25 1.05,0.2 l 5.05,5.05 0.3,0.65" />
+ <path
+ style="fill:#666666;fill-opacity:0.30196078;stroke:none"
+ inkscape:connector-curvature="0"
+ id="path415"
+ d="m 444,231.5 0,0.5 q 0,1.6 -1.15,2.8 -1.2,1.2 -2.85,1.2 -1.6,0 -2.8,-1.2 -1.2,-1.2 -1.2,-2.8 l 0.05,-0.5 q 0.15,-1.35 1.15,-2.35 1.2,-1.15 2.8,-1.15 1.65,0 2.85,1.15 0.95,1 1.15,2.35" />
+ <path
+ style="fill:url(#linearGradient3895);stroke:none"
+ inkscape:connector-curvature="0"
+ id="path417"
+ d="M 873.7,178.25 Q 851.45,156 820,156 788.35,156 766.15,178.25 744,200.55 744,232 l 0,1 0,0.75 0,0.25 0,0.3 q 0.8,29.95 22.15,51.4 11.9,11.95 26.55,17.5 12.6,4.8 27.3,4.8 14.6,0 27.2,-4.8 14.55,-5.55 26.5,-17.5 21.55,-21.5 22.3,-51.55 l 0,-0.15 0,-0.75 0,-0.25 0,-0.5 0,-0.5 q 0,-31.45 -22.3,-53.75 m 2.8,-2.85 Q 900,198.9 900,232 l 0,0.5 0,0.5 0,0.25 0,0.75 0,0.25 q -0.8,31.65 -23.5,54.25 -12.55,12.6 -27.9,18.45 Q 835.35,312 820,312 804.55,312 791.25,306.95 775.85,301.1 763.3,288.5 740.8,265.9 740,234.3 l 0,-0.3 0,-0.25 0,-0.75 0,-1 q 0,-33.1 23.3,-56.6 23.4,-23.4 56.7,-23.4 33.1,0 56.5,23.4" />
+ <path
+ style="fill:#383838;stroke:none"
+ inkscape:connector-curvature="0"
+ id="path419"
+ d="M 873.7,178.25 Q 896,200.55 896,232 l 0,0.5 0,0.5 0,0.25 0,0.75 0,0.15 q -0.75,30.05 -22.3,51.55 -11.95,11.95 -26.5,17.5 -12.6,4.8 -27.2,4.8 -14.7,0 -27.3,-4.8 -14.65,-5.55 -26.55,-17.5 Q 744.8,264.25 744,234.3 l 0,-0.3 0,-0.25 0,-0.75 0,-1 q 0,-31.45 22.15,-53.75 Q 788.35,156 820,156 q 31.45,0 53.7,22.25" />
+ <path
+ style="fill:url(#linearGradient3891);stroke:none"
+ inkscape:connector-curvature="0"
+ id="path421"
+ d="m 878.95,81 0,-36 q 0,-2 -2,-2 L 843,43 q -1.25,0 -2.1,-0.85 Q 840,41.25 840,40 l 0,-35 q 0,-2 -2,-2 l -36,0 q -2,0 -2,2 l 0,35 q 0,1.25 -0.85,2.15 Q 798.25,43 797,43 l -35,0 q -2,0 -2,2 l 0,36 q 0,2 2,2 l 35,0 q 1.25,0 2.15,0.9 0.85,0.85 0.85,2.1 l 0,33.95 q 0,2 2,2 l 36,0 q 2,0 2,-2 L 840,86 q 0,-1.25 0.9,-2.1 0.85,-0.9 2.1,-0.9 l 33.95,0 q 2,0 2,-2 M 757,81.25 757,45 q 0,-5 5,-5 l 35,0 0,-35 q 0,-5 5,-5 l 36,0 q 5,0 5,5 l 0,35 33.95,0 q 5,0 5,5 l 0,36.25 q -0.15,4.75 -5,4.75 l -33.95,0 0,2 0,32.2 q -0.15,4.75 -5,4.75 l -36,0 q -4.85,0 -5,-4.75 l 0,-32.2 0,-2 -35,0 q -4.85,0 -5,-4.75" />
+ <path
+ style="fill:url(#linearGradient3888);stroke:none"
+ inkscape:connector-curvature="0"
+ id="path423"
+ d="m 878.95,81 q 0,2 -2,2 L 843,83 q -1.25,0 -2.1,0.9 -0.9,0.85 -0.9,2.1 l 0,33.95 q 0,2 -2,2 l -36,0 q -2,0 -2,-2 L 800,86 q 0,-1.25 -0.85,-2.1 Q 798.25,83 797,83 l -35,0 q -2,0 -2,-2 l 0,-36 q 0,-2 2,-2 l 35,0 q 1.25,0 2.15,-0.85 Q 800,41.25 800,40 l 0,-35 q 0,-2 2,-2 l 36,0 q 2,0 2,2 l 0,35 q 0,1.25 0.9,2.15 0.85,0.85 2.1,0.85 l 33.95,0 q 2,0 2,2 l 0,36" />
+ <path
+ style="fill:#000000;fill-opacity:0.10196078;stroke:none"
+ inkscape:connector-curvature="0"
+ id="path425"
+ d="m 757,81.25 q 0.15,4.75 5,4.75 l 35,0 0,2 -35,0 q -5,0 -5,-5 l 0,-1.75 m 40,38.95 q 0.15,4.75 5,4.75 l 36,0 q 4.85,0 5,-4.75 l 0,1.75 q 0,5 -5,5 l -36,0 q -5,0 -5,-5 l 0,-1.75 m 46,-32.2 0,-2 33.95,0 q 4.85,0 5,-4.75 l 0,1.75 q 0,5 -5,5 L 843,88" />
+ <path
+ style="fill:#666666;stroke:none"
+ inkscape:connector-curvature="0"
+ id="path427"
+ d="M 826.9,23.4 Q 826.65,24 826,24 l -10.05,0 q -0.65,0 -0.9,-0.6 L 815,23 q -0.05,-0.35 0.25,-0.65 l 0.05,0 5,-5.05 q 0.3,-0.3 0.7,-0.3 0.35,0 0.65,0.3 l 5.05,5.05 q 0.45,0.45 0.2,1.05 m 31.7,33.7 q 0.6,-0.25 1.05,0.2 l 5.05,5.05 0.3,0.65 -0.3,0.7 -5.05,5 0,0.05 q -0.3,0.3 -0.65,0.25 l -0.4,-0.05 Q 858,68.7 858,68.05 L 858,58 q 0,-0.65 0.6,-0.9 m -31.7,43.5 q 0.25,0.6 -0.2,1.05 l -5.05,5.05 -0.65,0.3 q -0.4,0 -0.7,-0.3 l -5,-5.05 -0.05,0 q -0.3,-0.3 -0.25,-0.65 l 0.05,-0.4 q 0.25,-0.6 0.9,-0.6 l 10.05,0 q 0.65,0 0.9,0.6 M 780.35,57.3 q 0.45,-0.45 1.05,-0.2 0.6,0.25 0.6,0.9 l 0,10.05 q 0,0.65 -0.6,0.9 L 781,69 q -0.35,0.05 -0.65,-0.25 l 0,-0.05 -5.05,-5 Q 775,63.4 775,63 q 0,-0.35 0.3,-0.65 l 5.05,-5.05" />
+ <path
+ style="fill:#666666;fill-opacity:0.30196078;stroke:none"
+ inkscape:connector-curvature="0"
+ id="path429"
+ d="M 817.2,59.15 Q 818.4,58 820,58 q 1.65,0 2.85,1.15 0.95,1 1.15,2.35 l 0,0.5 q 0,1.6 -1.15,2.8 -1.2,1.2 -2.85,1.2 -1.6,0 -2.8,-1.2 Q 816,63.6 816,62 l 0.05,-0.5 q 0.15,-1.35 1.15,-2.35" />
+ <g
+ id="0forward"
+ inkscape:label="#g3999">
+ <path
+ d="m 656,72 q 5,0 5,5 l 0,40 -30.5,30.5 L 600,117 600,77 q 0,-5 5,-5 l 51,0 m 1,5 q 0,-1 -1,-1 l -51,0 q -1,0 -1,1 l 0,38.35 26.5,26.5 26.5,-26.5 0,-38.35"
+ id="path431"
+ inkscape:connector-curvature="0"
+ style="fill:url(#linearGradient3882);stroke:none" />
+ <path
+ id="path3989"
+ d="m 657,77 0,38.35 -26.5,26.5 L 604,115.35 604,77 q 0,-1 1,-1 l 51,0 q 1,0 1,1"
+ style="fill:#383838;stroke:none" />
+ <path
+ id="path3987"
+ d="m 631,87 q -0.4,0 -0.7,0.3 l -5,5.05 -0.05,0 q -0.3,0.3 -0.25,0.65 l 0.05,0.4 q 0.25,0.6 0.9,0.6 L 636,94 q 0.65,0 0.9,-0.6 0.25,-0.6 -0.2,-1.05 L 631.65,87.3 Q 631.35,87 631,87"
+ style="fill:#383838;stroke:none" />
+ <path
+ id="path3997"
+ d="m 631,87 q 0.35,0 0.65,0.3 l 5.05,5.05 q 0.45,0.45 0.2,1.05 -0.25,0.6 -0.9,0.6 l -10.05,0 q -0.65,0 -0.9,-0.6 L 625,93 q -0.05,-0.35 0.25,-0.65 l 0.05,0 5,-5.05 Q 630.6,87 631,87"
+ style="fill:#666666;stroke:none" />
+ </g>
+ <g
+ id="0right"
+ inkscape:label="#g4011">
+ <path
+ id="path3985"
+ d="m 689.65,187.3 q -0.45,-0.45 -1.05,-0.2 -0.6,0.25 -0.6,0.9 l 0,10.05 q 0,0.65 0.6,0.9 l 0.4,0.05 0.65,-0.25 0,-0.05 5.05,-5 0.3,-0.7 -0.3,-0.65 -5.05,-5.05"
+ style="fill:#383838;stroke:none" />
+ <path
+ id="path3983"
+ d="m 705.95,167 0,51 q 0,1 -1,1 l -37.3,0 -26.5,-26.5 26.5,-26.5 37.3,0 q 1,0 1,1"
+ style="fill:#383838;stroke:none" />
+ <path
+ id="path3995"
+ d="m 689.65,187.3 5.05,5.05 0.3,0.65 -0.3,0.7 -5.05,5 0,0.05 -0.65,0.25 -0.4,-0.05 Q 688,198.7 688,198.05 L 688,188 q 0,-0.65 0.6,-0.9 0.6,-0.25 1.05,0.2"
+ style="fill:#666666;stroke:none" />
+ <path
+ d="m 705.95,167 q 0,-1 -1,-1 l -37.3,0 -26.5,26.5 26.5,26.5 37.3,0 q 1,0 1,-1 l 0,-51 m -39.95,-5 38.95,0 q 5,0 5,5 l 0,51 q 0,5 -5,5 L 666,223 635.5,192.5 666,162"
+ id="path437"
+ inkscape:connector-curvature="0"
+ style="fill:url(#linearGradient3877);stroke:none" />
+ </g>
+ <g
+ id="0back"
+ inkscape:label="#g4017">
+ <path
+ id="path3981"
+ d="m 657,269.65 0,37.3 q 0,1 -1,1 l -51,0 q -1,0 -1,-1 l 0,-37.3 26.5,-26.5 26.5,26.5"
+ style="fill:#383838;stroke:none" />
+ <path
+ id="path3979"
+ d="m 631,297 0.65,-0.3 5.05,-5.05 q 0.45,-0.45 0.2,-1.05 -0.25,-0.6 -0.9,-0.6 l -10.05,0 q -0.65,0 -0.9,0.6 L 625,291 q -0.05,0.35 0.25,0.65 l 0.05,0 5,5.05 0.7,0.3"
+ style="fill:#383838;stroke:none" />
+ <path
+ id="path3993"
+ d="m 631,297 -0.7,-0.3 -5,-5.05 -0.05,0 q -0.3,-0.3 -0.25,-0.65 l 0.05,-0.4 q 0.25,-0.6 0.9,-0.6 l 10.05,0 q 0.65,0 0.9,0.6 0.25,0.6 -0.2,1.05 l -5.05,5.05 -0.65,0.3"
+ style="fill:#666666;stroke:none" />
+ <path
+ d="m 657,269.65 -26.5,-26.5 -26.5,26.5 0,37.3 q 0,1 1,1 l 51,0 q 1,0 1,-1 l 0,-37.3 M 630.5,237.5 661,268 l 0,38.95 q 0,5 -5,5 l -51,0 q -5,0 -5,-5 l 0,-38.95 30.5,-30.5"
+ id="path439"
+ inkscape:connector-curvature="0"
+ style="fill:url(#linearGradient3874);stroke:none" />
+ </g>
+ <g
+ id="0left"
+ inkscape:label="#g4005">
+ <path
+ id="path3977"
+ d="m 571.4,187.1 q -0.6,-0.25 -1.05,0.2 l -5.05,5.05 q -0.3,0.3 -0.3,0.65 0,0.4 0.3,0.7 l 5.05,5 0,0.05 q 0.3,0.3 0.65,0.25 l 0.4,-0.05 q 0.6,-0.25 0.6,-0.9 L 572,188 q 0,-0.65 -0.6,-0.9"
+ style="fill:#383838;stroke:none" />
+ <path
+ id="path433"
+ d="m 555,166 38.35,0 26.5,26.5 -26.5,26.5 -38.35,0 q -1,0 -1,-1 l 0,-51 q 0,-1 1,-1"
+ style="fill:#383838;stroke:none" />
+ <path
+ id="path435"
+ d="m 571.4,187.1 q 0.6,0.25 0.6,0.9 l 0,10.05 q 0,0.65 -0.6,0.9 L 571,199 q -0.35,0.05 -0.65,-0.25 l 0,-0.05 -5.05,-5 q -0.3,-0.3 -0.3,-0.7 0,-0.35 0.3,-0.65 l 5.05,-5.05 q 0.45,-0.45 1.05,-0.2"
+ style="fill:#666666;stroke:none" />
+ <path
+ d="m 550,167 q 0,-5 5,-5 l 40,0 30.5,30.5 -30.5,30.5 -40,0 q -5,0 -5,-5 l 0,-51 m 5,-1 q -1,0 -1,1 l 0,51 q 0,1 1,1 l 38.35,0 26.5,-26.5 -26.5,-26.5 -38.35,0"
+ id="path441"
+ inkscape:connector-curvature="0"
+ style="fill:url(#linearGradient3871);stroke:none" />
+ </g>
+ <path
+ style="fill:url(#linearGradient3868);stroke:none"
+ inkscape:connector-curvature="0"
+ id="path443"
+ d="M 133,178.95 Q 111.05,157 80,157 48.75,157 26.85,178.95 5,200.95 5,232 q 0,31.05 21.85,53 21.95,22 53.15,22 31,0 52.95,-22 L 133,284.95 Q 155,263 155,232 q 0,-31.05 -22,-53.05 m 3.5,-3.55 Q 160,198.9 160,232 160,265.1 136.5,288.5 113.1,312 80,312 46.7,312 23.3,288.5 0,265.1 0,232 0,198.9 23.3,175.4 46.7,152 80,152 q 33.1,0 56.5,23.4" />
+ <path
+ style="fill:#383838;stroke:none"
+ inkscape:connector-curvature="0"
+ id="path445"
+ d="m 133,178.95 q 22,22 22,53.05 0,31 -22,52.95 L 132.95,285 Q 111,307 80,307 48.8,307 26.85,285 5,263.05 5,232 5,200.95 26.85,178.95 48.75,157 80,157 q 31.05,0 53,21.95" />
+ <path
+ style="fill:#ffffff;fill-opacity:0.05098039;stroke:none"
+ inkscape:connector-curvature="0"
+ id="path447"
+ d="m 80,167.05 q 0.35,0 0.65,0.3 l 5.05,5.05 q 0.45,0.45 0.2,1.05 -0.25,0.6 -0.9,0.6 l -10.05,0 q -0.65,0 -0.9,-0.6 L 74,173.05 q -0.05,-0.35 0.25,-0.65 l 0.05,0 5,-5.05 q 0.3,-0.3 0.7,-0.3 m 59.5,61.5 q 0,-0.65 0.6,-0.9 0.6,-0.25 1.05,0.2 l 5.05,5.05 0.3,0.65 -0.3,0.7 -5.05,5 0,0.05 -0.65,0.25 -0.4,-0.05 q -0.6,-0.25 -0.6,-0.9 l 0,-10.05 m -119,0 0,10.05 q 0,0.65 -0.6,0.9 l -0.4,0.05 q -0.35,0.05 -0.65,-0.25 l 0,-0.05 -5.05,-5 q -0.3,-0.3 -0.3,-0.7 0,-0.35 0.3,-0.65 l 5.05,-5.05 q 0.45,-0.45 1.05,-0.2 0.6,0.25 0.6,0.9 m 65.4,65.1 q 0.25,0.6 -0.2,1.05 l -5.05,5.05 -0.65,0.3 -0.7,-0.3 -5,-5.05 -0.05,0 q -0.3,-0.3 -0.25,-0.65 l 0.05,-0.4 q 0.25,-0.6 0.9,-0.6 l 10.05,0 q 0.65,0 0.9,0.6" />
+ <g
+ id="0joystick_back"
+ inkscape:label="#g3365">
+ <path
+ d="M 45.75,88.35 Q 40.6,81.8 38.45,74 37.3,69.8 37,65.25 l -0.1,-3.1 Q 36.95,44.25 49.55,31.6 l 3.55,-3.25 q 5.4,-4.4 11.65,-6.75 5.4,-2 11.35,-2.5 l 4,-0.15 Q 97,19 109.25,30.25 l 1.25,1.2 0.15,0.15 q 9.45,9.45 11.8,21.85 0.65,3.55 0.75,7.35 l 0,1.2 0,1 Q 122.85,80.2 110.5,92.5 97.85,105.2 80,105.2 L 75.25,105 Q 68.3,104.3 62.2,101.55 57,99.15 52.45,95.3 l -2.95,-2.75 -3.75,-4.2"
+ id="path449"
+ inkscape:connector-curvature="0"
+ style="fill:url(#linearGradient3863);stroke:none" />
+ <path
+ d="m 45.75,88.35 q 1.7,2.25 3.75,4.3 12.6,12.7 30.65,12.7 l 3.45,-0.1 q 5,-0.4 9.65,-1.85 7.25,-2.25 13.35,-7.15 l 4,-3.6 q 11.45,-11.5 12.6,-27.15 l 0,-0.35 0,-0.15 0.05,-0.4 0.05,-1.5 0,-0.95 q 0,-4.55 -0.85,-8.7 -2.35,-12.4 -11.8,-21.85 l -0.15,-0.15 -1.25,-1.2 Q 97,19 80.1,18.95 l -4,0.15 Q 70.15,19.6 64.75,21.6 58.5,23.95 53.1,28.35 L 49.55,31.6 Q 36.95,44.25 36.9,62.15 l 0.1,3.1 q 0.3,4.55 1.45,8.75 2.15,7.8 7.3,14.35 m -13.6,-24.5 -0.05,-0.7 0,-1 q 0,-19.8 14,-34 14,-14 34,-14 19.8,0 33.85,14 14.1,14.15 14.15,34 l 0,1 0,0.7 q -0.65,18.75 -14.1,32.2 -14.1,14.1 -33.9,14.1 -20,0 -34,-14.1 -13.4,-13.5 -13.95,-32.2"
+ id="path451"
+ inkscape:connector-curvature="0"
+ style="fill:url(#linearGradient3860);stroke:none" />
+ <path
+ d="m 123.2,63 0,-1 0,-1.2 0.1,2.3 -0.05,1.5 -0.05,-0.6 0,-0.2 0,-0.8"
+ id="path453"
+ inkscape:connector-curvature="0"
+ style="fill:#000000;fill-opacity:0.30196078;stroke:none" />
+ <path
+ d="m 123.2,63 0,0.8 0,0.2 0,0.65 0,0.35 0,0.15 0,0.35 q -1.15,15.65 -12.6,27.15 l -4,3.6 q -6.1,4.9 -13.35,7.15 -4.65,1.45 -9.65,1.85 l -3.45,0.1 q -18.05,0 -30.65,-12.7 -2.05,-2.05 -3.75,-4.3 l 3.75,4.2 2.95,2.75 q 4.55,3.85 9.75,6.25 6.1,2.75 13.05,3.45 l 4.75,0.2 q 17.85,0 30.5,-12.7 12.35,-12.3 12.7,-29.5 m 0,-2.2 q -0.1,-3.8 -0.75,-7.35 0.85,4.15 0.85,8.7 l 0,0.95 -0.1,-2.3"
+ id="path455"
+ inkscape:connector-curvature="0"
+ style="fill:#000000;fill-opacity:0.2;stroke:none" />
+ </g>
+ <path
+ style="fill:url(#linearGradient3853);stroke:none"
+ inkscape:connector-curvature="0"
+ id="path461"
+ d="m 884.2,486.2 q 10.1,-9.95 10.1,-24.2 0,-14.15 -10.1,-24.25 -9.95,-10.05 -24.2,-10.05 -14.25,0 -24.25,10.05 -10.05,10.1 -10.05,24.25 0,14.25 10.05,24.2 10,10.1 24.25,10.1 14.25,0 24.2,-10.1 M 900,462 q 0,16.55 -11.75,28.25 Q 876.55,502 860,502 843.35,502 831.65,490.25 820,478.55 820,462 820,445.45 831.65,433.7 843.35,422 860,422 q 16.55,0 28.25,11.7 Q 900,445.45 900,462" />
+ <path
+ style="fill:#383838;stroke:none"
+ inkscape:connector-curvature="0"
+ id="path463"
+ d="m 884.2,486.2 q -9.95,10.1 -24.2,10.1 -14.25,0 -24.25,-10.1 -10.05,-9.95 -10.05,-24.2 0,-14.15 10.05,-24.25 10,-10.05 24.25,-10.05 14.25,0 24.2,10.05 10.1,10.1 10.1,24.25 0,14.25 -10.1,24.2" />
+ <path
+ style="fill:url(#linearGradient3849);stroke:none"
+ inkscape:connector-curvature="0"
+ id="path465"
+ d="m 794.2,486.2 q 10.1,-9.95 10.1,-24.2 0,-14.15 -10.1,-24.25 -9.95,-10.05 -24.2,-10.05 -14.25,0 -24.25,10.05 -10.05,10.1 -10.05,24.25 0,14.25 10.05,24.2 10,10.1 24.25,10.1 14.25,0 24.2,-10.1 M 810,462 q 0,16.55 -11.75,28.25 Q 786.55,502 770,502 753.35,502 741.65,490.25 730,478.55 730,462 730,445.45 741.65,433.7 753.35,422 770,422 q 16.55,0 28.25,11.7 Q 810,445.45 810,462" />
+ <path
+ style="fill:#383838;stroke:none"
+ inkscape:connector-curvature="0"
+ id="path467"
+ d="m 794.2,486.2 q -9.95,10.1 -24.2,10.1 -14.25,0 -24.25,-10.1 -10.05,-9.95 -10.05,-24.2 0,-14.15 10.05,-24.25 10,-10.05 24.25,-10.05 14.25,0 24.2,10.05 10.1,10.1 10.1,24.25 0,14.25 -10.1,24.2" />
+ <path
+ style="fill:url(#linearGradient3845);stroke:none"
+ inkscape:connector-curvature="0"
+ id="path469"
+ d="M 708.25,523.7 Q 720,535.45 720,552 720,568.55 708.25,580.25 696.55,592 680,592 663.35,592 651.65,580.25 640,568.55 640,552 640,535.45 651.65,523.7 663.35,512 680,512 q 16.55,0 28.25,11.7 m -4.05,4.05 Q 694.25,517.7 680,517.7 q -14.25,0 -24.25,10.05 -10.05,10.1 -10.05,24.25 0,14.25 10.05,24.2 10,10.1 24.25,10.1 14.25,0 24.2,-10.1 10.1,-9.95 10.1,-24.2 0,-14.15 -10.1,-24.25" />
+ <path
+ style="fill:#383838;stroke:none"
+ inkscape:connector-curvature="0"
+ id="path471"
+ d="m 704.2,527.75 q 10.1,10.1 10.1,24.25 0,14.25 -10.1,24.2 -9.95,10.1 -24.2,10.1 -14.25,0 -24.25,-10.1 -10.05,-9.95 -10.05,-24.2 0,-14.15 10.05,-24.25 10,-10.05 24.25,-10.05 14.25,0 24.2,10.05" />
+ <path
+ style="fill:url(#linearGradient3841);stroke:none"
+ inkscape:connector-curvature="0"
+ id="path473"
+ d="M 614.2,527.75 Q 604.25,517.7 590,517.7 q -14.25,0 -24.25,10.05 -10.05,10.1 -10.05,24.25 0,14.25 10.05,24.2 10,10.1 24.25,10.1 14.25,0 24.2,-10.1 10.1,-9.95 10.1,-24.2 0,-14.15 -10.1,-24.25 m 4.05,-4.05 Q 630,535.45 630,552 630,568.55 618.25,580.25 606.55,592 590,592 573.35,592 561.65,580.25 550,568.55 550,552 550,535.45 561.65,523.7 573.35,512 590,512 q 16.55,0 28.25,11.7" />
+ <path
+ style="fill:#383838;stroke:none"
+ inkscape:connector-curvature="0"
+ id="path475"
+ d="m 614.2,527.75 q 10.1,10.1 10.1,24.25 0,14.25 -10.1,24.2 -9.95,10.1 -24.2,10.1 -14.25,0 -24.25,-10.1 -10.05,-9.95 -10.05,-24.2 0,-14.15 10.05,-24.25 10,-10.05 24.25,-10.05 14.25,0 24.2,10.05" />
+ <path
+ style="fill:url(#linearGradient3837);stroke:none"
+ inkscape:connector-curvature="0"
+ id="path477"
+ d="m 500,512 q 16.55,0 28.25,11.7 Q 540,535.45 540,552 540,568.55 528.25,580.25 516.55,592 500,592 483.35,592 471.65,580.25 460,568.55 460,552 460,535.45 471.65,523.7 483.35,512 500,512 m 0,5.7 q -14.25,0 -24.25,10.05 -10.05,10.1 -10.05,24.25 0,14.25 10.05,24.2 10,10.1 24.25,10.1 14.25,0 24.2,-10.1 10.1,-9.95 10.1,-24.2 0,-14.15 -10.1,-24.25 Q 514.25,517.7 500,517.7" />
+ <path
+ style="fill:#383838;stroke:none"
+ inkscape:connector-curvature="0"
+ id="path479"
+ d="m 500,517.7 q 14.25,0 24.2,10.05 10.1,10.1 10.1,24.25 0,14.25 -10.1,24.2 -9.95,10.1 -24.2,10.1 -14.25,0 -24.25,-10.1 -10.05,-9.95 -10.05,-24.2 0,-14.15 10.05,-24.25 10,-10.05 24.25,-10.05" />
+ <path
+ style="fill:url(#linearGradient3833);stroke:none"
+ inkscape:connector-curvature="0"
+ id="path481"
+ d="m 860,512 q 16.55,0 28.25,11.7 Q 900,535.45 900,552 900,568.55 888.25,580.25 876.55,592 860,592 843.35,592 831.65,580.25 820,568.55 820,552 820,535.45 831.65,523.7 843.35,512 860,512 m 0,5.7 q -14.25,0 -24.25,10.05 -10.05,10.1 -10.05,24.25 0,14.25 10.05,24.2 10,10.1 24.25,10.1 14.25,0 24.2,-10.1 10.1,-9.95 10.1,-24.2 0,-14.15 -10.1,-24.25 Q 874.25,517.7 860,517.7" />
+ <path
+ style="fill:#383838;stroke:none"
+ inkscape:connector-curvature="0"
+ id="path483"
+ d="m 860,517.7 q 14.25,0 24.2,10.05 10.1,10.1 10.1,24.25 0,14.25 -10.1,24.2 -9.95,10.1 -24.2,10.1 -14.25,0 -24.25,-10.1 -10.05,-9.95 -10.05,-24.2 0,-14.15 10.05,-24.25 10,-10.05 24.25,-10.05" />
+ <path
+ style="fill:#ffffff;fill-opacity:0.05098039;stroke:none"
+ inkscape:connector-curvature="0"
+ id="path489"
+ d="m 326.2,232.9 0.3,0.65 -0.3,0.7 -5.05,5 0,0.05 -0.65,0.25 -0.4,-0.05 q -0.6,-0.25 -0.6,-0.9 l 0,-10.05 q 0,-0.65 0.6,-0.9 0.6,-0.25 1.05,0.2 l 5.05,5.05 m -132.4,0 5.05,-5.05 q 0.45,-0.45 1.05,-0.2 0.6,0.25 0.6,0.9 l 0,10.05 q 0,0.65 -0.6,0.9 l -0.4,0.05 -0.65,-0.25 0,-0.05 -5.05,-5 -0.3,-0.7 q 0,-0.35 0.3,-0.65 M 260,167.05 q 0.35,0 0.65,0.3 l 5.05,5.05 q 0.45,0.45 0.2,1.05 -0.25,0.6 -0.9,0.6 l -10.05,0 q -0.65,0 -0.9,-0.6 l -0.05,-0.4 q -0.05,-0.35 0.25,-0.65 l 0.05,0 5,-5.05 q 0.3,-0.3 0.7,-0.3 m 5.9,126.6 q 0.25,0.6 -0.2,1.05 l -5.05,5.05 -0.65,0.3 q -0.4,0 -0.7,-0.3 l -5,-5.05 -0.05,0 q -0.3,-0.3 -0.25,-0.65 l 0.05,-0.4 q 0.25,-0.6 0.9,-0.6 l 10.05,0 q 0.65,0 0.9,0.6" />
+ <path
+ style="fill:url(#linearGradient3824);stroke:none"
+ inkscape:connector-curvature="0"
+ id="path491"
+ d="m 370,552 q 0,-16.55 11.65,-28.3 11.7,-11.7 28.35,-11.7 16.55,0 28.25,11.7 Q 450,535.45 450,552 450,568.55 438.25,580.25 426.55,592 410,592 393.35,592 381.65,580.25 370,568.55 370,552 m 40,-34.3 q -14.25,0 -24.25,10.05 -10.05,10.1 -10.05,24.25 0,14.25 10.05,24.2 10,10.1 24.25,10.1 14.25,0 24.2,-10.1 10.1,-9.95 10.1,-24.2 0,-14.15 -10.1,-24.25 Q 424.25,517.7 410,517.7" />
+ <path
+ style="fill:#383838;stroke:none"
+ inkscape:connector-curvature="0"
+ id="path493"
+ d="m 410,517.7 q 14.25,0 24.2,10.05 10.1,10.1 10.1,24.25 0,14.25 -10.1,24.2 -9.95,10.1 -24.2,10.1 -14.25,0 -24.25,-10.1 -10.05,-9.95 -10.05,-24.2 0,-14.15 10.05,-24.25 10,-10.05 24.25,-10.05" />
+ <path
+ style="fill:#ffffff;stroke:none"
+ d="m 866.5,356.65 q 0.7,-0.75 1.95,-0.6 1.05,0.15 1.8,0.95 l 0.45,0.45 q 0.5,0.65 0.5,1.45 l 0.1,0 q 0.05,0.95 -0.4,1.65 l 4.2,4.2 q 1.25,1.25 0,2.45 l -0.95,0.95 -0.4,0.25 q -0.2,0 -0.4,-0.2 l -0.65,-0.65 -2.25,2.25 0.65,0.65 0.1,0.4 -0.15,0.4 -0.9,0.95 q -1.25,1.25 -2.5,0 l -4.2,-4.2 -4.05,4.1 q 1.2,2 1.65,4.3 l -0.05,0.1 q 0.75,4.25 -1.95,6.75 -2.6,2.75 -6.85,2.1 -3.4,-0.6 -6.15,-3.15 l -0.45,-0.4 q -2.9,-2.85 -3.45,-6.45 l 0,-0.05 q -0.25,-1.4 -0.05,-2.55 0.1,-2.6 2,-4.35 1.8,-1.9 4.4,-2.15 l 2.45,0.1 0.15,0 q 2.15,0.4 4.1,1.65 l 11.3,-11.35"
+ id="path4129" />
+ <path
+ style="fill:#ffffff;stroke:none"
+ d="m 770.05,354.45 6.75,8.45 10.2,3.75 -6,9.05 -0.55,10.75 -10.4,-2.85 -10.55,2.85 -0.5,-10.75 -6,-9.05 10.2,-3.75 6.85,-8.45"
+ id="path4127" />
+ <path
+ style="fill:#ffffff;stroke:none"
+ d="m 662.3,370.65 q 0.85,-2.4 3.7,-2.65 l 5.1,0 0,-12 q 0,-0.75 0.55,-1.35 0.5,-0.65 1.4,-0.65 l 12.9,0 q 0.8,0 1.4,0.6 0.6,0.6 0.6,1.4 l 0.05,12 5,0 q 2.7,0.15 3.75,2.55 l 0.05,0.3 q 0.75,2.2 -0.9,3.8 l 0.05,0 -13.8,14.15 -0.15,0.2 q -1.15,1 -2.5,1 -1.5,0 -2.6,-1.2 l 0,0.05 -13.7,-14.1 -0.2,-0.15 -0.05,-0.05 q -1.05,-1.2 -0.95,-2.5 l 0,-0.05 q 0,-0.7 0.3,-1.4 l 0,0.05"
+ id="path4125" />
+ <path
+ style="fill:#ffffff;stroke:none"
+ d="m 848.25,372.5 q -0.5,0.7 -0.35,1.8 0.35,1.8 1.85,3.35 l 0.45,0.4 q 1.3,1.2 2.95,1.45 l 0.1,0.05 q 1,0.15 1.65,-0.45 0.5,-0.6 0.35,-1.55 l 0,-0.2 q -0.3,-1.55 -1.45,-2.95 l -0.35,-0.35 -0.15,-0.15 q -1.5,-1.4 -3.25,-1.75 -1.05,-0.2 -1.8,0.35"
+ id="path4123" />
+ <path
+ style="fill:#ffffff;stroke:none"
+ d="M 849.3125 537 C 847.54583 537 846.29375 537.58333 845.59375 538.75 C 844.89375 539.68333 844.64583 541.07083 844.8125 542.9375 L 847.34375 566.1875 C 847.64375 568.92083 849.17292 570.3125 851.90625 570.3125 L 870.15625 570.3125 C 872.85625 570.3125 874.35625 568.92083 874.65625 566.1875 L 877.1875 542.9375 C 877.3875 541.07083 877.13958 539.68333 876.40625 538.75 C 875.70625 537.58333 874.45417 537 872.6875 537 L 849.3125 537 z M 853 543.9375 C 853.56667 543.9375 854.03958 544.1625 854.40625 544.5625 C 854.80625 544.9625 855 545.40417 855 545.9375 C 855 546.50417 854.80625 546.97708 854.40625 547.34375 C 854.03958 547.74375 853.56667 547.9375 853 547.9375 C 852.43333 547.9375 851.9625 547.74375 851.5625 547.34375 C 851.19583 546.97708 851 546.50417 851 545.9375 C 851 545.40417 851.19583 544.9625 851.5625 544.5625 C 851.9625 544.1625 852.43333 543.9375 853 543.9375 z M 861 543.9375 C 861.56667 543.9375 862.03958 544.1625 862.40625 544.5625 C 862.80625 544.9625 863 545.40417 863 545.9375 C 863 546.50417 862.80625 546.97708 862.40625 547.34375 C 862.03958 547.74375 861.56667 547.9375 861 547.9375 C 860.43333 547.9375 859.9625 547.74375 859.5625 547.34375 C 859.19583 546.97708 859 546.50417 859 545.9375 C 859 545.40417 859.19583 544.9625 859.5625 544.5625 C 859.9625 544.1625 860.43333 543.9375 861 543.9375 z M 869 543.9375 C 869.56667 543.9375 870.03958 544.1625 870.40625 544.5625 C 870.80625 544.9625 871 545.40417 871 545.9375 C 871 546.50417 870.80625 546.97708 870.40625 547.34375 C 870.03958 547.74375 869.56667 547.9375 869 547.9375 C 868.43333 547.9375 867.9625 547.74375 867.5625 547.34375 C 867.19583 546.97708 867 546.50417 867 545.9375 C 867 545.40417 867.19583 544.9625 867.5625 544.5625 C 867.9625 544.1625 868.43333 543.9375 869 543.9375 z M 853 551.9375 C 853.56667 551.9375 854.03958 552.1625 854.40625 552.5625 C 854.80625 552.9625 855 553.40417 855 553.9375 C 855 554.50417 854.80625 554.97708 854.40625 555.34375 C 854.03958 555.74375 853.56667 555.9375 853 555.9375 C 852.43333 555.9375 851.9625 555.74375 851.5625 555.34375 C 851.19583 554.97708 851 554.50417 851 553.9375 C 851 553.40417 851.19583 552.9625 851.5625 552.5625 C 851.9625 552.1625 852.43333 551.9375 853 551.9375 z M 861 551.9375 C 861.56667 551.9375 862.03958 552.1625 862.40625 552.5625 C 862.80625 552.9625 863 553.40417 863 553.9375 C 863 554.50417 862.80625 554.97708 862.40625 555.34375 C 862.03958 555.74375 861.56667 555.9375 861 555.9375 C 860.43333 555.9375 859.9625 555.74375 859.5625 555.34375 C 859.19583 554.97708 859 554.50417 859 553.9375 C 859 553.40417 859.19583 552.9625 859.5625 552.5625 C 859.9625 552.1625 860.43333 551.9375 861 551.9375 z M 869 551.9375 C 869.56667 551.9375 870.03958 552.1625 870.40625 552.5625 C 870.80625 552.9625 871 553.40417 871 553.9375 C 871 554.50417 870.80625 554.97708 870.40625 555.34375 C 870.03958 555.74375 869.56667 555.9375 869 555.9375 C 868.43333 555.9375 867.9625 555.74375 867.5625 555.34375 C 867.19583 554.97708 867 554.50417 867 553.9375 C 867 553.40417 867.19583 552.9625 867.5625 552.5625 C 867.9625 552.1625 868.43333 551.9375 869 551.9375 z M 853 559.9375 C 853.56667 559.9375 854.03958 560.1625 854.40625 560.5625 C 854.80625 560.9625 855 561.40417 855 561.9375 C 855 562.50417 854.80625 562.97708 854.40625 563.34375 C 854.03958 563.74375 853.56667 563.9375 853 563.9375 C 852.43333 563.9375 851.9625 563.74375 851.5625 563.34375 C 851.19583 562.97708 851 562.50417 851 561.9375 C 851 561.40417 851.19583 560.9625 851.5625 560.5625 C 851.9625 560.1625 852.43333 559.9375 853 559.9375 z M 861 559.9375 C 861.56667 559.9375 862.03958 560.1625 862.40625 560.5625 C 862.80625 560.9625 863 561.40417 863 561.9375 C 863 562.50417 862.80625 562.97708 862.40625 563.34375 C 862.03958 563.74375 861.56667 563.9375 861 563.9375 C 860.43333 563.9375 859.9625 563.74375 859.5625 563.34375 C 859.19583 562.97708 859 562.50417 859 561.9375 C 859 561.40417 859.19583 560.9625 859.5625 560.5625 C 859.9625 560.1625 860.43333 559.9375 861 559.9375 z M 869 559.9375 C 869.56667 559.9375 870.03958 560.1625 870.40625 560.5625 C 870.80625 560.9625 871 561.40417 871 561.9375 C 871 562.50417 870.80625 562.97708 870.40625 563.34375 C 870.03958 563.74375 869.56667 563.9375 869 563.9375 C 868.43333 563.9375 867.9625 563.74375 867.5625 563.34375 C 867.19583 562.97708 867 562.50417 867 561.9375 C 867 561.40417 867.19583 560.9625 867.5625 560.5625 C 867.9625 560.1625 868.43333 559.9375 869 559.9375 z "
+ id="path4121" />
+ <g
+ id="0fire"
+ inkscape:label="#g4133">
+ <path
+ d="M 798.25,580.25 Q 786.55,592 770,592 753.35,592 741.65,580.25 730,568.55 730,552 730,535.45 741.65,523.7 753.35,512 770,512 q 16.55,0 28.25,11.7 11.75,11.75 11.75,28.3 0,16.55 -11.75,28.25 m -4.05,-4.05 q 10.1,-9.95 10.1,-24.2 0,-14.15 -10.1,-24.25 -9.95,-10.05 -24.2,-10.05 -14.25,0 -24.25,10.05 -10.05,10.1 -10.05,24.25 0,14.25 10.05,24.2 10,10.1 24.25,10.1 14.25,0 24.2,-10.1"
+ id="path485"
+ inkscape:connector-curvature="0"
+ style="fill:url(#linearGradient3829);stroke:none" />
+ <path
+ d="m 794.2,576.2 q -9.95,10.1 -24.2,10.1 -14.25,0 -24.25,-10.1 -10.05,-9.95 -10.05,-24.2 0,-14.15 10.05,-24.25 10,-10.05 24.25,-10.05 14.25,0 24.2,10.05 10.1,10.1 10.1,24.25 0,14.25 -10.1,24.2"
+ id="path487"
+ inkscape:connector-curvature="0"
+ style="fill:#383838;stroke:none" />
+ <path
+ id="path4103"
+ d="m 791.55,551 0.4,0.8 0,0.2 0,0.2 -0.4,0.8 -0.7,0.45 -17.3,4.65 5.9,7.05 0.3,0.8 -0.25,0.9 -0.65,0.5 -0.9,0.05 -19.65,-5.7 -0.1,-0.05 q -8.4,-3.4 -8.35,-9.65 -0.05,-6.25 8.35,-9.65 l 0.1,-0.05 19.65,-5.7 0.9,0.05 0.65,0.5 q 0.3,0.4 0.25,0.9 l -0.3,0.8 -5.9,7.05 17.3,4.65 0.7,0.45"
+ style="fill:#666666;stroke:none;fill-opacity:1" />
+ </g>
+ <path
+ style="fill:#ffffff;stroke:none"
+ d="m 688.55,545.45 q -3.15,-3.1 -7.55,-3.1 -4.45,0 -7.55,3.1 -3.15,3.15 -3.15,7.55 0,4.45 3.15,7.55 3.1,3.15 7.55,3.15 4.4,0 7.5,-3.15 l 0.05,0 q 3.1,-3.1 3.1,-7.55 0,-4.4 -3.1,-7.55"
+ id="path4099" />
+ <path
+ style="fill:#ffffff;stroke:none"
+ d="m 693,541 q 5,5 5,12 0,7.05 -5,12.05 -5,4.95 -12,4.95 -7.05,0 -12.05,-4.95 -4.95,-5 -4.95,-12.05 0,-7 4.9,-12 l 0.05,0 0,-0.05 q 5,-4.95 12.05,-4.95 7,0 12,5"
+ id="path4097" />
+ <path
+ style="fill:#ffffff;stroke:none"
+ d="m 685.25,548.75 q 1.75,1.75 1.75,4.25 0,2.5 -1.75,4.25 -1.8,1.8 -4.25,1.8 -2.55,0 -4.3,-1.8 -1.75,-1.75 -1.75,-4.25 0,-2.5 1.75,-4.25 1.75,-1.75 4.3,-1.75 2.45,0 4.25,1.75"
+ id="path4095" />
+ <path
+ style="fill:#ffffff;stroke:none"
+ d="m 327.5,350.8 0,0.15 0,1 -0.15,1.15 7.3,7.15 q 1.15,1.05 1.3,2.55 l 0.05,0.65 q 0,1.95 -1.35,3.25 -1.25,1.3 -3.3,1.3 -1.85,0 -3.25,-1.3 l -4.65,-4.65 0.05,-0.1 -2.75,-2.65 q -1.05,0.3 -2.1,0 -2.55,-0.4 -4.35,-2.15 -2.55,-2.7 -2.25,-6 0.05,-1.05 0.45,-2.15 l 4.45,4.5 q 1.3,1.3 2.5,0 l 1.9,-1.95 q 0.9,-0.9 0.45,-1.9 l -0.45,-0.65 -4.55,-4.35 0.95,-0.4 3.45,-0.1 q 2.25,0.4 3.95,2.15 2,1.85 2.35,4.5"
+ id="path4093" />
+ <path
+ style="fill:#ffffff;stroke:none"
+ d="m 74,344 6,0 q 2,0 2,2 l 0,20 q 0,2 -2,2 l -6,0 q -2,0 -2,-2 l 0,-20 q 0,-2 2,-2"
+ id="path4091" />
+ <path
+ style="fill:#ffffff;stroke:none"
+ d="m 94,344 q 2,0 2,2 l 0,20 q 0,2 -2,2 l -6,0 q -2,0 -2,-2 l 0,-20 q 0,-2 2,-2 l 6,0"
+ id="path4089" />
+ <path
+ style="fill:#ffffff;stroke:none"
+ d="m 574.15,369.35 -0.05,0 13.8,-14.15 0.15,-0.2 q 1.15,-1 2.5,-1 1.5,0 2.6,1.2 l 0,-0.05 13.7,14.1 0.2,0.15 0.05,0.05 q 1.05,1.2 0.95,2.5 l 0,0.05 -0.3,1.4 0,-0.05 q -0.85,2.4 -3.7,2.65 l -5.1,0 0,12 q 0,0.75 -0.55,1.35 -0.5,0.65 -1.4,0.65 l -12.9,0 q -0.8,0 -1.4,-0.6 -0.6,-0.6 -0.6,-1.4 l -0.05,-12 -5,0 q -2.7,-0.15 -3.75,-2.55 l -0.05,-0.3 q -0.75,-2.2 0.9,-3.8"
+ id="path4087" />
+ <path
+ style="fill:#ffffff;stroke:none"
+ d="m 502.65,356.15 0,-0.05 14.15,13.8 0.2,0.15 q 1,1.15 1,2.5 0,1.5 -1.2,2.6 l 0.05,0 -14.1,13.7 -0.15,0.2 -0.05,0.05 q -1.2,1.05 -2.5,0.95 l -0.05,0 -1.4,-0.3 0.05,0 q -2.4,-0.85 -2.65,-3.7 l 0,-5.1 -12,0 q -0.75,0 -1.35,-0.55 Q 482,379.9 482,379 l 0,-12.9 q 0,-0.8 0.6,-1.4 0.6,-0.6 1.4,-0.6 l 12,-0.05 0,-5 q 0.15,-2.7 2.55,-3.75 l 0.3,-0.05 q 2.2,-0.75 3.8,0.9"
+ id="path4085" />
+ <path
+ style="fill:#ffffff;stroke:none"
+ d="m 407.25,356.2 0.15,-0.2 0.05,-0.05 q 1.2,-1.05 2.5,-0.95 l 0.05,0 1.4,0.3 -0.05,0 q 2.4,0.85 2.65,3.7 l 0,5.1 12,0 q 0.75,0 1.35,0.55 0.65,0.5 0.65,1.4 l 0,12.9 q 0,0.8 -0.6,1.4 -0.6,0.6 -1.4,0.6 l -12,0.05 0,5 q -0.15,2.7 -2.55,3.75 l -0.3,0.05 q -2.2,0.75 -3.8,-0.9 l 0,0.05 L 393.2,375.15 393,375 q -1,-1.15 -1,-2.5 0,-1.5 1.2,-2.6 l -0.05,0 14.1,-13.7"
+ id="path4083" />
+ <path
+ style="fill:#ffffff;stroke:none"
+ d="m 333.85,362.95 -0.65,-1 q -1.7,-1.45 -3.4,0 -0.45,0.45 -0.55,1 l -0.1,0.65 q 0,0.95 0.65,1.7 0.75,0.65 1.7,0.65 1,0 1.7,-0.65 0.75,-0.75 0.75,-1.7 l -0.1,-0.65"
+ id="path4081" />
+ <path
+ style="fill:#ffffff;stroke:none"
+ d="m 138.25,344.15 q 1.15,-0.45 2.05,0.4 l 9.9,9.65 0.05,0 q 0.55,0.6 0.55,1.3 0,0.8 -0.6,1.35 l -9.9,9.6 -0.05,0.05 q -0.6,0.55 -1.3,0.5 l -0.7,-0.15 Q 137,366.4 137,365.15 l 0,-19.25 q 0,-1.25 1.2,-1.75 l 0.05,0"
+ id="path4079" />
+ <path
+ style="fill:#ffffff;stroke:none"
+ d="m 250.2,357.9 q 0.1,-2.1 1.6,-3.5 1.45,-1.5 3.5,-1.7 l 1.95,0.1 0.15,0 q 1.7,0.3 3.25,1.3 l 9,-9.05 q 0.55,-0.6 1.55,-0.45 0.85,0.1 1.45,0.75 l 0.35,0.35 q 0.4,0.5 0.4,1.15 l 0.05,0 q 0.05,0.75 -0.3,1.3 l 3.35,3.35 q 1,1 0,1.95 l -0.75,0.75 -0.35,0.2 -0.3,-0.15 -0.5,-0.5 -1.8,1.8 0.5,0.5 0.1,0.3 -0.15,0.35 -0.7,0.75 q -1,1 -2,0 l -3.35,-3.35 -3.2,3.25 q 0.95,1.6 1.3,3.45 l -0.05,0.05 q 0.6,3.4 -1.55,5.4 -2.05,2.2 -5.45,1.65 -2.7,-0.45 -4.9,-2.5 L 253,365.1 q -2.3,-2.3 -2.75,-5.15 l 0,-0.05 q -0.2,-1.1 -0.05,-2"
+ id="path4077" />
+ <path
+ style="fill:#ffffff;stroke:none"
+ d="m 204.05,344 4.75,6.05 7.2,2.7 -4.2,6.5 -0.4,7.75 -7.35,-2.05 -7.45,2.05 -0.35,-7.75 -4.25,-6.5 7.2,-2.7 4.85,-6.05"
+ id="path4075" />
+ <path
+ style="fill:#ffffff;stroke:none"
+ d="m 256.65,362.1 q 1.05,0.95 2.35,1.15 l 0.1,0.05 q 0.8,0.1 1.3,-0.35 0.4,-0.5 0.3,-1.25 l 0,-0.15 q -0.25,-1.25 -1.15,-2.35 l -0.3,-0.3 -0.1,-0.1 q -1.2,-1.1 -2.6,-1.4 -0.85,-0.15 -1.45,0.3 -0.4,0.55 -0.25,1.4 0.25,1.45 1.45,2.7 l 0.35,0.3"
+ id="path4073" />
+ <path
+ style="fill:#ffffff;stroke:none"
+ d="m 264.85,407.25 0.65,0.1 11.05,9.15 0.2,0.5 -0.2,0.45 -0.05,0 -11.15,8.45 q -0.3,0.2 -0.7,0 -0.35,-0.2 -0.3,-0.6 l 0.5,-4.25 q -8.45,0.2 -13.7,3.4 1.85,-9.85 13.8,-12.3 l -0.45,-4.3 q 0,-0.35 0.35,-0.6"
+ id="path4071" />
+ <path
+ style="fill:#ffffff;stroke:none"
+ d="m 258,466 0,7 12,0 0,-7 -12,0"
+ id="path4069" />
+ <path
+ style="fill:#ffffff;stroke:none"
+ d="m 256,477 0,9 16,0 0,-9 -16,0"
+ id="path4067" />
+ <path
+ style="fill:#ffffff;stroke:none"
+ d="m 266,467 3,0 0,5 -3,0 0,-5"
+ id="path4065" />
+ <path
+ style="fill:#ffffff;stroke:none"
+ d="m 275.95,468.1 0,19.85 -22.95,0 0,-24 18.85,0 4.1,4.15"
+ id="path4063" />
+ <path
+ style="fill:#ffffff;stroke:none"
+ d="m 142.55,411.75 0,11.25 q 0,2.05 -1.5,3.4 l -0.05,0.1 q -1.25,1.25 -2.9,1.45 l -0.05,0 q -1.85,0.15 -3,-1.05 -1.2,-1.15 -1,-3 0.15,-1.75 1.4,-3.05 l 0.05,-0.05 q 1.15,-1.15 2.55,-1.4 l 0.05,0 1.25,-0.05 0,-11.3 q 0,-2.05 2.05,-2.05 l 9.55,0 q 2.1,0 2.1,2.05 l 0,10.85 0,0.1 q -0.2,1.95 -1.4,3.2 l -0.05,0 q -1.3,1.4 -3,1.55 l -0.05,0 q -1.8,0.15 -3,-1.1 -1.15,-1.15 -1,-3.05 0.2,-1.7 1.45,-3 1.15,-1.2 2.6,-1.4 l -0.05,0 1.25,-0.1 0,-3.35 -7.25,0"
+ id="path4061" />
+ <path
+ style="fill:#ffffff;stroke:none"
+ d="m 14.05,470.9 -2.1,2.05 0,-7.95 8,0 -2.1,2.1 2.35,2.3 -3.8,3.8 -2.35,-2.3"
+ id="path4059" />
+ <path
+ style="fill:#ffffff;stroke:none"
+ d="m 26.35,405 1.4,0 0,8.95 0.3,0.25 q 0.95,0.95 0.95,2.3 0,1.3 -0.95,2.2 l -0.3,0.35 0,8.95 -1.4,0 -9.55,-8.8 q -0.7,0.5 -1.65,0.5 -1.3,0 -2.25,-1 -0.9,-0.9 -0.9,-2.2 0,-1.35 0.9,-2.3 0.95,-0.9 2.25,-0.9 0.95,0 1.7,0.45 l 9.5,-8.75"
+ id="path4057" />
+ <path
+ style="fill:#ffffff;stroke:none"
+ d="m 31.2,410 q 1.4,0.45 2.65,1.7 2.2,2.15 2.2,5.3 0,3.1 -2.2,5.25 -1.25,1.2 -2.65,1.75 l -1.15,-3.15 q 0.85,-0.2 1.5,-0.85 1.25,-1.3 1.25,-3 0,-1.75 -1.25,-3 -0.65,-0.7 -1.5,-0.85 L 31.2,410"
+ id="path4055" />
+ <path
+ style="fill:#ffffff;stroke:none"
+ d="m 80.9,475.6 q -0.05,0.9 0.3,1.75 0.35,0.9 1.1,1.4 0.7,0.55 1.65,0.65 l 1.7,-0.3 q 0.85,-0.35 1.4,-1.1 l 0.65,-1.65 q 0.1,-0.9 -0.3,-1.75 -0.35,-0.85 -1.1,-1.35 -0.7,-0.55 -1.6,-0.65 l -1.75,0.25 q -1.8,0.8 -2.05,2.75"
+ id="path4053" />
+ <path
+ style="fill:#ffffff;stroke:none"
+ d="m 75.75,467.6 q 2.1,0.7 3.85,1.9 0.55,-0.45 1.5,-0.85 0.7,-0.35 1.65,-0.55 0.4,-2.1 1.55,-4.1 l 2.95,0.4 q 0.45,2.1 0.3,4.25 l 1.5,0.85 1.3,1.2 q 2,-0.7 4.3,-0.7 l 1.15,2.75 q -1.6,1.5 -3.55,2.35 l 0,1.75 -0.35,1.75 q 1.65,1.4 2.75,3.4 l -1.8,2.35 q -2.15,-0.7 -3.8,-1.9 l -1.5,0.9 -1.7,0.5 q -0.4,2.2 -1.55,4.15 l -2.95,-0.4 q -0.45,-2.1 -0.25,-4.25 l -1.5,-0.9 -1.3,-1.15 q -2.1,0.7 -4.35,0.7 l -1.15,-2.75 q 1.6,-1.5 3.55,-2.4 l 0,-1.75 0.35,-1.7 Q 75.05,472 73.95,470 l 1.8,-2.4"
+ id="path4051" />
+ <path
+ style="fill:#ffffff;stroke:none"
+ d="m 86.35,405 1.4,0 0,8.95 0.3,0.25 q 0.95,0.95 0.95,2.3 0,1.3 -0.95,2.2 l -0.3,0.35 0,8.95 -1.4,0 -9.55,-8.8 q -0.7,0.5 -1.65,0.5 -1.3,0 -2.25,-1 -0.9,-0.9 -0.9,-2.2 0,-1.35 0.9,-2.3 0.95,-0.9 2.25,-0.9 0.95,0 1.7,0.45 l 9.5,-8.75"
+ id="path4049" />
+ <path
+ style="fill:#ffffff;stroke:none"
+ d="m 192,485 0,-2 q 0,-2 2,-2 l 20,0 q 2,0 2,2 l 0,2 q 0,2 -2,2 l -20,0 q -2,0 -2,-2"
+ id="path4047" />
+ <path
+ style="fill:#ffffff;stroke:none"
+ d="m 194,471 q -2,0 -2,-2 l 0,-2 q 0,-2 2,-2 l 20,0 q 2,0 2,2 l 0,2 q 0,2 -2,2 l -20,0"
+ id="path4045" />
+ <path
+ style="fill:#ffffff;stroke:none"
+ d="m 192,475 q 0,-2 2,-2 l 20,0 q 2,0 2,2 l 0,2 q 0,2 -2,2 l -20,0 q -2,0 -2,-2 l 0,-2"
+ id="path4043" />
+ <path
+ style="fill:#ffffff;stroke:none"
+ d="m 145.1,472.95 q 0,-1.75 -1.25,-3.05 -1.25,-1.25 -3,-1.25 -1.75,0 -2.95,1.25 l -0.05,0.05 q -1.25,1.25 -1.25,3 0,1.75 1.25,3 1.25,1.3 3,1.3 1.75,0 3,-1.25 l 0,-0.05 q 1.25,-1.25 1.25,-3"
+ id="path4041" />
+ <path
+ style="fill:#ffffff;stroke:none"
+ d="m 146.7,467.05 q 2.45,2.45 2.45,5.9 0,1.9 -0.75,3.45 l 6.4,6.5 q 0.85,0.8 0.8,1.95 0,1.1 -0.8,1.95 -0.8,0.8 -1.9,0.8 -1.15,0 -1.95,-0.8 l -6.3,-6.4 q -1.7,0.9 -3.8,0.9 -3.4,0 -5.85,-2.45 -2.4,-2.45 -2.4,-5.9 0,-3.45 2.4,-5.9 l 0.05,0 q 2.4,-2.45 5.8,-2.45 3.45,0 5.85,2.45"
+ id="path4039" />
+ <path
+ style="fill:#ffffff;stroke:none"
+ d="m 14.05,482.1 2.35,-2.35 3.8,3.8 -2.35,2.35 2.1,2.1 -8,0 0,-8 2.1,2.1"
+ id="path4037" />
+ <path
+ style="fill:#ffffff;stroke:none"
+ d="m 34.95,473 -2.05,-2.1 -2.35,2.3 -3.8,-3.8 2.35,-2.3 -2.1,-2.1 7.95,0 0,8"
+ id="path4035" />
+ <path
+ style="fill:#ffffff;stroke:none"
+ d="m 26.75,483.55 3.8,-3.8 2.35,2.35 2.05,-2.1 0,8 -7.95,0 2.1,-2.1 -2.35,-2.35"
+ id="path4033" />
+ <path
+ style="fill:#ffffff;stroke:none"
+ d="m 498.25,551.55 11,-13.05 q 0.4,-0.5 1.05,-0.6 0.65,-0.05 1.15,0.4 l 6.55,5.6 q 0.5,0.4 0.55,1.05 l -0.35,1.2 -18.7,22.4 -0.75,0.5 -0.9,0 -0.8,-0.5 -13.25,-15.9 q -0.45,-0.5 -0.4,-1.15 0.05,-0.7 0.55,-1.1 l 6.5,-5.6 q 0.55,-0.45 1.2,-0.4 0.65,0.05 1.1,0.55 l 5.5,6.6"
+ id="path4031" />
+ <path
+ style="fill:#ffffff;stroke:none"
+ d="m 314.85,464.85 q 1.7,-1.65 3.35,0 l 6,6 5.65,-5.6 q 1.7,-1.7 3.35,0 l 1.75,1.65 q 1.7,1.75 0,3.4 l -5.65,5.6 5.9,5.85 q 1.65,1.7 0,3.35 l -1.7,1.7 q -1.75,1.7 -3.4,0.05 l -5.9,-5.85 -6.25,6.2 q -1.65,1.65 -3.35,-0.05 l -1.75,-1.7 q -1.65,-1.65 0,-3.3 l 6.25,-6.25 -6,-5.95 q -1.65,-1.65 0.05,-3.4 l 1.7,-1.7"
+ id="path4029" />
+ <path
+ style="fill:#ffffff;stroke:none"
+ d="m 336,410 -13.45,16 -9.55,-11.35 4.7,-4 4.85,5.7 8.75,-10.35 4.7,4"
+ id="path4027" />
+ <path
+ style="fill:#ffffff;stroke:none"
+ d="m 579.35,538.8 q 2.15,-2.1 4.25,0 l 7.65,7.65 7.2,-7.15 q 2.15,-2.2 4.3,0 l 2.2,2.1 q 2.2,2.25 0,4.35 l -7.2,7.1 7.55,7.5 q 2.1,2.15 0,4.25 l -2.2,2.15 -4.3,0.1 -7.55,-7.5 -7.95,7.95 -4.3,-0.1 -2.2,-2.15 q -2.1,-2.1 0,-4.2 l 7.95,-8 -7.65,-7.55 q -2.1,-2.1 0.05,-4.35 l 2.2,-2.15"
+ id="path4025" />
+ <path
+ style="fill:#ffffff;stroke:none"
+ d="m 411.45,535.2 q 0.55,-0.4 0.9,-0.2 l 18.1,8.25 0.5,0.55 -0.15,0.7 -0.05,0 -11.9,15 q -0.35,0.4 -0.9,0.25 -0.65,-0.1 -0.65,-0.65 l -0.85,-5.65 q -6.15,2.4 -9.8,7.75 -2.65,3.6 -3.45,8.05 l -0.4,0.55 -0.65,0.1 -10.4,-2.35 q -0.9,-0.15 -0.7,-0.95 1.4,-6.65 5.35,-12.3 6.4,-9.15 16.95,-12.7 l -2.15,-5.45 q -0.1,-0.5 0.25,-0.95"
+ id="path495" />
+ <path
+ style="fill:#ffffff;fill-opacity:0.30196078;stroke:none"
+ inkscape:connector-curvature="0"
+ id="path497"
+ d="m 213.05,408.05 0,10.85 0,0.1 q -0.2,1.95 -1.4,3.2 l -0.05,0 q -1.3,1.4 -3,1.55 l -0.05,0 q -1.8,0.15 -3,-1.1 -1.15,-1.15 -1,-3.05 0.2,-1.7 1.45,-3 1.15,-1.2 2.6,-1.4 l -0.05,0 1.25,-0.1 0,-3.35 -7.25,0 0,11.25 q 0,2.05 -1.5,3.4 l -0.05,0.1 q -1.25,1.25 -2.9,1.45 l -0.05,0 q -1.85,0.15 -3,-1.05 -1.2,-1.15 -1,-3 0.15,-1.75 1.4,-3.05 l 0.05,-0.05 q 1.15,-1.15 2.55,-1.4 l 0.05,0 1.25,-0.05 0,-11.3 q 0,-2.05 2.05,-2.05 l 9.55,0 q 2.1,0 2.1,2.05" />
+ <g
+ inkscape:label="#g4017"
+ id="0joystick_down"
+ transform="translate(-175.57949,-208.46581)">
+ <path
+ style="fill:#1a1a1a;stroke:none;fill-opacity:1"
+ d="m 657,269.65 0,37.3 q 0,1 -1,1 l -51,0 q -1,0 -1,-1 l 0,-37.3 26.5,-26.5 26.5,26.5"
+ id="path3366"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:url(#linearGradient3374);stroke:none"
+ inkscape:connector-curvature="0"
+ id="path3372"
+ d="m 657,269.65 -26.5,-26.5 -26.5,26.5 0,37.3 q 0,1 1,1 l 51,0 q 1,0 1,-1 l 0,-37.3 M 630.5,237.5 661,268 l 0,38.95 q 0,5 -5,5 l -51,0 q -5,0 -5,-5 l 0,-38.95 30.5,-30.5" />
+ </g>
+</svg>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.48.5 r10040"
+ width="256"
+ height="256"
+ sodipodi:docname="icon.svg">
+ <metadata
+ id="metadata2758">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <sodipodi:namedview
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1279"
+ inkscape:window-height="1379"
+ id="namedview2756"
+ showgrid="false"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0"
+ inkscape:zoom="3.5881183"
+ inkscape:cx="110.75147"
+ inkscape:cy="143.97094"
+ inkscape:window-x="2560"
+ inkscape:window-y="27"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="g3288"
+ showguides="true"
+ inkscape:guide-bbox="true" />
+ <defs
+ id="defs4">
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.03112793,0.03112793,0,258.45,450.5)"
+ id="gradient0">
+ <stop
+ offset="0"
+ stop-color="#71C937"
+ id="stop7" />
+ <stop
+ offset="1"
+ stop-color="#FFFFFF"
+ id="stop9" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.02746582,0.03479004,0,258,444.75)"
+ id="gradient1">
+ <stop
+ offset="0"
+ stop-color="#71C937"
+ stop-opacity="0"
+ id="stop12" />
+ <stop
+ offset="1"
+ stop-color="#71C937"
+ id="stop14" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.03112793,0.03112793,0,258.45,450.5)"
+ id="linearGradient16">
+ <stop
+ offset="0"
+ stop-color="#71C937"
+ id="stop18" />
+ <stop
+ offset="1"
+ stop-color="#FFFFFF"
+ id="stop20" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.02746582,0.03479004,0,258,444.75)"
+ id="linearGradient22">
+ <stop
+ offset="0"
+ stop-color="#71C937"
+ stop-opacity="0"
+ id="stop24" />
+ <stop
+ offset="1"
+ stop-color="#71C937"
+ id="stop26" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.02746582,0.03479004,0,258,444.75)"
+ id="linearGradient28">
+ <stop
+ offset="0"
+ stop-color="#71C937"
+ stop-opacity="0"
+ id="stop30" />
+ <stop
+ offset="1"
+ stop-color="#71C937"
+ id="stop32" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.03112793,0.03112793,0,258.45,450.5)"
+ id="linearGradient34">
+ <stop
+ offset="0"
+ stop-color="#71C937"
+ id="stop36" />
+ <stop
+ offset="1"
+ stop-color="#FFFFFF"
+ id="stop38" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.03112793,0.03112793,0,258.45,450.5)"
+ id="linearGradient40">
+ <stop
+ offset="0"
+ stop-color="#71C937"
+ id="stop42" />
+ <stop
+ offset="1"
+ stop-color="#FFFFFF"
+ id="stop44" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.02746582,0.03479004,0,258,444.75)"
+ id="linearGradient46">
+ <stop
+ offset="0"
+ stop-color="#71C937"
+ stop-opacity="0"
+ id="stop48" />
+ <stop
+ offset="1"
+ stop-color="#71C937"
+ id="stop50" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.02746582,0.03479004,0,258,514.75)"
+ id="gradient2">
+ <stop
+ offset="0"
+ stop-color="#AC3939"
+ stop-opacity="0"
+ id="stop53" />
+ <stop
+ offset="1"
+ stop-color="#AC3939"
+ id="stop55" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.03112793,0.03112793,0,258.45,520.5)"
+ id="gradient3">
+ <stop
+ offset="0"
+ stop-color="#AC3939"
+ id="stop58" />
+ <stop
+ offset="1"
+ stop-color="#FFFFFF"
+ id="stop60" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.02746582,0.03479004,0,258,514.75)"
+ id="linearGradient62">
+ <stop
+ offset="0"
+ stop-color="#AC3939"
+ stop-opacity="0"
+ id="stop64" />
+ <stop
+ offset="1"
+ stop-color="#AC3939"
+ id="stop66" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.03112793,0.03112793,0,258.45,520.5)"
+ id="linearGradient68">
+ <stop
+ offset="0"
+ stop-color="#AC3939"
+ id="stop70" />
+ <stop
+ offset="1"
+ stop-color="#FFFFFF"
+ id="stop72" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.02746582,0.03479004,0,258,514.75)"
+ id="linearGradient74">
+ <stop
+ offset="0"
+ stop-color="#AC3939"
+ stop-opacity="0"
+ id="stop76" />
+ <stop
+ offset="1"
+ stop-color="#AC3939"
+ id="stop78" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.03112793,0.03112793,0,258.45,520.5)"
+ id="linearGradient80">
+ <stop
+ offset="0"
+ stop-color="#AC3939"
+ id="stop82" />
+ <stop
+ offset="1"
+ stop-color="#FFFFFF"
+ id="stop84" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.02746582,0.03479004,0,258,514.75)"
+ id="linearGradient86">
+ <stop
+ offset="0"
+ stop-color="#AC3939"
+ stop-opacity="0"
+ id="stop88" />
+ <stop
+ offset="1"
+ stop-color="#AC3939"
+ id="stop90" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.03112793,0.03112793,0,258.45,520.5)"
+ id="linearGradient92">
+ <stop
+ offset="0"
+ stop-color="#AC3939"
+ id="stop94" />
+ <stop
+ offset="1"
+ stop-color="#FFFFFF"
+ id="stop96" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.03112793,0.03112793,0,258.45,590.5)"
+ id="gradient4">
+ <stop
+ offset="0"
+ stop-color="#36BBF5"
+ id="stop99" />
+ <stop
+ offset="1"
+ stop-color="#FFFFFF"
+ id="stop101" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.02746582,0.03479004,0,258,584.75)"
+ id="gradient5">
+ <stop
+ offset="0"
+ stop-color="#36BBF5"
+ stop-opacity="0"
+ id="stop104" />
+ <stop
+ offset="1"
+ stop-color="#36BBF5"
+ id="stop106" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.03112793,0.03112793,0,258.45,590.5)"
+ id="linearGradient108">
+ <stop
+ offset="0"
+ stop-color="#36BBF5"
+ id="stop110" />
+ <stop
+ offset="1"
+ stop-color="#FFFFFF"
+ id="stop112" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.02746582,0.03479004,0,258,584.75)"
+ id="linearGradient114">
+ <stop
+ offset="0"
+ stop-color="#36BBF5"
+ stop-opacity="0"
+ id="stop116" />
+ <stop
+ offset="1"
+ stop-color="#36BBF5"
+ id="stop118" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.03112793,0.03112793,0,258.45,590.5)"
+ id="linearGradient120">
+ <stop
+ offset="0"
+ stop-color="#36BBF5"
+ id="stop122" />
+ <stop
+ offset="1"
+ stop-color="#FFFFFF"
+ id="stop124" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.02746582,0.03479004,0,258,584.75)"
+ id="linearGradient126">
+ <stop
+ offset="0"
+ stop-color="#36BBF5"
+ stop-opacity="0"
+ id="stop128" />
+ <stop
+ offset="1"
+ stop-color="#36BBF5"
+ id="stop130" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.02746582,0.03479004,0,258,584.75)"
+ id="linearGradient132">
+ <stop
+ offset="0"
+ stop-color="#36BBF5"
+ stop-opacity="0"
+ id="stop134" />
+ <stop
+ offset="1"
+ stop-color="#36BBF5"
+ id="stop136" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.03112793,0.03112793,0,258.45,590.5)"
+ id="linearGradient138">
+ <stop
+ offset="0"
+ stop-color="#36BBF5"
+ id="stop140" />
+ <stop
+ offset="1"
+ stop-color="#FFFFFF"
+ id="stop142" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.07275391,0.07202148,0,281.45,713.55)"
+ id="gradient6">
+ <stop
+ offset="0"
+ stop-color="#FFFFFF"
+ stop-opacity="0.10196078431372549"
+ id="stop145" />
+ <stop
+ offset="1"
+ stop-color="#FFFFFF"
+ stop-opacity="0.30196078431372547"
+ id="stop147" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,0.07159424,-0.07296753,0,446.05,732.3)"
+ id="gradient7">
+ <stop
+ offset="0"
+ stop-color="#FFFFFF"
+ stop-opacity="0"
+ id="stop150" />
+ <stop
+ offset="1"
+ stop-color="#FFFFFF"
+ stop-opacity="0.10196078431372549"
+ id="stop152" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.07254028,0.07202148,0,446,713.85)"
+ id="gradient8">
+ <stop
+ offset="0"
+ stop-color="#FFFFFF"
+ stop-opacity="0.10196078431372549"
+ id="stop155" />
+ <stop
+ offset="1"
+ stop-color="#FFFFFF"
+ stop-opacity="0.30196078431372547"
+ id="stop157" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,0.06896973,0.06896973,0,573.45,715.45)"
+ id="gradient9">
+ <stop
+ offset="0"
+ stop-color="#FFFFFF"
+ stop-opacity="0"
+ id="stop160" />
+ <stop
+ offset="1"
+ stop-color="#FFFFFF"
+ stop-opacity="0.10196078431372549"
+ id="stop162" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.02105713,0.02264404,0,746.2,1078.9)"
+ id="gradient10">
+ <stop
+ offset="0"
+ stop-color="#99FFFF"
+ stop-opacity="0"
+ id="stop165" />
+ <stop
+ offset="0.34901960784313724"
+ stop-color="#FACC08"
+ stop-opacity="0.08235294117647059"
+ id="stop167" />
+ <stop
+ offset="1"
+ stop-color="#6AB7EA"
+ id="stop169" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.02105713,0.02264404,0,718.2,1078.9)"
+ id="gradient11">
+ <stop
+ offset="0"
+ stop-color="#99FFFF"
+ stop-opacity="0"
+ id="stop172" />
+ <stop
+ offset="1"
+ stop-color="#6AB7EA"
+ id="stop174" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.02105713,0.02264404,0,806,1078.9)"
+ id="gradient12">
+ <stop
+ offset="0"
+ stop-color="#99FFFF"
+ stop-opacity="0"
+ id="stop177" />
+ <stop
+ offset="1"
+ stop-color="#6AB7EA"
+ id="stop179" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,0.00708008,-0.00698853,0,806,1089.1)"
+ id="gradient13">
+ <stop
+ offset="0"
+ stop-color="#FFFFFF"
+ stop-opacity="0"
+ id="stop182" />
+ <stop
+ offset="1"
+ stop-color="#FFFFFF"
+ stop-opacity="0.30196078431372547"
+ id="stop184" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.02105713,0.02264404,0,835,1078.9)"
+ id="gradient14">
+ <stop
+ offset="0"
+ stop-color="#99FFFF"
+ stop-opacity="0"
+ id="stop187" />
+ <stop
+ offset="1"
+ stop-color="#6AB7EA"
+ id="stop189" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,0.01573181,-0.00698853,0,835,1082.2)"
+ id="gradient15">
+ <stop
+ offset="0"
+ stop-color="#FFFFFF"
+ stop-opacity="0"
+ id="stop192" />
+ <stop
+ offset="1"
+ stop-color="#FFFFFF"
+ stop-opacity="0.30196078431372547"
+ id="stop194" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.02618408,0.02441406,0,946.85,1076.2)"
+ id="gradient16">
+ <stop
+ offset="0"
+ stop-color="#99FFFF"
+ stop-opacity="0"
+ id="stop197" />
+ <stop
+ offset="0.34901960784313724"
+ stop-color="#FACC08"
+ stop-opacity="0.08235294117647059"
+ id="stop199" />
+ <stop
+ offset="1"
+ stop-color="#6AB7EA"
+ id="stop201" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.02557373,0.02441406,0,923.85,1076.2)"
+ id="gradient17">
+ <stop
+ offset="0"
+ stop-color="#99FFFF"
+ stop-opacity="0"
+ id="stop204" />
+ <stop
+ offset="1"
+ stop-color="#6AB7EA"
+ id="stop206" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,0.02160645,-0.02062988,0,776.2,1080.55)"
+ id="gradient18">
+ <stop
+ offset="0"
+ stop-color="#FF7E00"
+ stop-opacity="0.5019607843137255"
+ id="stop209" />
+ <stop
+ offset="0.3568627450980392"
+ stop-color="#FFCC00"
+ stop-opacity="0.30196078431372547"
+ id="stop211" />
+ <stop
+ offset="1"
+ stop-color="#FFCC00"
+ stop-opacity="0"
+ id="stop213" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,0.02441406,-0.02441406,0,971.05,1075)"
+ id="gradient19">
+ <stop
+ offset="0"
+ stop-color="#FF7E00"
+ stop-opacity="0.5019607843137255"
+ id="stop216" />
+ <stop
+ offset="0.3568627450980392"
+ stop-color="#FFCC00"
+ stop-opacity="0.30196078431372547"
+ id="stop218" />
+ <stop
+ offset="1"
+ stop-color="#FFCC00"
+ stop-opacity="0"
+ id="stop220" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,0.02105713,-0.02264404,0,863,1078.9)"
+ id="gradient20">
+ <stop
+ offset="0"
+ stop-color="#FF7E00"
+ stop-opacity="0.5019607843137255"
+ id="stop223" />
+ <stop
+ offset="0.3568627450980392"
+ stop-color="#FFCC00"
+ stop-opacity="0.30196078431372547"
+ id="stop225" />
+ <stop
+ offset="1"
+ stop-color="#FFCC00"
+ stop-opacity="0"
+ id="stop227" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,0.00708008,-0.00698853,0,863,1089.1)"
+ id="gradient21">
+ <stop
+ offset="0"
+ stop-color="#FFFFFF"
+ stop-opacity="0"
+ id="stop230" />
+ <stop
+ offset="1"
+ stop-color="#FFFFFF"
+ stop-opacity="0.30196078431372547"
+ id="stop232" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,0.02105713,-0.02264404,0,890,1078.9)"
+ id="gradient22">
+ <stop
+ offset="0"
+ stop-color="#FF7E00"
+ stop-opacity="0.5019607843137255"
+ id="stop235" />
+ <stop
+ offset="0.3568627450980392"
+ stop-color="#FFCC00"
+ stop-opacity="0.30196078431372547"
+ id="stop237" />
+ <stop
+ offset="1"
+ stop-color="#FFCC00"
+ stop-opacity="0"
+ id="stop239" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,0.01573181,-0.00698853,0,890,1082.2)"
+ id="gradient23">
+ <stop
+ offset="0"
+ stop-color="#FFFFFF"
+ stop-opacity="0"
+ id="stop242" />
+ <stop
+ offset="1"
+ stop-color="#FFFFFF"
+ stop-opacity="0.30196078431372547"
+ id="stop244" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,0.02105713,0.02264404,0,746.2,1133.5)"
+ id="gradient24">
+ <stop
+ offset="0"
+ stop-color="#99FFFF"
+ stop-opacity="0"
+ id="stop247" />
+ <stop
+ offset="0.34901960784313724"
+ stop-color="#FACC08"
+ stop-opacity="0.08235294117647059"
+ id="stop249" />
+ <stop
+ offset="1"
+ stop-color="#6AB7EA"
+ id="stop251" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,0.02105713,0.02264404,0,718.2,1133.5)"
+ id="gradient25">
+ <stop
+ offset="0"
+ stop-color="#99FFFF"
+ stop-opacity="0"
+ id="stop254" />
+ <stop
+ offset="1"
+ stop-color="#6AB7EA"
+ id="stop256" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,0.02105713,0.02264404,0,806,1133.5)"
+ id="gradient26">
+ <stop
+ offset="0"
+ stop-color="#99FFFF"
+ stop-opacity="0"
+ id="stop259" />
+ <stop
+ offset="1"
+ stop-color="#6AB7EA"
+ id="stop261" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.00708008,-0.00698853,0,806,1123.3)"
+ id="gradient27">
+ <stop
+ offset="0"
+ stop-color="#FFFFFF"
+ stop-opacity="0"
+ id="stop264" />
+ <stop
+ offset="1"
+ stop-color="#FFFFFF"
+ stop-opacity="0.30196078431372547"
+ id="stop266" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,0.02105713,0.02264404,0,835,1133.5)"
+ id="gradient28">
+ <stop
+ offset="0"
+ stop-color="#99FFFF"
+ stop-opacity="0"
+ id="stop269" />
+ <stop
+ offset="1"
+ stop-color="#6AB7EA"
+ id="stop271" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.01573181,-0.00698853,0,835,1130.2)"
+ id="gradient29">
+ <stop
+ offset="0"
+ stop-color="#FFFFFF"
+ stop-opacity="0"
+ id="stop274" />
+ <stop
+ offset="1"
+ stop-color="#FFFFFF"
+ stop-opacity="0.30196078431372547"
+ id="stop276" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,0.02618408,0.02441406,0,946.85,1136.2)"
+ id="gradient30">
+ <stop
+ offset="0"
+ stop-color="#99FFFF"
+ stop-opacity="0"
+ id="stop279" />
+ <stop
+ offset="0.34901960784313724"
+ stop-color="#FACC08"
+ stop-opacity="0.08235294117647059"
+ id="stop281" />
+ <stop
+ offset="1"
+ stop-color="#6AB7EA"
+ id="stop283" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,0.02557373,0.02441406,0,923.85,1136.2)"
+ id="gradient31">
+ <stop
+ offset="0"
+ stop-color="#99FFFF"
+ stop-opacity="0"
+ id="stop286" />
+ <stop
+ offset="1"
+ stop-color="#6AB7EA"
+ id="stop288" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.02160645,-0.02062988,0,776.2,1131.85)"
+ id="gradient32">
+ <stop
+ offset="0"
+ stop-color="#FF7E00"
+ stop-opacity="0.5019607843137255"
+ id="stop291" />
+ <stop
+ offset="0.3568627450980392"
+ stop-color="#FFCC00"
+ stop-opacity="0.30196078431372547"
+ id="stop293" />
+ <stop
+ offset="1"
+ stop-color="#FFCC00"
+ stop-opacity="0"
+ id="stop295" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.02441406,-0.02441406,0,971.05,1137.4)"
+ id="gradient33">
+ <stop
+ offset="0"
+ stop-color="#FF7E00"
+ stop-opacity="0.5019607843137255"
+ id="stop298" />
+ <stop
+ offset="0.3568627450980392"
+ stop-color="#FFCC00"
+ stop-opacity="0.30196078431372547"
+ id="stop300" />
+ <stop
+ offset="1"
+ stop-color="#FFCC00"
+ stop-opacity="0"
+ id="stop302" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.02105713,-0.02264404,0,863,1133.5)"
+ id="gradient34">
+ <stop
+ offset="0"
+ stop-color="#FF7E00"
+ stop-opacity="0.5019607843137255"
+ id="stop305" />
+ <stop
+ offset="0.3568627450980392"
+ stop-color="#FFCC00"
+ stop-opacity="0.30196078431372547"
+ id="stop307" />
+ <stop
+ offset="1"
+ stop-color="#FFCC00"
+ stop-opacity="0"
+ id="stop309" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.00708008,-0.00698853,0,863,1123.3)"
+ id="gradient35">
+ <stop
+ offset="0"
+ stop-color="#FFFFFF"
+ stop-opacity="0"
+ id="stop312" />
+ <stop
+ offset="1"
+ stop-color="#FFFFFF"
+ stop-opacity="0.30196078431372547"
+ id="stop314" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.02105713,-0.02264404,0,890,1133.5)"
+ id="gradient36">
+ <stop
+ offset="0"
+ stop-color="#FF7E00"
+ stop-opacity="0.5019607843137255"
+ id="stop317" />
+ <stop
+ offset="0.3568627450980392"
+ stop-color="#FFCC00"
+ stop-opacity="0.30196078431372547"
+ id="stop319" />
+ <stop
+ offset="1"
+ stop-color="#FFCC00"
+ stop-opacity="0"
+ id="stop321" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ x1="-819.20001"
+ x2="819.20001"
+ spreadMethod="pad"
+ gradientTransform="matrix(0,-0.01573181,-0.00698853,0,890,1130.2)"
+ id="gradient37">
+ <stop
+ offset="0"
+ stop-color="#FFFFFF"
+ stop-opacity="0"
+ id="stop324" />
+ <stop
+ offset="1"
+ stop-color="#FFFFFF"
+ stop-opacity="0.30196078431372547"
+ id="stop326" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient0"
+ id="linearGradient5735"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.03112793,0.03112793,0,258.45,450.5)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient1"
+ id="linearGradient5737"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.02746582,0.03479004,0,258,444.75)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient0"
+ id="linearGradient5739"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.03112793,0.03112793,0,258.45,450.5)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient1"
+ id="linearGradient5741"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.02746582,0.03479004,0,258,444.75)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient1"
+ id="linearGradient5743"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.02746582,0.03479004,0,258,444.75)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient0"
+ id="linearGradient5745"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.03112793,0.03112793,0,258.45,450.5)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient0"
+ id="linearGradient5747"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.03112793,0.03112793,0,258.45,450.5)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient1"
+ id="linearGradient5749"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.02746582,0.03479004,0,258,444.75)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient2"
+ id="linearGradient5751"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.02746582,0.03479004,0,258,514.75)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient3"
+ id="linearGradient5753"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.03112793,0.03112793,0,258.45,520.5)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient2"
+ id="linearGradient5755"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.02746582,0.03479004,0,258,514.75)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient3"
+ id="linearGradient5757"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.03112793,0.03112793,0,258.45,520.5)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient2"
+ id="linearGradient5759"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.02746582,0.03479004,0,258,514.75)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient3"
+ id="linearGradient5761"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.03112793,0.03112793,0,258.45,520.5)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient2"
+ id="linearGradient5763"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.02746582,0.03479004,0,258,514.75)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient3"
+ id="linearGradient5765"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.03112793,0.03112793,0,258.45,520.5)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient4"
+ id="linearGradient5767"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.03112793,0.03112793,0,258.45,590.5)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient5"
+ id="linearGradient5769"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.02746582,0.03479004,0,258,584.75)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient4"
+ id="linearGradient5771"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.03112793,0.03112793,0,258.45,590.5)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient5"
+ id="linearGradient5773"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.02746582,0.03479004,0,258,584.75)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient4"
+ id="linearGradient5775"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.03112793,0.03112793,0,258.45,590.5)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient5"
+ id="linearGradient5777"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.02746582,0.03479004,0,258,584.75)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient5"
+ id="linearGradient5779"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.02746582,0.03479004,0,258,584.75)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient4"
+ id="linearGradient5781"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.03112793,0.03112793,0,258.45,590.5)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient37"
+ id="linearGradient5874"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.01573181,-0.00698853,0,890,1130.2)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient36"
+ id="linearGradient5877"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.02105713,-0.02264404,0,890,1133.5)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient35"
+ id="linearGradient5880"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.00708008,-0.00698853,0,863,1123.3)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient34"
+ id="linearGradient5883"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.02105713,-0.02264404,0,863,1133.5)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient33"
+ id="linearGradient5886"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.02441406,-0.02441406,0,971.05,1137.4)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient32"
+ id="linearGradient5889"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.02160645,-0.02062988,0,776.2,1131.85)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient31"
+ id="linearGradient5892"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,0.02557373,0.02441406,0,923.85,1136.2)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient30"
+ id="linearGradient5895"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,0.02618408,0.02441406,0,946.85,1136.2)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient29"
+ id="linearGradient5898"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.01573181,-0.00698853,0,835,1130.2)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient28"
+ id="linearGradient5901"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,0.02105713,0.02264404,0,835,1133.5)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient27"
+ id="linearGradient5904"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.00708008,-0.00698853,0,806,1123.3)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient26"
+ id="linearGradient5907"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,0.02105713,0.02264404,0,806,1133.5)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient25"
+ id="linearGradient5910"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,0.02105713,0.02264404,0,718.2,1133.5)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient24"
+ id="linearGradient5913"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,0.02105713,0.02264404,0,746.2,1133.5)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient23"
+ id="linearGradient5916"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,0.01573181,-0.00698853,0,890,1082.2)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient22"
+ id="linearGradient5919"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,0.02105713,-0.02264404,0,890,1078.9)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient21"
+ id="linearGradient5922"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,0.00708008,-0.00698853,0,863,1089.1)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient20"
+ id="linearGradient5925"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,0.02105713,-0.02264404,0,863,1078.9)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient19"
+ id="linearGradient5928"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,0.02441406,-0.02441406,0,971.05,1075)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient18"
+ id="linearGradient5931"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,0.02160645,-0.02062988,0,776.2,1080.55)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient17"
+ id="linearGradient5934"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.02557373,0.02441406,0,923.85,1076.2)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient16"
+ id="linearGradient5937"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.02618408,0.02441406,0,946.85,1076.2)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient15"
+ id="linearGradient5940"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,0.01573181,-0.00698853,0,835,1082.2)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient14"
+ id="linearGradient5943"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.02105713,0.02264404,0,835,1078.9)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient13"
+ id="linearGradient5946"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,0.00708008,-0.00698853,0,806,1089.1)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient12"
+ id="linearGradient5949"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.02105713,0.02264404,0,806,1078.9)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient11"
+ id="linearGradient5952"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.02105713,0.02264404,0,718.2,1078.9)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient10"
+ id="linearGradient5955"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.02105713,0.02264404,0,746.2,1078.9)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient9"
+ id="linearGradient6682"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,0.06896973,0.06896973,0,573.45,715.45)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient8"
+ id="linearGradient6687"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.07254028,0.07202148,0,446,713.85)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient7"
+ id="linearGradient6690"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,0.07159424,-0.07296753,0,446.05,732.3)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient6"
+ id="linearGradient6693"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.07275391,0.07202148,0,281.45,713.55)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient4"
+ id="linearGradient6752"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.03112793,0.03112793,0,258.45,590.5)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient5"
+ id="linearGradient6755"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.02746582,0.03479004,0,258,584.75)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient5"
+ id="linearGradient6758"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.02746582,0.03479004,0,258,584.75)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient4"
+ id="linearGradient6761"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.03112793,0.03112793,0,258.45,590.5)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient5"
+ id="linearGradient6764"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.02746582,0.03479004,0,258,584.75)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient4"
+ id="linearGradient6767"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.03112793,0.03112793,0,258.45,590.5)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient5"
+ id="linearGradient6770"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.02746582,0.03479004,0,258,584.75)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient4"
+ id="linearGradient6773"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.03112793,0.03112793,0,258.45,590.5)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient3"
+ id="linearGradient6776"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.03112793,0.03112793,0,258.45,520.5)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient2"
+ id="linearGradient6779"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.02746582,0.03479004,0,258,514.75)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient3"
+ id="linearGradient6782"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.03112793,0.03112793,0,258.45,520.5)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient2"
+ id="linearGradient6785"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.02746582,0.03479004,0,258,514.75)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient3"
+ id="linearGradient6788"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.03112793,0.03112793,0,258.45,520.5)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient2"
+ id="linearGradient6791"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.02746582,0.03479004,0,258,514.75)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient3"
+ id="linearGradient6794"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.03112793,0.03112793,0,258.45,520.5)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient2"
+ id="linearGradient6797"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.02746582,0.03479004,0,258,514.75)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient1"
+ id="linearGradient6800"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.02746582,0.03479004,0,258,444.75)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient0"
+ id="linearGradient6803"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.03112793,0.03112793,0,258.45,450.5)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient0"
+ id="linearGradient6806"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.03112793,0.03112793,0,258.45,450.5)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient1"
+ id="linearGradient6809"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.02746582,0.03479004,0,258,444.75)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient1"
+ id="linearGradient6812"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.02746582,0.03479004,0,258,444.75)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient0"
+ id="linearGradient6815"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.03112793,0.03112793,0,258.45,450.5)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient1"
+ id="linearGradient6862"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.02746582,0.03479004,0,258,444.75)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#gradient0"
+ id="linearGradient6865"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.03112793,0.03112793,0,258.45,450.5)"
+ spreadMethod="pad"
+ x1="-819.20001"
+ x2="819.20001" />
+ </defs>
+ <path
+ d="m 115.86248,91.076531 q -0.824,1.618075 -2.54436,2.498232 L 53.838269,119.29335 50.734994,119.70568 47.994745,118.344 1.7790391,76.233275 0.36804822,74.096233 6.4039997e-6,71.679733 3.7798445,33.638828 4.5944804,31.464345 6.2006882,29.636676 49.418719,0.59035426 51.86079,-0.20372563 q 1.338619,-0.21895308 2.460792,0.31873353 l 45.969168,17.7242661 2.21877,1.501411 1.22012,2.467644 12.72852,65.7551 q 0.35868,1.860094 -0.59568,3.513102 M 52.440933,5.0902442 9.222903,34.136566 5.4430649,72.177472 51.658771,114.2882 111.13862,88.56961 98.410098,22.81451 52.440933,5.0902442"
+ id="path7132"
+ inkscape:connector-curvature="0"
+ style="fill:#3b2b21;stroke:none;fill-opacity:1" />
+ <path
+ d="M 79.825067,76.000749 52.226193,79.902629 29.02474,53.283199 55.516309,32.211936 84.047828,44.827598 79.825067,76.000749"
+ id="path7134"
+ inkscape:connector-curvature="0"
+ style="fill:#997055;stroke:none" />
+ <path
+ d="M 79.825067,76.000749 84.047828,44.827598 55.516309,32.211936 29.02474,53.283199 52.226193,79.902629 79.825067,76.000749 M 52.440933,5.0902442 98.410098,22.81451 111.13862,88.56961 51.658771,114.2882 5.4430649,72.177472 9.222903,34.136566 52.440933,5.0902442"
+ id="path7136"
+ inkscape:connector-curvature="0"
+ style="fill:#684c3a;stroke:none;fill-opacity:1" />
+ <path
+ d="m 255.89705,184.75917 -2.04667,2.10094 -47.18339,27.46635 q -1.59122,1.03155 -3.54009,0.72174 l -3.18602,-1.50556 -50.76717,-48.74672 -1.57267,-2.67631 0.0471,-2.9897 11.06853,-38.20294 q 0.5661,-1.76541 1.87891,-2.84122 l 38.35634,-30.296843 q 1.45201,-1.053679 3.02753,-1.088662 1.61978,-0.313394 3.06252,0.486855 l 48.15435,24.78201 2.24014,2.0688 q 0.91448,1.42989 0.81025,2.98328 l 0.37134,64.99814 -0.72101,2.73984 m -52.02416,24.69868 47.18338,-27.46635 -0.37133,-64.99814 -48.15436,-24.782016 -38.35634,30.296846 -11.06853,38.20294 50.76718,48.74672"
+ id="path7140"
+ inkscape:connector-curvature="0"
+ style="fill:#3b2b21;stroke:none;fill-opacity:1" />
+ <path
+ d="m 203.87289,209.45785 -50.76718,-48.74672 11.06853,-38.20294 38.35634,-30.296846 48.15436,24.782016 0.37133,64.99814 -47.18338,27.46635 m 0.0285,-27.1129 22.14432,-13.60646 2.16296,-36.05059 -27.14503,-4.31531 -15.04127,18.30373 17.87902,35.66863"
+ id="path7142"
+ inkscape:connector-curvature="0"
+ style="fill:#684c3a;stroke:none;fill-opacity:1" />
+ <path
+ d="m 203.90139,182.34495 -17.87902,-35.66863 15.04127,-18.30373 27.14503,4.31531 -2.16296,36.05059 -22.14432,13.60646"
+ id="path7144"
+ inkscape:connector-curvature="0"
+ style="fill:#997055;stroke:none" />
+ <path
+ d="m 178.01071,87.363672 -3.13924,-1.559947 -31.76691,-28.9453 -1.61643,-2.448202 -0.42163,-2.768349 2.59811,-26.147862 0.93325,-2.491093 1.84008,-2.093783 29.70642,-19.96532969 2.79764,-0.90970019 q 1.53353,-0.25083327 2.81909,0.36514205 L 213.35854,12.58223 q 1.58426,0.535938 2.54183,1.720021 l 1.39777,2.82694 8.7491,45.197538 q 0.41091,2.130928 -0.68242,4.024619 -0.94397,1.853672 -2.91482,2.861982 l -40.88417,17.677971 -3.55512,0.472371 m 1.05828,-6.206288 40.88417,-17.677971 -8.7491,-45.197538 -31.59744,-12.182982 -29.70642,19.96533 -2.59812,26.147861 31.76691,28.9453"
+ id="path7148"
+ inkscape:connector-curvature="0"
+ style="fill:#3b2b21;stroke:none;fill-opacity:1" />
+ <path
+ d="m 179.06899,81.157384 -31.76691,-28.9453 2.59812,-26.147861 29.70642,-19.96533 31.59744,12.182982 8.7491,45.197538 -40.88417,17.677971 m 19.36043,-26.317325 2.90256,-21.427231 -19.61147,-8.671522 -18.20929,14.483579 15.94779,18.297177 18.97041,-2.682003"
+ id="path7150"
+ inkscape:connector-curvature="0"
+ style="fill:#684c3a;stroke:none;fill-opacity:1" />
+ <path
+ d="m 198.42942,54.840059 -18.97041,2.682003 -15.94779,-18.297177 18.20929,-14.483579 19.61147,8.671522 -2.90256,21.427231"
+ id="path7152"
+ inkscape:connector-curvature="0"
+ style="fill:#997055;stroke:none" />
+ <g
+ id="g3288"
+ transform="matrix(1.3739344,0.66485688,-0.66881519,1.3658029,-253.5313,-289.60898)">
+ <path
+ style="fill:#8d8d8d;stroke:none;fill-opacity:1"
+ d="m 336.56847,141.26372 c -2.76121,4.18362 -2.59131,8.46951 -8.826,12.54256 -2.80957,4.1978 -10.60099,7.6334 -10.3615,12.30119 0.0589,7.45626 9.72606,5.74491 6.90218,0.11884 4.66062,-6.61722 12.94902,-11.97255 17.87907,-18.86884 0.95438,-3.23321 -2.47073,-5.29512 -4.03125,-7.59375 -0.52083,0.5 -1.04167,1 -1.5625,1.5 z m 23.65625,13.90625 c -5.61413,1.4639 -3.8194,9.63378 -6.13392,13.76525 -1.21488,5.94948 -2.76241,12.4171 -6.70983,14.266 -3.2545,5.92346 8.58753,5.70584 8.75308,1.56381 2.03022,-7.76086 4.06045,-15.52171 6.09067,-23.28256 5.02315,1.67273 5.54603,-8.44276 -0.9375,-6.3125 -0.34705,-0.0507 -0.71536,-0.0507 -1.0625,0 z m -49.53125,40.8125 c -3.75245,4.64539 -7.89936,9.21409 -14.6802,6.46554 -5.74719,1.26397 -9.91048,-6.61927 -12.8823,-0.24679 -0.82992,6.83334 8.27968,5.58957 12.64299,6.2377 5.21524,0.5377 11.85395,2.80327 14.66461,-3.48275 3.14983,-5.6194 11.85808,2.96299 14.18745,5.19333 -1.95538,4.3668 -3.84826,9.67059 0.76941,13.14897 4.11673,3.77316 5.65734,12.20918 11.86054,12.77775 4.52016,-0.78459 4.50294,-3.85176 1.90142,-7.38787 -4.51792,1.61623 -6.99032,-8.16199 -10.65142,-11.26838 0.33771,-4.64712 6.79899,-11.10366 0.33065,-12.87535 -5.76565,-3.33462 -11.53889,-6.65616 -17.2994,-9.99965 l -0.5062,0.86242 -0.33755,0.57508 z"
+ id="path2074"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#354528;stroke:none;fill-opacity:1"
+ d="m 330.34972,133.63872 c -7.30372,3.8238 -12.9762,10.69823 -19.76036,15.48903 -9.56535,8.28107 -20.04674,15.70251 -29.08339,24.47972 -0.19221,10.18768 1.31536,20.44469 1.78125,30.65625 8.61831,1.61644 5.04599,-6.99835 5.09991,-12.53926 0.29741,-5.32756 -2.13337,-11.84287 -0.13116,-16.42949 14.10657,-11.66007 28.25135,-23.27368 42.40625,-34.875 2.42889,5.51679 8.67196,8.2741 9.40632,1.65164 -3.14642,-2.58776 -5.13035,-8.48059 -9.71882,-8.43289 z m 31.65625,23.5625 c -5.1028,7.65417 10.04382,2.0127 7.10357,8.61593 -2.90363,17.47231 -5.76342,34.95538 -8.72857,52.41532 -8.27873,4.05719 -16.57833,8.07213 -24.84375,12.15625 0.99451,8.96763 7.45099,2.61793 12.3998,0.61338 5.56495,-3.48462 12.95244,-4.93575 17.6627,-9.39463 3.92892,-20.1224 7.17801,-40.64482 10.25,-60.9375 -1.60132,-5.32756 -9.1999,-3.61689 -13.375,-5.28125 l -0.25038,0.96815 -0.21837,0.84435 z"
+ id="path2076"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path2070"
+ d="m 329.13123,209.20341 q 0.35311,0.0884 0.73792,0.0219 l 6.73993,-1.07391 -3.54522,12.04051 4.85535,11.29028 -1.33613,0.61423 -10.293,-14.37198 2.84115,-8.52103 m 19.83179,-19.14967 0.30635,-4.73061 4.6641,-0.0785 6.80792,-26.09166 2.70167,0.52058 -7.5852,29.33794 -6.89484,1.04221 m -27.62297,-20.85561 -3.94365,2.63061 -2.50154,-6.46721 21.6148,-21.23794 1.80167,2.07942 -19.19208,18.94166 2.2208,4.05346 m -13.43971,22.37827 2.48323,6.39891 q 0.13481,0.3665 0.38792,0.6281 l -5.95885,6.72103 -17.593,-1.72802 -0.13613,-1.46423 12.20535,-1.44028 8.61148,-9.11551 m 21.66127,15.68157 -17.3205,-10 12.4,-21.47743 q -0.6567,1.23743 -0.29068,2.60346 0.35933,1.47763 1.70167,2.25263 l 10.95522,6.325 q 1.34234,0.775 2.80167,0.34737 1.43432,-0.38433 2.20262,-1.61507 l -12.45,21.56404"
+ inkscape:connector-curvature="0"
+ style="fill:#eeeeee;stroke:none" />
+ <path
+ id="path2072"
+ d="m 329.56161,207.25797 10.0166,-1.54927 7.175,-12.42746 1.00972,-16.44887 -18.31644,-10.575 -13.69698,9.12387 -7.175,12.42746 3.6666,9.44927 -1,1.73205 -0.46962,-0.38661 q -0.25311,-0.2616 -0.38792,-0.6281 l -2.48323,-6.39891 -1.18337,-3.05036 -0.12631,-0.88121 0.25179,-0.83613 7.175,-12.42746 0.62321,-0.67942 2.75574,-1.87308 3.94365,-2.63061 1.67942,-1.10884 5.31817,-3.51135 1.04952,-0.31782 1.05933,0.26519 18.31644,10.575 q 0.47631,0.275 0.75932,0.78481 l 0.24952,1.06782 -0.38182,6.36135 -0.12058,2.00884 -0.30635,4.73061 -0.20096,3.34808 -0.27679,0.87942 -7.175,12.42746 -0.59821,0.63613 -0.82631,0.33121 -3.27667,0.47536 -6.73993,1.07391 q -0.38481,0.0665 -0.73792,-0.0219 l -0.56962,-0.21339 1,-1.73205"
+ inkscape:connector-curvature="0"
+ style="fill:#6d6d6d;stroke:none;fill-opacity:1" />
+ <path
+ id="path2078"
+ d="m 287.07861,201.84069 -1.82878,-26.63247 1.69952,-1.44365 12.83977,14.86086 12.89712,-13.33845 -6.60247,-17.2642 24.83609,-20.41736 5.5898,6.51817 -21.6148,21.23794 2.50154,6.46721 -2.75574,1.87308 -0.62321,0.67942 -7.175,12.42746 -0.25179,0.83613 0.12631,0.88121 1.18337,3.05036 -8.61148,9.11551 -12.20535,1.44028 -0.005,-0.2915 m 50.8406,29.6415 -4.85535,-11.29028 3.54522,-12.04051 3.27667,-0.47536 0.82631,-0.33121 0.59821,-0.63613 7.175,-12.42746 0.27679,-0.87942 0.20096,-3.34808 6.89484,-1.04221 7.5852,-29.33794 8.4398,1.58183 -5.26391,31.71736 -18.25247,2.9142 -5.10288,17.83845 19.28977,3.68914 -0.40048,2.19365 -23.97878,11.73247 -0.2549,0.1415"
+ inkscape:connector-curvature="0"
+ style="fill:#7c9865;stroke:none" />
+ <path
+ id="path2080"
+ d="m 312.24111,197.25797 -3.6666,-9.44927 7.175,-12.42746 13.69698,-9.12387 18.31644,10.575 -1.00972,16.44887 -7.175,12.42746 -10.0166,1.54927 12.45,-21.56404 0.05,-0.0866 0.05,-0.0866 q 0.5067,-0.97763 0.41209,-2.01375 l -0.11471,-0.70131 q -0.35933,-1.47763 -1.70167,-2.25263 l -10.95522,-6.325 q -1.34234,-0.775 -2.80167,-0.34737 l -0.63971,0.20801 q -0.92631,0.50442 -1.51961,1.43205 l -0.05,0.0866 -0.1,0.17321 -12.4,21.47743"
+ inkscape:connector-curvature="0"
+ style="fill:#dbdbdb;stroke:none" />
+ <path
+ id="path2082"
+ d="m 362.55337,217.41457 -19.28977,-3.68914 5.10288,-17.83845 18.25247,-2.9142 -4.06558,24.44179 m -75.60402,-43.65 19.13442,-15.74179 6.60247,17.2642 -12.89712,13.33845 -12.83977,-14.86086"
+ inkscape:connector-curvature="0"
+ style="fill:#536941;stroke:none;fill-opacity:1" />
+ <path
+ id="path2084"
+ d="m 324.64111,175.78054 0.1,-0.17321 0.05,-0.0866 q 0.5933,-0.92763 1.51961,-1.43205 l 0.63971,-0.20801 q 1.45933,-0.42763 2.80167,0.34737 l 10.95522,6.325 q 1.34234,0.775 1.70167,2.25263 l 0.11471,0.70131 q 0.0946,1.03612 -0.41209,2.01375 l -0.05,0.0866 -0.05,0.0866 q -0.7683,1.23074 -2.20262,1.61507 -1.45933,0.42763 -2.80167,-0.34737 l -10.95522,-6.325 q -1.34234,-0.775 -1.70167,-2.25263 -0.36602,-1.36603 0.29068,-2.60346"
+ inkscape:connector-curvature="0"
+ style="fill:#4a3c55;stroke:none" />
+ </g>
+</svg>
--- /dev/null
+<TextureAtlas imagePath="sheet.png">
+ <SubTexture name="beam0.png" x="143" y="377" width="43" height="31"/>
+ <SubTexture name="beam1.png" x="327" y="644" width="40" height="20"/>
+ <SubTexture name="beam2.png" x="262" y="907" width="38" height="31"/>
+ <SubTexture name="beam3.png" x="396" y="384" width="29" height="29"/>
+ <SubTexture name="beam4.png" x="177" y="496" width="41" height="17"/>
+ <SubTexture name="beam5.png" x="186" y="377" width="40" height="25"/>
+ <SubTexture name="beam6.png" x="120" y="688" width="43" height="23"/>
+ <SubTexture name="beamLong1.png" x="828" y="943" width="15" height="67"/>
+ <SubTexture name="beamLong2.png" x="307" y="309" width="25" height="64"/>
+ <SubTexture name="bold_silver.png" x="810" y="837" width="19" height="30"/>
+ <SubTexture name="bolt_bronze.png" x="810" y="467" width="19" height="30"/>
+ <SubTexture name="bolt_gold.png" x="809" y="437" width="19" height="30"/>
+ <SubTexture name="buttonBlue.png" x="0" y="78" width="222" height="39"/>
+ <SubTexture name="buttonGreen.png" x="0" y="117" width="222" height="39"/>
+ <SubTexture name="buttonRed.png" x="0" y="0" width="222" height="39"/>
+ <SubTexture name="buttonYellow.png" x="0" y="39" width="222" height="39"/>
+ <SubTexture name="cockpitBlue_0.png" x="586" y="0" width="51" height="75"/>
+ <SubTexture name="cockpitBlue_1.png" x="736" y="862" width="40" height="40"/>
+ <SubTexture name="cockpitBlue_2.png" x="684" y="67" width="42" height="56"/>
+ <SubTexture name="cockpitBlue_3.png" x="336" y="384" width="60" height="61"/>
+ <SubTexture name="cockpitBlue_4.png" x="637" y="0" width="47" height="67"/>
+ <SubTexture name="cockpitBlue_5.png" x="627" y="144" width="48" height="75"/>
+ <SubTexture name="cockpitBlue_6.png" x="684" y="0" width="42" height="67"/>
+ <SubTexture name="cockpitBlue_7.png" x="737" y="542" width="41" height="71"/>
+ <SubTexture name="cockpitGreen_0.png" x="576" y="225" width="51" height="75"/>
+ <SubTexture name="cockpitGreen_1.png" x="734" y="977" width="40" height="40"/>
+ <SubTexture name="cockpitGreen_2.png" x="696" y="659" width="42" height="56"/>
+ <SubTexture name="cockpitGreen_3.png" x="346" y="234" width="60" height="61"/>
+ <SubTexture name="cockpitGreen_4.png" x="627" y="219" width="47" height="67"/>
+ <SubTexture name="cockpitGreen_5.png" x="694" y="364" width="42" height="67"/>
+ <SubTexture name="cockpitGreen_6.png" x="737" y="471" width="41" height="71"/>
+ <SubTexture name="cockpitGreen_7.png" x="602" y="525" width="48" height="75"/>
+ <SubTexture name="cockpitRed_0.png" x="535" y="75" width="51" height="75"/>
+ <SubTexture name="cockpitRed_1.png" x="351" y="982" width="40" height="40"/>
+ <SubTexture name="cockpitRed_2.png" x="718" y="197" width="42" height="56"/>
+ <SubTexture name="cockpitRed_3.png" x="520" y="661" width="60" height="61"/>
+ <SubTexture name="cockpitRed_4.png" x="647" y="857" width="47" height="67"/>
+ <SubTexture name="cockpitRed_5.png" x="605" y="707" width="48" height="75"/>
+ <SubTexture name="cockpitRed_6.png" x="736" y="795" width="42" height="67"/>
+ <SubTexture name="cockpitRed_7.png" x="736" y="329" width="41" height="71"/>
+ <SubTexture name="cockpitYellow_0.png" x="726" y="80" width="40" height="40"/>
+ <SubTexture name="cockpitYellow_1.png" x="247" y="309" width="60" height="61"/>
+ <SubTexture name="cockpitYellow_2.png" x="637" y="67" width="47" height="67"/>
+ <SubTexture name="cockpitYellow_3.png" x="607" y="782" width="48" height="75"/>
+ <SubTexture name="cockpitYellow_4.png" x="696" y="262" width="42" height="67"/>
+ <SubTexture name="cockpitYellow_5.png" x="736" y="400" width="41" height="71"/>
+ <SubTexture name="cockpitYellow_6.png" x="734" y="921" width="42" height="56"/>
+ <SubTexture name="cockpitYellow_7.png" x="600" y="375" width="51" height="75"/>
+ <SubTexture name="cursor.png" x="797" y="173" width="30" height="33"/>
+ <SubTexture name="enemyBlack1.png" x="423" y="728" width="93" height="84"/>
+ <SubTexture name="enemyBlack2.png" x="120" y="604" width="104" height="84"/>
+ <SubTexture name="enemyBlack3.png" x="144" y="156" width="103" height="84"/>
+ <SubTexture name="enemyBlack4.png" x="518" y="325" width="82" height="84"/>
+ <SubTexture name="enemyBlack5.png" x="346" y="150" width="97" height="84"/>
+ <SubTexture name="enemyBlue1.png" x="425" y="468" width="93" height="84"/>
+ <SubTexture name="enemyBlue2.png" x="143" y="293" width="104" height="84"/>
+ <SubTexture name="enemyBlue3.png" x="222" y="0" width="103" height="84"/>
+ <SubTexture name="enemyBlue4.png" x="518" y="409" width="82" height="84"/>
+ <SubTexture name="enemyBlue5.png" x="421" y="814" width="97" height="84"/>
+ <SubTexture name="enemyGreen1.png" x="425" y="552" width="93" height="84"/>
+ <SubTexture name="enemyGreen2.png" x="133" y="412" width="104" height="84"/>
+ <SubTexture name="enemyGreen3.png" x="224" y="496" width="103" height="84"/>
+ <SubTexture name="enemyGreen4.png" x="518" y="493" width="82" height="84"/>
+ <SubTexture name="enemyGreen5.png" x="408" y="907" width="97" height="84"/>
+ <SubTexture name="enemyRed1.png" x="425" y="384" width="93" height="84"/>
+ <SubTexture name="enemyRed2.png" x="120" y="520" width="104" height="84"/>
+ <SubTexture name="enemyRed3.png" x="224" y="580" width="103" height="84"/>
+ <SubTexture name="enemyRed4.png" x="520" y="577" width="82" height="84"/>
+ <SubTexture name="enemyRed5.png" x="423" y="644" width="97" height="84"/>
+ <SubTexture name="engine1.png" x="224" y="907" width="38" height="23"/>
+ <SubTexture name="engine2.png" x="163" y="688" width="42" height="28"/>
+ <SubTexture name="engine3.png" x="644" y="1002" width="27" height="22"/>
+ <SubTexture name="engine4.png" x="144" y="240" width="49" height="45"/>
+ <SubTexture name="engine5.png" x="133" y="496" width="44" height="24"/>
+ <SubTexture name="fire00.png" x="827" y="125" width="16" height="40"/>
+ <SubTexture name="fire01.png" x="828" y="206" width="14" height="31"/>
+ <SubTexture name="fire02.png" x="827" y="663" width="14" height="32"/>
+ <SubTexture name="fire03.png" x="829" y="437" width="14" height="34"/>
+ <SubTexture name="fire04.png" x="831" y="0" width="14" height="31"/>
+ <SubTexture name="fire05.png" x="834" y="299" width="14" height="31"/>
+ <SubTexture name="fire06.png" x="835" y="502" width="14" height="31"/>
+ <SubTexture name="fire07.png" x="835" y="330" width="14" height="31"/>
+ <SubTexture name="fire08.png" x="827" y="867" width="16" height="40"/>
+ <SubTexture name="fire09.png" x="811" y="663" width="16" height="40"/>
+ <SubTexture name="fire10.png" x="812" y="206" width="16" height="40"/>
+ <SubTexture name="fire11.png" x="835" y="395" width="14" height="31"/>
+ <SubTexture name="fire12.png" x="835" y="533" width="14" height="32"/>
+ <SubTexture name="fire13.png" x="835" y="361" width="14" height="34"/>
+ <SubTexture name="fire14.png" x="831" y="31" width="14" height="31"/>
+ <SubTexture name="fire15.png" x="829" y="471" width="14" height="31"/>
+ <SubTexture name="fire16.png" x="828" y="268" width="14" height="31"/>
+ <SubTexture name="fire17.png" x="828" y="237" width="14" height="31"/>
+ <SubTexture name="fire18.png" x="827" y="165" width="16" height="41"/>
+ <SubTexture name="fire19.png" x="812" y="246" width="16" height="41"/>
+ <SubTexture name="gun00.png" x="827" y="907" width="16" height="36"/>
+ <SubTexture name="gun01.png" x="810" y="867" width="17" height="33"/>
+ <SubTexture name="gun02.png" x="829" y="611" width="14" height="36"/>
+ <SubTexture name="gun03.png" x="809" y="796" width="20" height="41"/>
+ <SubTexture name="gun04.png" x="827" y="84" width="16" height="41"/>
+ <SubTexture name="gun05.png" x="423" y="0" width="21" height="41"/>
+ <SubTexture name="gun06.png" x="810" y="900" width="17" height="38"/>
+ <SubTexture name="gun07.png" x="829" y="796" width="14" height="41"/>
+ <SubTexture name="gun08.png" x="848" y="263" width="10" height="47"/>
+ <SubTexture name="gun09.png" x="809" y="611" width="20" height="52"/>
+ <SubTexture name="gun10.png" x="808" y="961" width="20" height="52"/>
+ <SubTexture name="laserBlue01.png" x="856" y="421" width="9" height="54"/>
+ <SubTexture name="laserBlue02.png" x="841" y="647" width="13" height="37"/>
+ <SubTexture name="laserBlue03.png" x="856" y="57" width="9" height="37"/>
+ <SubTexture name="laserBlue04.png" x="835" y="565" width="13" height="37"/>
+ <SubTexture name="laserBlue05.png" x="858" y="475" width="9" height="37"/>
+ <SubTexture name="laserBlue06.png" x="835" y="752" width="13" height="37"/>
+ <SubTexture name="laserBlue07.png" x="856" y="775" width="9" height="37"/>
+ <SubTexture name="laserBlue08.png" x="596" y="961" width="48" height="46"/>
+ <SubTexture name="laserBlue09.png" x="434" y="325" width="48" height="46"/>
+ <SubTexture name="laserBlue10.png" x="740" y="724" width="37" height="37"/>
+ <SubTexture name="laserBlue11.png" x="698" y="795" width="38" height="37"/>
+ <SubTexture name="laserBlue12.png" x="835" y="695" width="13" height="57"/>
+ <SubTexture name="laserBlue13.png" x="856" y="869" width="9" height="57"/>
+ <SubTexture name="laserBlue14.png" x="842" y="206" width="13" height="57"/>
+ <SubTexture name="laserBlue15.png" x="849" y="480" width="9" height="57"/>
+ <SubTexture name="laserBlue16.png" x="843" y="62" width="13" height="54"/>
+ <SubTexture name="laserGreen01.png" x="740" y="686" width="37" height="38"/>
+ <SubTexture name="laserGreen02.png" x="843" y="116" width="13" height="57"/>
+ <SubTexture name="laserGreen03.png" x="855" y="173" width="9" height="57"/>
+ <SubTexture name="laserGreen04.png" x="848" y="565" width="13" height="37"/>
+ <SubTexture name="laserGreen05.png" x="854" y="639" width="9" height="37"/>
+ <SubTexture name="laserGreen06.png" x="845" y="0" width="13" height="57"/>
+ <SubTexture name="laserGreen07.png" x="849" y="364" width="9" height="57"/>
+ <SubTexture name="laserGreen08.png" x="848" y="738" width="13" height="37"/>
+ <SubTexture name="laserGreen09.png" x="856" y="94" width="9" height="37"/>
+ <SubTexture name="laserGreen10.png" x="843" y="426" width="13" height="54"/>
+ <SubTexture name="laserGreen11.png" x="849" y="310" width="9" height="54"/>
+ <SubTexture name="laserGreen12.png" x="843" y="602" width="13" height="37"/>
+ <SubTexture name="laserGreen13.png" x="858" y="0" width="9" height="37"/>
+ <SubTexture name="laserGreen14.png" x="193" y="240" width="48" height="46"/>
+ <SubTexture name="laserGreen15.png" x="443" y="182" width="48" height="46"/>
+ <SubTexture name="laserGreen16.png" x="760" y="192" width="37" height="37"/>
+ <SubTexture name="laserRed01.png" x="858" y="230" width="9" height="54"/>
+ <SubTexture name="laserRed02.png" x="843" y="977" width="13" height="37"/>
+ <SubTexture name="laserRed03.png" x="856" y="602" width="9" height="37"/>
+ <SubTexture name="laserRed04.png" x="843" y="940" width="13" height="37"/>
+ <SubTexture name="laserRed05.png" x="856" y="983" width="9" height="37"/>
+ <SubTexture name="laserRed06.png" x="843" y="903" width="13" height="37"/>
+ <SubTexture name="laserRed07.png" x="856" y="131" width="9" height="37"/>
+ <SubTexture name="laserRed08.png" x="580" y="661" width="48" height="46"/>
+ <SubTexture name="laserRed09.png" x="602" y="600" width="48" height="46"/>
+ <SubTexture name="laserRed10.png" x="738" y="650" width="37" height="36"/>
+ <SubTexture name="laserRed11.png" x="737" y="613" width="37" height="37"/>
+ <SubTexture name="laserRed12.png" x="843" y="846" width="13" height="57"/>
+ <SubTexture name="laserRed13.png" x="856" y="812" width="9" height="57"/>
+ <SubTexture name="laserRed14.png" x="843" y="789" width="13" height="57"/>
+ <SubTexture name="laserRed15.png" x="856" y="926" width="9" height="57"/>
+ <SubTexture name="laserRed16.png" x="848" y="684" width="13" height="54"/>
+ <SubTexture name="meteorBrown_big1.png" x="224" y="664" width="101" height="84"/>
+ <SubTexture name="meteorBrown_big2.png" x="0" y="520" width="120" height="98"/>
+ <SubTexture name="meteorBrown_big3.png" x="518" y="810" width="89" height="82"/>
+ <SubTexture name="meteorBrown_big4.png" x="327" y="452" width="98" height="96"/>
+ <SubTexture name="meteorBrown_med1.png" x="651" y="447" width="43" height="43"/>
+ <SubTexture name="meteorBrown_med3.png" x="237" y="452" width="45" height="40"/>
+ <SubTexture name="meteorBrown_small1.png" x="406" y="234" width="28" height="28"/>
+ <SubTexture name="meteorBrown_small2.png" x="778" y="587" width="29" height="26"/>
+ <SubTexture name="meteorBrown_tiny1.png" x="346" y="814" width="18" height="18"/>
+ <SubTexture name="meteorBrown_tiny2.png" x="399" y="814" width="16" height="15"/>
+ <SubTexture name="meteorGrey_big1.png" x="224" y="748" width="101" height="84"/>
+ <SubTexture name="meteorGrey_big2.png" x="0" y="618" width="120" height="98"/>
+ <SubTexture name="meteorGrey_big3.png" x="516" y="728" width="89" height="82"/>
+ <SubTexture name="meteorGrey_big4.png" x="327" y="548" width="98" height="96"/>
+ <SubTexture name="meteorGrey_med1.png" x="674" y="219" width="43" height="43"/>
+ <SubTexture name="meteorGrey_med2.png" x="282" y="452" width="45" height="40"/>
+ <SubTexture name="meteorGrey_small1.png" x="406" y="262" width="28" height="28"/>
+ <SubTexture name="meteorGrey_small2.png" x="396" y="413" width="29" height="26"/>
+ <SubTexture name="meteorGrey_tiny1.png" x="364" y="814" width="18" height="18"/>
+ <SubTexture name="meteorGrey_tiny2.png" x="602" y="646" width="16" height="15"/>
+ <SubTexture name="numeral0.png" x="367" y="644" width="19" height="19"/>
+ <SubTexture name="numeral1.png" x="205" y="688" width="19" height="19"/>
+ <SubTexture name="numeral2.png" x="406" y="290" width="19" height="19"/>
+ <SubTexture name="numeral3.png" x="580" y="707" width="19" height="19"/>
+ <SubTexture name="numeral4.png" x="386" y="644" width="19" height="19"/>
+ <SubTexture name="numeral5.png" x="628" y="646" width="19" height="19"/>
+ <SubTexture name="numeral6.png" x="671" y="1002" width="19" height="19"/>
+ <SubTexture name="numeral7.png" x="690" y="1004" width="19" height="19"/>
+ <SubTexture name="numeral8.png" x="709" y="1004" width="19" height="19"/>
+ <SubTexture name="numeral9.png" x="491" y="215" width="19" height="19"/>
+ <SubTexture name="numeralX.png" x="382" y="814" width="17" height="17"/>
+ <SubTexture name="pill_blue.png" x="674" y="262" width="22" height="21"/>
+ <SubTexture name="pill_green.png" x="573" y="989" width="22" height="21"/>
+ <SubTexture name="pill_red.png" x="222" y="108" width="22" height="21"/>
+ <SubTexture name="pill_yellow.png" x="222" y="129" width="22" height="21"/>
+ <SubTexture name="playerLife1_blue.png" x="482" y="358" width="33" height="26"/>
+ <SubTexture name="playerLife1_green.png" x="535" y="150" width="33" height="26"/>
+ <SubTexture name="playerLife1_orange.png" x="777" y="327" width="33" height="26"/>
+ <SubTexture name="playerLife1_red.png" x="775" y="301" width="33" height="26"/>
+ <SubTexture name="playerLife2_blue.png" x="465" y="991" width="37" height="26"/>
+ <SubTexture name="playerLife2_green.png" x="391" y="991" width="37" height="26"/>
+ <SubTexture name="playerLife2_orange.png" x="428" y="991" width="37" height="26"/>
+ <SubTexture name="playerLife2_red.png" x="502" y="991" width="37" height="26"/>
+ <SubTexture name="playerLife3_blue.png" x="777" y="385" width="32" height="26"/>
+ <SubTexture name="playerLife3_green.png" x="778" y="469" width="32" height="26"/>
+ <SubTexture name="playerLife3_orange.png" x="777" y="712" width="32" height="26"/>
+ <SubTexture name="playerLife3_red.png" x="777" y="443" width="32" height="26"/>
+ <SubTexture name="playerShip1_blue.png" x="211" y="941" width="99" height="75"/>
+ <SubTexture name="playerShip1_damage1.png" x="112" y="941" width="99" height="75"/>
+ <SubTexture name="playerShip1_damage2.png" x="247" y="234" width="99" height="75"/>
+ <SubTexture name="playerShip1_damage3.png" x="247" y="159" width="99" height="75"/>
+ <SubTexture name="playerShip1_green.png" x="237" y="377" width="99" height="75"/>
+ <SubTexture name="playerShip1_orange.png" x="247" y="84" width="99" height="75"/>
+ <SubTexture name="playerShip1_red.png" x="224" y="832" width="99" height="75"/>
+ <SubTexture name="playerShip2_blue.png" x="112" y="791" width="112" height="75"/>
+ <SubTexture name="playerShip2_damage1.png" x="0" y="866" width="112" height="75"/>
+ <SubTexture name="playerShip2_damage2.png" x="0" y="791" width="112" height="75"/>
+ <SubTexture name="playerShip2_damage3.png" x="0" y="716" width="112" height="75"/>
+ <SubTexture name="playerShip2_green.png" x="112" y="866" width="112" height="75"/>
+ <SubTexture name="playerShip2_orange.png" x="112" y="716" width="112" height="75"/>
+ <SubTexture name="playerShip2_red.png" x="0" y="941" width="112" height="75"/>
+ <SubTexture name="playerShip3_blue.png" x="325" y="739" width="98" height="75"/>
+ <SubTexture name="playerShip3_damage1.png" x="323" y="832" width="98" height="75"/>
+ <SubTexture name="playerShip3_damage2.png" x="310" y="907" width="98" height="75"/>
+ <SubTexture name="playerShip3_damage3.png" x="325" y="664" width="98" height="75"/>
+ <SubTexture name="playerShip3_green.png" x="346" y="75" width="98" height="75"/>
+ <SubTexture name="playerShip3_orange.png" x="336" y="309" width="98" height="75"/>
+ <SubTexture name="playerShip3_red.png" x="325" y="0" width="98" height="75"/>
+ <SubTexture name="powerupBlue.png" x="696" y="329" width="34" height="33"/>
+ <SubTexture name="powerupBlue_bolt.png" x="539" y="989" width="34" height="33"/>
+ <SubTexture name="powerupBlue_shield.png" x="777" y="679" width="34" height="33"/>
+ <SubTexture name="powerupBlue_star.png" x="776" y="895" width="34" height="33"/>
+ <SubTexture name="powerupGreen.png" x="774" y="613" width="34" height="33"/>
+ <SubTexture name="powerupGreen_bolt.png" x="766" y="80" width="34" height="33"/>
+ <SubTexture name="powerupGreen_shield.png" x="776" y="862" width="34" height="33"/>
+ <SubTexture name="powerupGreen_star.png" x="651" y="490" width="34" height="33"/>
+ <SubTexture name="powerupRed.png" x="491" y="182" width="34" height="33"/>
+ <SubTexture name="powerupRed_bolt.png" x="775" y="646" width="34" height="33"/>
+ <SubTexture name="powerupRed_shield.png" x="776" y="928" width="34" height="33"/>
+ <SubTexture name="powerupRed_star.png" x="774" y="977" width="34" height="33"/>
+ <SubTexture name="powerupYellow.png" x="774" y="761" width="34" height="33"/>
+ <SubTexture name="powerupYellow_bolt.png" x="740" y="761" width="34" height="33"/>
+ <SubTexture name="powerupYellow_shield.png" x="482" y="325" width="34" height="33"/>
+ <SubTexture name="powerupYellow_star.png" x="607" y="857" width="34" height="33"/>
+ <SubTexture name="scratch1.png" x="325" y="814" width="21" height="16"/>
+ <SubTexture name="scratch2.png" x="423" y="41" width="21" height="16"/>
+ <SubTexture name="scratch3.png" x="346" y="295" width="16" height="12"/>
+ <SubTexture name="shield1.png" x="0" y="412" width="133" height="108"/>
+ <SubTexture name="shield2.png" x="0" y="293" width="143" height="119"/>
+ <SubTexture name="shield3.png" x="0" y="156" width="144" height="137"/>
+ <SubTexture name="shield_bronze.png" x="797" y="143" width="30" height="30"/>
+ <SubTexture name="shield_gold.png" x="797" y="113" width="30" height="30"/>
+ <SubTexture name="shield_silver.png" x="778" y="824" width="30" height="30"/>
+ <SubTexture name="speed.png" x="858" y="284" width="7" height="108"/>
+ <SubTexture name="star1.png" x="628" y="681" width="25" height="24"/>
+ <SubTexture name="star2.png" x="222" y="84" width="25" height="24"/>
+ <SubTexture name="star3.png" x="576" y="300" width="24" height="24"/>
+ <SubTexture name="star_bronze.png" x="778" y="794" width="31" height="30"/>
+ <SubTexture name="star_gold.png" x="778" y="557" width="31" height="30"/>
+ <SubTexture name="star_silver.png" x="778" y="527" width="31" height="30"/>
+ <SubTexture name="things_bronze.png" x="778" y="495" width="32" height="32"/>
+ <SubTexture name="things_gold.png" x="777" y="411" width="32" height="32"/>
+ <SubTexture name="things_silver.png" x="777" y="353" width="32" height="32"/>
+ <SubTexture name="turretBase_big.png" x="310" y="982" width="41" height="41"/>
+ <SubTexture name="turretBase_small.png" x="808" y="301" width="26" height="26"/>
+ <SubTexture name="ufoBlue.png" x="444" y="91" width="91" height="91"/>
+ <SubTexture name="ufoGreen.png" x="434" y="234" width="91" height="91"/>
+ <SubTexture name="ufoRed.png" x="444" y="0" width="91" height="91"/>
+ <SubTexture name="ufoYellow.png" x="505" y="898" width="91" height="91"/>
+ <SubTexture name="wingBlue_0.png" x="647" y="924" width="45" height="78"/>
+ <SubTexture name="wingBlue_1.png" x="738" y="253" width="37" height="72"/>
+ <SubTexture name="wingBlue_2.png" x="805" y="0" width="26" height="84"/>
+ <SubTexture name="wingBlue_3.png" x="600" y="450" width="51" height="75"/>
+ <SubTexture name="wingBlue_4.png" x="692" y="924" width="42" height="80"/>
+ <SubTexture name="wingBlue_5.png" x="596" y="892" width="51" height="69"/>
+ <SubTexture name="wingBlue_6.png" x="694" y="847" width="42" height="74"/>
+ <SubTexture name="wingBlue_7.png" x="675" y="134" width="43" height="83"/>
+ <SubTexture name="wingGreen_0.png" x="650" y="525" width="45" height="78"/>
+ <SubTexture name="wingGreen_1.png" x="775" y="229" width="37" height="72"/>
+ <SubTexture name="wingGreen_2.png" x="809" y="527" width="26" height="84"/>
+ <SubTexture name="wingGreen_3.png" x="535" y="0" width="51" height="75"/>
+ <SubTexture name="wingGreen_4.png" x="694" y="431" width="42" height="80"/>
+ <SubTexture name="wingGreen_5.png" x="525" y="251" width="51" height="69"/>
+ <SubTexture name="wingGreen_6.png" x="695" y="511" width="42" height="74"/>
+ <SubTexture name="wingGreen_7.png" x="655" y="764" width="43" height="83"/>
+ <SubTexture name="wingRed_0.png" x="809" y="712" width="26" height="84"/>
+ <SubTexture name="wingRed_1.png" x="768" y="0" width="37" height="72"/>
+ <SubTexture name="wingRed_2.png" x="600" y="300" width="51" height="75"/>
+ <SubTexture name="wingRed_3.png" x="698" y="715" width="42" height="80"/>
+ <SubTexture name="wingRed_4.png" x="586" y="75" width="51" height="69"/>
+ <SubTexture name="wingRed_5.png" x="718" y="123" width="42" height="74"/>
+ <SubTexture name="wingRed_6.png" x="653" y="681" width="43" height="83"/>
+ <SubTexture name="wingRed_7.png" x="651" y="286" width="45" height="78"/>
+ <SubTexture name="wingYellow_0.png" x="650" y="603" width="45" height="78"/>
+ <SubTexture name="wingYellow_1.png" x="760" y="120" width="37" height="72"/>
+ <SubTexture name="wingYellow_2.png" x="809" y="353" width="26" height="84"/>
+ <SubTexture name="wingYellow_3.png" x="576" y="150" width="51" height="75"/>
+ <SubTexture name="wingYellow_4.png" x="726" y="0" width="42" height="80"/>
+ <SubTexture name="wingYellow_5.png" x="525" y="182" width="51" height="69"/>
+ <SubTexture name="wingYellow_6.png" x="695" y="585" width="42" height="74"/>
+ <SubTexture name="wingYellow_7.png" x="651" y="364" width="43" height="83"/>
+</TextureAtlas>
\ No newline at end of file
--- /dev/null
+images/controls.png
--- /dev/null
+Categories:Nit,Games
+License:Apache2
+Web Site:http://nitlanguage.org
+Source Code:http://nitlanguage.org/nit.git/tree/HEAD:/lib/gamnit/examples/asteronits
+Issue Tracker:https://github.com/nitlang/nit/issues
+
+Summary:Destroy asteroids in this simple 2D sample game made with gamnit
+Description:
+Sample portable gamnit game implemented with the simple_2d API.
+.
--- /dev/null
+[package]
+name=asteronits
+tags=example
+maintainer=Alexis Laferrière <alexis.laf@xymus.net>
+license=Apache-2.0
+[upstream]
+browse=https://github.com/nitlang/nit/tree/master/lib/gamnit/examples/asteronits/
+git=https://github.com/nitlang/nit.git
+git.directory=lib/gamnit/examples/asteronits/
+homepage=http://nitlanguage.org
+issues=https://github.com/nitlang/nit/issues
+apk=http://nitlanguage.org/fdroid/apk/asteronits.apk
--- /dev/null
+controls.nit
+spritesheet.nit
--- /dev/null
+# This file is part of NIT ( http://www.nitlanguage.org ).
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import ::android::platform
+import ::android::vibration
+
+import asteronits
+import touch_ui
+
+redef class Ship
+ redef fun hit
+ do
+ super
+ app.vibrator.vibrate 20
+ end
+end
+
+redef class Asteroid
+ redef fun destroy
+ do
+ super
+ app.vibrator.vibrate 10
+ end
+end
--- /dev/null
+# This file is part of NIT ( http://www.nitlanguage.org ).
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Portable game to destroy asteroids
+module asteronits is
+ app_name "Asteronits"
+ app_namespace "org.nitlanguage.asteronits"
+ app_version(1, 0, git_revision)
+
+ android_manifest_activity """android:screenOrientation="sensorLandscape""""
+ android_api_target 15
+end
+
+import gamnit::simple_2d
+
+import game_logic
+import spritesheet
+import app::audio
+
+redef class Spritesheet
+ # Largest meteors, organized by color
+ var meteors_big: Array[Array[Texture]] = [
+ [meteor_brown_big1, meteor_brown_big2, meteor_brown_big3, meteor_brown_big4],
+ [meteor_grey_big1, meteor_grey_big2, meteor_grey_big3, meteor_grey_big4]]
+
+ # Medium size meteors, organized by color
+ var meteors_med: Array[Array[Texture]] = [
+ [meteor_brown_med1, meteor_brown_med3],
+ [meteor_grey_med1, meteor_grey_med2]]
+
+ # Small meteors, organized by color
+ var meteors_small: Array[Array[Texture]] = [
+ [meteor_brown_small1, meteor_brown_small2],
+ [meteor_grey_small1, meteor_grey_small2]]
+
+ # Tiny meteors, organized by color
+ #
+ # TODO use these in particles
+ var meteors_tiny: Array[Array[Texture]] = [
+ [meteor_brown_tiny1, meteor_brown_tiny2],
+ [meteor_grey_tiny1, meteor_grey_tiny2]]
+
+ # Available ships
+ var ships: Array[Texture] = [enemy_green1]
+end
+
+redef class App
+
+ # Current world in play
+ var world = new World(12, 2, display.aspect_ratio) is lazy
+
+ # Sound effects
+ private var fx_fire = new Sound("sounds/fire.mp3")
+ private var fx_explosion_ship = new Sound("sounds/explosion_ship.wav")
+ private var fx_explosion_asteroids = new Sound("sounds/explosion_asteroids.wav")
+
+ redef fun on_create
+ do
+ super
+
+ # Move the camera to show all the world world in the screen range
+ world_camera.reset_height(world.half_height * 2.0)
+ end
+
+ # Main spritesheet with ships, asteroids and beams
+ var spritesheet = new Spritesheet
+
+ redef fun update(dt)
+ do
+ # Update game logic
+ world.do_turn dt
+
+ # Setup new world if all asteroids are destroyed
+ if world.asteroids.is_empty then
+ sprites.clear
+ world = new World(world.n_asteroids*2, world.n_asteroid_parts+1, display.aspect_ratio)
+ end
+ end
+
+ redef fun accept_event(event)
+ do
+ if event isa QuitEvent then
+ exit 0
+ else if event isa KeyEvent then
+ var thrust = event.thrust
+ if thrust != 0.0 then
+ app.world.ship.applied_thrust = if event.is_down then thrust else 0.0
+ return true
+ end
+
+ var rot = event.rotation
+ if rot != 0.0 then
+ app.world.ship.applied_rotation = if event.is_down then rot else 0.0
+ return true
+ end
+
+ if event.name == "space" and event.is_down then
+ app.world.ship.fire
+ return true
+ else if event.name == "escape" then
+ exit 0
+ end
+ end
+
+ return false
+ end
+end
+
+redef class SpacialObject
+ # Main `Sprite` to draw for this object
+ var sprite: Sprite is noinit
+
+ # All `Sprites` composing this object
+ var sprites: Collection[Sprite] = new Ref[Sprite](sprite) is lazy
+
+ init do app.sprites.add_all sprites
+
+ redef fun do_turn(dt)
+ do
+ super
+ sprite.rotation = rotation + pi/2.0
+ end
+
+ redef fun destroy
+ do
+ super
+ for s in sprites do app.sprites.remove s
+ end
+end
+
+redef class Asteroid
+
+ init
+ do
+ # Select texture from `size` and `color`
+ var tex = if size == 3 then
+ app.spritesheet.meteors_big[color].rand
+ else if size == 2 then
+ app.spritesheet.meteors_med[color].rand
+ else app.spritesheet.meteors_small[color].rand
+
+ sprite = new Sprite(tex, center)
+ super
+ end
+
+ redef fun destroy
+ do
+ super
+ app.fx_explosion_asteroids.play
+ end
+end
+
+redef class Bullet
+ init
+ do
+ sprite = new Sprite(app.spritesheet.laser_blue01, center)
+ super
+ end
+end
+
+redef class Ship
+ init
+ do
+ sprite = new Sprite(app.spritesheet.ships.rand, center)
+ sprites = [sprite, thrust_sprite]
+
+ super
+ end
+
+ private var thrust_sprite = new Sprite(app.spritesheet.fire09, new Point3d[Float](0.0, 0.0, 0.0))
+
+ private var sprites_with_fire: Array[Sprite] = [thrust_sprite, sprite] is lazy
+
+ redef fun do_turn(dt)
+ do
+ super
+
+ # Update position of the thrust sprite
+ var dist_to_engine = 45.0
+ thrust_sprite.center.x = center.x - dist_to_engine*rotation.cos
+ thrust_sprite.center.y = center.y - dist_to_engine*rotation.sin
+ thrust_sprite.center.z = center.z
+ thrust_sprite.rotation = rotation + pi/2.0
+
+ # Show or hide the thrust sprite
+ if applied_thrust > 0.0 then
+ thrust_sprite.alpha = 1.0
+
+ else if thrust_sprite.alpha > 0.0 then
+ thrust_sprite.alpha -= dt*4.0
+ if thrust_sprite.alpha < 0.0 then thrust_sprite.alpha = 0.0
+ end
+
+ # HACK, the "enemy" ship used for the player points downwards
+ sprite.rotation += pi
+ end
+
+ redef fun fire
+ do
+ super
+ app.fx_fire.play
+ end
+
+ redef fun hit
+ do
+ super
+ app.fx_explosion_ship.play
+ end
+end
+
+redef class KeyEvent
+
+ # How does this event affect the ship thrust?
+ fun thrust: Float
+ do
+ if is_arrow_up or name == "w" then return 1.0
+ return 0.0
+ end
+
+ # How does this event affect the ship thrust?
+ fun rotation: Float
+ do
+ if is_arrow_right or name == "d" then return 1.0
+ if is_arrow_left or name == "a" then return -1.0
+ return 0.0
+ end
+end
--- /dev/null
+# This file is part of NIT ( http://www.nitlanguage.org ).
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Pure game logic, independent of gamnit and other display concerns
+module game_logic
+
+import geometry::points_and_lines
+
+# Root of all entities of a single play
+class World
+
+ # Number of original asteroids per play
+ var n_asteroids: Int
+
+ # Number of parts created when an asteroid explodes
+ var n_asteroid_parts: Int
+
+ # Ratio of the world: height / width
+ var ratio_height_width: Float
+
+ # Minimum half size of the world, applied either to `half_width` of `half_height`
+ private var min_half_size = 500.0
+
+ # Width of the world
+ var half_width: Float = if ratio_height_width <= 1.0 then
+ min_half_size
+ else min_half_size * ratio_height_width is lazy
+
+ # Height of the world
+ var half_height: Float = if ratio_height_width >= 1.0 then
+ min_half_size
+ else min_half_size / ratio_height_width is lazy
+
+ # Player's ship
+ var ship = new Ship(self)
+
+ # All live spacial objects
+ var objects = new Array[SpacialObject].with_items(ship)
+
+ # All live asteroids
+ var asteroids = new Array[Asteroid]
+
+ # All live bullets
+ var bullets = new Array[SpacialObject]
+
+ init
+ do
+ for a in n_asteroids.times do
+ var asteroid = new Asteroid(self, 3)
+ asteroid.center.x = half_width - 2.0*half_width.rand
+ asteroid.center.y = half_height - 2.0*half_height.rand
+ asteroid.rotation_inertia = 0.5 - 1.0.rand
+
+ objects.add asteroid
+ asteroids.add asteroid
+ end
+ end
+
+ # Execute a turn that took `dt` seconds
+ fun do_turn(dt: Float)
+ do
+ for object in objects do object.do_turn dt
+
+ for object in objects.to_a do if not object isa Asteroid then
+
+ for asteroid in asteroids.to_a do
+ var d2 = object.center.dist2(asteroid.center)
+
+ var r = object.radius + asteroid.radius
+ if d2 < r*r then
+ # Boom
+ if object == ship then
+ # The ship is invincible
+ # TODO health and losing
+ ship.hit
+ else
+ object.destroy
+ end
+
+ asteroid.destroy
+ break
+ end
+ end
+ end
+ end
+end
+
+# Physical object in space physics
+abstract class SpacialObject
+
+ # World in which this object belongs
+ var world: World
+
+ # Current position
+ var center = new Point3d[Float](0.0, 0.0, 0.0)
+
+ # Position inertia, applied on `center` at each `do_turn`
+ var inertia = new Point3d[Float](0.0, 0.0, 0.0)
+
+ # Current rotation
+ var rotation = 0.0
+
+ # Rotation inertia, applied on `rotation` at each `do_turn`
+ var rotation_inertia = 0.0
+
+ # Rotation force, currently applied by the pilot
+ var applied_rotation = 0.0 is writable
+
+ # Thrust force, currently applied by the pilot
+ var applied_thrust = 0.0 is writable
+
+ # Radius of this object for collision detection
+ var radius: Float is noinit
+
+ # New instance copying the data from `other` with an optional `variation`
+ init copy(other: SpacialObject, variation: nullable Float)
+ do
+ init other.world
+
+ if variation == null then variation = 0.0
+
+ center.x = other.center.x
+ center.y = other.center.y
+ center.z = other.center.z
+
+ inertia.x = other.inertia.x + variation - 2.0*variation.rand
+ inertia.y = other.inertia.y + variation - 2.0*variation.rand
+
+ rotation = other.rotation
+ if variation != 0.0 then rotation = 2.0 * pi.rand
+ end
+
+ # Apply `thrust` forward on this object
+ fun apply_thrust(thrust: Float)
+ do
+ inertia.x += thrust * rotation.cos
+ inertia.y += thrust * rotation.sin
+ end
+
+ # Execute a turn that took `dt` seconds
+ fun do_turn(dt: Float)
+ do
+ # Forces to inertia
+ var t = applied_thrust * 5.0
+ inertia.x += t * rotation.cos
+ inertia.y += t * rotation.sin
+
+ # Arcade rotation
+ var r = applied_rotation * 0.05
+ rotation += r
+
+ # Realistic rotation, kept for reference and reality minded individuals
+ #var r = applied_rotation * 0.2
+ #rotation_inertia += r
+ #rotation_inertia = rotation_inertia.min(2.0).max(-2.0)
+
+ # Inertia to position
+ rotation += rotation_inertia * dt
+ center.x += inertia.x * dt
+ center.y += inertia.y * dt
+ center.z += inertia.z * dt
+
+ # Wrap objects so they stay in the screen
+ while center.x < -world.half_width do center.x += 2.0 * world.half_width
+ while center.x > world.half_width do center.x -= 2.0 * world.half_width
+ while center.y < -world.half_height do center.y += 2.0 * world.half_height
+ while center.y > world.half_height do center.y -= 2.0 * world.half_height
+ end
+
+ # Destroy this object
+ fun destroy do world.objects.remove self
+end
+
+# Player's ship
+class Ship
+ super SpacialObject
+
+ init do radius = 20.0
+
+ # Open fire forward
+ fun fire
+ do
+ var bullet = new Bullet.copy(world.ship)
+ bullet.center.z = -1.0 # in the background
+ bullet.apply_thrust 500.0 # give a boost
+
+ world.objects.add bullet
+ world.bullets.add bullet
+ end
+
+ # Something hits the ship
+ fun hit do end
+end
+
+# Asteroid, the main obstacle in this game
+class Asteroid
+ super SpacialObject
+
+ # Size of this asteroid, should be greater than 0
+ var size: Int
+
+ # Color, or type, on this asteroid
+ var color: Int = 2.rand
+
+ init
+ do
+ rotation_inertia = 0.5 - 1.0.rand
+ radius = 22.5 * size.to_f
+ end
+
+ # New asteroid breaking off from `other`
+ init break_off(other: Asteroid)
+ do
+ size = other.size - 1
+ color = other.color
+
+ copy(other, 60.0)
+ end
+
+ # Explode and break off this asteroid
+ redef fun destroy
+ do
+ super
+
+ world.asteroids.remove self
+
+ if size == 1 then return # Do not break off
+
+ for p in world.n_asteroid_parts.times do
+ var asteroid = new Asteroid.break_off(self)
+ asteroid.size = size - 1
+ asteroid.color = color
+
+ asteroid.inertia.x += 1.0 - 2.0.rand
+ asteroid.inertia.y += 1.0 - 2.0.rand
+
+ world.objects.add asteroid
+ world.asteroids.add asteroid
+ end
+ end
+end
+
+# Bullet or beam fired from a `Ship`
+class Bullet
+ super SpacialObject
+
+ # Time left before this bullet expires
+ var ttl = 5.0
+
+ init do radius = 0.0
+
+ redef fun do_turn(dt)
+ do
+ super
+
+ ttl -= dt
+ if ttl <= 0.0 then destroy
+ end
+
+ redef fun destroy
+ do
+ super
+ world.bullets.remove self
+ end
+end
--- /dev/null
+# This file is part of NIT ( http://www.nitlanguage.org ).
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Tool to parse XML texture atlas and generated Nit code to access subtextures
+module texture_atlas_parser
+
+import dom
+import gen_nit
+import opts
+
+# Command line options
+var opts = new OptionContext
+var opt_name = new OptionString("Name of the module to generate", "--name", "-n")
+var opt_dir = new OptionString("Folder where to write the generated module", "--dir")
+opts.add_option(opt_name, opt_dir)
+opts.parse
+var rest = opts.rest
+
+if opts.errors.not_empty then
+ print_error opts.errors
+ exit 1
+end
+
+if rest.is_empty then
+ print_error "Error: Expected the path to the XML file as argument"
+ exit 2
+end
+
+# Prepare to read XML file and gather the attributes
+var xml_file = rest.first
+var attributes = new Array[String]
+
+# Insert the first attribute, to load the root texture
+var png_file = "images" / xml_file.basename("xml") + "png"
+attributes.add """
+ var root_texture = new Texture("{{{png_file}}}")"""
+
+# Read XML file
+var content = xml_file.to_path.read_all
+var xml = content.to_xml
+if xml isa XMLError then
+ print_error "RSS Parse Error: {xml.message}:{xml.location or else "null"}"
+ exit 3
+end
+
+var items = xml["TextureAtlas"].first.children
+for item in items do if item isa XMLOnelinerTag then
+ var x = null
+ var y = null
+ var width = null
+ var height = null
+ var name = null
+ for attr in item.attributes do if attr isa XMLStringAttr then
+ if attr.name == "x" then
+ x = attr.value.to_i
+ else if attr.name == "y" then
+ y = attr.value.to_i
+ else if attr.name == "width" then
+ width = attr.value.to_i
+ else if attr.name == "height" then
+ height = attr.value.to_i
+ else if attr.name == "name" then
+ name = attr.value
+ end
+ end
+
+ if x != null and y != null and width != null and height != null and name != null then
+ name = name.strip_extension(".png").to_snake_case
+
+ var coords = "{x}, {y}, {width}, {height}"
+ attributes.add """
+ var {{{name}}}: Texture = root_texture.subtexture({{{coords}}})"""
+ else
+ print_error "Error on {item}"
+ end
+end
+
+var module_name = opt_name.value
+if module_name == null then module_name = "spritesheet"
+var class_name = module_name.capitalized.to_camel_case
+
+# Generate Nit code
+var nit_module = new NitModule(module_name)
+nit_module.header = """
+# This file is generated by texture_atlas_parser
+"""
+
+nit_module.content.add """
+import gamnit::display
+import gamnit::textures
+
+class {{{class_name}}}
+"""
+
+for a in attributes do nit_module.content.add a
+
+nit_module.content.add """
+end"""
+
+var dir = opt_dir.value
+if dir != null then
+ var out_path = dir / module_name + ".nit"
+ nit_module.write_to_file out_path
+else
+ printn nit_module.write_to_string
+end
--- /dev/null
+# This file is part of NIT ( http://www.nitlanguage.org ).
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Touchscreen UI for mobile devices
+module touch_ui
+
+import asteronits
+import controls
+
+redef class App
+
+ # Controls texture
+ var spritesheet_controls = new ControlsImages
+
+ private var joystick_x = 200.0
+ private var joystick_y = 100.0
+
+ redef fun accept_event(event)
+ do
+ super
+
+ var display = display
+ if display == null then return false
+
+ if event isa PointerEvent and not event.is_move then
+
+ # Convert input coordinates from screen coordinates to UI units.
+ # Effectively reverting the transformation created by `ui_camera.reset_height`.
+ var ui_pos = ui_camera.camera_to_ui(event.x, event.y)
+
+ var ship = world.ship
+
+ if ui_pos.y.to_i > display.height/2 then
+ # Lower half of the screen
+ if ui_pos.x.to_i > display.width/2 then
+ # Bottom right
+ if event.pressed then ship.fire
+ else
+ # Bottom left
+ var dx = ui_pos.x - joystick_x
+ var dy = ui_pos.y - (ui_camera.height - joystick_y)
+
+ # Any touch in the joystick reset all joystick effects.
+ # It prevents leaving a button without releasing by moving
+ # the pointer over another button.
+ ship.applied_rotation = 0.0
+ ship.applied_thrust = 0.0
+
+ if not event.pressed then return true
+
+ if dy > 0.0 then
+ # Bottom part of the joystick, turns left or right
+ if dx < 0.0 then
+ ship.applied_rotation = -1.0
+ else
+ ship.applied_rotation = 1.0
+ end
+ else
+ # Upper part of the joystick, detect action using 45d angles
+ if dx < dy then
+ ship.applied_rotation = -1.0
+ else if dx > -dy then
+ ship.applied_rotation = 1.0
+ else
+ ship.applied_thrust = 1.0
+ end
+ end
+ end
+ end
+ return true
+ end
+
+ return false
+ end
+
+ redef fun on_create
+ do
+ super
+
+ var display = display
+ assert display != null
+
+ # Standardize the UI size to look like a 1600 pixels high screen.
+ # Meaning that the controls have a size proportional to the height of each screen.
+ # In the code, we can use "pixel" precision as if the target screen was 1600 pixels high.
+ ui_camera.reset_height 800.0
+
+ # Add the joystick to the UI
+ ui_sprites.add new Sprite(spritesheet_controls.forward,
+ ui_camera.bottom_left.offset(joystick_x, -200.0, 0.0))
+ ui_sprites.add new Sprite(spritesheet_controls.left,
+ ui_camera.bottom_left.offset(joystick_x-100.0, -joystick_y, 0.0))
+ ui_sprites.add new Sprite(spritesheet_controls.right,
+ ui_camera.bottom_left.offset(joystick_x+100.0, -joystick_y, 0.0))
+
+ # Purely cosmetic joystick background
+ ui_sprites.add new Sprite(spritesheet_controls.joystick_back,
+ ui_camera.bottom_left.offset(joystick_x, -joystick_y, -1.0)) # In the back
+ ui_sprites.add new Sprite(spritesheet_controls.joystick_down,
+ ui_camera.bottom_left.offset(joystick_x, 0.0, 1.0))
+
+ # Add the "open fire" button
+ ui_sprites.add new Sprite(spritesheet_controls.fire,
+ ui_camera.bottom_right.offset(-150.0, -150.0, 0.0))
+ end
+end
# Attributes of the class
var attributes = new Array[String]
- attributes.add "\tprivate var main_image = new Texture(\"images/{document.drawing_name}.png\")\n"
+ attributes.add "\tprivate var root_texture = new Texture(\"images/{document.drawing_name}.png\")\n"
# Add single images to Nit source file
for image in single_images do
# Adapt coordinates to new top left and scale
var coordinates = document.coordinates(image)
- attributes.add "\tvar {image.name}: Texture = main_image.subtexture({coordinates})\n"
+ attributes.add "\tvar {image.name}: Texture = root_texture.subtexture({coordinates})\n"
end
# Add array of images too
add """
# File generated by svg_to_png_and_nit, do not modify, redef instead
-import gamnit::display
+import gamnit::textures
class {{{document.nit_class_name}}}
super NitrpgTestHelper
fun test_add_achievement do
- var db = load_db("test_add_achievement")
+ var db = gen_test_db
var game = load_game("Morriar/nit", db)
var a1 = new Achievement(game, "test_id1", "test_name", "test_desc", 15)
var a2 = new Achievement(game, "test_id2", "test_name", "test_desc", 15)
game.add_achievement(a1)
game.add_achievement(a2)
assert game.load_achievements.length == 2
- db.drop
end
fun test_load_achievement do
- var db = load_db("test_load_achievement")
+ var db = gen_test_db
var game = load_game("Morriar/nit", db)
var a1 = new Achievement(game, "test_id1", "test_name", "test_desc", 15)
var a2 = new Achievement(game, "test_id2", "test_name", "test_desc", 15)
game.add_achievement(a1)
assert game.load_achievement(a1.id).id == "test_id1"
assert game.load_achievement(a2.id) == null
- db.drop
end
fun test_load_achievements do
- var db = load_db("test_load_achievements")
+ var db = gen_test_db
var game = load_game("Morriar/nit", db)
var a1 = new Achievement(game, "test_id1", "test_name", "test_desc", 15)
var a2 = new Achievement(game, "test_id2", "test_name", "test_desc", 15)
var res = game.load_achievements
assert res.length == 2
for a in res.values do assert ok.has(a.id)
- db.drop
end
end
super NitrpgTestHelper
fun test_add_achievement do
- var db = load_db("test_add_achievement")
+ var db = gen_test_db
var game = load_game("Morriar/nit", db)
var player1 = new Player(game, "Morriar")
var a1 = new Achievement(game, "test_id1", "test_name", "test_desc", 15)
player1.add_achievement(a1)
player1.add_achievement(a2)
assert player1.load_achievements.length == 2
- db.drop
end
fun test_load_achievement do
- var db = load_db("test_load_achievement")
+ var db = gen_test_db
var game = load_game("Morriar/nit", db)
var player1 = new Player(game, "Morriar")
var player2 = new Player(game, "xymus")
assert player1.load_achievement(a2.id) == null
assert player2.load_achievement(a2.id).id == "test_id2"
assert player2.load_achievement(a1.id) == null
- db.drop
end
fun test_load_achievements do
- var db = load_db("test_load_achievements")
+ var db = gen_test_db
var game = load_game("Morriar/nit", db)
var player1 = new Player(game, "Morriar")
var player2 = new Player(game, "xymus")
var res = player1.load_achievements
assert res.length == 2
for a in res.values do assert ok.has(a.id)
- db.drop
end
end
super NitrpgTestHelper
fun test_init do
- var db = load_db("test_init")
+ var db = gen_test_db
var game = load_game("Morriar/nit", db)
var a = new Achievement(game, "test_id", "test_name", "test_desc", 15)
assert a.id == "test_id"
assert a.name == "test_name"
assert a.desc == "test_desc"
assert a.reward == 15
- db.drop
end
fun test_init_from_json do
- var db = load_db("test_init_from_json")
+ var db = gen_test_db
var game = load_game("Morriar/nit", db)
var json = """{
"id": "test_id",
assert a.name == "test_name"
assert a.desc == "test_desc"
assert a.reward == 15
- db.drop
end
end
super NitrpgTestHelper
fun test_add_event do
- var db = load_db("test_add_event")
+ var db = gen_test_db
var game = load_game("Morriar/nit", db)
var event1 = new GameEvent(game, "test_kind", new JsonObject)
var event2 = new GameEvent(game, "test_kind", new JsonObject)
game.add_event(event1)
game.add_event(event2)
assert game.load_events.length == 2
- db.drop
end
fun test_load_event do
- var db = load_db("test_load_event")
+ var db = gen_test_db
var game = load_game("Morriar/nit", db)
var event1 = new GameEvent(game, "test_kind", new JsonObject)
var event2 = new GameEvent(game, "test_kind", new JsonObject)
game.add_event(event1)
assert game.load_event(event1.internal_id).kind == "test_kind"
assert game.load_event(event2.internal_id) == null
- db.drop
end
fun test_load_events do
- var db = load_db("test_load_events")
+ var db = gen_test_db
var game = load_game("Morriar/nit", db)
var event1 = new GameEvent(game, "test_kind", new JsonObject)
var event2 = new GameEvent(game, "test_kind", new JsonObject)
var res = game.load_events
assert res.length == 2
for event in res do assert ok.has(event.internal_id)
- db.drop
end
end
super NitrpgTestHelper
fun test_add_event do
- var db = load_db("test_add_event")
+ var db = gen_test_db
var game = load_game("Morriar/nit", db)
var player1 = new Player(game, "Morriar")
var player2 = new Player(game, "xymus")
player1.add_event(event2)
assert player1.load_events.length == 2
assert player2.load_events.length == 0
- db.drop
end
fun test_load_event do
- var db = load_db("test_load_event")
+ var db = gen_test_db
var game = load_game("Morriar/nit", db)
var player1 = new Player(game, "Morriar")
var player2 = new Player(game, "xymus")
assert player1.load_event(event2.internal_id) == null
assert player2.load_event(event2.internal_id).kind == "test_kind"
assert player2.load_event(event1.internal_id) == null
- db.drop
end
fun test_load_events do
- var db = load_db("test_load_events")
+ var db = gen_test_db
var game = load_game("Morriar/nit", db)
var player1 = new Player(game, "Morriar")
var player2 = new Player(game, "xymus")
assert player2.load_events.length == 1
var ok = [event1.internal_id, event2.internal_id]
for event in player1.load_events do assert ok.has(event.internal_id)
- db.drop
end
end
super NitrpgTestHelper
fun test_init do
- var db = load_db("test_init")
+ var db = gen_test_db
var game = load_game("Morriar/nit", db)
var event = new GameEvent(game, "test_kind", new JsonObject)
assert event.to_json["kind"] == "test_kind"
- db.drop
end
fun test_init_from_json do
- var db = load_db("test_init_from_json")
+ var db = gen_test_db
var game = load_game("Morriar/nit", db)
var json = """{
"internal_id": "test_id",
assert event.kind == "test_kind"
assert event.data.to_json == """{"test_field":"test_value"}"""
assert event.time.to_s == "2015-02-05T00:00:00Z"
- db.drop
end
end
super NitrpgTestHelper
fun test_add_player do
- var db = load_db("test_add_player")
+ var db = gen_test_db
var game = load_game("privat/nit", db)
var users = ["Morriar", "xymus"]
for name in users do
for player in res do
assert users.has(player.name)
end
- db.drop
end
fun test_load_player do
- var db = load_db("test_load_player")
+ var db = gen_test_db
var game = load_game("privat/nit", db)
var ogame = load_game("Morriar/nit", db)
assert game.load_player("Morriar").name == "Morriar"
assert ogame.load_player("privat").name == "privat"
assert ogame.load_player("Morriar") == null
- db.drop
end
fun test_load_players do
- var db = load_db("test_load_players")
+ var db = gen_test_db
var game = load_game("privat/nit", db)
var ogame = load_game("Morriar/nit", db)
var players = game.load_players
var ok = ["Morriar", "xymus"]
for player in players.values do assert ok.has(player.name)
- db.drop
end
end
super NitrpgTestHelper
fun test_init do
- var db = load_db("test_init")
+ var db = gen_test_db
var game = load_game("privat/nit", db)
var player = new Player(game, "Morriar")
assert player.name == "Morriar"
assert player.user.login == "Morriar"
assert player.nitcoins == 0
- db.drop
end
fun test_init_from_json do
- var db = load_db("test_init_from_json")
+ var db = gen_test_db
var game = load_game("privat/nit", db)
var json = """{"name": "Morriar", "nitcoins": 10}""".parse_json
var player = new Player.from_json(game, json.as(JsonObject))
assert player.name == "Morriar"
assert player.user.login == "Morriar"
assert player.nitcoins == 10
- db.drop
end
fun test_save do
- var db = load_db("test_save")
+ var db = gen_test_db
var game = load_game("privat/nit", db)
var json = """{"name": "Morriar", "nitcoins": 10}""".parse_json.as(JsonObject)
var player = new Player.from_json(game, json)
player.save
assert game.db.collection("players").find(json) != null
- db.drop
end
fun test_game_add_player do
- var db = load_db("test_game_add_player")
+ var db = gen_test_db
var game = load_game("privat/nit", db)
game.add_player(game.api.load_user("Morriar").as(not null))
var json = """{"name": "Morriar"}""".parse_json.as(JsonObject)
assert game.db.collection("players").find(json) != null
- db.drop
end
fun test_game_load_player do
- var db = load_db("test_game_load_player")
+ var db = gen_test_db
var game = load_game("privat/nit", db)
var json = """{"name": "Morriar", "nitcoins": 10}""".parse_json.as(JsonObject)
var player = new Player.from_json(game, json)
var oplayer = game.load_player("Morriar")
assert oplayer != null
assert player.nitcoins == oplayer.nitcoins
- db.drop
end
end
super NitrpgTestHelper
fun test_player do
- var db = load_db("test_player")
+ var db = gen_test_db
var api = new GithubAPI(get_github_oauth)
var game = load_game("privat/nit", db)
var user = api.load_user("Morriar")
var player = user.player(game)
assert player.name == "Morriar"
game.clear
- db.drop
end
end
var mongo = new MongoClient("mongodb://localhost:27017/")
# Load a new test database by with a name
- fun load_db(name: String): MongoDb do return mongo.database(name)
+ private fun load_db(name: String): MongoDb do return mongo.database(name)
# Load a repo by its name.
fun load_repo(name: String): Repo do
game.db_name = db.name
return game
end
+
+ # Stack of db used for testing.
+ var test_dbs = new Array[MongoDb]
+
+ # Gen a test db with a random name (to avoid race conditions).
+ fun gen_test_db: MongoDb do
+ var db_name = "test_nitrpg_{get_time}_{1000.rand}"
+ var db = load_db(db_name)
+ test_dbs.add db
+ return db
+ end
+
+ # Should be called after your test.
+ fun drop_test_db do
+ var db = test_dbs.pop
+ db.drop
+ end
+
+ redef fun after_test do drop_test_db
end
var repo: Repo is lazy do return load_repo("Morriar/nit")
fun test_game_issue_stats do
- var db = load_db("test_game_issue_stats")
+ var db = gen_test_db
var l = new DummyListener
l.add_reactor(new StatisticsReactor)
game = load_game("Morriar/nit", db)
assert game.stats.overall["issues"] == 1
assert game.stats.overall["issues_open"] == 1
- db.drop
end
fun test_player_issue_stats do
- var db = load_db("test_player_issue_stats")
+ var db = gen_test_db
var game = load_game("Morriar/nit", db)
var l = new DummyListener
l.add_reactor(new StatisticsReactor)
player = new Player(game, "Morriar")
assert player.stats.overall["issues"] == 1
assert player.stats.overall["issues_open"] == 1
- db.drop
end
fun test_game_pr_stats do
- var db = load_db("test_game_pr_stats")
+ var db = gen_test_db
var l = new DummyListener
l.add_reactor(new StatisticsReactor)
assert game.stats.overall["pulls"] == 1
assert game.stats.overall["pulls_open"] == 0
assert game.stats.overall["commits"] == 2
- db.drop
end
fun test_game_issue_comment_stats do
- var db = load_db("test_game_issue_comment_stats")
+ var db = gen_test_db
var l = new DummyListener
l.add_reactor(new StatisticsReactor)
game = load_game("Morriar/nit", db)
assert game.stats.overall["comments"] == 2
assert game.stats.overall["reviews"] == 1
- db.drop
end
fun test_player_pull_reactor do
- var db = load_db("test_player_pull_reactor")
+ var db = gen_test_db
var game = load_game("Morriar/nit", db)
var l = new DummyListener
l.add_reactor(new PlayerReactor)
l.apply_event(generator.pull_close(pull), db)
player = new Player(game, "itch76")
assert player.stats.overall["nitcoins"] == 12
- db.drop
end
fun test_player_review_reactor do
- var db = load_db("test_player_review_reactor")
+ var db = gen_test_db
var game = load_game("Morriar/nit", db)
var l = new DummyListener
l.add_reactor(new PlayerReactor)
l.apply_event(generator.issue_comment_event(pull, comment), db)
player = new Player(game, "Morriar")
assert player.stats.overall["nitcoins"] == 4
- db.drop
end
fun test_X_issues_achievements do
- var db = load_db("test_X_issues_achievements")
+ var db = gen_test_db
var game = load_game("Morriar/nit", db)
var l = new DummyListener
l.add_reactor(new StatisticsReactor)
end
var player = new Player(game, "Morriar")
assert player.stats.overall["nitcoins"] == 1110
- db.drop
end
fun test_X_pulls_achievements do
- var db = load_db("test_X_pulls_achievements")
+ var db = gen_test_db
var game = load_game("Morriar/nit", db)
var l = new DummyListener
l.add_reactor(new StatisticsReactor)
end
var player = new Player(game, "itch76")
assert player.stats.overall["nitcoins"] == 1110
- db.drop
end
fun test_X_commits_achievements do
- var db = load_db("test_X_commits_achievements")
+ var db = gen_test_db
var game = load_game("Morriar/nit", db)
var l = new DummyListener
l.add_reactor(new StatisticsReactor)
end
var player = new Player(game, "itch76")
assert player.stats.overall["nitcoins"] == 11110
- db.drop
end
fun test_X_comments_achievements do
- var db = load_db("test_X_comments_achievements")
+ var db = gen_test_db
var game = load_game("Morriar/nit", db)
var l = new DummyListener
l.add_reactor(new StatisticsReactor)
end
var player = new Player(game, "Morriar")
assert player.stats.overall["nitcoins"] == 1110
- db.drop
end
fun test_issues_achievements do
- var db = load_db("test_issues_achievements")
+ var db = gen_test_db
var game = load_game("Morriar/nit", db)
var l = new DummyListener
l.add_reactor(new IssueAboutNitdoc, new IssueAboutFFI)
assert player.load_achievements.has_key("issue_about_nitdoc")
assert player.load_achievements.has_key("issue_about_ffi")
assert player.stats.overall["nitcoins"] == 20
- db.drop
end
fun test_comments_reactor do
- var db = load_db("test_comments_reactor")
+ var db = gen_test_db
var game = load_game("Morriar/nit", db)
var l = new DummyListener
l.add_reactor(new PlayerPingGod, new PlayerFirstReview, new PlayerSaysNitcoin)
player = new Player(game, "Morriar")
assert player.load_achievements.has_key("player_says_nitcoin")
assert player.stats.overall["nitcoins"] == 70
- db.drop
end
end
super NitrpgTestHelper
fun test_game_stats do
- var db = load_db("test_game_stats")
+ var db = gen_test_db
var game = load_game("privat/nit", db)
var stats = game.stats
assert stats.overall["test"] == 0
var ostats = ogame.stats
ostats.overall.inc("test")
assert ostats.overall["test"] == 2
- db.drop
end
end
super NitrpgTestHelper
fun test_player_stats do
- var db = load_db("test_player_stats")
+ var db = gen_test_db
var game = load_game("privat/nit", db)
var player = new Player(game, "Morriar")
var stats = player.stats
var ostats = oplayer.stats
ostats.overall.inc("test")
assert ostats.overall["test"] == 2
- db.drop
end
end
super NitrpgTestHelper
fun test_init_from_json do
- var db = load_db("test_init_from_json")
+ var db = gen_test_db
var game = load_game("privat/nit", db)
var owner = new Player(game, "Morriar")
var json = """{
assert stats["test0"] == 0
assert stats["test1"] == 10
assert stats["test2"] == 20
- db.drop
end
end
{
- "message": "Wrong format for `mois` (expected AAAA-MM got 2015\/01)"
+ "message": "Wrong format for `mois` (expected AAAA-MM got 2015/01)"
}
{
- "message": "Wrong format for `date` (expected AAAA-MM-DD got 2015\/01\/11)"
+ "message": "Wrong format for `date` (expected AAAA-MM-DD got 2015/01/11)"
}
# Used to play sound, best suited for sounds effects in apps or games
class SoundPool
- # Error gestion
+ # Latest error on this sound pool
var error: nullable Error = null
private var nsoundpool: NativeSoundPool is noinit
+
# The maximum number of simultaneous streams for this SoundPool
var max_streams = 10 is writable
return action.is_down or action.is_move or action.is_pointer_down
end
- # Is this a move event?
- fun is_move: Bool do return motion_event.acting_pointer == self and
+ redef fun is_move do return motion_event.acting_pointer == self and
motion_event.native.action.is_move
- redef fun depressed do return not pressed
-
# Does this pointer just began touching the screen?
fun just_went_down: Bool do return motion_event.acting_pointer == self and
motion_event.just_went_down
# Hardware code of the key raising this event
fun key_code: Int `{ return AKeyEvent_getKeyCode(self); `}
- redef fun to_c `{
+ redef fun to_c
+ do
+ var i = native_to_c
+ if i == 0 then return null
+ return i.code_point
+ end
+
+ private fun native_to_c: Int `{
int code = AKeyEvent_getKeyCode(self);
if (code >= AKEYCODE_0 && code <= AKEYCODE_9)
return '0'+code-AKEYCODE_0;
end
end
+redef class Int
+ # Returns the code_point from a utf16 surrogate pair
+ #
+ # assert 0xD83DDE02.from_utf16_surr == 0x1F602
+ fun from_utf16_surr: Int do
+ var hi = (self & 0xFFFF0000) >> 16
+ var lo = self & 0xFFFF
+ var cp = 0
+ cp += (hi - 0xD800) << 10
+ cp += lo - 0xDC00
+ cp += 0x10000
+ return cp
+ end
+end
+
# Native strings are simple C char *
extern class NativeString `{ char* `}
# Creates a new NativeString with a capacity of `length`
--- /dev/null
+Portable game and multimedia framework for Nit
+
+This framework is based on the portability framework _app.nit_ and the OpenGL ES 2.0 standard.
+
+It is modular, different parts of the framework are available through different entry points:
+
+* `gamnit` provides low-level abstractions over some services of OpenGL ES 2.0, like textures, shaders and programs.
+ It defines the basic methods to implement in order to obtain a working game: `App::frame_core` to update the screen
+ and `App::accept_event` to receive user inputs.
+
+* `simple_2d` provides an easy to use API for 2D games based on sprites.
+ Clients of this API must redefine `App::update` to update the game logic and fill `App::sprites` with objects to draw.
+
+* `cameras` provides cameras classes to produce MVP matrices which can be fed to shaders.
+
+* `limit_fps` redefines existing services of gamnit to limit the framerate to a client-defined value.
+
+* `network` provides a simple communication framework for multiplayer client/server games.
fun mvp_matrix: Matrix is abstract
end
-# Simple camera with perspective oriented with Euler angles (`pitch`, `yaw`, `roll`)
+# Simple camera with perspective oriented with Euler angles (`pitch, yaw, roll`)
class EulerCamera
super Camera
# Clipping wall the farthest of the camera, in world dimensions
#
- # Default at `100.0` but this one should be adapted to each context.
- var far = 100.0 is writable
+ # Default at `10000.0` but this one should be adapted to each context.
+ var far = 10000.0 is writable
# Look around sensitivity, used by `turn`
var sensitivity = 0.005 is writable
return view * projection
end
+
+ # Reset the camera position so that `height` world units are visible on the y axis at z=0
+ #
+ # By default, `height` is set to `display.height`.
+ #
+ # After the reset, the camera sits on the Z axis and rotation values are reset to 0.
+ # The X axis is horizontal on the screen and the Y axis is vertical.
+ # Higher values on the Z axis are closer to the camera.
+ fun reset_height(height: nullable Float)
+ do
+ if height == null then height = display.height.to_f
+
+ var opp = height / 2.0
+ var angle = field_of_view_y / 2.0
+ var adj = opp / angle.tan
+
+ position.x = 0.0
+ position.y = 0.0
+ position.z = adj
+
+ pitch = 0.0
+ yaw = 0.0
+ roll = 0.0
+ end
+end
+
+# Orthogonal camera to draw UI objects with services to work with screens of different sizes
+#
+# X axis: left to right of the screen, from `position.x` to `position.x + width`
+# Y axis: top to bottom of the screen, from `position.y` to `position.y + height`
+# Z axis: far to near the camera (usually when values are higher), from `far` to `near`
+class UICamera
+ super Camera
+
+ # Clipping wall near the camera, defaults to 100.0
+ var near = 100.0 is writable
+
+ # Clipping wall the farthest of the camera, defaults to -100.0
+ var far: Float = -100.0 is writable
+
+ # Width in world units, defaults to the width in pixels of the screen
+ var width: Float = display.width.to_f is lazy
+
+ # Height in world units, defaults to the height in pixels of the screen
+ var height: Float = display.height.to_f is lazy
+
+ # Reset the camera position so that `height` world units are visible on the Y axis
+ #
+ # By default, `height` is set to `display.height`.
+ #
+ # This can be used to set standardized UI units independently from the screen resolution.
+ fun reset_height(height: nullable Float)
+ do
+ if height == null then height = display.height.to_f
+
+ self.height = height
+ self.width = height * display.aspect_ratio
+ end
+
+ # Convert the position `x, y` on screen, to UI coordinates
+ fun camera_to_ui(x, y: Numeric): Point[Float]
+ do
+ # FIXME this kind of method should use something like a canvas
+ # instead of being hard coded on the display.
+
+ var wx = x.to_f * width / display.width.to_f - position.x
+ var wy = y.to_f * height / display.height.to_f - position.y
+ return new Point[Float](wx, wy)
+ end
+
+ # Anchor in the top left corner of the screen, at z = 0
+ fun top_left: Point3d[Float] do return new Point3d[Float](position.x, position.y, 0.0)
+
+ # Anchor in the top right corner of the screen, at z = 0
+ fun top_right: Point3d[Float] do return new Point3d[Float](position.x + width, position.y, 0.0)
+
+ # Anchor in the bottom left corner of the screen, at z = 0
+ fun bottom_left: Point3d[Float] do return new Point3d[Float](position.x, position.y + height, 0.0)
+
+ # Anchor in the bottom right corner of the screen, at z = 0
+ fun bottom_right: Point3d[Float] do return new Point3d[Float](position.x + width, position.y + height, 0.0)
+
+ # TODO cache the anchors and the matrix
+
+ redef fun mvp_matrix
+ do
+ var view = new Matrix.identity(4)
+
+ # Translate the world away from the camera
+ view.translate(-position.x/2.0, -position.y/2.0, -position.z/2.0)
+
+ # Use a projection matrix with a depth
+ var projection = new Matrix.orthogonal(0.0, width, -height, 0.0, near, far)
+
+ return view * projection
+ end
end
module display
import ::glesv2
+import mnit::input
import display_linux is conditional(linux)
import display_android is conditional(android)
# Aspect ratio of the screen, `width / height`
var aspect_ratio: Float is lazy do return width.to_f / height.to_f
+ # Is the cursor locked et the center of the screen?
+ var lock_cursor = false is writable
+
+ # Is the cursor visible?
+ #
+ # Only affects the desktop implementations.
+ var show_cursor: Bool = true is writable
+
# Prepare this display
#
# The implementation varies per platform.
#
# The implementation varies per platform.
fun flip do end
+
+ # Loop on available events and feed them back to the app
+ #
+ # The implementation varies per platform.
+ fun feed_events do end
end
fun height=(value: Int) do requested_height = value
private var requested_height = 1080
+ redef fun show_cursor do return sdl_display.show_cursor
+
+ redef fun show_cursor=(val) do sdl_display.show_cursor = val
+
# Setup SDL, X11, EGL in order
redef fun setup
do
assert gl_error == gl_NO_ERROR else print gl_error
# Prepare to draw
- for tex in [texture_seas, texture_earth, texture_night, texture_elevation, texture_clouds] do
+ for tex in all_root_textures do
tex.load
glTexParameteri(gl_TEXTURE_2D, gl_TEXTURE_MIN_FILTER, gl_LINEAR)
glTexParameteri(gl_TEXTURE_2D, gl_TEXTURE_MAG_FILTER, gl_LINEAR)
private var clock = new Clock
- redef fun frame_core
+ redef fun frame_core(display)
do
- var display = display
- if display != null then
- var t = clock.total.to_f/3.0 + 0.75*pi
-
- var gl_error = glGetError
- assert gl_error == gl_NO_ERROR else print gl_error
-
- glClear(gl_COLOR_BUFFER_BIT | gl_DEPTH_BUFFER_BIT)
- program.use
-
- # Rotate world
- # FIXME do this cleanly by moving the camera
- var mvp = new Matrix.rotation(t, 0.0, 1.0, 0.0) * camera.mvp_matrix
- program.mvp.uniform mvp
- program.camera.uniform(-t.sin, -0.8, -t.cos)
-
- # Planet
- program.coord.array(planet.vertices, 3)
- program.tex_coord.array(planet.texture_coords, 2)
- program.normal.array(planet.normals, 3)
- program.tex.uniform 0
- program.use_texture.uniform true
- program.color.uniform(1.0, 1.0, 1.0, 1.0)
- program.is_surface.uniform true
- glDrawElements(gl_TRIANGLES, planet.indices.length, gl_UNSIGNED_SHORT, planet.indices_c.native_array)
-
- # Clouds
- program.coord.array(clouds.vertices, 3)
- program.tex_coord.array(clouds.texture_coords, 2)
- program.normal.array(clouds.normals, 3)
- program.tex.uniform 4
- program.color.uniform(1.0, 1.0, 1.0, 0.5) # Half transparency
- program.is_surface.uniform false
- glDrawElements(gl_TRIANGLES, clouds.indices.length, gl_UNSIGNED_SHORT, clouds.indices_c.native_array)
-
- # Atmo
- program.coord.array(atmo.vertices, 3)
- program.tex_coord.array(atmo.texture_coords, 2)
- program.normal.array(atmo.normals, 3)
- program.color.uniform(0.0, 0.8, 1.0, 0.02) # Blueish
- program.is_surface.uniform false
- program.use_texture.uniform false
- glDrawElements(gl_TRIANGLES, atmo.indices.length, gl_UNSIGNED_SHORT, atmo.indices_c.native_array)
- assert program.use_texture.is_active
-
- display.flip
-
- gl_error = glGetError
- assert gl_error == gl_NO_ERROR else print gl_error
- end
+ var t = clock.total.to_f/3.0 + 0.75*pi
+
+ var gl_error = glGetError
+ assert gl_error == gl_NO_ERROR else print gl_error
+
+ glClear(gl_COLOR_BUFFER_BIT | gl_DEPTH_BUFFER_BIT)
+ program.use
+
+ # Rotate world
+ # FIXME do this cleanly by moving the camera
+ var mvp = new Matrix.rotation(t, 0.0, 1.0, 0.0) * camera.mvp_matrix
+ program.mvp.uniform mvp
+ program.camera.uniform(-t.sin, -0.8, -t.cos)
+
+ # Planet
+ program.coord.array(planet.vertices, 3)
+ program.tex_coord.array(planet.texture_coords, 2)
+ program.normal.array(planet.normals, 3)
+ program.tex.uniform 0
+ program.use_texture.uniform true
+ program.color.uniform(1.0, 1.0, 1.0, 1.0)
+ program.is_surface.uniform true
+ glDrawElements(gl_TRIANGLES, planet.indices.length, gl_UNSIGNED_SHORT, planet.indices_c.native_array)
+
+ # Clouds
+ program.coord.array(clouds.vertices, 3)
+ program.tex_coord.array(clouds.texture_coords, 2)
+ program.normal.array(clouds.normals, 3)
+ program.tex.uniform 4
+ program.color.uniform(1.0, 1.0, 1.0, 0.5) # Half transparency
+ program.is_surface.uniform false
+ glDrawElements(gl_TRIANGLES, clouds.indices.length, gl_UNSIGNED_SHORT, clouds.indices_c.native_array)
+
+ # Atmo
+ program.coord.array(atmo.vertices, 3)
+ program.tex_coord.array(atmo.texture_coords, 2)
+ program.normal.array(atmo.normals, 3)
+ program.color.uniform(0.0, 0.8, 1.0, 0.02) # Blueish
+ program.is_surface.uniform false
+ program.use_texture.uniform false
+ glDrawElements(gl_TRIANGLES, atmo.indices.length, gl_UNSIGNED_SHORT, atmo.indices_c.native_array)
+ assert program.use_texture.is_active
+
+ display.flip
+
+ gl_error = glGetError
+ assert gl_error == gl_NO_ERROR else print gl_error
end
redef fun on_stop
private var t = 0.0
- redef fun frame_core
+ redef fun frame_core(display)
do
- var display = display
- if display != null then
- glClearColor(t, t, t, 1.0)
+ glClearColor(t, t, t, 1.0)
- assert glGetError == gl_NO_ERROR
- glViewport(0, 0, display.width, display.height)
- glClear gl_COLOR_BUFFER_BIT
- glUseProgram program
- vertex_array.enable
+ assert glGetError == gl_NO_ERROR
+ glViewport(0, 0, display.width, display.height)
+ glClear gl_COLOR_BUFFER_BIT
+ glUseProgram program
+ vertex_array.enable
- glDrawArrays(gl_TRIANGLES, 0, 3)
+ glDrawArrays(gl_TRIANGLES, 0, 3)
- display.flip
+ display.flip
- t += 0.01
- if t > 1.0 then t = 0.0
- end
+ t += 0.01
+ if t > 1.0 then t = 0.0
end
redef fun on_stop
import programs
import gamnit_android is conditional(android)
+import gamnit_linux is conditional(linux)
redef class App
# Core of the frame logic, executed only when the display is visible
#
# This method should be redefined by user modules to customize the behavior of the game.
- protected fun frame_core do end
+ protected fun frame_core(display: GamnitDisplay) do end
# Full frame logic, executed even if the display is not visible
#
protected fun frame_full
do
var display = display
- if display != null then frame_core
+ if display != null then frame_core(display)
feed_events
end
redef fun run
do
- if "NIT_TESTING".environ == "true" then exit 0
-
# TODO manage exit condition
loop frame_full
end
#
# The implementation varies per platform.
private fun feed_events do end
+
+ # Main method to receive `InputEvent` produced by the system
+ #
+ # Returns whether or not the event is used or intercepted.
+ # If `true`, the event will not be processed further by the system.
+ # Returns `false` to intercepts events like the back key on mobile devices.
+ #
+ # This method should be refined by client modules to react to user inputs.
+ fun accept_event(event: InputEvent): Bool do return false
+end
+
+redef class Sys
+ redef fun run
+ do
+ if "NIT_TESTING".environ == "true" then exit 0
+ super
+ end
end
import android
intrude import gamnit
+intrude import android::input_events
redef class App
redef fun feed_events do app.poll_looper 0
+
+ redef fun native_input_key(event) do return accept_event(event)
+
+ redef fun native_input_motion(event)
+ do
+ var ie = new AndroidMotionEvent(event)
+ var handled = accept_event(ie)
+
+ if not handled then accept_event ie.acting_pointer
+
+ return handled
+ end
end
--- /dev/null
+# This file is part of NIT ( http://www.nitlanguage.org ).
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Support services for Gamnit on GNU/Linux
+module gamnit_linux
+
+intrude import gamnit
+import display_linux
+
+redef class App
+ redef fun feed_events
+ do
+ var display = display
+ if display == null then return
+
+ var events = display.sdl_display.events
+ display.check_lock_cursor
+ for event in events do accept_event(event)
+ end
+end
+
+redef class GamnitDisplay
+
+ # HACK to keep the cursor in the center of the screen without producing move events
+ private fun check_lock_cursor
+ do
+ var sdl_display = sdl_display
+ if lock_cursor and sdl_display.input_focus then
+ sdl_display.ignore_mouse_motion_events = true
+ sdl_display.warp_mouse(width/2, height/2)
+ sdl_display.ignore_mouse_motion_events = false
+ end
+ end
+end
--- /dev/null
+# This file is part of NIT ( http://www.nitlanguage.org ).
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Simple API for 2D games, based around `Sprite` and `App::update`
+#
+# Client programs should implement `App::update` to execute game logic and
+# add instances of `Sprite` to `App::sprites` and `App::ui_sprites`.
+# At each frame, all sprites are drawn to the screen.
+#
+# This system relies on two cameras `App::world_camera` and `App::ui_camera`.
+#
+# * `App::world_camera` applies a perspective effect to draw the game world.
+# This camera is designed to be moved around to see the world as well as to zoom in and out.
+# It is used to position the sprites in `App::sprites`.
+#
+# * `App::ui_camera` is a simple orthogonal camera to display UI objects.
+# This camera should mostly be still, it can still move for chock effects and the like.
+# It can be used to standardize the size of the UI across devices.
+# It is used to position the sprites in `App::ui_sprites`.
+#
+# See the sample game at `contrib/asteronits/`.
+module simple_2d
+
+import glesv2
+
+import geometry::points_and_lines
+import matrix::projection
+import more_collections
+import realtime
+
+import gamnit
+import gamnit::cameras
+import gamnit::limit_fps
+
+# Image to draw on screen
+class Sprite
+
+ # Texture drawn to screen
+ var texture: Texture is writable
+
+ # Position of this sprite in world coordinates
+ var center: Point3d[Float] is writable
+
+ # Rotation on the Z axis
+ var rotation = 0.0 is writable
+
+ # Scale applied to this sprite
+ var scale = 1.0 is writable
+
+ # Transparency applied to the texture on draw
+ var alpha = 1.0 is writable
+
+ private fun draw
+ do
+ var simple_2d_program = app.simple_2d_program
+
+ glActiveTexture gl_TEXTURE0
+ glBindTexture(gl_TEXTURE_2D, texture.root.gl_texture)
+
+ simple_2d_program.translation.uniform(center.x, -center.y, center.z, 0.0)
+ simple_2d_program.color.uniform(1.0, 1.0, 1.0, alpha)
+ simple_2d_program.scale.uniform scale
+
+ simple_2d_program.use_texture.uniform true
+ simple_2d_program.texture.uniform 0
+ simple_2d_program.tex_coord.array(texture.texture_coords, 2)
+ simple_2d_program.coord.array(texture.vertices, 3)
+
+ simple_2d_program.rotation.uniform new Matrix.rotation(rotation, 0.0, 0.0, 1.0)
+
+ glDrawArrays(gl_TRIANGLE_STRIP, 0, 4)
+ end
+end
+
+redef class App
+ # Default graphic program to draw `sprites`
+ var simple_2d_program = new Simple2dProgram is lazy # TODO private
+
+ # Camera for world objects with perspective
+ #
+ # By default, the camera is configured to respect the resolution
+ # of the screen in world coordinates at `z == 0.0`.
+ var world_camera: EulerCamera is lazy do
+ var camera = new EulerCamera(app.display.as(not null))
+
+ # Aim for pixel resolution at level 0
+ camera.reset_height
+ camera.near = 100.0
+
+ return camera
+ end
+
+ # Camera for UI elements using an orthogonal view
+ var ui_camera: UICamera = new UICamera(app.display.as(not null)) is lazy
+
+ # Live sprites to draw in reference to `world_camera`
+ var sprites: Sequence[Sprite] = new List[Sprite]
+
+ # UI sprites to draw in reference to `ui_camera`, over world `sprites`
+ var ui_sprites: Sequence[Sprite] = new List[Sprite]
+
+ private var clock = new Clock
+
+ redef fun on_create
+ do
+ super
+
+ var display = display
+ assert display != null
+
+ var gl_error = glGetError
+ assert gl_error == gl_NO_ERROR else print gl_error
+
+ # Prepare program
+ var program = simple_2d_program
+ program.compile_and_link
+
+ var gamnit_error = program.error
+ assert gamnit_error == null else print_error gamnit_error
+
+ # Enable blending
+ gl.capabilities.blend.enable
+ glBlendFunc(gl_SRC_ALPHA, gl_ONE_MINUS_SRC_ALPHA)
+
+ # Enable depth test
+ gl.capabilities.depth_test.enable
+ glDepthFunc gl_LEQUAL
+ glDepthMask true
+
+ # Prepare viewport and background color
+ glViewport(0, 0, display.width, display.height)
+ glClearColor(0.0, 0.0, 0.0, 1.0)
+
+ gl_error = glGetError
+ assert gl_error == gl_NO_ERROR else print gl_error
+
+ # Prepare to draw
+ for tex in all_root_textures do
+ tex.load
+
+ glTexParameteri(gl_TEXTURE_2D, gl_TEXTURE_MIN_FILTER, gl_LINEAR)
+ glTexParameteri(gl_TEXTURE_2D, gl_TEXTURE_MAG_FILTER, gl_LINEAR)
+
+ gamnit_error = tex.error
+ assert gamnit_error == null else print_error gamnit_error
+ end
+
+ # Constant program values
+ program.use
+ program.coord.array_enabled = true
+ program.tex_coord.array_enabled = true
+
+ gl_error = glGetError
+ assert gl_error == gl_NO_ERROR else print gl_error
+ end
+
+ redef fun frame_core(display)
+ do
+ # Prepare to draw, clear buffers
+ glClear(gl_COLOR_BUFFER_BIT | gl_DEPTH_BUFFER_BIT)
+
+ # Check errors
+ var gl_error = glGetError
+ assert gl_error == gl_NO_ERROR else print gl_error
+
+ # Update game logic and set sprites
+ var dt = clock.lapse.to_f
+ update dt
+
+ # Draw and flip screen
+ # TODO optimize this draw to store constant values on the GPU
+
+ ## World sprites
+ simple_2d_program.use
+ simple_2d_program.mvp.uniform world_camera.mvp_matrix
+ for sprite in sprites do sprite.draw
+
+ ## Reset only the depth buffer
+ glClear gl_DEPTH_BUFFER_BIT
+
+ ## UI sprites
+ simple_2d_program.mvp.uniform ui_camera.mvp_matrix
+ for sprite in ui_sprites do sprite.draw
+ display.flip
+
+ # Check errors
+ gl_error = glGetError
+ assert gl_error == gl_NO_ERROR else print gl_error
+ end
+
+ # Main method to refine in clients to update game logic and `sprites`
+ fun update(dt: Float) do end
+
+ redef fun on_stop
+ do
+ # Clean up
+ simple_2d_program.delete
+
+ # Close gamnit
+ var display = display
+ if display != null then display.close
+ end
+end
+
+redef class Texture
+
+ # Vertices coordinates of the base geometry
+ private var vertices: Array[Float] is lazy do
+ var mod = 1.0
+ var w = width * mod
+ var h = height * mod
+ var a = [-0.5*w, -0.5*h, 0.0]
+ var b = [ 0.5*w, -0.5*h, 0.0]
+ var c = [-0.5*w, 0.5*h, 0.0]
+ var d = [ 0.5*w, 0.5*h, 0.0]
+
+ var vertices = new Array[Float]
+ for v in [c, d, a, b] do vertices.add_all v
+ return vertices
+ end
+
+ # Coordinates of this texture on the `root` texture, with `[0..1.0]`
+ private var texture_coords: Array[Float] is lazy do
+ var a = [offset_left, offset_bottom]
+ var b = [offset_right, offset_bottom]
+ var c = [offset_left, offset_top]
+ var d = [offset_right, offset_top]
+
+ var texture_coords = new Array[Float]
+ for v in [c, d, a, b] do texture_coords.add_all v
+ return texture_coords
+ end
+end
+
+# Graphic program to display simple models with a texture, translation, rotation and scale
+class Simple2dProgram
+ super GamnitProgramFromSource
+
+ redef var vertex_shader_source = """
+ // Vertex coordinates
+ attribute vec4 coord;
+
+ // Vertex color tint
+ attribute vec4 color;
+
+ // Vertex translation
+ attribute vec4 translation;
+
+ // Vertex scaling
+ attribute float scale;
+
+ // Vertex coordinates on textures
+ attribute vec2 tex_coord;
+
+ // Model view projection matrix
+ uniform mat4 mvp;
+
+ // Rotation matrix
+ uniform mat4 rotation;
+
+ // Output for the fragment shader
+ varying vec4 v_color;
+ varying vec2 v_coord;
+
+ void main()
+ {
+ v_color = color;
+ gl_Position = (vec4(coord.xyz * scale, 1.0) * rotation + translation) * mvp;
+ v_coord = tex_coord;
+ }
+ """ @ glsl_vertex_shader
+
+ redef var fragment_shader_source = """
+ precision mediump float;
+
+ // Does this object use a texture?
+ uniform bool use_texture;
+
+ // Texture to apply on this object
+ uniform sampler2D texture;
+
+ // Input from the vertex shader
+ varying vec4 v_color;
+ varying vec2 v_coord;
+
+ void main()
+ {
+ if(use_texture) {
+ gl_FragColor = v_color * texture2D(texture, v_coord);
+ if (gl_FragColor.a == 0.0) discard;
+ } else {
+ gl_FragColor = v_color;
+ }
+ }
+ """ @ glsl_fragment_shader
+
+ # Vertices coordinates
+ var coord = attributes["coord"].as(AttributeVec4) is lazy
+
+ # Should this program use the texture `texture`?
+ var use_texture = uniforms["use_texture"].as(UniformBool) is lazy
+
+ # Visible texture unit
+ var texture = uniforms["texture"].as(UniformSampler2D) is lazy
+
+ # Coordinates on the textures, per vertex
+ var tex_coord = attributes["tex_coord"].as(AttributeVec2) is lazy
+
+ # Color tint per vertex
+ var color = attributes["color"].as(AttributeVec4) is lazy
+
+ # Translation applied to each vertex
+ var translation = attributes["translation"].as(AttributeVec4) is lazy
+
+ # Rotation matrix
+ var rotation = uniforms["rotation"].as(UniformMat4) is lazy
+
+ # Scaling per vertex
+ var scale = attributes["scale"].as(AttributeFloat) is lazy
+
+ # Model view projection matrix
+ var mvp = uniforms["mvp"].as(UniformMat4) is lazy
+end
+
+redef class Point3d[N]
+ # Get a new `Point3d[Float]` with an offset of each axis of `x, y, z`
+ fun offset(x, y, z: Numeric): Point3d[Float]
+ do
+ return new Point3d[Float](self.x.to_f+x.to_f, self.y.to_f+y.to_f, self.z.to_f+z.to_f)
+ end
+end
# Prepare a subtexture from this texture
fun subtexture(left, top, width, height: Numeric): GamnitSubtexture
do
- # We want only floats
- left = left.to_f
- top = top.to_f
- width = width.to_f
- height = height.to_f
-
# Setup the subtexture
- var subtex = new GamnitSubtexture(root)
- subtex.width = width
- subtex.height = height
-
- subtex.offset_left = offset_left + left / root.width
- subtex.offset_top = offset_top + top / root.height
- subtex.offset_right = offset_left + width / root.width
- subtex.offset_bottom = offset_top + height / root.height
-
+ var subtex = new GamnitSubtexture(root, self, left.to_f, top.to_f, width.to_f, height.to_f)
return subtex
end
- private fun offset_left: Float do return 0.0
- private fun offset_top: Float do return 0.0
- private fun offset_right: Float do return 1.0
- private fun offset_bottom: Float do return 1.0
+ fun offset_left: Float do return 0.0
+ fun offset_top: Float do return 0.0
+ fun offset_right: Float do return 1.0
+ fun offset_bottom: Float do return 1.0
end
# Texture with its own pixels
redef var root
+ # Parent texture, from which this texture was created
+ var parent: Texture
+
+ # Left border of this texture compared to `parent`
+ var left: Float
+
+ # Top border of this texture compared to `parent`
+ var top: Float
+
+ private fun set_wh(width, height: Float)
+ is autoinit do
+ self.width = width
+ self.height = height
+ end
+
redef fun load(force) do root.load(force)
- redef var offset_left = 0.0
- redef var offset_top = 0.0
- redef var offset_right = 1.0
- redef var offset_bottom = 1.0
+ redef var offset_left = parent.offset_left + left / root.width is lazy
+ redef var offset_top = parent.offset_top + top / root.height is lazy
+ redef var offset_right = offset_left + width / root.width is lazy
+ redef var offset_bottom = offset_top + height / root.height is lazy
end
redef class Sys
- private var all_root_textures = new TextureSet
+ # All declared root textures
+ var all_root_textures = new TextureSet
end
# Group of `Texture`
# avoid cyclic references between `append_json` and `to_json` when none are
# implemented.
protected fun to_json_by_append: String do
- var buffer = new RopeBuffer
+ var buffer = new FlatBuffer
append_json(buffer)
return buffer.to_s
end
redef class Text
super Jsonable
+ # Removes JSON-escaping if necessary in a JSON string
+ #
+ # assert "\\\"string\\uD83D\\uDE02\\\"".unescape_json == "\"string😂\""
+ fun unescape_json: Text do
+ if not json_need_escape then return self
+ return self.json_to_nit_string
+ end
+
+ # Does `self` need treatment from JSON to Nit ?
+ #
+ # i.e. is there at least one `\` character in it ?
+ #
+ # assert not "string".json_need_escape
+ # assert "\\\"string\\\"".json_need_escape
+ protected fun json_need_escape: Bool do return has('\\')
+
redef fun append_json(buffer) do
buffer.add '\"'
for i in [0 .. self.length[ do
buffer.append "\\\\"
else if char == '\"' then
buffer.append "\\\""
- else if char == '\/' then
- buffer.append "\\/"
else if char < ' ' then
if char == '\n' then
buffer.append "\\n"
buffer.append "\\r"
else if char == '\t' then
buffer.append "\\t"
- else if char == 0x0C.code_point then
- buffer.append "\\f"
- else if char == 0x08.code_point then
- buffer.append "\\b"
else
buffer.append char.escape_to_utf16
end
buffer.add '\"'
end
+ # Escapes `self` from a JSON string to a Nit string
+ #
+ # assert "\\\"string\\\"".json_to_nit_string == "\"string\""
+ # assert "\\nEscape\\t\\n".json_to_nit_string == "\nEscape\t\n"
+ # assert "\\u0041zu\\uD800\\uDFD3".json_to_nit_string == "Azu𐏓"
+ protected fun json_to_nit_string: String do
+ var res = new FlatBuffer.with_capacity(bytelen)
+ var i = 0
+ while i < self.length do
+ var char = self[i]
+ if char == '\\' then
+ i += 1
+ char = self[i]
+ if char == 'b' then
+ char = 0x08.code_point
+ else if char == 'f' then
+ char = 0x0C.code_point
+ else if char == 'n' then
+ char = '\n'
+ else if char == 'r' then
+ char = '\r'
+ else if char == 't' then
+ char = '\t'
+ else if char == 'u' then
+ var code = substring(i + 1, 4)
+ var hx = code.to_hex
+ if hx >= 0xD800 and hx <= 0xDFFF then
+ var lostr = substring(i + 7, 4)
+ if lostr.length < 4 then
+ hx = 0xFFFD
+ else
+ hx <<= 16
+ hx += lostr.to_hex
+ hx = hx.from_utf16_surr
+ end
+ i += 6
+ end
+ i += 4
+ char = hx.code_point
+ end
+ # `"`, `/` or `\` => Keep `char` as-is.
+ end
+ res.add char
+ i += 1
+ end
+ return res.to_s
+ end
+
+
# Encode `self` in JSON.
#
# ~~~
# assert "\t\"http://example.com\"\r\n\0\\".to_json ==
- # "\"\\t\\\"http:\\/\\/example.com\\\"\\r\\n\\u0000\\\\\""
+ # "\"\\t\\\"http://example.com\\\"\\r\\n\\u0000\\\\\""
# ~~~
- redef fun to_json do return to_json_by_append
+ redef fun to_json do
+ var b = new FlatBuffer.with_capacity(bytelen)
+ append_json(b)
+ return b.to_s
+ end
# Parse `self` as JSON.
#
end
end
+redef class FlatText
+ redef fun json_need_escape do
+ var its = items
+ for i in [first_byte .. last_byte] do
+ if its[i] == 0x5Cu8 then return true
+ end
+ return false
+ end
+end
+
redef class Buffer
# Append the JSON representation of `jsonable` to `self`.
redef class Nstring
# The represented string.
- private fun to_nit_string: String do
- var res = new Buffer
- var i = 1
- while i < text.length - 1 do
- var char = text[i]
- if char == '\\' then
- i += 1
- char = text[i]
- if char == 'b' then
- char = 0x08.code_point
- else if char == 'f' then
- char = 0x0C.code_point
- else if char == 'n' then
- char = '\n'
- else if char == 'r' then
- char = '\r'
- else if char == 't' then
- char = '\t'
- else if char == 'u' then
- var escape = new Buffer
- escape.append "\\u"
- var code = text.substring(i + 1, 4)
- escape.append code
- var hx = code.to_hex
- if hx >= 0xD800 and hx <= 0xDFFF then
- var lostr = text.substring(i + 7, 4)
- if lostr.length < 4 then
- escape.clear
- escape.append "\\uFFFD"
- else
- escape.append "\\u"
- escape.append lostr
- end
- i += 6
- end
- i += 4
- char = escape.from_utf16_escape
- end
- # `"`, `/` or `\` => Keep `char` as-is.
- end
- res.add char
- i += 1
- end
- return res.to_s
- end
+ private fun to_nit_string: String do return text.substring(1, text.length - 2).unescape_json.to_s
end
redef class Nvalue_object
--- /dev/null
+# This file is part of NIT ( http://www.nitlanguage.org ).
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# Simple ad-hoc implementation of a JSON parser for String inputs
+module string_parser
+
+import parser_base
+import static
+
+redef class Char
+ # Is `self` a valid number start ?
+ private fun is_json_num_start: Bool do
+ if self == '-' then return true
+ if self.is_numeric then return true
+ return false
+ end
+
+ # Is `self` a valid JSON separator ?
+ private fun is_json_separator: Bool do
+ if self == ':' then return true
+ if self == ',' then return true
+ if self == '{' then return true
+ if self == '}' then return true
+ if self == '[' then return true
+ if self == ']' then return true
+ if self == '"' then return true
+ if self.is_whitespace then return true
+ return false
+ end
+end
+
+# A simple ad-hoc JSON parser
+#
+# To parse a simple JSON document, read it as a String and give it to `parse_entity`
+# NOTE: if your document contains several non-nested entities, use `parse_entity` for each
+# JSON entity to parse
+class JSONStringParser
+ super StringProcessor
+
+ # Parses a JSON Entity
+ #
+ # ~~~nit
+ # var p = new JSONStringParser("""{"numbers": [1,23,3], "string": "string"}""")
+ # assert p.parse_entity isa JsonObject
+ # ~~~
+ fun parse_entity: nullable Jsonable do
+ var srclen = len
+ ignore_whitespaces
+ if pos >= srclen then return make_parse_error("Empty JSON")
+ var c = src[pos]
+ if c == '[' then
+ pos += 1
+ return parse_json_array
+ else if c == '"' then
+ var s = parse_json_string
+ return s
+ else if c == '{' then
+ pos += 1
+ return parse_json_object
+ else if c == 'f' then
+ if pos + 4 >= srclen then make_parse_error("Error: bad JSON entity")
+ if src[pos + 1] == 'a' and src[pos + 2] == 'l' and src[pos + 3] == 's' and src[pos + 4] == 'e' then
+ pos += 5
+ return false
+ end
+ return make_parse_error("Error: bad JSON entity")
+ else if c == 't' then
+ if pos + 3 >= srclen then make_parse_error("Error: bad JSON entity")
+ if src[pos + 1] == 'r' and src[pos + 2] == 'u' and src[pos + 3] == 'e' then
+ pos += 4
+ return true
+ end
+ return make_parse_error("Error: bad JSON entity")
+ else if c == 'n' then
+ if pos + 3 >= srclen then make_parse_error("Error: bad JSON entity")
+ if src[pos + 1] == 'u' and src[pos + 2] == 'l' and src[pos + 3] == 'l' then
+ pos += 4
+ return null
+ end
+ return make_parse_error("Error: bad JSON entity")
+ end
+ if not c.is_json_num_start then return make_parse_error("Bad JSON character")
+ return parse_json_number
+ end
+
+ # Parses a JSON Array
+ fun parse_json_array: Jsonable do
+ var max = len
+ if pos >= max then return make_parse_error("Incomplete JSON array")
+ var arr = new JsonArray
+ var c = src[pos]
+ while not c == ']' do
+ ignore_whitespaces
+ if pos >= max then return make_parse_error("Incomplete JSON array")
+ if src[pos] == ']' then break
+ var ent = parse_entity
+ #print "Parsed an entity {ent} for a JSON array"
+ if ent isa JsonParseError then return ent
+ arr.add ent
+ ignore_whitespaces
+ if pos >= max then return make_parse_error("Incomplete JSON array")
+ c = src[pos]
+ if c == ']' then break
+ if c != ',' then return make_parse_error("Bad array separator {c}")
+ pos += 1
+ end
+ pos += 1
+ return arr
+ end
+
+ # Parses a JSON Object
+ fun parse_json_object: Jsonable do
+ var max = len
+ if pos >= max then return make_parse_error("Incomplete JSON object")
+ var obj = new JsonObject
+ var c = src[pos]
+ while not c == '}' do
+ ignore_whitespaces
+ if pos >= max then return make_parse_error("Malformed JSON object")
+ if src[pos] == '}' then break
+ var key = parse_entity
+ #print "Parsed key {key} for JSON object"
+ if not key isa String then return make_parse_error("Bad key format {key or else "null"}")
+ ignore_whitespaces
+ if pos >= max then return make_parse_error("Incomplete JSON object")
+ if not src[pos] == ':' then return make_parse_error("Bad key/value separator {src[pos]}")
+ pos += 1
+ ignore_whitespaces
+ var value = parse_entity
+ #print "Parsed value {value} for JSON object"
+ if value isa JsonParseError then return value
+ obj[key] = value
+ ignore_whitespaces
+ if pos >= max then return make_parse_error("Incomplete JSON object")
+ c = src[pos]
+ if c == '}' then break
+ if c != ',' then return make_parse_error("Bad object separator {src[pos]}")
+ pos += 1
+ end
+ pos += 1
+ return obj
+ end
+
+ # Creates a `JsonParseError` with the right message and location
+ protected fun make_parse_error(message: String): JsonParseError do
+ var err = new JsonParseError(message)
+ err.location = hot_location
+ return err
+ end
+
+ # Parses an Int or Float
+ fun parse_json_number: Jsonable do
+ var max = len
+ var p = pos
+ var c = src[p]
+ var is_neg = false
+ if c == '-' then
+ is_neg = true
+ p += 1
+ if p >= max then return make_parse_error("Bad JSON number")
+ c = src[p]
+ end
+ var val = 0
+ while c.is_numeric do
+ val *= 10
+ val += c.to_i
+ p += 1
+ if p >= max then break
+ c = src[p]
+ end
+ if c == '.' then
+ p += 1
+ if p >= max then return make_parse_error("Bad JSON number")
+ c = src[p]
+ var fl = val.to_f
+ var frac = 0.1
+ while c.is_numeric do
+ fl += c.to_i.to_f * frac
+ frac /= 10.0
+ p += 1
+ if p >= max then break
+ c = src[p]
+ end
+ if c == 'e' or c == 'E' then
+ p += 1
+ var exp = 0
+ if p >= max then return make_parse_error("Malformed JSON number")
+ c = src[p]
+ while c.is_numeric do
+ exp *= 10
+ exp += c.to_i
+ p += 1
+ if p >= max then break
+ c = src[p]
+ end
+ fl *= (10 ** exp).to_f
+ end
+ if p < max and not c.is_json_separator then return make_parse_error("Malformed JSON number")
+ pos = p
+ if is_neg then return -fl
+ return fl
+ end
+ if c == 'e' or c == 'E' then
+ p += 1
+ if p >= max then return make_parse_error("Bad JSON number")
+ var exp = src[p].to_i
+ c = src[p]
+ while c.is_numeric do
+ exp *= 10
+ exp += c.to_i
+ p += 1
+ if p >= max then break
+ c = src[p]
+ end
+ val *= (10 ** exp)
+ end
+ if p < max and not src[p].is_json_separator then return make_parse_error("Malformed JSON number")
+ pos = p
+ if is_neg then return -val
+ return val
+ end
+
+ # Parses and returns a Nit string from a JSON String
+ fun parse_json_string: Jsonable do
+ var ln = src.length
+ var p = pos
+ p += 1
+ if p > ln then return make_parse_error("Malformed JSON String")
+ var c = src[p]
+ var st = p
+ while c != '"' do
+ if c == '\\' then
+ if p + 1 >= ln then return make_parse_error("Malformed Escape sequence in JSON string")
+ p += 1
+ c = src[p]
+ if c == 'u' then
+ p += 1
+ if p + 3 >= ln then return make_parse_error("Bad Unicode escape sequence in string")
+ for i in [0 .. 4[ do if not src[p + i].is_hexdigit then return make_parse_error("Bad Unicode escape sequence in string")
+ p += 3
+ end
+ end
+ p += 1
+ if p >= ln then return make_parse_error("Malformed JSON String")
+ c = src[p]
+ end
+ pos = p + 1
+ return src.substring(st, p - st).unescape_json
+ end
+
+ # Ignores any character until a JSON separator is encountered
+ fun ignore_until_separator do
+ var max = len
+ while pos < max do
+ if not src[pos].is_json_separator then return
+ end
+ end
+end
+
+redef class Text
+ redef fun parse_json do return (new JSONStringParser(self.to_s)).parse_entity
+end
+
+redef class JsonParseError
+
+ # Location of the error in source
+ var location: nullable Location = null
+
+ # Get the JSON representation of `self`.
+ #
+ # ~~~
+ # var err = new JsonParseError("foo", new Position(1, 2, 3, 4, 5, 6))
+ # assert err.to_json == "Parsing error: foo"
+ # ~~~
+ redef fun to_json do
+ var l = location
+ var m = message
+ return if l == null then "Parsing error: {m}" else "Parsing error at {l}: {m}"
+ end
+
+ redef fun to_s do return to_json
+end
module audio
import app::audio
-import mnit::linux::linux_assets
+import linux
# Simple audio asset
redef class Sound
import app
redef class App
+ # Path to the expected location of the asset folder of this program
+ #
+ # The asset folder should be located relative to the executable at `../assets/`.
+ # This value can be redefined to change the expected location.
+ var assets_dir: String = sys.program_name.dirname / "../assets/" is lazy
+
redef fun setup
do
super
# This file is part of NIT ( http://www.nitlanguage.org ).
#
-# Copyright 2011-2013 Alexis Laferrière <alexis.laf@xymus.net>
-#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# Implemented independantly for each platforms and technologies.
module input
+import sdl is conditional(linux)
+import android::input_events is conditional(android)
+
# Input to the App, propagated through `App::input`.
interface InputEvent
end
# Is down? either going down or already down
fun pressed: Bool is abstract
- fun depressed: Bool is abstract
+
+ # Is it not currently pressed down? The opposite of `pressed`.
+ fun depressed: Bool do return not pressed
+
+ # Is this a movement event?
+ fun is_move: Bool is abstract
end
# A motion event on screen composed of many `PointerEvent`
import linux_app
redef class App
- var assets_dir: String
-
- redef fun setup
- do
- assets_dir = sys.program_name.dirname + "/../assets/"
-
- super
- end
-
redef fun try_loading_asset( id )
do
var path = "{assets_dir}/{id}"
end
end
- # Parse and assign options everywhere in the argument list
- fun parse(argv: Collection[String])
+ # Parse and assign options in `argv` or `args`
+ fun parse(argv: nullable Collection[String])
do
+ if argv == null then argv = args
var it = argv.iterator
parse_intern(it)
end
# Basic facilities for common parser operations on String sources
class StringProcessor
# Source document to parse
- private var src: String
+ protected var src: String
+
+ # Length of the source document
+ protected var len: Int is noinit
# Current position in `src`
- private var pos = 0
+ protected var pos = 0
# Position at which current line started
- private var line_start = 0
+ protected var line_start = 0
# Current line in `src`
- private var line = 1
+ protected var line = 1
# Offset in the current line
- private fun line_offset: Int do return pos - line_start + 1
+ protected fun line_offset: Int do return pos - line_start + 1
+
+ init do
+ _len = src.length
+ end
# Gives the current location in the `src`
fun current_location: Location do return new Location(line, line_offset)
# Advances in `src` until a non-whitespace character is encountered
- private fun ignore_whitespaces do
- var srclen = src.length
- if pos >= srclen then return
- var c = src[pos]
+ protected fun ignore_whitespaces do
+ var srclen = _len
+ var p = _pos
+ if p >= srclen then return
+ var c = src[p]
while c.is_whitespace do
- pos += 1
- if pos >= srclen then break
+ p += 1
+ if p >= srclen then break
if c == '\n' then
- line += 1
- line_start = pos
+ _line += 1
+ _line_start = p
end
- c = src[pos]
+ c = src[p]
end
+ _pos = p
+ return
end
# Reads characters until pattern `s` is found
- private fun ignore_until(s: String): Int do
- if s.length == 0 then return pos
- var srclen = src.length
- if pos >= srclen then return -1
+ protected fun ignore_until(s: String): Int do
+ if s.length == 0 then return _pos
+ var srclen = _len
+ var p = _pos
+ if p >= srclen then return -1
loop
var c = s[0]
- var src_c = src[pos]
+ var src_c = src[p]
while src_c != c do
- pos += 1
- if pos >= srclen then return -1
+ p += 1
+ if p >= srclen then
+ _pos = p
+ return -1
+ end
if src_c == '\n' then
line += 1
line_start= pos
end
- src_c = src[pos]
+ src_c = src[p]
end
- var relpos = pos
+ var relpos = p
var fnd = true
for i in s do
if relpos >= srclen then
break
end
if src[relpos] != i then
- pos += 1
+ p += 1
fnd = false
break
end
relpos += 1
end
- if fnd then return pos
+ if fnd then
+ _pos = p
+ return p
+ end
end
end
+
+ # Ignores any printable character until a whitespace is encountered
+ protected fun ignore_until_whitespace: Int do
+ while not src[pos].is_whitespace do pos += 1
+ return pos
+ end
+
+ # Returns the current location as a `Location` object
+ protected fun hot_location: Location do return new Location(line, line_offset)
end
# Information about the location of an entity in a source document
super PointerEvent
super SDLInputEvent
- redef var x: Float
- redef var y: Float
+ redef var x
+ redef var y
- private init (x, y: Float)
- do
- self.x = x
- self.y = y
- end
+ redef fun is_move do return false
end
# MouseButtonEvent used to get information when a button is pressed/depressed
var button: Int
redef var pressed
- redef fun depressed do return not pressed
# Is this event raised by the left button?
fun is_left_button: Bool do return button == 1
var rel_y: Float
redef var pressed
- redef fun depressed do return not pressed
+
+ redef fun is_move do return true
init (x, y, rel_x, rel_y: Float, pressed: Bool)
do
redef class AType
private init make
do
- _n_id = new TClassid
+ var n_id = new TClassid
+ var n_qid = new AQclassid
+ n_qid.n_id = n_id
+ _n_qid = n_qid
end
end
# Try to get the name of the class
if nmethdef.parent isa AStdClassdef then
- classname += nmethdef.parent.as(AStdClassdef).n_id.text
+ classname += nmethdef.parent.as(AStdClassdef).n_qid.n_id.text
end
# Try to get the name of the method
var has_rvalue = nmethdef.n_signature.n_type != null
var vtype = ""
if has_rvalue then
- vtype = "redef type E: " + nmethdef.n_signature.n_type.n_id.text
+ vtype = "redef type E: " + nmethdef.n_signature.n_type.n_qid.n_id.text
end
# create a return type
var n_id = new TClassid
n_id.text = classname
+ var n_qid = new AQclassid
+ n_qid.n_id = n_id
var n_type = new AType
- n_type.n_id = n_id
+ n_type.n_qid = n_qid
nmethdef.n_signature.n_type = n_type
var params = new Array[String]
for param in nmethdef.n_signature.n_params do
- var typ = param.n_type.n_id.text
+ var typ = param.n_type.n_qid.n_id.text
if param.n_type.n_kwnullable != null then typ = "nullable {typ}"
params.add """
var {{{param.n_id.text}}}: {{{typ}}}
end
for nclassdef in nclassdefs do
- var name = nclassdef.n_id.text
+ var name = nclassdef.n_qid.n_id.text
if nclassdef.n_formaldefs.is_empty and
nclassdef.n_classkind isa AConcreteClasskind then
redef class AType
private fun type_name: String
do
- var name = n_id.text
+ var name = n_qid.n_id.text
if n_kwnullable != null then name = "nullable {name}"
private fun deserializer_nclassdef: nullable AStdClassdef
do
for nclassdef in n_classdefs do
- if nclassdef isa AStdClassdef and nclassdef.n_id.text == "Deserializer" then
+ if nclassdef isa AStdClassdef and nclassdef.n_qid.n_id.text == "Deserializer" then
return nclassdef
end
end
# FIXME: the name "resolve_mtype" is awful
fun resolve_mtype_unchecked(mmodule: MModule, mclassdef: nullable MClassDef, ntype: AType, with_virtual: Bool): nullable MType
do
- var name = ntype.n_id.text
+ var name = ntype.n_qid.n_id.text
var res: MType
# Check virtual type
var arity = 0
var names = new Array[String]
if nclassdef isa AStdClassdef then
- name = nclassdef.n_id.text
+ name = nclassdef.n_qid.n_id.text
nkind = nclassdef.n_classkind
mkind = nkind.mkind
nvisibility = nclassdef.n_visibility
redef fun build_property(modelbuilder, mclassdef)
do
- var name = self.n_id.text
- var mprop = modelbuilder.try_get_mproperty_by_name(self.n_id, mclassdef, name)
+ var name = self.n_qid.n_id.text
+ var mprop = modelbuilder.try_get_mproperty_by_name(self.n_qid, mclassdef, name)
if mprop == null then
var mvisibility = new_property_visibility(modelbuilder, mclassdef, self.n_visibility)
mprop = new MVirtualTypeProp(mclassdef, name, mvisibility)
for c in name.chars do if c >= 'a' and c<= 'z' then
- modelbuilder.warning(n_id, "bad-type-name", "Warning: lowercase in the virtual type `{name}`.")
+ modelbuilder.warning(n_qid, "bad-type-name", "Warning: lowercase in the virtual type `{name}`.")
break
end
else
/* CLASSES *******************************************************************/
classdef
- = [doc]:nd redef visibility classkind no qclassid extern_code_block? propdefs kwend {-> New classdef.std(doc.doc, redef.kwredef, visibility, classkind, qclassid.classid, Null, [], Null, extern_code_block, [propdefs.propdef], kwend)}
- | {for} [doc]:nd redef visibility classkind no qclassid obra [n2]:no formaldefs cbra extern_code_block? propdefs kwend {-> New classdef.std(doc.doc, redef.kwredef, visibility, classkind, qclassid.classid, obra, [formaldefs.formaldef], cbra, extern_code_block, [propdefs.propdef], kwend)}
+ = [doc]:nd redef visibility classkind no qclassid extern_code_block? propdefs kwend {-> New classdef.std(doc.doc, redef.kwredef, visibility, classkind, qclassid, Null, [], Null, extern_code_block, [propdefs.propdef], kwend)}
+ | {for} [doc]:nd redef visibility classkind no qclassid obra [n2]:no formaldefs cbra extern_code_block? propdefs kwend {-> New classdef.std(doc.doc, redef.kwredef, visibility, classkind, qclassid, obra, [formaldefs.formaldef], cbra, extern_code_block, [propdefs.propdef], kwend)}
;
redef {-> kwredef?}
!toplevel| {var4} [doc]:nd redef visibility kwvar id typing_o assign [n2]:no expr annotation_withend {-> New propdef.attr(doc.doc, redef.kwredef, visibility, kwvar, id, typing_o.type, assign, expr.expr, annotation_withend.annotations, Null, Null, Null)}
!toplevel| {var5} [doc]:nd redef visibility kwvar id typing_o annotation_noend? kwdo stmtso kwend? {-> New propdef.attr(doc.doc, redef.kwredef, visibility, kwvar, id, typing_o.type, Null, Null, annotation_noend.annotations, kwdo, stmtso.expr, kwend)}
!toplevel| {init} [doc]:nd redef visibility kwinit qmethid? signature annotation_noend? kwdo stmtso kwend_o {-> New propdef.meth(doc.doc, redef.kwredef, visibility, Null, kwinit, Null, qmethid.methid, signature, annotation_noend.annotations, Null, Null, kwdo, stmtso.expr, kwend_o.kwend)}
-!toplevel| {type} [doc]:nd redef visibility kwtype classid typing annotation_withend {-> New propdef.type(doc.doc, redef.kwredef, visibility, kwtype, classid, typing.type, annotation_withend.annotations)}
+!toplevel| {type} [doc]:nd redef visibility kwtype qclassid typing annotation_withend {-> New propdef.type(doc.doc, redef.kwredef, visibility, kwtype, qclassid, typing.type, annotation_withend.annotations)}
!toplevel| {extern_init_implicit} [doc]:nd redef visibility kwnew qmethid? signature annotation_noend? extern_calls extern_code_block {-> New propdef.meth(doc.doc, redef.kwredef, visibility, Null, Null, kwnew, qmethid.methid, signature, annotation_noend.annotations, extern_calls, extern_code_block, Null, Null, Null)}
!toplevel| {annot} line_annotation_forclass {-> line_annotation_forclass.propdef}
!toplevel| {super} superclass {-> superclass.propdef}
/* TYPES *********************************************************************/
type~nobra~nopar {-> type}
- = {simple} kwnullable? classid annotations_o~nopar {-> New type(kwnullable, classid, Null, [], Null, annotations_o~nopar.annotations)}
-!nobra | {generic} kwnullable? classid obra no types [n2]:no cbra annotations_o~nopar {-> New type(kwnullable, classid, obra, [types.type], cbra, annotations_o~nopar.annotations)}
+ = {simple} kwnullable? qclassid annotations_o~nopar {-> New type(kwnullable, qclassid, Null, [], Null, annotations_o~nopar.annotations)}
+!nobra | {generic} kwnullable? qclassid obra no types [n2]:no cbra annotations_o~nopar {-> New type(kwnullable, qclassid, obra, [types.type], cbra, annotations_o~nopar.annotations)}
;
types {-> type*}
= type types_tail* {-> [type, types_tail.type]};
qid
= qualified? id
;
-qclassid {-> classid}
- = qualified? classid {-> classid}
+qclassid
+ = qualified? classid
;
qmethid~noid {-> methid}
= qualified? methid~noid {-> methid~noid.methid}
| {intrude} kwintrude
;
-classdef= {std} doc? kwredef? visibility classkind [id]:classid? obra? [formaldefs]:formaldef* cbra? extern_code_block? [propdefs]:propdef* kwend
+classdef= {std} doc? kwredef? visibility classkind [qid]:qclassid? obra? [formaldefs]:formaldef* cbra? extern_code_block? [propdefs]:propdef* kwend
| {top} [propdefs]:propdef*
| {main} [propdefs]:propdef*
;
propdef = {attr} doc? kwredef? visibility kwvar [id2]:id type? assign? expr? annotations? kwdo? [block]:expr? kwend?
| {main_meth} kwredef? [block]:expr?
- | {type} doc? kwredef? visibility kwtype [id]:classid type annotations?
+ | {type} doc? kwredef? visibility kwtype [qid]:qclassid type annotations?
| {meth} doc? kwredef? visibility kwmeth? kwinit? kwnew? methid? signature annotations? extern_calls? extern_code_block? kwdo? [block]:expr? kwend?
| {super} doc? kwredef? visibility kwsuper type annotations?
| {annot} doc? kwredef? visibility? atid opar? [args]:expr* cpar? annotations?
= qualified? id
;
+qclassid
+ = qualified? [id]:classid
+ ;
+
signature = opar? [params]:param* cpar? type?;
param = id type? dotdotdot? annotations?
;
-type = kwnullable? [id]:classid obra? [types]:type* cbra? annotations?;
+type = kwnullable? [qid]:qclassid obra? [types]:type* cbra? annotations?;
label = kwlabel id?;
reduce_table.add new ReduceAction461(111)
reduce_table.add new ReduceAction462(111)
reduce_table.add new ReduceAction463(111)
- reduce_table.add new ReduceAction462(111)
+ reduce_table.add new ReduceAction464(111)
reduce_table.add new ReduceAction465(112)
reduce_table.add new ReduceAction466(112)
reduce_table.add new ReduceAction467(112)
assert pvisibilitynode4 isa nullable AVisibility
var pclasskindnode5 = nodearraylist4
assert pclasskindnode5 isa nullable AClasskind
- var tclassidnode6 = nodearraylist6
- assert tclassidnode6 isa nullable TClassid
+ var pqclassidnode6 = nodearraylist6
+ assert pqclassidnode6 isa nullable AQclassid
var listnode11 = nodearraylist7
assert listnode11 isa Array[Object]
listnode12 = concat(listnode12, listnode11)
tkwredefnode3,
pvisibilitynode4,
pclasskindnode5,
- tclassidnode6,
+ pqclassidnode6,
null,
listnode8,
null,
assert pvisibilitynode4 isa nullable AVisibility
var pclasskindnode5 = nodearraylist4
assert pclasskindnode5 isa nullable AClasskind
- var tclassidnode6 = nodearraylist6
- assert tclassidnode6 isa nullable TClassid
+ var pqclassidnode6 = nodearraylist6
+ assert pqclassidnode6 isa nullable AQclassid
var pexterncodeblocknode10 = nodearraylist7
assert pexterncodeblocknode10 isa nullable AExternCodeBlock
var listnode11 = nodearraylist8
tkwredefnode3,
pvisibilitynode4,
pclasskindnode5,
- tclassidnode6,
+ pqclassidnode6,
null,
listnode8,
null,
assert pvisibilitynode4 isa nullable AVisibility
var pclasskindnode5 = nodearraylist4
assert pclasskindnode5 isa nullable AClasskind
- var tclassidnode6 = nodearraylist6
- assert tclassidnode6 isa nullable TClassid
+ var pqclassidnode6 = nodearraylist6
+ assert pqclassidnode6 isa nullable AQclassid
var tobranode7 = nodearraylist7
assert tobranode7 isa nullable TObra
var listnode8 = nodearraylist9
tkwredefnode3,
pvisibilitynode4,
pclasskindnode5,
- tclassidnode6,
+ pqclassidnode6,
tobranode7,
listnode9,
tcbranode10,
assert pvisibilitynode4 isa nullable AVisibility
var pclasskindnode5 = nodearraylist4
assert pclasskindnode5 isa nullable AClasskind
- var tclassidnode6 = nodearraylist6
- assert tclassidnode6 isa nullable TClassid
+ var pqclassidnode6 = nodearraylist6
+ assert pqclassidnode6 isa nullable AQclassid
var tobranode7 = nodearraylist7
assert tobranode7 isa nullable TObra
var listnode8 = nodearraylist9
tkwredefnode3,
pvisibilitynode4,
pclasskindnode5,
- tclassidnode6,
+ pqclassidnode6,
tobranode7,
listnode9,
tcbranode10,
assert pvisibilitynode4 isa nullable AVisibility
var tkwtypenode5 = nodearraylist4
assert tkwtypenode5 isa nullable TKwtype
- var tclassidnode6 = nodearraylist5
- assert tclassidnode6 isa nullable TClassid
+ var pqclassidnode6 = nodearraylist5
+ assert pqclassidnode6 isa nullable AQclassid
var ptypenode7 = nodearraylist6
assert ptypenode7 isa nullable AType
var pannotationsnode8 = nodearraylist7
tkwredefnode3,
pvisibilitynode4,
tkwtypenode5,
- tclassidnode6,
+ pqclassidnode6,
ptypenode7,
pannotationsnode8
)
var nodearraylist2 = p.pop
var nodearraylist1 = p.pop
var listnode5 = new Array[Object]
- var tclassidnode3 = nodearraylist1
- assert tclassidnode3 isa nullable TClassid
+ var pqclassidnode3 = nodearraylist1
+ assert pqclassidnode3 isa nullable AQclassid
var pannotationsnode7 = nodearraylist2
assert pannotationsnode7 isa nullable AAnnotations
var ptypenode1: nullable AType = new AType.init_atype(
null,
- tclassidnode3,
+ pqclassidnode3,
null,
listnode5,
null,
var listnode5 = new Array[Object]
var tkwnullablenode2 = nodearraylist1
assert tkwnullablenode2 isa nullable TKwnullable
- var tclassidnode3 = nodearraylist2
- assert tclassidnode3 isa nullable TClassid
+ var pqclassidnode3 = nodearraylist2
+ assert pqclassidnode3 isa nullable AQclassid
var pannotationsnode7 = nodearraylist3
assert pannotationsnode7 isa nullable AAnnotations
var ptypenode1: nullable AType = new AType.init_atype(
tkwnullablenode2,
- tclassidnode3,
+ pqclassidnode3,
null,
listnode5,
null,
var nodearraylist2 = p.pop
var nodearraylist1 = p.pop
var listnode6 = new Array[Object]
- var tclassidnode3 = nodearraylist1
- assert tclassidnode3 isa nullable TClassid
+ var pqclassidnode3 = nodearraylist1
+ assert pqclassidnode3 isa nullable AQclassid
var tobranode4 = nodearraylist2
assert tobranode4 isa nullable TObra
var listnode5 = nodearraylist4
assert pannotationsnode8 isa nullable AAnnotations
var ptypenode1: nullable AType = new AType.init_atype(
null,
- tclassidnode3,
+ pqclassidnode3,
tobranode4,
listnode6,
tcbranode7,
var listnode6 = new Array[Object]
var tkwnullablenode2 = nodearraylist1
assert tkwnullablenode2 isa nullable TKwnullable
- var tclassidnode3 = nodearraylist2
- assert tclassidnode3 isa nullable TClassid
+ var pqclassidnode3 = nodearraylist2
+ assert pqclassidnode3 isa nullable AQclassid
var tobranode4 = nodearraylist3
assert tobranode4 isa nullable TObra
var listnode5 = nodearraylist5
assert pannotationsnode8 isa nullable AAnnotations
var ptypenode1: nullable AType = new AType.init_atype(
tkwnullablenode2,
- tclassidnode3,
+ pqclassidnode3,
tobranode4,
listnode6,
tcbranode7,
do
var node_list: nullable Object = null
var nodearraylist1 = p.pop
- var tclassidnode1 = nodearraylist1
- node_list = tclassidnode1
+ var tclassidnode3 = nodearraylist1
+ assert tclassidnode3 isa nullable TClassid
+ var pqclassidnode1: nullable AQclassid = new AQclassid.init_aqclassid(
+ null,
+ tclassidnode3
+ )
+ node_list = pqclassidnode1
p.push(p.go_to(_goto), node_list)
end
end
var node_list: nullable Object = null
var nodearraylist2 = p.pop
var nodearraylist1 = p.pop
- var tclassidnode1 = nodearraylist2
- node_list = tclassidnode1
+ var listnode3 = new Array[Object]
+ var tclassidnode4 = nodearraylist1
+ assert tclassidnode4 isa nullable TClassid
+ var pqualifiednode2: nullable AQualified = new AQualified.init_aqualified(
+ listnode3,
+ tclassidnode4
+ )
+ var tclassidnode5 = nodearraylist2
+ assert tclassidnode5 isa nullable TClassid
+ var pqclassidnode1: nullable AQclassid = new AQclassid.init_aqclassid(
+ pqualifiednode2,
+ tclassidnode5
+ )
+ node_list = pqclassidnode1
p.push(p.go_to(_goto), node_list)
end
end
var nodearraylist3 = p.pop
var nodearraylist2 = p.pop
var nodearraylist1 = p.pop
- var tclassidnode1 = nodearraylist3
- node_list = tclassidnode1
+ var listnode4 = new Array[Object]
+ var listnode3 = nodearraylist1
+ assert listnode3 isa Array[Object]
+ listnode4 = concat(listnode4, listnode3)
+ var tclassidnode5 = nodearraylist2
+ assert tclassidnode5 isa nullable TClassid
+ var pqualifiednode2: nullable AQualified = new AQualified.init_aqualified(
+ listnode4,
+ tclassidnode5
+ )
+ var tclassidnode6 = nodearraylist3
+ assert tclassidnode6 isa nullable TClassid
+ var pqclassidnode1: nullable AQclassid = new AQclassid.init_aqclassid(
+ pqualifiednode2,
+ tclassidnode6
+ )
+ node_list = pqclassidnode1
+ p.push(p.go_to(_goto), node_list)
+ end
+end
+private class ReduceAction464
+ super ReduceAction
+ redef fun action(p: Parser)
+ do
+ var node_list: nullable Object = null
+ var nodearraylist2 = p.pop
+ var nodearraylist1 = p.pop
+ var listnode4 = new Array[Object]
+ var listnode3 = nodearraylist1
+ assert listnode3 isa Array[Object]
+ listnode4 = concat(listnode4, listnode3)
+ var pqualifiednode2: nullable AQualified = new AQualified.init_aqualified(
+ listnode4,
+ null
+ )
+ var tclassidnode6 = nodearraylist2
+ assert tclassidnode6 isa nullable TClassid
+ var pqclassidnode1: nullable AQclassid = new AQclassid.init_aqclassid(
+ pqualifiednode2,
+ tclassidnode6
+ )
+ node_list = pqclassidnode1
p.push(p.go_to(_goto), node_list)
end
end
class APropdef super Prod end
class AMethid super Prod end
class AQid super Prod end
+class AQclassid super Prod end
class ASignature super Prod end
class AParam super Prod end
class AType super Prod end
var n_kwredef: nullable TKwredef = null is writable
var n_visibility: AVisibility is writable, noinit
var n_classkind: AClasskind is writable, noinit
- var n_id: nullable TClassid = null is writable
+ var n_qid: nullable AQclassid = null is writable
var n_obra: nullable TObra = null is writable
var n_formaldefs: List[AFormaldef] = new List[AFormaldef]
var n_cbra: nullable TCbra = null is writable
var n_kwredef: nullable TKwredef = null is writable
var n_visibility: AVisibility is writable, noinit
var n_kwtype: TKwtype is writable, noinit
- var n_id: TClassid is writable, noinit
+ var n_qid: AQclassid is writable, noinit
var n_type: AType is writable, noinit
var n_annotations: nullable AAnnotations = null is writable
end
var n_qualified: nullable AQualified = null is writable
var n_id: TId is writable, noinit
end
+class AQclassid
+ super AQclassid
+ var n_qualified: nullable AQualified = null is writable
+ var n_id: TClassid is writable, noinit
+end
class ASignature
super ASignature
var n_opar: nullable TOpar = null is writable
class AType
super AType
var n_kwnullable: nullable TKwnullable = null is writable
- var n_id: TClassid is writable, noinit
+ var n_qid: AQclassid is writable, noinit
var n_obra: nullable TObra = null is writable
var n_types: List[AType] = new List[AType]
var n_cbra: nullable TCbra = null is writable
var n_classkind: AClasskind is writable, noinit
# The name of the class
- var n_id: nullable TClassid = null is writable
+ var n_qid: nullable AQclassid = null is writable
# The `[` symbol
var n_obra: nullable TObra = null is writable
return [for d in n_propdefs do if d isa ASuperPropdef then d]
end
- redef fun hot_location do return n_id.location
+ redef fun hot_location do return n_qid.location
end
# The implicit class definition of the implicit main method
var n_kwtype: TKwtype is writable, noinit
# The name of the virtual type
- var n_id: TClassid is writable, noinit
+ var n_qid: AQclassid is writable, noinit
# The bound of the virtual type
var n_type: AType is writable, noinit
var n_id: TId is writable, noinit
end
+# A potentially qualified class identifier `foo::bar::Baz`
+class AQclassid
+ super Prod
+ # The qualifier, if any
+ var n_qualified: nullable AQualified = null is writable
+
+ # The final identifier
+ var n_id: TClassid is writable, noinit
+end
+
# A signature in a method definition. eg `(x,y:X,z:Z):T`
class ASignature
super Prod
var n_kwnullable: nullable TKwnullable = null is writable
# The name of the class or of the formal type
- var n_id: TClassid is writable, noinit
+ var n_qid: AQclassid is writable, noinit
# The opening bracket
var n_obra: nullable TObra = null is writable
n_kwredef: nullable TKwredef,
n_visibility: nullable AVisibility,
n_classkind: nullable AClasskind,
- n_id: nullable TClassid,
+ n_qid: nullable AQclassid,
n_obra: nullable TObra,
n_formaldefs: Collection[Object], # Should be Collection[AFormaldef]
n_cbra: nullable TCbra,
n_visibility.parent = self
_n_classkind = n_classkind.as(not null)
n_classkind.parent = self
- _n_id = n_id
- if n_id != null then n_id.parent = self
+ _n_qid = n_qid
+ if n_qid != null then n_qid.parent = self
_n_obra = n_obra
if n_obra != null then n_obra.parent = self
self.n_formaldefs.unsafe_add_all(n_formaldefs)
n_classkind = new_child.as(AClasskind)
return
end
- if _n_id == old_child then
- n_id = new_child.as(nullable TClassid)
+ if _n_qid == old_child then
+ n_qid = new_child.as(nullable AQclassid)
return
end
if _n_obra == old_child then
_n_classkind = node
node.parent = self
end
- redef fun n_id=(node)
+ redef fun n_qid=(node)
do
- _n_id = node
+ _n_qid = node
if node != null then node.parent = self
end
redef fun n_obra=(node)
v.enter_visit(_n_kwredef)
v.enter_visit(_n_visibility)
v.enter_visit(_n_classkind)
- v.enter_visit(_n_id)
+ v.enter_visit(_n_qid)
v.enter_visit(_n_obra)
n_formaldefs.visit_all(v)
v.enter_visit(_n_cbra)
n_kwredef: nullable TKwredef,
n_visibility: nullable AVisibility,
n_kwtype: nullable TKwtype,
- n_id: nullable TClassid,
+ n_qid: nullable AQclassid,
n_type: nullable AType,
n_annotations: nullable AAnnotations
)
n_visibility.parent = self
_n_kwtype = n_kwtype.as(not null)
n_kwtype.parent = self
- _n_id = n_id.as(not null)
- n_id.parent = self
+ _n_qid = n_qid.as(not null)
+ n_qid.parent = self
_n_type = n_type.as(not null)
n_type.parent = self
_n_annotations = n_annotations
n_kwtype = new_child.as(TKwtype)
return
end
- if _n_id == old_child then
- n_id = new_child.as(TClassid)
+ if _n_qid == old_child then
+ n_qid = new_child.as(AQclassid)
return
end
if _n_type == old_child then
_n_kwtype = node
node.parent = self
end
- redef fun n_id=(node)
+ redef fun n_qid=(node)
do
- _n_id = node
+ _n_qid = node
node.parent = self
end
redef fun n_type=(node)
v.enter_visit(_n_kwredef)
v.enter_visit(_n_visibility)
v.enter_visit(_n_kwtype)
- v.enter_visit(_n_id)
+ v.enter_visit(_n_qid)
v.enter_visit(_n_type)
v.enter_visit(_n_annotations)
end
v.enter_visit(_n_id)
end
end
+redef class AQclassid
+ init init_aqclassid (
+ n_qualified: nullable AQualified,
+ n_id: nullable TClassid
+ )
+ do
+ _n_qualified = n_qualified
+ if n_qualified != null then n_qualified.parent = self
+ _n_id = n_id.as(not null)
+ n_id.parent = self
+ end
+
+ redef fun replace_child(old_child: ANode, new_child: nullable ANode)
+ do
+ if _n_qualified == old_child then
+ n_qualified = new_child.as(nullable AQualified)
+ return
+ end
+ if _n_id == old_child then
+ n_id = new_child.as(TClassid)
+ return
+ end
+ end
+
+ redef fun n_qualified=(node)
+ do
+ _n_qualified = node
+ if node != null then node.parent = self
+ end
+ redef fun n_id=(node)
+ do
+ _n_id = node
+ node.parent = self
+ end
+
+
+ redef fun visit_all(v: Visitor)
+ do
+ v.enter_visit(_n_qualified)
+ v.enter_visit(_n_id)
+ end
+end
redef class ASignature
init init_asignature (
n_opar: nullable TOpar,
redef class AType
init init_atype (
n_kwnullable: nullable TKwnullable,
- n_id: nullable TClassid,
+ n_qid: nullable AQclassid,
n_obra: nullable TObra,
n_types: Collection[Object], # Should be Collection[AType]
n_cbra: nullable TCbra,
do
_n_kwnullable = n_kwnullable
if n_kwnullable != null then n_kwnullable.parent = self
- _n_id = n_id.as(not null)
- n_id.parent = self
+ _n_qid = n_qid.as(not null)
+ n_qid.parent = self
_n_obra = n_obra
if n_obra != null then n_obra.parent = self
self.n_types.unsafe_add_all(n_types)
n_kwnullable = new_child.as(nullable TKwnullable)
return
end
- if _n_id == old_child then
- n_id = new_child.as(TClassid)
+ if _n_qid == old_child then
+ n_qid = new_child.as(AQclassid)
return
end
if _n_obra == old_child then
_n_kwnullable = node
if node != null then node.parent = self
end
- redef fun n_id=(node)
+ redef fun n_qid=(node)
do
- _n_id = node
+ _n_qid = node
node.parent = self
end
redef fun n_obra=(node)
redef fun visit_all(v: Visitor)
do
v.enter_visit(_n_kwnullable)
- v.enter_visit(_n_id)
+ v.enter_visit(_n_qid)
v.enter_visit(_n_obra)
n_types.visit_all(v)
v.enter_visit(_n_cbra)
24, 0, 384
};
static int parser_action_row202[] = {
- 3,
+ 4,
-1, 3, 201,
47, 0, 385,
- 96, 0, 386
+ 96, 0, 386,
+ 97, 0, 387
};
static int parser_action_row203[] = {
3,
-1, 1, 30,
13, 0, 32,
- 52, 0, 388
+ 52, 0, 392
};
static int parser_action_row204[] = {
1,
75, 0, 175,
83, 0, 176,
96, 0, 53,
- 97, 0, 391,
+ 97, 0, 395,
99, 0, 55,
100, 0, 56,
101, 0, 57,
105, 0, 59
};
static int parser_action_row210[] = {
- 3,
+ 4,
-1, 3, 209,
- 47, 0, 394,
- 96, 0, 395
+ 47, 0, 398,
+ 96, 0, 386,
+ 97, 0, 387
};
static int parser_action_row211[] = {
53,
26, 0, 37,
27, 0, 38,
31, 0, 170,
- 33, 0, 397,
- 34, 0, 398,
- 35, 0, 399,
- 36, 0, 400,
+ 33, 0, 401,
+ 34, 0, 402,
+ 35, 0, 403,
+ 36, 0, 404,
37, 0, 43,
38, 0, 171,
40, 0, 172,
43, 0, 46,
44, 0, 47,
45, 0, 48,
- 47, 0, 394,
+ 47, 0, 398,
48, 0, 173,
50, 0, 49,
- 51, 0, 401,
+ 51, 0, 405,
52, 0, 51,
- 54, 0, 402,
- 74, 0, 403,
- 75, 0, 404,
- 76, 0, 405,
- 77, 0, 406,
- 78, 0, 407,
- 79, 0, 408,
- 80, 0, 409,
- 81, 0, 410,
- 82, 0, 411,
- 83, 0, 412,
- 84, 0, 413,
- 85, 0, 414,
- 86, 0, 415,
- 87, 0, 416,
- 88, 0, 417,
- 89, 0, 418,
- 90, 0, 419,
- 91, 0, 420,
- 92, 0, 421,
+ 54, 0, 406,
+ 74, 0, 407,
+ 75, 0, 408,
+ 76, 0, 409,
+ 77, 0, 410,
+ 78, 0, 411,
+ 79, 0, 412,
+ 80, 0, 413,
+ 81, 0, 414,
+ 82, 0, 415,
+ 83, 0, 416,
+ 84, 0, 417,
+ 85, 0, 418,
+ 86, 0, 419,
+ 87, 0, 420,
+ 88, 0, 421,
+ 89, 0, 422,
+ 90, 0, 423,
+ 91, 0, 424,
+ 92, 0, 425,
94, 0, 202,
- 96, 0, 422,
- 97, 0, 423,
+ 96, 0, 386,
+ 97, 0, 426,
99, 0, 55,
100, 0, 56,
101, 0, 57,
24,
-1, 1, 460,
12, 0, 168,
- 22, 0, 444,
- 27, 0, 445,
+ 22, 0, 447,
+ 27, 0, 448,
31, 0, 170,
38, 0, 171,
40, 0, 172,
static int parser_action_row228[] = {
13,
-1, 1, 343,
- 59, 0, 453,
+ 59, 0, 456,
60, 0, 215,
61, 0, 216,
62, 0, 217,
static int parser_action_row238[] = {
9,
-1, 3, 237,
- 3, 0, 459,
- 4, 0, 460,
- 5, 0, 461,
- 6, 0, 462,
- 7, 0, 463,
- 8, 0, 464,
- 10, 0, 465,
- 17, 0, 466
+ 3, 0, 462,
+ 4, 0, 463,
+ 5, 0, 464,
+ 6, 0, 465,
+ 7, 0, 466,
+ 8, 0, 467,
+ 10, 0, 468,
+ 17, 0, 469
};
static int parser_action_row239[] = {
1,
static int parser_action_row244[] = {
13,
-1, 1, 357,
- 59, 0, 473,
+ 59, 0, 476,
60, 0, 215,
61, 0, 216,
62, 0, 217,
static int parser_action_row253[] = {
13,
-1, 1, 334,
- 59, 0, 482,
+ 59, 0, 485,
60, 0, 215,
61, 0, 216,
62, 0, 217,
44, 0, 122,
45, 0, 123,
48, 0, 124,
- 52, 0, 484,
+ 52, 0, 487,
74, 0, 126,
75, 0, 127,
83, 0, 128,
48, 0, 124,
52, 0, 125,
54, 1, 346,
- 59, 0, 486,
+ 59, 0, 489,
60, 0, 215,
61, 0, 216,
62, 0, 217,
44, 0, 122,
45, 0, 123,
48, 0, 124,
- 52, 0, 484,
+ 52, 0, 487,
74, 0, 126,
75, 0, 127,
83, 0, 128,
52, 0, 125,
54, 1, 350,
58, 0, 213,
- 59, 0, 491,
+ 59, 0, 494,
60, 0, 215,
61, 0, 216,
62, 0, 217,
static int parser_action_row259[] = {
3,
-1, 1, 458,
- 12, 0, 495,
- 97, 0, 496
+ 12, 0, 498,
+ 97, 0, 499
};
static int parser_action_row260[] = {
2,
-1, 3, 259,
- 101, 0, 497
+ 101, 0, 500
};
static int parser_action_row261[] = {
1,
static int parser_action_row270[] = {
8,
-1, 3, 269,
- 4, 0, 460,
- 5, 0, 461,
- 6, 0, 462,
- 7, 0, 463,
- 8, 0, 464,
- 10, 0, 465,
- 17, 0, 466
+ 4, 0, 463,
+ 5, 0, 464,
+ 6, 0, 465,
+ 7, 0, 466,
+ 8, 0, 467,
+ 10, 0, 468,
+ 17, 0, 469
};
static int parser_action_row271[] = {
1,
105, 0, 133
};
static int parser_action_row279[] = {
- 3,
+ 4,
-1, 3, 278,
47, 0, 385,
- 96, 0, 386
+ 96, 0, 386,
+ 97, 0, 387
};
static int parser_action_row280[] = {
21,
3,
-1, 3, 285,
41, 0, 296,
- 98, 0, 508
+ 98, 0, 511
};
static int parser_action_row287[] = {
3,
-1, 3, 286,
54, 0, 241,
- 73, 0, 509
+ 73, 0, 512
};
static int parser_action_row288[] = {
24,
45, 0, 48,
48, 0, 173,
52, 0, 51,
- 53, 0, 510,
+ 53, 0, 513,
54, 0, 52,
74, 0, 174,
75, 0, 175,
83, 0, 176,
96, 0, 53,
- 97, 0, 511,
+ 97, 0, 514,
99, 0, 55,
100, 0, 56,
101, 0, 57,
-1, 1, 489,
0, 0, 1,
1, 0, 2,
- 24, 0, 518
+ 24, 0, 521
};
static int parser_action_row302[] = {
3,
static int parser_action_row325[] = {
2,
-1, 1, 458,
- 97, 0, 542
+ 97, 0, 545
};
static int parser_action_row326[] = {
2,
static int parser_action_row331[] = {
2,
-1, 1, 203,
- 59, 0, 546
+ 59, 0, 549
};
static int parser_action_row332[] = {
2,
static int parser_action_row342[] = {
2,
-1, 1, 450,
- 56, 0, 553
+ 56, 0, 556
};
static int parser_action_row343[] = {
23,
105, 0, 59
};
static int parser_action_row345[] = {
- 3,
+ 4,
-1, 3, 344,
47, 0, 385,
- 96, 0, 386
+ 96, 0, 386,
+ 97, 0, 387
};
static int parser_action_row346[] = {
21,
3,
-1, 3, 346,
54, 0, 241,
- 73, 0, 558
+ 73, 0, 561
};
static int parser_action_row348[] = {
3,
-1, 3, 347,
41, 0, 376,
- 98, 0, 559
+ 98, 0, 562
};
static int parser_action_row349[] = {
1,
-1, 1, 489,
0, 0, 1,
1, 0, 2,
- 24, 0, 561
+ 24, 0, 564
};
static int parser_action_row355[] = {
3,
static int parser_action_row381[] = {
2,
-1, 1, 458,
- 97, 0, 586
+ 97, 0, 589
};
static int parser_action_row382[] = {
1,
static int parser_action_row384[] = {
2,
-1, 1, 284,
- 24, 0, 587
+ 24, 0, 590
};
static int parser_action_row385[] = {
33,
-1, 1, 460,
0, 0, 1,
1, 0, 2,
- 9, 0, 588,
+ 9, 0, 591,
12, 0, 31,
15, 0, 33,
16, 0, 34,
105, 0, 59
};
static int parser_action_row386[] = {
- 2,
+ 3,
-1, 3, 385,
- 96, 0, 591
+ 96, 0, 386,
+ 97, 0, 387
};
static int parser_action_row387[] = {
- 3,
- -1, 1, 797,
- 54, 0, 592,
- 94, 0, 593
+ 2,
+ -1, 1, 461,
+ 58, 0, 212
};
static int parser_action_row388[] = {
2,
-1, 3, 387,
- 73, 0, 596
+ 58, 0, 213
};
static int parser_action_row389[] = {
3,
+ -1, 1, 797,
+ 54, 0, 595,
+ 94, 0, 596
+};
+static int parser_action_row390[] = {
+ 2,
+ -1, 3, 389,
+ 96, 0, 599
+};
+static int parser_action_row391[] = {
+ 2,
+ -1, 3, 390,
+ 73, 0, 600
+};
+static int parser_action_row392[] = {
+ 3,
+ -1, 3, 391,
+ 96, 0, 601,
+ 97, 0, 387
+};
+static int parser_action_row393[] = {
+ 3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row390[] = {
+static int parser_action_row394[] = {
5,
-1, 1, 81,
18, 0, 233,
20, 0, 235,
21, 0, 236
};
-static int parser_action_row391[] = {
+static int parser_action_row395[] = {
1,
-1, 1, 404
};
-static int parser_action_row392[] = {
+static int parser_action_row396[] = {
6,
-1, 1, 344,
52, 0, 274,
59, 1, 155,
94, 0, 202
};
-static int parser_action_row393[] = {
+static int parser_action_row397[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row394[] = {
+static int parser_action_row398[] = {
1,
-1, 1, 280
};
-static int parser_action_row395[] = {
+static int parser_action_row399[] = {
+ 3,
+ -1, 3, 398,
+ 96, 0, 386,
+ 97, 0, 387
+};
+static int parser_action_row400[] = {
2,
- -1, 3, 394,
- 96, 0, 602
+ -1, 3, 399,
+ 57, 0, 609
};
-static int parser_action_row396[] = {
+static int parser_action_row401[] = {
3,
-1, 1, 407,
- 54, 0, 603,
+ 54, 0, 610,
94, 0, 202
};
-static int parser_action_row397[] = {
- 2,
- -1, 3, 396,
- 57, 0, 605
-};
-static int parser_action_row398[] = {
+static int parser_action_row402[] = {
25,
-1, 1, 986,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row399[] = {
+static int parser_action_row403[] = {
2,
-1, 1, 991,
49, 0, 195
};
-static int parser_action_row400[] = {
+static int parser_action_row404[] = {
2,
-1, 1, 988,
49, 0, 195
};
-static int parser_action_row401[] = {
+static int parser_action_row405[] = {
1,
-1, 1, 990
};
-static int parser_action_row402[] = {
+static int parser_action_row406[] = {
2,
- -1, 3, 401,
- 11, 0, 609
+ -1, 3, 405,
+ 11, 0, 615
};
-static int parser_action_row403[] = {
+static int parser_action_row407[] = {
4,
-1, 1, 489,
0, 0, 1,
1, 0, 2,
- 55, 0, 610
+ 55, 0, 616
};
-static int parser_action_row404[] = {
+static int parser_action_row408[] = {
23,
-1, 1, 500,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row405[] = {
+static int parser_action_row409[] = {
23,
-1, 1, 501,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row406[] = {
+static int parser_action_row410[] = {
1,
-1, 1, 502
};
-static int parser_action_row407[] = {
+static int parser_action_row411[] = {
1,
-1, 1, 503
};
-static int parser_action_row408[] = {
+static int parser_action_row412[] = {
1,
-1, 1, 504
};
-static int parser_action_row409[] = {
+static int parser_action_row413[] = {
1,
-1, 1, 505
};
-static int parser_action_row410[] = {
+static int parser_action_row414[] = {
1,
-1, 1, 506
};
-static int parser_action_row411[] = {
+static int parser_action_row415[] = {
1,
-1, 1, 507
};
-static int parser_action_row412[] = {
+static int parser_action_row416[] = {
1,
-1, 1, 508
};
-static int parser_action_row413[] = {
+static int parser_action_row417[] = {
23,
-1, 1, 509,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row414[] = {
+static int parser_action_row418[] = {
1,
-1, 1, 510
};
-static int parser_action_row415[] = {
+static int parser_action_row419[] = {
1,
-1, 1, 511
};
-static int parser_action_row416[] = {
+static int parser_action_row420[] = {
1,
-1, 1, 514
};
-static int parser_action_row417[] = {
+static int parser_action_row421[] = {
1,
-1, 1, 512
};
-static int parser_action_row418[] = {
+static int parser_action_row422[] = {
1,
-1, 1, 516
};
-static int parser_action_row419[] = {
+static int parser_action_row423[] = {
1,
-1, 1, 515
};
-static int parser_action_row420[] = {
+static int parser_action_row424[] = {
1,
-1, 1, 513
};
-static int parser_action_row421[] = {
+static int parser_action_row425[] = {
1,
-1, 1, 517
};
-static int parser_action_row422[] = {
+static int parser_action_row426[] = {
1,
-1, 1, 519
};
-static int parser_action_row423[] = {
- 4,
- -1, 1, 407,
- 54, 0, 603,
- 58, 0, 212,
- 94, 0, 202
-};
-static int parser_action_row424[] = {
+static int parser_action_row427[] = {
15,
-1, 1, 344,
52, 0, 274,
58, 0, 213,
- 59, 0, 611,
+ 59, 0, 617,
60, 0, 215,
61, 0, 216,
62, 0, 217,
69, 0, 224,
70, 0, 225
};
-static int parser_action_row425[] = {
+static int parser_action_row428[] = {
1,
-1, 1, 430
};
-static int parser_action_row426[] = {
+static int parser_action_row429[] = {
1,
-1, 1, 984
};
-static int parser_action_row427[] = {
+static int parser_action_row430[] = {
1,
-1, 1, 985
};
-static int parser_action_row428[] = {
+static int parser_action_row431[] = {
1,
-1, 1, 993
};
-static int parser_action_row429[] = {
+static int parser_action_row432[] = {
1,
-1, 1, 995
};
-static int parser_action_row430[] = {
+static int parser_action_row433[] = {
1,
-1, 1, 994
};
-static int parser_action_row431[] = {
+static int parser_action_row434[] = {
1,
-1, 1, 996
};
-static int parser_action_row432[] = {
+static int parser_action_row435[] = {
1,
-1, 1, 997
};
-static int parser_action_row433[] = {
+static int parser_action_row436[] = {
1,
-1, 1, 998
};
-static int parser_action_row434[] = {
+static int parser_action_row437[] = {
1,
-1, 1, 431
};
-static int parser_action_row435[] = {
+static int parser_action_row438[] = {
3,
-1, 1, 327,
54, 0, 241,
- 73, 0, 612
+ 73, 0, 618
};
-static int parser_action_row436[] = {
+static int parser_action_row439[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row437[] = {
+static int parser_action_row440[] = {
1,
-1, 1, 435
};
-static int parser_action_row438[] = {
+static int parser_action_row441[] = {
4,
-1, 1, 489,
0, 0, 1,
1, 0, 2,
- 56, 0, 614
+ 56, 0, 620
};
-static int parser_action_row439[] = {
+static int parser_action_row442[] = {
3,
- -1, 3, 438,
+ -1, 3, 441,
41, 0, 376,
98, 0, 252
};
-static int parser_action_row440[] = {
- 22,
+static int parser_action_row443[] = {
+ 23,
-1, 1, 457,
- 54, 0, 618,
- 74, 0, 619,
- 75, 0, 620,
- 76, 0, 405,
- 77, 0, 406,
- 78, 0, 407,
- 79, 0, 408,
- 80, 0, 409,
- 81, 0, 410,
- 82, 0, 411,
- 83, 0, 621,
- 84, 0, 413,
- 85, 0, 414,
- 86, 0, 415,
- 87, 0, 416,
- 88, 0, 417,
- 89, 0, 418,
- 90, 0, 419,
- 91, 0, 420,
- 92, 0, 421,
- 97, 0, 622
+ 54, 0, 624,
+ 74, 0, 625,
+ 75, 0, 626,
+ 76, 0, 409,
+ 77, 0, 410,
+ 78, 0, 411,
+ 79, 0, 412,
+ 80, 0, 413,
+ 81, 0, 414,
+ 82, 0, 415,
+ 83, 0, 627,
+ 84, 0, 417,
+ 85, 0, 418,
+ 86, 0, 419,
+ 87, 0, 420,
+ 88, 0, 421,
+ 89, 0, 422,
+ 90, 0, 423,
+ 91, 0, 424,
+ 92, 0, 425,
+ 96, 0, 599,
+ 97, 0, 628
};
-static int parser_action_row441[] = {
+static int parser_action_row444[] = {
1,
-1, 1, 522
};
-static int parser_action_row442[] = {
+static int parser_action_row445[] = {
1,
-1, 1, 434
};
-static int parser_action_row443[] = {
+static int parser_action_row446[] = {
1,
-1, 1, 432
};
-static int parser_action_row444[] = {
+static int parser_action_row447[] = {
23,
-1, 1, 459,
- 54, 0, 618,
- 74, 0, 619,
- 75, 0, 620,
- 76, 0, 405,
- 77, 0, 406,
- 78, 0, 407,
- 79, 0, 408,
- 80, 0, 409,
- 81, 0, 410,
- 82, 0, 411,
- 83, 0, 621,
- 84, 0, 413,
- 85, 0, 414,
- 86, 0, 415,
- 87, 0, 416,
- 88, 0, 417,
- 89, 0, 418,
- 90, 0, 419,
- 91, 0, 420,
- 92, 0, 421,
- 96, 0, 53,
- 97, 0, 624
+ 54, 0, 624,
+ 74, 0, 625,
+ 75, 0, 626,
+ 76, 0, 409,
+ 77, 0, 410,
+ 78, 0, 411,
+ 79, 0, 412,
+ 80, 0, 413,
+ 81, 0, 414,
+ 82, 0, 415,
+ 83, 0, 627,
+ 84, 0, 417,
+ 85, 0, 418,
+ 86, 0, 419,
+ 87, 0, 420,
+ 88, 0, 421,
+ 89, 0, 422,
+ 90, 0, 423,
+ 91, 0, 424,
+ 92, 0, 425,
+ 96, 0, 601,
+ 97, 0, 630
};
-static int parser_action_row445[] = {
+static int parser_action_row448[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row446[] = {
+static int parser_action_row449[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row447[] = {
+static int parser_action_row450[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row448[] = {
+static int parser_action_row451[] = {
2,
-1, 1, 155,
57, 0, 329
};
-static int parser_action_row449[] = {
+static int parser_action_row452[] = {
2,
-1, 1, 389,
- 56, 0, 631
+ 56, 0, 637
};
-static int parser_action_row450[] = {
+static int parser_action_row453[] = {
1,
-1, 1, 470
};
-static int parser_action_row451[] = {
+static int parser_action_row454[] = {
1,
-1, 1, 469
};
-static int parser_action_row452[] = {
+static int parser_action_row455[] = {
1,
-1, 1, 218
};
-static int parser_action_row453[] = {
+static int parser_action_row456[] = {
1,
-1, 1, 237
};
-static int parser_action_row454[] = {
+static int parser_action_row457[] = {
23,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row455[] = {
+static int parser_action_row458[] = {
23,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row456[] = {
+static int parser_action_row459[] = {
1,
-1, 1, 82
};
-static int parser_action_row457[] = {
+static int parser_action_row460[] = {
1,
-1, 1, 84
};
-static int parser_action_row458[] = {
+static int parser_action_row461[] = {
1,
-1, 1, 83
};
-static int parser_action_row459[] = {
+static int parser_action_row462[] = {
1,
-1, 1, 85
};
-static int parser_action_row460[] = {
+static int parser_action_row463[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row461[] = {
+static int parser_action_row464[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row462[] = {
+static int parser_action_row465[] = {
1,
-1, 1, 32
};
-static int parser_action_row463[] = {
+static int parser_action_row466[] = {
2,
- -1, 3, 462,
- 5, 0, 638
+ -1, 3, 465,
+ 5, 0, 644
};
-static int parser_action_row464[] = {
+static int parser_action_row467[] = {
1,
-1, 1, 34
};
-static int parser_action_row465[] = {
+static int parser_action_row468[] = {
1,
-1, 1, 35
};
-static int parser_action_row466[] = {
+static int parser_action_row469[] = {
23,
- -1, 3, 465,
- 54, 0, 639,
- 74, 0, 640,
- 75, 0, 641,
- 76, 0, 642,
- 77, 0, 643,
- 78, 0, 644,
- 79, 0, 645,
- 80, 0, 646,
- 81, 0, 647,
- 82, 0, 648,
- 83, 0, 649,
- 84, 0, 650,
- 85, 0, 651,
- 86, 0, 652,
- 87, 0, 653,
- 88, 0, 654,
- 89, 0, 655,
- 90, 0, 656,
- 91, 0, 657,
- 92, 0, 658,
- 96, 0, 53,
- 97, 0, 659
+ -1, 3, 468,
+ 54, 0, 645,
+ 74, 0, 646,
+ 75, 0, 647,
+ 76, 0, 648,
+ 77, 0, 649,
+ 78, 0, 650,
+ 79, 0, 651,
+ 80, 0, 652,
+ 81, 0, 653,
+ 82, 0, 654,
+ 83, 0, 655,
+ 84, 0, 656,
+ 85, 0, 657,
+ 86, 0, 658,
+ 87, 0, 659,
+ 88, 0, 660,
+ 89, 0, 661,
+ 90, 0, 662,
+ 91, 0, 663,
+ 92, 0, 664,
+ 96, 0, 53,
+ 97, 0, 665
};
-static int parser_action_row467[] = {
+static int parser_action_row470[] = {
2,
- -1, 3, 466,
- 5, 0, 664
+ -1, 3, 469,
+ 5, 0, 670
};
-static int parser_action_row468[] = {
+static int parser_action_row471[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row469[] = {
+static int parser_action_row472[] = {
1,
-1, 1, 166
};
-static int parser_action_row470[] = {
+static int parser_action_row473[] = {
1,
-1, 1, 1072
};
-static int parser_action_row471[] = {
+static int parser_action_row474[] = {
31,
-1, 1, 163,
12, 0, 31,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row472[] = {
+static int parser_action_row475[] = {
23,
-1, 1, 460,
12, 0, 168,
75, 0, 175,
83, 0, 176,
96, 0, 53,
- 97, 0, 511,
+ 97, 0, 514,
99, 0, 55,
100, 0, 56,
101, 0, 57,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row473[] = {
+static int parser_action_row476[] = {
5,
-1, 1, 460,
- 12, 0, 667,
- 46, 0, 668,
+ 12, 0, 673,
+ 46, 0, 674,
96, 0, 53,
- 97, 0, 669
+ 97, 0, 675
};
-static int parser_action_row474[] = {
+static int parser_action_row477[] = {
23,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row475[] = {
+static int parser_action_row478[] = {
23,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row476[] = {
+static int parser_action_row479[] = {
25,
-1, 1, 460,
12, 0, 168,
104, 1, 401,
105, 0, 59
};
-static int parser_action_row477[] = {
+static int parser_action_row480[] = {
1,
-1, 1, 395
};
-static int parser_action_row478[] = {
+static int parser_action_row481[] = {
1,
-1, 1, 1078
};
-static int parser_action_row479[] = {
+static int parser_action_row482[] = {
2,
-1, 1, 407,
94, 0, 202
};
-static int parser_action_row480[] = {
+static int parser_action_row483[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row481[] = {
+static int parser_action_row484[] = {
1,
-1, 1, 351
};
-static int parser_action_row482[] = {
+static int parser_action_row485[] = {
1,
-1, 1, 191
};
-static int parser_action_row483[] = {
+static int parser_action_row486[] = {
23,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row484[] = {
+static int parser_action_row487[] = {
23,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row485[] = {
+static int parser_action_row488[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row486[] = {
+static int parser_action_row489[] = {
1,
-1, 1, 197
};
-static int parser_action_row487[] = {
+static int parser_action_row490[] = {
23,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row488[] = {
+static int parser_action_row491[] = {
23,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row489[] = {
+static int parser_action_row492[] = {
13,
-1, 1, 345,
- 59, 0, 683,
+ 59, 0, 689,
60, 0, 215,
61, 0, 216,
62, 0, 217,
69, 0, 224,
70, 0, 225
};
-static int parser_action_row490[] = {
+static int parser_action_row493[] = {
1,
-1, 1, 188
};
-static int parser_action_row491[] = {
+static int parser_action_row494[] = {
1,
-1, 1, 199
};
-static int parser_action_row492[] = {
+static int parser_action_row495[] = {
23,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row493[] = {
+static int parser_action_row496[] = {
23,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row494[] = {
+static int parser_action_row497[] = {
13,
-1, 1, 349,
- 59, 0, 687,
+ 59, 0, 693,
60, 0, 215,
61, 0, 216,
62, 0, 217,
69, 0, 224,
70, 0, 225
};
-static int parser_action_row495[] = {
+static int parser_action_row498[] = {
1,
-1, 1, 190
};
-static int parser_action_row496[] = {
+static int parser_action_row499[] = {
24,
-1, 1, 444,
12, 0, 115,
44, 0, 122,
45, 0, 123,
48, 0, 124,
- 52, 0, 484,
+ 52, 0, 487,
74, 0, 126,
75, 0, 127,
83, 0, 128,
102, 0, 58,
105, 0, 133
};
-static int parser_action_row497[] = {
+static int parser_action_row500[] = {
38,
-1, 1, 444,
12, 0, 115,
48, 0, 124,
52, 0, 125,
54, 1, 348,
- 59, 0, 690,
+ 59, 0, 696,
60, 0, 215,
61, 0, 216,
62, 0, 217,
102, 0, 58,
105, 0, 133
};
-static int parser_action_row498[] = {
+static int parser_action_row501[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row499[] = {
+static int parser_action_row502[] = {
1,
-1, 1, 14
};
-static int parser_action_row500[] = {
+static int parser_action_row503[] = {
7,
- -1, 3, 499,
- 5, 0, 461,
- 6, 0, 462,
- 7, 0, 463,
- 8, 0, 464,
- 10, 0, 465,
- 17, 0, 466
+ -1, 3, 502,
+ 5, 0, 464,
+ 6, 0, 465,
+ 7, 0, 466,
+ 8, 0, 467,
+ 10, 0, 468,
+ 17, 0, 469
};
-static int parser_action_row501[] = {
+static int parser_action_row504[] = {
1,
-1, 1, 486
};
-static int parser_action_row502[] = {
+static int parser_action_row505[] = {
1,
-1, 1, 15
};
-static int parser_action_row503[] = {
+static int parser_action_row506[] = {
24,
-1, 1, 460,
12, 0, 168,
45, 0, 48,
48, 0, 173,
52, 0, 51,
- 53, 0, 695,
+ 53, 0, 701,
54, 0, 52,
74, 0, 174,
75, 0, 175,
83, 0, 176,
96, 0, 53,
- 97, 0, 511,
+ 97, 0, 514,
99, 0, 55,
100, 0, 56,
101, 0, 57,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row504[] = {
+static int parser_action_row507[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row505[] = {
+static int parser_action_row508[] = {
1,
-1, 1, 707
};
-static int parser_action_row506[] = {
+static int parser_action_row509[] = {
3,
-1, 1, 742,
52, 0, 274,
- 73, 0, 698
+ 73, 0, 704
};
-static int parser_action_row507[] = {
+static int parser_action_row510[] = {
1,
-1, 1, 739
};
-static int parser_action_row508[] = {
- 3,
- -1, 3, 507,
+static int parser_action_row511[] = {
+ 4,
+ -1, 3, 510,
47, 0, 385,
- 96, 0, 386
+ 96, 0, 386,
+ 97, 0, 387
};
-static int parser_action_row509[] = {
+static int parser_action_row512[] = {
3,
-1, 1, 744,
54, 1, 747,
73, 1, 747
};
-static int parser_action_row510[] = {
+static int parser_action_row513[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row511[] = {
+static int parser_action_row514[] = {
9,
-1, 1, 440,
0, 1, 443,
95, 1, 443,
109, 1, 443
};
-static int parser_action_row512[] = {
+static int parser_action_row515[] = {
4,
-1, 1, 344,
52, 0, 274,
58, 0, 213,
- 59, 0, 702
+ 59, 0, 708
};
-static int parser_action_row513[] = {
+static int parser_action_row516[] = {
2,
-1, 1, 369,
- 71, 0, 703
+ 71, 0, 709
};
-static int parser_action_row514[] = {
+static int parser_action_row517[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row515[] = {
+static int parser_action_row518[] = {
2,
- -1, 3, 514,
- 53, 0, 705
+ -1, 3, 517,
+ 53, 0, 711
};
-static int parser_action_row516[] = {
+static int parser_action_row519[] = {
1,
-1, 1, 764
};
-static int parser_action_row517[] = {
+static int parser_action_row520[] = {
1,
-1, 1, 758
};
-static int parser_action_row518[] = {
+static int parser_action_row521[] = {
20,
-1, 1, 460,
12, 0, 115,
102, 0, 58,
105, 0, 133
};
-static int parser_action_row519[] = {
+static int parser_action_row522[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row520[] = {
+static int parser_action_row523[] = {
20,
-1, 1, 460,
12, 0, 115,
102, 0, 58,
105, 0, 133
};
-static int parser_action_row521[] = {
+static int parser_action_row524[] = {
20,
-1, 1, 460,
12, 0, 115,
102, 0, 58,
105, 0, 133
};
-static int parser_action_row522[] = {
- 3,
- -1, 3, 521,
- 47, 0, 394,
- 96, 0, 395
+static int parser_action_row525[] = {
+ 4,
+ -1, 3, 524,
+ 47, 0, 398,
+ 96, 0, 386,
+ 97, 0, 387
};
-static int parser_action_row523[] = {
+static int parser_action_row526[] = {
19,
-1, 1, 460,
12, 0, 115,
102, 0, 58,
105, 0, 133
};
-static int parser_action_row524[] = {
+static int parser_action_row527[] = {
19,
-1, 1, 460,
12, 0, 115,
102, 0, 58,
105, 0, 133
};
-static int parser_action_row525[] = {
+static int parser_action_row528[] = {
19,
-1, 1, 460,
12, 0, 115,
102, 0, 58,
105, 0, 133
};
-static int parser_action_row526[] = {
+static int parser_action_row529[] = {
19,
-1, 1, 460,
12, 0, 115,
102, 0, 58,
105, 0, 133
};
-static int parser_action_row527[] = {
+static int parser_action_row530[] = {
19,
-1, 1, 460,
12, 0, 115,
102, 0, 58,
105, 0, 133
};
-static int parser_action_row528[] = {
+static int parser_action_row531[] = {
19,
-1, 1, 460,
12, 0, 115,
102, 0, 58,
105, 0, 133
};
-static int parser_action_row529[] = {
+static int parser_action_row532[] = {
19,
-1, 1, 460,
12, 0, 115,
102, 0, 58,
105, 0, 133
};
-static int parser_action_row530[] = {
+static int parser_action_row533[] = {
19,
-1, 1, 460,
12, 0, 115,
102, 0, 58,
105, 0, 133
};
-static int parser_action_row531[] = {
+static int parser_action_row534[] = {
19,
-1, 1, 460,
12, 0, 115,
102, 0, 58,
105, 0, 133
};
-static int parser_action_row532[] = {
+static int parser_action_row535[] = {
19,
-1, 1, 460,
12, 0, 115,
102, 0, 58,
105, 0, 133
};
-static int parser_action_row533[] = {
+static int parser_action_row536[] = {
19,
-1, 1, 460,
12, 0, 115,
102, 0, 58,
105, 0, 133
};
-static int parser_action_row534[] = {
+static int parser_action_row537[] = {
19,
-1, 1, 460,
12, 0, 115,
102, 0, 58,
105, 0, 133
};
-static int parser_action_row535[] = {
+static int parser_action_row538[] = {
19,
-1, 1, 460,
12, 0, 115,
102, 0, 58,
105, 0, 133
};
-static int parser_action_row536[] = {
+static int parser_action_row539[] = {
19,
-1, 1, 460,
12, 0, 115,
102, 0, 58,
105, 0, 133
};
-static int parser_action_row537[] = {
+static int parser_action_row540[] = {
19,
-1, 1, 460,
12, 0, 115,
102, 0, 58,
105, 0, 133
};
-static int parser_action_row538[] = {
+static int parser_action_row541[] = {
19,
-1, 1, 460,
12, 0, 115,
102, 0, 58,
105, 0, 133
};
-static int parser_action_row539[] = {
+static int parser_action_row542[] = {
19,
-1, 1, 460,
12, 0, 115,
102, 0, 58,
105, 0, 133
};
-static int parser_action_row540[] = {
+static int parser_action_row543[] = {
19,
-1, 1, 460,
12, 0, 115,
102, 0, 58,
105, 0, 133
};
-static int parser_action_row541[] = {
+static int parser_action_row544[] = {
5,
-1, 1, 460,
- 12, 0, 729,
- 46, 0, 730,
+ 12, 0, 735,
+ 46, 0, 736,
96, 0, 53,
- 97, 0, 731
+ 97, 0, 737
};
-static int parser_action_row542[] = {
+static int parser_action_row545[] = {
1,
-1, 1, 762
};
-static int parser_action_row543[] = {
+static int parser_action_row546[] = {
2,
-1, 1, 761,
52, 0, 274
};
-static int parser_action_row544[] = {
+static int parser_action_row547[] = {
30,
-1, 1, 460,
- 9, 0, 736,
+ 9, 0, 742,
12, 0, 31,
15, 0, 33,
16, 0, 34,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row545[] = {
+static int parser_action_row548[] = {
4,
- -1, 3, 544,
+ -1, 3, 547,
0, 0, 1,
1, 0, 2,
95, 0, 3
};
-static int parser_action_row546[] = {
- 3,
- -1, 3, 545,
- 47, 0, 394,
- 96, 0, 395
+static int parser_action_row549[] = {
+ 4,
+ -1, 3, 548,
+ 47, 0, 398,
+ 96, 0, 386,
+ 97, 0, 387
};
-static int parser_action_row547[] = {
+static int parser_action_row550[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row548[] = {
+static int parser_action_row551[] = {
2,
-1, 1, 204,
- 59, 0, 740
+ 59, 0, 746
};
-static int parser_action_row549[] = {
+static int parser_action_row552[] = {
2,
- -1, 3, 548,
- 23, 0, 741
+ -1, 3, 551,
+ 23, 0, 747
};
-static int parser_action_row550[] = {
+static int parser_action_row553[] = {
2,
- -1, 3, 549,
- 15, 0, 742
+ -1, 3, 552,
+ 15, 0, 748
};
-static int parser_action_row551[] = {
+static int parser_action_row554[] = {
2,
- -1, 3, 550,
+ -1, 3, 553,
97, 0, 337
};
-static int parser_action_row552[] = {
+static int parser_action_row555[] = {
3,
- -1, 3, 551,
- 15, 0, 744,
- 56, 0, 745
+ -1, 3, 554,
+ 15, 0, 750,
+ 56, 0, 751
};
-static int parser_action_row553[] = {
+static int parser_action_row556[] = {
2,
- -1, 3, 552,
- 28, 0, 746
+ -1, 3, 555,
+ 28, 0, 752
};
-static int parser_action_row554[] = {
+static int parser_action_row557[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row555[] = {
+static int parser_action_row558[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row556[] = {
+static int parser_action_row559[] = {
1,
-1, 1, 294
};
-static int parser_action_row557[] = {
+static int parser_action_row560[] = {
3,
-1, 1, 329,
52, 0, 274,
- 73, 0, 596
+ 73, 0, 600
};
-static int parser_action_row558[] = {
+static int parser_action_row561[] = {
1,
-1, 1, 326
};
-static int parser_action_row559[] = {
+static int parser_action_row562[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row560[] = {
+static int parser_action_row563[] = {
3,
-1, 1, 331,
54, 1, 334,
73, 1, 334
};
-static int parser_action_row561[] = {
+static int parser_action_row564[] = {
22,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row562[] = {
+static int parser_action_row565[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row563[] = {
+static int parser_action_row566[] = {
22,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row564[] = {
+static int parser_action_row567[] = {
22,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row565[] = {
- 3,
- -1, 3, 564,
- 47, 0, 394,
- 96, 0, 395
+static int parser_action_row568[] = {
+ 4,
+ -1, 3, 567,
+ 47, 0, 398,
+ 96, 0, 386,
+ 97, 0, 387
};
-static int parser_action_row566[] = {
+static int parser_action_row569[] = {
21,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row567[] = {
+static int parser_action_row570[] = {
21,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row568[] = {
+static int parser_action_row571[] = {
21,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row569[] = {
+static int parser_action_row572[] = {
21,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row570[] = {
+static int parser_action_row573[] = {
21,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row571[] = {
+static int parser_action_row574[] = {
21,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row572[] = {
+static int parser_action_row575[] = {
21,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row573[] = {
+static int parser_action_row576[] = {
21,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row574[] = {
+static int parser_action_row577[] = {
21,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row575[] = {
+static int parser_action_row578[] = {
21,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row576[] = {
+static int parser_action_row579[] = {
21,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row577[] = {
+static int parser_action_row580[] = {
21,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row578[] = {
+static int parser_action_row581[] = {
21,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row579[] = {
+static int parser_action_row582[] = {
21,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row580[] = {
+static int parser_action_row583[] = {
21,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row581[] = {
+static int parser_action_row584[] = {
21,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row582[] = {
+static int parser_action_row585[] = {
21,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row583[] = {
+static int parser_action_row586[] = {
21,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row584[] = {
+static int parser_action_row587[] = {
5,
-1, 1, 460,
- 12, 0, 774,
- 46, 0, 668,
+ 12, 0, 780,
+ 46, 0, 674,
96, 0, 53,
- 97, 0, 775
+ 97, 0, 781
};
-static int parser_action_row585[] = {
+static int parser_action_row588[] = {
1,
-1, 1, 345
};
-static int parser_action_row586[] = {
+static int parser_action_row589[] = {
1,
-1, 1, 349
};
-static int parser_action_row587[] = {
+static int parser_action_row590[] = {
2,
-1, 1, 348,
52, 0, 274
};
-static int parser_action_row588[] = {
+static int parser_action_row591[] = {
33,
-1, 1, 460,
0, 0, 1,
1, 0, 2,
- 9, 0, 588,
+ 9, 0, 591,
12, 0, 31,
15, 0, 33,
16, 0, 34,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row589[] = {
+static int parser_action_row592[] = {
1,
-1, 1, 158
};
-static int parser_action_row590[] = {
+static int parser_action_row593[] = {
1,
-1, 1, 281
};
-static int parser_action_row591[] = {
+static int parser_action_row594[] = {
30,
-1, 1, 460,
- 9, 0, 781,
+ 9, 0, 787,
12, 0, 31,
15, 0, 33,
16, 0, 34,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row592[] = {
+static int parser_action_row595[] = {
3,
-1, 1, 797,
- 54, 0, 783,
- 94, 0, 593
+ 54, 0, 789,
+ 94, 0, 596
};
-static int parser_action_row593[] = {
+static int parser_action_row596[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row594[] = {
+static int parser_action_row597[] = {
3,
-1, 1, 30,
13, 0, 32,
- 52, 0, 786
+ 52, 0, 792
};
-static int parser_action_row595[] = {
+static int parser_action_row598[] = {
1,
-1, 1, 796
};
-static int parser_action_row596[] = {
+static int parser_action_row599[] = {
1,
-1, 1, 623
};
-static int parser_action_row597[] = {
+static int parser_action_row600[] = {
+ 1,
+ -1, 1, 462
+};
+static int parser_action_row601[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row598[] = {
+static int parser_action_row602[] = {
+ 2,
+ -1, 1, 464,
+ 58, 0, 212
+};
+static int parser_action_row603[] = {
+ 2,
+ -1, 3, 602,
+ 96, 0, 796
+};
+static int parser_action_row604[] = {
2,
-1, 1, 30,
13, 0, 32
};
-static int parser_action_row599[] = {
+static int parser_action_row605[] = {
4,
- -1, 3, 598,
- 6, 0, 793,
- 17, 0, 794,
- 97, 0, 795
+ -1, 3, 604,
+ 6, 0, 800,
+ 17, 0, 801,
+ 97, 0, 802
};
-static int parser_action_row600[] = {
+static int parser_action_row606[] = {
2,
- -1, 3, 599,
- 59, 0, 797
+ -1, 3, 605,
+ 59, 0, 804
};
-static int parser_action_row601[] = {
+static int parser_action_row607[] = {
2,
-1, 1, 155,
57, 0, 329
};
-static int parser_action_row602[] = {
+static int parser_action_row608[] = {
2,
- -1, 3, 601,
- 15, 0, 799
+ -1, 3, 607,
+ 15, 0, 806
};
-static int parser_action_row603[] = {
+static int parser_action_row609[] = {
3,
-1, 1, 407,
- 54, 0, 800,
+ 54, 0, 807,
94, 0, 202
};
-static int parser_action_row604[] = {
- 3,
- -1, 1, 489,
- 0, 0, 1,
- 1, 0, 2
-};
-static int parser_action_row605[] = {
- 1,
- -1, 1, 146
-};
-static int parser_action_row606[] = {
+static int parser_action_row610[] = {
23,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row607[] = {
- 1,
- -1, 1, 987
-};
-static int parser_action_row608[] = {
- 1,
+static int parser_action_row611[] = {
+ 3,
+ -1, 1, 489,
+ 0, 0, 1,
+ 1, 0, 2
+};
+static int parser_action_row612[] = {
+ 1,
+ -1, 1, 146
+};
+static int parser_action_row613[] = {
+ 1,
+ -1, 1, 987
+};
+static int parser_action_row614[] = {
+ 1,
-1, 1, 992
};
-static int parser_action_row609[] = {
+static int parser_action_row615[] = {
1,
-1, 1, 989
};
-static int parser_action_row610[] = {
- 3,
- -1, 3, 609,
- 47, 0, 394,
- 96, 0, 395
+static int parser_action_row616[] = {
+ 4,
+ -1, 3, 615,
+ 47, 0, 398,
+ 96, 0, 386,
+ 97, 0, 387
};
-static int parser_action_row611[] = {
+static int parser_action_row617[] = {
2,
-1, 1, 518,
- 59, 0, 805
+ 59, 0, 812
};
-static int parser_action_row612[] = {
+static int parser_action_row618[] = {
25,
-1, 1, 520,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row613[] = {
+static int parser_action_row619[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row614[] = {
+static int parser_action_row620[] = {
2,
- -1, 3, 613,
- 53, 0, 807
+ -1, 3, 619,
+ 53, 0, 814
};
-static int parser_action_row615[] = {
+static int parser_action_row621[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row616[] = {
+static int parser_action_row622[] = {
1,
-1, 1, 1073
};
-static int parser_action_row617[] = {
+static int parser_action_row623[] = {
2,
- -1, 3, 616,
- 53, 0, 809
+ -1, 3, 622,
+ 53, 0, 816
};
-static int parser_action_row618[] = {
+static int parser_action_row624[] = {
2,
-1, 1, 387,
- 56, 0, 614
+ 56, 0, 620
};
-static int parser_action_row619[] = {
+static int parser_action_row625[] = {
2,
- -1, 3, 618,
- 55, 0, 610
+ -1, 3, 624,
+ 55, 0, 616
};
-static int parser_action_row620[] = {
+static int parser_action_row626[] = {
1,
-1, 1, 500
};
-static int parser_action_row621[] = {
+static int parser_action_row627[] = {
1,
-1, 1, 501
};
-static int parser_action_row622[] = {
+static int parser_action_row628[] = {
1,
-1, 1, 509
};
-static int parser_action_row623[] = {
+static int parser_action_row629[] = {
14,
-1, 1, 346,
52, 0, 274,
- 59, 0, 811,
+ 59, 0, 818,
60, 0, 215,
61, 0, 216,
62, 0, 217,
69, 0, 224,
70, 0, 225
};
-static int parser_action_row624[] = {
+static int parser_action_row630[] = {
1,
-1, 1, 523
};
-static int parser_action_row625[] = {
+static int parser_action_row631[] = {
15,
-1, 1, 350,
52, 0, 274,
58, 0, 213,
- 59, 0, 812,
+ 59, 0, 819,
60, 0, 215,
61, 0, 216,
62, 0, 217,
69, 0, 224,
70, 0, 225
};
-static int parser_action_row626[] = {
- 22,
+static int parser_action_row632[] = {
+ 23,
-1, 1, 458,
- 54, 0, 618,
- 74, 0, 619,
- 75, 0, 620,
- 76, 0, 405,
- 77, 0, 406,
- 78, 0, 407,
- 79, 0, 408,
- 80, 0, 409,
- 81, 0, 410,
- 82, 0, 411,
- 83, 0, 621,
- 84, 0, 413,
- 85, 0, 414,
- 86, 0, 415,
- 87, 0, 416,
- 88, 0, 417,
- 89, 0, 418,
- 90, 0, 419,
- 91, 0, 420,
- 92, 0, 421,
- 97, 0, 813
+ 54, 0, 624,
+ 74, 0, 625,
+ 75, 0, 626,
+ 76, 0, 409,
+ 77, 0, 410,
+ 78, 0, 411,
+ 79, 0, 412,
+ 80, 0, 413,
+ 81, 0, 414,
+ 82, 0, 415,
+ 83, 0, 627,
+ 84, 0, 417,
+ 85, 0, 418,
+ 86, 0, 419,
+ 87, 0, 420,
+ 88, 0, 421,
+ 89, 0, 422,
+ 90, 0, 423,
+ 91, 0, 424,
+ 92, 0, 425,
+ 96, 0, 796,
+ 97, 0, 820
};
-static int parser_action_row627[] = {
+static int parser_action_row633[] = {
1,
-1, 1, 525
};
-static int parser_action_row628[] = {
+static int parser_action_row634[] = {
23,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row629[] = {
+static int parser_action_row635[] = {
3,
- -1, 3, 628,
+ -1, 3, 634,
52, 0, 336,
97, 0, 337
};
-static int parser_action_row630[] = {
+static int parser_action_row636[] = {
2,
-1, 1, 392,
- 72, 0, 817
+ 72, 0, 824
};
-static int parser_action_row631[] = {
+static int parser_action_row637[] = {
2,
- -1, 3, 630,
- 55, 0, 818
+ -1, 3, 636,
+ 55, 0, 825
};
-static int parser_action_row632[] = {
+static int parser_action_row638[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row633[] = {
+static int parser_action_row639[] = {
1,
-1, 1, 1075
};
-static int parser_action_row634[] = {
+static int parser_action_row640[] = {
2,
-1, 1, 390,
- 56, 0, 631
+ 56, 0, 637
};
-static int parser_action_row635[] = {
+static int parser_action_row641[] = {
1,
-1, 1, 217
};
-static int parser_action_row636[] = {
+static int parser_action_row642[] = {
1,
-1, 1, 236
};
-static int parser_action_row637[] = {
+static int parser_action_row643[] = {
3,
- -1, 3, 636,
- 58, 0, 821,
- 97, 0, 822
+ -1, 3, 642,
+ 58, 0, 828,
+ 97, 0, 829
};
-static int parser_action_row638[] = {
+static int parser_action_row644[] = {
4,
- -1, 3, 637,
- 9, 0, 825,
- 58, 0, 821,
- 97, 0, 822
+ -1, 3, 643,
+ 9, 0, 832,
+ 58, 0, 828,
+ 97, 0, 829
};
-static int parser_action_row639[] = {
+static int parser_action_row645[] = {
1,
-1, 1, 33
};
-static int parser_action_row640[] = {
+static int parser_action_row646[] = {
2,
- -1, 3, 639,
- 55, 0, 827
+ -1, 3, 645,
+ 55, 0, 834
};
-static int parser_action_row641[] = {
+static int parser_action_row647[] = {
1,
-1, 1, 86
};
-static int parser_action_row642[] = {
+static int parser_action_row648[] = {
1,
-1, 1, 87
};
-static int parser_action_row643[] = {
+static int parser_action_row649[] = {
1,
-1, 1, 88
};
-static int parser_action_row644[] = {
+static int parser_action_row650[] = {
1,
-1, 1, 89
};
-static int parser_action_row645[] = {
+static int parser_action_row651[] = {
1,
-1, 1, 90
};
-static int parser_action_row646[] = {
+static int parser_action_row652[] = {
1,
-1, 1, 91
};
-static int parser_action_row647[] = {
+static int parser_action_row653[] = {
1,
-1, 1, 92
};
-static int parser_action_row648[] = {
+static int parser_action_row654[] = {
1,
-1, 1, 93
};
-static int parser_action_row649[] = {
+static int parser_action_row655[] = {
1,
-1, 1, 94
};
-static int parser_action_row650[] = {
+static int parser_action_row656[] = {
1,
-1, 1, 95
};
-static int parser_action_row651[] = {
+static int parser_action_row657[] = {
1,
-1, 1, 96
};
-static int parser_action_row652[] = {
+static int parser_action_row658[] = {
1,
-1, 1, 97
};
-static int parser_action_row653[] = {
+static int parser_action_row659[] = {
1,
-1, 1, 100
};
-static int parser_action_row654[] = {
+static int parser_action_row660[] = {
1,
-1, 1, 98
};
-static int parser_action_row655[] = {
+static int parser_action_row661[] = {
1,
-1, 1, 102
};
-static int parser_action_row656[] = {
+static int parser_action_row662[] = {
1,
-1, 1, 101
};
-static int parser_action_row657[] = {
+static int parser_action_row663[] = {
1,
-1, 1, 99
};
-static int parser_action_row658[] = {
+static int parser_action_row664[] = {
1,
-1, 1, 103
};
-static int parser_action_row659[] = {
+static int parser_action_row665[] = {
1,
-1, 1, 105
};
-static int parser_action_row660[] = {
+static int parser_action_row666[] = {
3,
-1, 1, 108,
58, 0, 213,
- 59, 0, 828
+ 59, 0, 835
};
-static int parser_action_row661[] = {
+static int parser_action_row667[] = {
1,
-1, 1, 465
};
-static int parser_action_row662[] = {
+static int parser_action_row668[] = {
5,
-1, 1, 489,
0, 0, 1,
1, 0, 2,
- 52, 0, 829,
- 57, 0, 830
+ 52, 0, 836,
+ 57, 0, 837
};
-static int parser_action_row663[] = {
+static int parser_action_row669[] = {
22,
- -1, 3, 662,
- 54, 0, 639,
- 74, 0, 640,
- 75, 0, 641,
- 76, 0, 642,
- 77, 0, 643,
- 78, 0, 644,
- 79, 0, 645,
- 80, 0, 646,
- 81, 0, 647,
- 82, 0, 648,
- 83, 0, 649,
- 84, 0, 650,
- 85, 0, 651,
- 86, 0, 652,
- 87, 0, 653,
- 88, 0, 654,
- 89, 0, 655,
- 90, 0, 656,
- 91, 0, 657,
- 92, 0, 658,
- 97, 0, 834
+ -1, 3, 668,
+ 54, 0, 645,
+ 74, 0, 646,
+ 75, 0, 647,
+ 76, 0, 648,
+ 77, 0, 649,
+ 78, 0, 650,
+ 79, 0, 651,
+ 80, 0, 652,
+ 81, 0, 653,
+ 82, 0, 654,
+ 83, 0, 655,
+ 84, 0, 656,
+ 85, 0, 657,
+ 86, 0, 658,
+ 87, 0, 659,
+ 88, 0, 660,
+ 89, 0, 661,
+ 90, 0, 662,
+ 91, 0, 663,
+ 92, 0, 664,
+ 97, 0, 841
};
-static int parser_action_row664[] = {
+static int parser_action_row670[] = {
23,
- -1, 3, 663,
- 54, 0, 639,
- 74, 0, 640,
- 75, 0, 641,
- 76, 0, 642,
- 77, 0, 643,
- 78, 0, 644,
- 79, 0, 645,
- 80, 0, 646,
- 81, 0, 647,
- 82, 0, 648,
- 83, 0, 649,
- 84, 0, 650,
- 85, 0, 651,
- 86, 0, 652,
- 87, 0, 653,
- 88, 0, 654,
- 89, 0, 655,
- 90, 0, 656,
- 91, 0, 657,
- 92, 0, 658,
- 96, 0, 53,
- 97, 0, 659
+ -1, 3, 669,
+ 54, 0, 645,
+ 74, 0, 646,
+ 75, 0, 647,
+ 76, 0, 648,
+ 77, 0, 649,
+ 78, 0, 650,
+ 79, 0, 651,
+ 80, 0, 652,
+ 81, 0, 653,
+ 82, 0, 654,
+ 83, 0, 655,
+ 84, 0, 656,
+ 85, 0, 657,
+ 86, 0, 658,
+ 87, 0, 659,
+ 88, 0, 660,
+ 89, 0, 661,
+ 90, 0, 662,
+ 91, 0, 663,
+ 92, 0, 664,
+ 96, 0, 53,
+ 97, 0, 665
};
-static int parser_action_row665[] = {
+static int parser_action_row671[] = {
1,
-1, 1, 36
};
-static int parser_action_row666[] = {
+static int parser_action_row672[] = {
3,
- -1, 3, 665,
- 96, 0, 838,
- 97, 0, 839
+ -1, 3, 671,
+ 96, 0, 386,
+ 97, 0, 387
};
-static int parser_action_row667[] = {
+static int parser_action_row673[] = {
2,
- -1, 3, 666,
- 55, 0, 843
+ -1, 3, 672,
+ 55, 0, 846
};
-static int parser_action_row668[] = {
+static int parser_action_row674[] = {
26,
-1, 1, 444,
12, 0, 115,
102, 0, 58,
105, 0, 133
};
-static int parser_action_row669[] = {
+static int parser_action_row675[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row670[] = {
+static int parser_action_row676[] = {
39,
-1, 1, 444,
12, 0, 115,
52, 0, 125,
54, 1, 336,
58, 0, 213,
- 59, 0, 847,
+ 59, 0, 850,
60, 0, 215,
61, 0, 216,
62, 0, 217,
102, 0, 58,
105, 0, 133
};
-static int parser_action_row671[] = {
+static int parser_action_row677[] = {
2,
- -1, 3, 670,
- 98, 0, 851
+ -1, 3, 676,
+ 98, 0, 854
};
-static int parser_action_row672[] = {
+static int parser_action_row678[] = {
3,
-1, 1, 457,
- 12, 0, 852,
- 97, 0, 853
+ 12, 0, 855,
+ 97, 0, 856
};
-static int parser_action_row673[] = {
+static int parser_action_row679[] = {
4,
-1, 1, 459,
- 12, 0, 854,
+ 12, 0, 857,
96, 0, 53,
- 97, 0, 855
+ 97, 0, 858
};
-static int parser_action_row674[] = {
+static int parser_action_row680[] = {
1,
-1, 1, 225
};
-static int parser_action_row675[] = {
+static int parser_action_row681[] = {
1,
-1, 1, 244
};
-static int parser_action_row676[] = {
+static int parser_action_row682[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row677[] = {
+static int parser_action_row683[] = {
1,
-1, 1, 396
};
-static int parser_action_row678[] = {
+static int parser_action_row684[] = {
1,
-1, 1, 397
};
-static int parser_action_row679[] = {
+static int parser_action_row685[] = {
1,
-1, 1, 208
};
-static int parser_action_row680[] = {
+static int parser_action_row686[] = {
1,
-1, 1, 227
};
-static int parser_action_row681[] = {
+static int parser_action_row687[] = {
24,
-1, 1, 460,
12, 0, 168,
45, 0, 48,
48, 0, 173,
52, 0, 51,
- 53, 0, 858,
+ 53, 0, 861,
54, 0, 52,
74, 0, 174,
75, 0, 175,
83, 0, 176,
96, 0, 53,
- 97, 0, 511,
+ 97, 0, 514,
99, 0, 55,
100, 0, 56,
101, 0, 57,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row682[] = {
+static int parser_action_row688[] = {
1,
-1, 1, 220
};
-static int parser_action_row683[] = {
+static int parser_action_row689[] = {
1,
-1, 1, 239
};
-static int parser_action_row684[] = {
+static int parser_action_row690[] = {
23,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row685[] = {
+static int parser_action_row691[] = {
23,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row686[] = {
+static int parser_action_row692[] = {
1,
-1, 1, 224
};
-static int parser_action_row687[] = {
+static int parser_action_row693[] = {
1,
-1, 1, 243
};
-static int parser_action_row688[] = {
+static int parser_action_row694[] = {
23,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row689[] = {
+static int parser_action_row695[] = {
23,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row690[] = {
+static int parser_action_row696[] = {
1,
-1, 1, 198
};
-static int parser_action_row691[] = {
+static int parser_action_row697[] = {
23,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row692[] = {
+static int parser_action_row698[] = {
23,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row693[] = {
+static int parser_action_row699[] = {
13,
-1, 1, 347,
- 59, 0, 866,
+ 59, 0, 869,
60, 0, 215,
61, 0, 216,
62, 0, 217,
69, 0, 224,
70, 0, 225
};
-static int parser_action_row694[] = {
+static int parser_action_row700[] = {
1,
-1, 1, 189
};
-static int parser_action_row695[] = {
+static int parser_action_row701[] = {
1,
-1, 1, 140
};
-static int parser_action_row696[] = {
+static int parser_action_row702[] = {
1,
-1, 1, 440
};
-static int parser_action_row697[] = {
+static int parser_action_row703[] = {
2,
- -1, 3, 696,
- 53, 0, 868
+ -1, 3, 702,
+ 53, 0, 871
};
-static int parser_action_row698[] = {
+static int parser_action_row704[] = {
2,
- -1, 3, 697,
- 23, 0, 869
+ -1, 3, 703,
+ 23, 0, 872
};
-static int parser_action_row699[] = {
+static int parser_action_row705[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row700[] = {
+static int parser_action_row706[] = {
1,
-1, 1, 741
};
-static int parser_action_row701[] = {
+static int parser_action_row707[] = {
2,
- -1, 3, 700,
- 73, 0, 698
+ -1, 3, 706,
+ 73, 0, 704
};
-static int parser_action_row702[] = {
+static int parser_action_row708[] = {
5,
-1, 1, 460,
- 12, 0, 729,
- 46, 0, 730,
+ 12, 0, 735,
+ 46, 0, 736,
96, 0, 53,
- 97, 0, 731
+ 97, 0, 737
};
-static int parser_action_row703[] = {
+static int parser_action_row709[] = {
23,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row704[] = {
+static int parser_action_row710[] = {
1,
-1, 1, 370
};
-static int parser_action_row705[] = {
+static int parser_action_row711[] = {
2,
-1, 1, 446,
- 56, 0, 873
+ 56, 0, 876
};
-static int parser_action_row706[] = {
+static int parser_action_row712[] = {
9,
-1, 1, 439,
0, 1, 441,
95, 1, 441,
109, 1, 441
};
-static int parser_action_row707[] = {
+static int parser_action_row713[] = {
1,
-1, 1, 703
};
-static int parser_action_row708[] = {
+static int parser_action_row714[] = {
20,
-1, 1, 460,
12, 0, 115,
102, 0, 58,
105, 0, 133
};
-static int parser_action_row709[] = {
+static int parser_action_row715[] = {
1,
-1, 1, 702
};
-static int parser_action_row710[] = {
+static int parser_action_row716[] = {
1,
-1, 1, 705
};
-static int parser_action_row711[] = {
+static int parser_action_row717[] = {
1,
-1, 1, 716
};
-static int parser_action_row712[] = {
+static int parser_action_row718[] = {
2,
-1, 1, 718,
81, 0, 311
};
-static int parser_action_row713[] = {
+static int parser_action_row719[] = {
2,
-1, 1, 709,
80, 0, 303
};
-static int parser_action_row714[] = {
+static int parser_action_row720[] = {
2,
-1, 1, 710,
80, 0, 303
};
-static int parser_action_row715[] = {
+static int parser_action_row721[] = {
2,
-1, 1, 711,
80, 0, 303
};
-static int parser_action_row716[] = {
+static int parser_action_row722[] = {
2,
-1, 1, 712,
80, 0, 303
};
-static int parser_action_row717[] = {
+static int parser_action_row723[] = {
2,
-1, 1, 713,
80, 0, 303
};
-static int parser_action_row718[] = {
+static int parser_action_row724[] = {
2,
-1, 1, 714,
80, 0, 303
};
-static int parser_action_row719[] = {
+static int parser_action_row725[] = {
2,
-1, 1, 715,
80, 0, 303
};
-static int parser_action_row720[] = {
+static int parser_action_row726[] = {
2,
-1, 1, 720,
82, 0, 312
};
-static int parser_action_row721[] = {
+static int parser_action_row727[] = {
3,
-1, 1, 722,
88, 0, 313,
91, 0, 314
};
-static int parser_action_row722[] = {
+static int parser_action_row728[] = {
3,
-1, 1, 724,
74, 0, 315,
75, 0, 316
};
-static int parser_action_row723[] = {
+static int parser_action_row729[] = {
3,
-1, 1, 725,
74, 0, 315,
75, 0, 316
};
-static int parser_action_row724[] = {
+static int parser_action_row730[] = {
4,
-1, 1, 727,
76, 0, 317,
78, 0, 318,
79, 0, 319
};
-static int parser_action_row725[] = {
+static int parser_action_row731[] = {
4,
-1, 1, 728,
76, 0, 317,
78, 0, 318,
79, 0, 319
};
-static int parser_action_row726[] = {
+static int parser_action_row732[] = {
1,
-1, 1, 730
};
-static int parser_action_row727[] = {
+static int parser_action_row733[] = {
1,
-1, 1, 731
};
-static int parser_action_row728[] = {
+static int parser_action_row734[] = {
1,
-1, 1, 732
};
-static int parser_action_row729[] = {
+static int parser_action_row735[] = {
1,
-1, 1, 734
};
-static int parser_action_row730[] = {
+static int parser_action_row736[] = {
2,
-1, 1, 767,
52, 0, 274
};
-static int parser_action_row731[] = {
+static int parser_action_row737[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row732[] = {
+static int parser_action_row738[] = {
3,
-1, 1, 749,
52, 0, 274,
58, 0, 213
};
-static int parser_action_row733[] = {
+static int parser_action_row739[] = {
2,
- -1, 3, 732,
- 98, 0, 880
+ -1, 3, 738,
+ 98, 0, 883
};
-static int parser_action_row734[] = {
+static int parser_action_row740[] = {
2,
-1, 1, 457,
- 97, 0, 881
+ 97, 0, 884
};
-static int parser_action_row735[] = {
+static int parser_action_row741[] = {
3,
-1, 1, 459,
96, 0, 53,
- 97, 0, 882
+ 97, 0, 885
};
-static int parser_action_row736[] = {
+static int parser_action_row742[] = {
1,
-1, 1, 760
};
-static int parser_action_row737[] = {
+static int parser_action_row743[] = {
1,
-1, 1, 164
};
-static int parser_action_row738[] = {
+static int parser_action_row744[] = {
30,
-1, 1, 460,
- 9, 0, 884,
+ 9, 0, 887,
12, 0, 31,
15, 0, 33,
16, 0, 34,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row739[] = {
+static int parser_action_row745[] = {
1,
-1, 1, 154
};
-static int parser_action_row740[] = {
+static int parser_action_row746[] = {
23,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row741[] = {
+static int parser_action_row747[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row742[] = {
+static int parser_action_row748[] = {
34,
-1, 1, 460,
0, 0, 1,
1, 0, 2,
- 9, 0, 887,
- 12, 0, 888,
- 15, 0, 889,
+ 9, 0, 890,
+ 12, 0, 891,
+ 15, 0, 892,
16, 0, 34,
- 22, 0, 890,
- 24, 0, 891,
- 25, 0, 892,
- 26, 0, 893,
- 27, 0, 894,
- 33, 0, 895,
- 34, 0, 896,
- 35, 0, 897,
- 36, 0, 898,
- 37, 0, 899,
+ 22, 0, 893,
+ 24, 0, 894,
+ 25, 0, 895,
+ 26, 0, 896,
+ 27, 0, 897,
+ 33, 0, 898,
+ 34, 0, 899,
+ 35, 0, 900,
+ 36, 0, 901,
+ 37, 0, 902,
38, 0, 44,
42, 0, 45,
43, 0, 46,
44, 0, 47,
45, 0, 48,
- 50, 0, 900,
- 51, 0, 901,
+ 50, 0, 903,
+ 51, 0, 904,
52, 0, 51,
54, 0, 52,
95, 0, 3,
96, 0, 53,
- 97, 0, 902,
+ 97, 0, 905,
99, 0, 55,
100, 0, 56,
101, 0, 57,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row743[] = {
+static int parser_action_row749[] = {
33,
-1, 1, 460,
0, 0, 1,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row744[] = {
+static int parser_action_row750[] = {
4,
-1, 1, 489,
0, 0, 1,
1, 0, 2,
- 56, 0, 553
+ 56, 0, 556
};
-static int parser_action_row745[] = {
+static int parser_action_row751[] = {
33,
-1, 1, 460,
0, 0, 1,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row746[] = {
+static int parser_action_row752[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row747[] = {
+static int parser_action_row753[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row748[] = {
+static int parser_action_row754[] = {
2,
- -1, 3, 747,
- 97, 0, 927
+ -1, 3, 753,
+ 97, 0, 930
};
-static int parser_action_row749[] = {
+static int parser_action_row755[] = {
2,
- -1, 3, 748,
- 23, 0, 928
+ -1, 3, 754,
+ 23, 0, 931
};
-static int parser_action_row750[] = {
+static int parser_action_row756[] = {
1,
-1, 1, 328
};
-static int parser_action_row751[] = {
+static int parser_action_row757[] = {
5,
-1, 1, 460,
- 12, 0, 774,
- 46, 0, 668,
+ 12, 0, 780,
+ 46, 0, 674,
96, 0, 53,
- 97, 0, 775
+ 97, 0, 781
};
-static int parser_action_row752[] = {
+static int parser_action_row758[] = {
1,
-1, 1, 290
};
-static int parser_action_row753[] = {
+static int parser_action_row759[] = {
22,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row754[] = {
+static int parser_action_row760[] = {
1,
-1, 1, 289
};
-static int parser_action_row755[] = {
+static int parser_action_row761[] = {
1,
-1, 1, 292
};
-static int parser_action_row756[] = {
+static int parser_action_row762[] = {
1,
-1, 1, 303
};
-static int parser_action_row757[] = {
+static int parser_action_row763[] = {
2,
-1, 1, 305,
81, 0, 364
};
-static int parser_action_row758[] = {
+static int parser_action_row764[] = {
2,
-1, 1, 296,
80, 0, 356
};
-static int parser_action_row759[] = {
+static int parser_action_row765[] = {
2,
-1, 1, 297,
80, 0, 356
};
-static int parser_action_row760[] = {
+static int parser_action_row766[] = {
2,
-1, 1, 298,
80, 0, 356
};
-static int parser_action_row761[] = {
+static int parser_action_row767[] = {
2,
-1, 1, 299,
80, 0, 356
};
-static int parser_action_row762[] = {
+static int parser_action_row768[] = {
2,
-1, 1, 300,
80, 0, 356
};
-static int parser_action_row763[] = {
+static int parser_action_row769[] = {
2,
-1, 1, 301,
80, 0, 356
};
-static int parser_action_row764[] = {
+static int parser_action_row770[] = {
2,
-1, 1, 302,
80, 0, 356
};
-static int parser_action_row765[] = {
+static int parser_action_row771[] = {
2,
-1, 1, 307,
82, 0, 365
};
-static int parser_action_row766[] = {
+static int parser_action_row772[] = {
3,
-1, 1, 309,
88, 0, 366,
91, 0, 367
};
-static int parser_action_row767[] = {
+static int parser_action_row773[] = {
3,
-1, 1, 311,
74, 0, 368,
75, 0, 369
};
-static int parser_action_row768[] = {
+static int parser_action_row774[] = {
3,
-1, 1, 312,
74, 0, 368,
75, 0, 369
};
-static int parser_action_row769[] = {
+static int parser_action_row775[] = {
4,
-1, 1, 314,
76, 0, 370,
78, 0, 371,
79, 0, 372
};
-static int parser_action_row770[] = {
+static int parser_action_row776[] = {
4,
-1, 1, 315,
76, 0, 370,
78, 0, 371,
79, 0, 372
};
-static int parser_action_row771[] = {
+static int parser_action_row777[] = {
1,
-1, 1, 317
};
-static int parser_action_row772[] = {
+static int parser_action_row778[] = {
1,
-1, 1, 318
};
-static int parser_action_row773[] = {
+static int parser_action_row779[] = {
1,
-1, 1, 319
};
-static int parser_action_row774[] = {
+static int parser_action_row780[] = {
1,
-1, 1, 321
};
-static int parser_action_row775[] = {
+static int parser_action_row781[] = {
2,
-1, 1, 354,
52, 0, 274
};
-static int parser_action_row776[] = {
+static int parser_action_row782[] = {
3,
-1, 1, 336,
52, 0, 274,
58, 0, 213
};
-static int parser_action_row777[] = {
+static int parser_action_row783[] = {
2,
- -1, 3, 776,
- 98, 0, 932
+ -1, 3, 782,
+ 98, 0, 935
};
-static int parser_action_row778[] = {
+static int parser_action_row784[] = {
2,
-1, 1, 457,
- 97, 0, 933
+ 97, 0, 936
};
-static int parser_action_row779[] = {
+static int parser_action_row785[] = {
3,
-1, 1, 459,
96, 0, 53,
- 97, 0, 934
+ 97, 0, 937
};
-static int parser_action_row780[] = {
+static int parser_action_row786[] = {
1,
-1, 1, 347
};
-static int parser_action_row781[] = {
+static int parser_action_row787[] = {
1,
-1, 1, 282
};
-static int parser_action_row782[] = {
+static int parser_action_row788[] = {
1,
-1, 1, 157
};
-static int parser_action_row783[] = {
+static int parser_action_row789[] = {
1,
-1, 1, 156
};
-static int parser_action_row784[] = {
+static int parser_action_row790[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row785[] = {
+static int parser_action_row791[] = {
1,
-1, 1, 624
};
-static int parser_action_row786[] = {
- 3,
- -1, 3, 785,
- 47, 0, 394,
- 96, 0, 395
+static int parser_action_row792[] = {
+ 4,
+ -1, 3, 791,
+ 47, 0, 398,
+ 96, 0, 386,
+ 97, 0, 387
};
-static int parser_action_row787[] = {
+static int parser_action_row793[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row788[] = {
+static int parser_action_row794[] = {
5,
-1, 1, 81,
18, 0, 233,
20, 0, 235,
21, 0, 236
};
-static int parser_action_row789[] = {
+static int parser_action_row795[] = {
1,
-1, 1, 794
};
-static int parser_action_row790[] = {
+static int parser_action_row796[] = {
3,
- -1, 3, 789,
+ -1, 3, 795,
96, 0, 53,
- 97, 0, 941
+ 97, 0, 944
};
-static int parser_action_row791[] = {
+static int parser_action_row797[] = {
+ 1,
+ -1, 1, 463
+};
+static int parser_action_row798[] = {
5,
-1, 1, 81,
18, 0, 233,
20, 0, 235,
21, 0, 236
};
-static int parser_action_row792[] = {
+static int parser_action_row799[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row793[] = {
+static int parser_action_row800[] = {
2,
-1, 1, 410,
- 56, 0, 946
+ 56, 0, 949
};
-static int parser_action_row794[] = {
+static int parser_action_row801[] = {
1,
-1, 1, 438
};
-static int parser_action_row795[] = {
+static int parser_action_row802[] = {
1,
-1, 1, 437
};
-static int parser_action_row796[] = {
+static int parser_action_row803[] = {
1,
-1, 1, 436
};
-static int parser_action_row797[] = {
+static int parser_action_row804[] = {
3,
-1, 1, 407,
- 52, 0, 949,
+ 52, 0, 952,
94, 0, 202
};
-static int parser_action_row798[] = {
+static int parser_action_row805[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row799[] = {
+static int parser_action_row806[] = {
2,
- -1, 3, 798,
- 59, 0, 952
+ -1, 3, 805,
+ 59, 0, 955
};
-static int parser_action_row800[] = {
+static int parser_action_row807[] = {
33,
-1, 1, 460,
0, 0, 1,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row801[] = {
+static int parser_action_row808[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row802[] = {
+static int parser_action_row809[] = {
1,
-1, 1, 147
};
-static int parser_action_row803[] = {
- 3,
- -1, 3, 802,
- 47, 0, 394,
- 96, 0, 395
-};
-static int parser_action_row804[] = {
+static int parser_action_row810[] = {
1,
-1, 1, 200
};
-static int parser_action_row805[] = {
+static int parser_action_row811[] = {
+ 4,
+ -1, 3, 810,
+ 47, 0, 398,
+ 96, 0, 386,
+ 97, 0, 387
+};
+static int parser_action_row812[] = {
2,
- -1, 3, 804,
- 57, 0, 957
+ -1, 3, 811,
+ 57, 0, 960
};
-static int parser_action_row806[] = {
+static int parser_action_row813[] = {
1,
-1, 1, 521
};
-static int parser_action_row807[] = {
+static int parser_action_row814[] = {
25,
-1, 1, 460,
- 12, 0, 774,
- 46, 0, 668,
- 54, 0, 618,
- 74, 0, 619,
- 75, 0, 620,
- 76, 0, 405,
- 77, 0, 406,
- 78, 0, 407,
- 79, 0, 408,
- 80, 0, 409,
- 81, 0, 410,
- 82, 0, 411,
- 83, 0, 621,
- 84, 0, 413,
- 85, 0, 414,
- 86, 0, 415,
- 87, 0, 416,
- 88, 0, 417,
- 89, 0, 418,
- 90, 0, 419,
- 91, 0, 420,
- 92, 0, 421,
- 96, 0, 53,
- 97, 0, 958
+ 12, 0, 780,
+ 46, 0, 674,
+ 54, 0, 624,
+ 74, 0, 625,
+ 75, 0, 626,
+ 76, 0, 409,
+ 77, 0, 410,
+ 78, 0, 411,
+ 79, 0, 412,
+ 80, 0, 413,
+ 81, 0, 414,
+ 82, 0, 415,
+ 83, 0, 627,
+ 84, 0, 417,
+ 85, 0, 418,
+ 86, 0, 419,
+ 87, 0, 420,
+ 88, 0, 421,
+ 89, 0, 422,
+ 90, 0, 423,
+ 91, 0, 424,
+ 92, 0, 425,
+ 96, 0, 53,
+ 97, 0, 961
};
-static int parser_action_row808[] = {
+static int parser_action_row815[] = {
2,
-1, 1, 407,
94, 0, 202
};
-static int parser_action_row809[] = {
+static int parser_action_row816[] = {
53,
-1, 1, 460,
12, 0, 168,
26, 0, 37,
27, 0, 38,
31, 0, 170,
- 33, 0, 397,
- 34, 0, 398,
- 35, 0, 399,
- 36, 0, 400,
+ 33, 0, 401,
+ 34, 0, 402,
+ 35, 0, 403,
+ 36, 0, 404,
37, 0, 43,
38, 0, 171,
40, 0, 172,
43, 0, 46,
44, 0, 47,
45, 0, 48,
- 47, 0, 394,
+ 47, 0, 398,
48, 0, 173,
50, 0, 49,
- 51, 0, 401,
+ 51, 0, 405,
52, 0, 51,
- 54, 0, 402,
- 74, 0, 403,
- 75, 0, 404,
- 76, 0, 405,
- 77, 0, 406,
- 78, 0, 407,
- 79, 0, 408,
- 80, 0, 409,
- 81, 0, 410,
- 82, 0, 411,
- 83, 0, 412,
- 84, 0, 413,
- 85, 0, 414,
- 86, 0, 415,
- 87, 0, 416,
- 88, 0, 417,
- 89, 0, 418,
- 90, 0, 419,
- 91, 0, 420,
- 92, 0, 421,
+ 54, 0, 406,
+ 74, 0, 407,
+ 75, 0, 408,
+ 76, 0, 409,
+ 77, 0, 410,
+ 78, 0, 411,
+ 79, 0, 412,
+ 80, 0, 413,
+ 81, 0, 414,
+ 82, 0, 415,
+ 83, 0, 416,
+ 84, 0, 417,
+ 85, 0, 418,
+ 86, 0, 419,
+ 87, 0, 420,
+ 88, 0, 421,
+ 89, 0, 422,
+ 90, 0, 423,
+ 91, 0, 424,
+ 92, 0, 425,
94, 0, 202,
- 96, 0, 422,
- 97, 0, 423,
+ 96, 0, 386,
+ 97, 0, 426,
99, 0, 55,
100, 0, 56,
101, 0, 57,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row810[] = {
+static int parser_action_row817[] = {
2,
-1, 1, 407,
94, 0, 202
};
-static int parser_action_row811[] = {
+static int parser_action_row818[] = {
1,
-1, 1, 1074
};
-static int parser_action_row812[] = {
+static int parser_action_row819[] = {
25,
-1, 1, 520,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row813[] = {
+static int parser_action_row820[] = {
25,
-1, 1, 520,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row814[] = {
+static int parser_action_row821[] = {
14,
-1, 1, 348,
52, 0, 274,
- 59, 0, 965,
+ 59, 0, 968,
60, 0, 215,
61, 0, 216,
62, 0, 217,
69, 0, 224,
70, 0, 225
};
-static int parser_action_row815[] = {
+static int parser_action_row822[] = {
1,
-1, 1, 524
};
-static int parser_action_row816[] = {
+static int parser_action_row823[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row817[] = {
+static int parser_action_row824[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row818[] = {
+static int parser_action_row825[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row819[] = {
+static int parser_action_row826[] = {
2,
-1, 1, 407,
94, 0, 202
};
-static int parser_action_row820[] = {
+static int parser_action_row827[] = {
24,
-1, 1, 460,
12, 0, 168,
- 22, 0, 444,
- 27, 0, 445,
+ 22, 0, 447,
+ 27, 0, 448,
31, 0, 170,
38, 0, 171,
40, 0, 172,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row821[] = {
+static int parser_action_row828[] = {
1,
-1, 1, 1076
};
-static int parser_action_row822[] = {
+static int parser_action_row829[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row823[] = {
+static int parser_action_row830[] = {
2,
-1, 1, 453,
58, 0, 213
};
-static int parser_action_row824[] = {
+static int parser_action_row831[] = {
2,
-1, 1, 78,
- 14, 0, 973
+ 14, 0, 976
};
-static int parser_action_row825[] = {
+static int parser_action_row832[] = {
2,
- -1, 3, 824,
- 97, 0, 975
+ -1, 3, 831,
+ 97, 0, 978
};
-static int parser_action_row826[] = {
+static int parser_action_row833[] = {
4,
- -1, 3, 825,
+ -1, 3, 832,
0, 0, 87,
1, 0, 88,
95, 0, 89
};
-static int parser_action_row827[] = {
+static int parser_action_row834[] = {
2,
-1, 1, 78,
- 14, 0, 973
+ 14, 0, 976
};
-static int parser_action_row828[] = {
+static int parser_action_row835[] = {
2,
-1, 1, 104,
- 59, 0, 978
+ 59, 0, 981
};
-static int parser_action_row829[] = {
+static int parser_action_row836[] = {
1,
-1, 1, 106
};
-static int parser_action_row830[] = {
+static int parser_action_row837[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row831[] = {
+static int parser_action_row838[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row832[] = {
+static int parser_action_row839[] = {
4,
-1, 1, 124,
- 4, 0, 981,
- 14, 0, 982,
- 15, 0, 983
+ 4, 0, 984,
+ 14, 0, 985,
+ 15, 0, 986
};
-static int parser_action_row833[] = {
+static int parser_action_row840[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row834[] = {
+static int parser_action_row841[] = {
1,
-1, 1, 112
};
-static int parser_action_row835[] = {
+static int parser_action_row842[] = {
2,
-1, 1, 108,
- 59, 0, 828
+ 59, 0, 835
};
-static int parser_action_row836[] = {
+static int parser_action_row843[] = {
1,
-1, 1, 466
};
-static int parser_action_row837[] = {
+static int parser_action_row844[] = {
1,
-1, 1, 468
};
-static int parser_action_row838[] = {
+static int parser_action_row845[] = {
22,
- -1, 3, 837,
- 54, 0, 639,
- 74, 0, 640,
- 75, 0, 641,
- 76, 0, 642,
- 77, 0, 643,
- 78, 0, 644,
- 79, 0, 645,
- 80, 0, 646,
- 81, 0, 647,
- 82, 0, 648,
- 83, 0, 649,
- 84, 0, 650,
- 85, 0, 651,
- 86, 0, 652,
- 87, 0, 653,
- 88, 0, 654,
- 89, 0, 655,
- 90, 0, 656,
- 91, 0, 657,
- 92, 0, 658,
- 97, 0, 834
-};
-static int parser_action_row839[] = {
- 2,
- -1, 1, 461,
- 58, 0, 212
-};
-static int parser_action_row840[] = {
- 2,
- -1, 3, 839,
- 58, 0, 213
+ -1, 3, 844,
+ 54, 0, 645,
+ 74, 0, 646,
+ 75, 0, 647,
+ 76, 0, 648,
+ 77, 0, 649,
+ 78, 0, 650,
+ 79, 0, 651,
+ 80, 0, 652,
+ 81, 0, 653,
+ 82, 0, 654,
+ 83, 0, 655,
+ 84, 0, 656,
+ 85, 0, 657,
+ 86, 0, 658,
+ 87, 0, 659,
+ 88, 0, 660,
+ 89, 0, 661,
+ 90, 0, 662,
+ 91, 0, 663,
+ 92, 0, 664,
+ 97, 0, 841
};
-static int parser_action_row841[] = {
+static int parser_action_row846[] = {
7,
-1, 1, 487,
0, 0, 1,
1, 0, 2,
28, 0, 83,
- 54, 0, 989,
+ 54, 0, 992,
95, 0, 3,
108, 0, 84
};
-static int parser_action_row842[] = {
- 2,
- -1, 3, 841,
- 96, 0, 999
-};
-static int parser_action_row843[] = {
- 3,
- -1, 3, 842,
- 96, 0, 1000,
- 97, 0, 839
-};
-static int parser_action_row844[] = {
+static int parser_action_row847[] = {
1,
-1, 1, 445
};
-static int parser_action_row845[] = {
+static int parser_action_row848[] = {
1,
-1, 1, 353
};
-static int parser_action_row846[] = {
+static int parser_action_row849[] = {
1,
-1, 1, 192
};
-static int parser_action_row847[] = {
+static int parser_action_row850[] = {
3,
- -1, 3, 846,
+ -1, 3, 849,
31, 0, 1002,
52, 0, 1003
};
-static int parser_action_row848[] = {
+static int parser_action_row851[] = {
23,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row849[] = {
+static int parser_action_row852[] = {
23,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row850[] = {
+static int parser_action_row853[] = {
13,
-1, 1, 335,
59, 0, 1006,
69, 0, 224,
70, 0, 225
};
-static int parser_action_row851[] = {
+static int parser_action_row854[] = {
1,
-1, 1, 183
};
-static int parser_action_row852[] = {
+static int parser_action_row855[] = {
13,
-1, 1, 333,
59, 0, 1008,
69, 0, 224,
70, 0, 225
};
-static int parser_action_row853[] = {
+static int parser_action_row856[] = {
24,
-1, 1, 444,
12, 0, 115,
44, 0, 122,
45, 0, 123,
48, 0, 124,
- 52, 0, 484,
+ 52, 0, 487,
74, 0, 126,
75, 0, 127,
83, 0, 128,
102, 0, 58,
105, 0, 133
};
-static int parser_action_row854[] = {
+static int parser_action_row857[] = {
38,
-1, 1, 444,
12, 0, 115,
102, 0, 58,
105, 0, 133
};
-static int parser_action_row855[] = {
+static int parser_action_row858[] = {
24,
-1, 1, 444,
12, 0, 115,
44, 0, 122,
45, 0, 123,
48, 0, 124,
- 52, 0, 484,
+ 52, 0, 487,
74, 0, 126,
75, 0, 127,
83, 0, 128,
102, 0, 58,
105, 0, 133
};
-static int parser_action_row856[] = {
+static int parser_action_row859[] = {
39,
-1, 1, 444,
12, 0, 115,
102, 0, 58,
105, 0, 133
};
-static int parser_action_row857[] = {
+static int parser_action_row860[] = {
3,
-1, 1, 458,
12, 0, 1020,
97, 0, 1021
};
-static int parser_action_row858[] = {
+static int parser_action_row861[] = {
1,
-1, 1, 400
};
-static int parser_action_row859[] = {
+static int parser_action_row862[] = {
1,
-1, 1, 443
};
-static int parser_action_row860[] = {
+static int parser_action_row863[] = {
2,
- -1, 3, 859,
+ -1, 3, 862,
53, 0, 1022
};
-static int parser_action_row861[] = {
+static int parser_action_row864[] = {
1,
-1, 1, 219
};
-static int parser_action_row862[] = {
+static int parser_action_row865[] = {
1,
-1, 1, 238
};
-static int parser_action_row863[] = {
+static int parser_action_row866[] = {
1,
-1, 1, 223
};
-static int parser_action_row864[] = {
+static int parser_action_row867[] = {
1,
-1, 1, 242
};
-static int parser_action_row865[] = {
+static int parser_action_row868[] = {
1,
-1, 1, 222
};
-static int parser_action_row866[] = {
+static int parser_action_row869[] = {
1,
-1, 1, 241
};
-static int parser_action_row867[] = {
+static int parser_action_row870[] = {
23,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row868[] = {
+static int parser_action_row871[] = {
23,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row869[] = {
+static int parser_action_row872[] = {
1,
-1, 1, 439
};
-static int parser_action_row870[] = {
+static int parser_action_row873[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row871[] = {
+static int parser_action_row874[] = {
3,
- -1, 3, 870,
+ -1, 3, 873,
96, 0, 53,
97, 0, 1026
};
-static int parser_action_row872[] = {
+static int parser_action_row875[] = {
2,
- -1, 3, 871,
+ -1, 3, 874,
98, 0, 1029
};
-static int parser_action_row873[] = {
+static int parser_action_row876[] = {
1,
-1, 1, 371
};
-static int parser_action_row874[] = {
+static int parser_action_row877[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row875[] = {
+static int parser_action_row878[] = {
1,
-1, 1, 1083
};
-static int parser_action_row876[] = {
+static int parser_action_row879[] = {
2,
-1, 1, 447,
- 56, 0, 873
+ 56, 0, 876
};
-static int parser_action_row877[] = {
+static int parser_action_row880[] = {
1,
-1, 1, 704
};
-static int parser_action_row878[] = {
+static int parser_action_row881[] = {
1,
-1, 1, 766
};
-static int parser_action_row879[] = {
+static int parser_action_row882[] = {
3,
- -1, 3, 878,
+ -1, 3, 881,
31, 0, 1032,
52, 0, 1033
};
-static int parser_action_row880[] = {
+static int parser_action_row883[] = {
1,
-1, 1, 748
};
-static int parser_action_row881[] = {
+static int parser_action_row884[] = {
1,
-1, 1, 746
};
-static int parser_action_row882[] = {
+static int parser_action_row885[] = {
2,
-1, 1, 751,
52, 0, 274
};
-static int parser_action_row883[] = {
+static int parser_action_row886[] = {
3,
-1, 1, 755,
52, 0, 274,
58, 0, 213
};
-static int parser_action_row884[] = {
+static int parser_action_row887[] = {
2,
-1, 1, 458,
97, 0, 1036
};
-static int parser_action_row885[] = {
+static int parser_action_row888[] = {
1,
-1, 1, 165
};
-static int parser_action_row886[] = {
+static int parser_action_row889[] = {
1,
-1, 1, 205
};
-static int parser_action_row887[] = {
+static int parser_action_row890[] = {
23,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row888[] = {
+static int parser_action_row891[] = {
1,
-1, 1, 266
};
-static int parser_action_row889[] = {
+static int parser_action_row892[] = {
26,
-1, 1, 444,
12, 0, 115,
102, 0, 58,
105, 0, 133
};
-static int parser_action_row890[] = {
+static int parser_action_row893[] = {
33,
-1, 1, 460,
0, 0, 1,
1, 0, 2,
9, 0, 1039,
- 12, 0, 888,
- 15, 0, 889,
+ 12, 0, 891,
+ 15, 0, 892,
16, 0, 34,
- 22, 0, 890,
- 25, 0, 892,
- 26, 0, 893,
- 27, 0, 894,
- 33, 0, 895,
- 34, 0, 896,
- 35, 0, 897,
- 36, 0, 898,
- 37, 0, 899,
+ 22, 0, 893,
+ 25, 0, 895,
+ 26, 0, 896,
+ 27, 0, 897,
+ 33, 0, 898,
+ 34, 0, 899,
+ 35, 0, 900,
+ 36, 0, 901,
+ 37, 0, 902,
38, 0, 44,
42, 0, 45,
43, 0, 46,
44, 0, 47,
45, 0, 48,
- 50, 0, 900,
- 51, 0, 901,
+ 50, 0, 903,
+ 51, 0, 904,
52, 0, 51,
54, 0, 52,
95, 0, 3,
96, 0, 53,
- 97, 0, 902,
+ 97, 0, 905,
99, 0, 55,
100, 0, 56,
101, 0, 57,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row891[] = {
+static int parser_action_row894[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row892[] = {
+static int parser_action_row895[] = {
33,
-1, 1, 460,
0, 0, 1,
1, 0, 2,
- 9, 0, 588,
+ 9, 0, 591,
12, 0, 31,
15, 0, 33,
16, 0, 34,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row893[] = {
+static int parser_action_row896[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row894[] = {
+static int parser_action_row897[] = {
33,
-1, 1, 460,
0, 0, 1,
1, 0, 2,
9, 0, 1039,
- 12, 0, 888,
- 15, 0, 889,
+ 12, 0, 891,
+ 15, 0, 892,
16, 0, 34,
- 22, 0, 890,
- 25, 0, 892,
- 26, 0, 893,
- 27, 0, 894,
- 33, 0, 895,
- 34, 0, 896,
- 35, 0, 897,
- 36, 0, 898,
- 37, 0, 899,
+ 22, 0, 893,
+ 25, 0, 895,
+ 26, 0, 896,
+ 27, 0, 897,
+ 33, 0, 898,
+ 34, 0, 899,
+ 35, 0, 900,
+ 36, 0, 901,
+ 37, 0, 902,
38, 0, 44,
42, 0, 45,
43, 0, 46,
44, 0, 47,
45, 0, 48,
- 50, 0, 900,
- 51, 0, 901,
+ 50, 0, 903,
+ 51, 0, 904,
52, 0, 51,
54, 0, 52,
95, 0, 3,
96, 0, 53,
- 97, 0, 902,
+ 97, 0, 905,
99, 0, 55,
100, 0, 56,
101, 0, 57,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row895[] = {
+static int parser_action_row898[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row896[] = {
+static int parser_action_row899[] = {
26,
-1, 1, 169,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row897[] = {
+static int parser_action_row900[] = {
3,
-1, 1, 174,
24, 1, 904,
49, 0, 195
};
-static int parser_action_row898[] = {
+static int parser_action_row901[] = {
3,
-1, 1, 171,
24, 1, 901,
49, 0, 195
};
-static int parser_action_row899[] = {
+static int parser_action_row902[] = {
2,
-1, 1, 173,
24, 1, 903
};
-static int parser_action_row900[] = {
+static int parser_action_row903[] = {
23,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row901[] = {
+static int parser_action_row904[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row902[] = {
+static int parser_action_row905[] = {
2,
- -1, 3, 901,
+ -1, 3, 904,
11, 0, 1056
};
-static int parser_action_row903[] = {
+static int parser_action_row906[] = {
39,
-1, 1, 444,
12, 0, 115,
102, 0, 58,
105, 0, 133
};
-static int parser_action_row904[] = {
+static int parser_action_row907[] = {
1,
-1, 1, 259
};
-static int parser_action_row905[] = {
+static int parser_action_row908[] = {
2,
-1, 1, 167,
24, 1, 897
};
-static int parser_action_row906[] = {
+static int parser_action_row909[] = {
2,
-1, 1, 168,
24, 1, 898
};
-static int parser_action_row907[] = {
+static int parser_action_row910[] = {
1,
-1, 1, 264
};
-static int parser_action_row908[] = {
+static int parser_action_row911[] = {
3,
- -1, 3, 907,
+ -1, 3, 910,
54, 0, 241,
73, 0, 1058
};
-static int parser_action_row909[] = {
+static int parser_action_row912[] = {
3,
- -1, 3, 908,
+ -1, 3, 911,
41, 0, 1059,
98, 0, 252
};
-static int parser_action_row910[] = {
+static int parser_action_row913[] = {
3,
-1, 1, 457,
12, 0, 1060,
97, 0, 1061
};
-static int parser_action_row911[] = {
+static int parser_action_row914[] = {
31,
-1, 1, 460,
- 9, 0, 887,
+ 9, 0, 890,
12, 0, 31,
15, 0, 33,
16, 0, 34,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row912[] = {
+static int parser_action_row915[] = {
2,
- -1, 3, 911,
+ -1, 3, 914,
24, 0, 1066
};
-static int parser_action_row913[] = {
+static int parser_action_row916[] = {
1,
-1, 1, 906
};
-static int parser_action_row914[] = {
+static int parser_action_row917[] = {
1,
-1, 1, 907
};
-static int parser_action_row915[] = {
+static int parser_action_row918[] = {
1,
-1, 1, 909
};
-static int parser_action_row916[] = {
+static int parser_action_row919[] = {
1,
-1, 1, 908
};
-static int parser_action_row917[] = {
+static int parser_action_row920[] = {
1,
-1, 1, 910
};
-static int parser_action_row918[] = {
+static int parser_action_row921[] = {
1,
-1, 1, 911
};
-static int parser_action_row919[] = {
+static int parser_action_row922[] = {
1,
-1, 1, 912
};
-static int parser_action_row920[] = {
+static int parser_action_row923[] = {
4,
-1, 1, 459,
12, 0, 1067,
96, 0, 53,
97, 0, 1068
};
-static int parser_action_row921[] = {
+static int parser_action_row924[] = {
1,
-1, 1, 270
};
-static int parser_action_row922[] = {
+static int parser_action_row925[] = {
2,
- -1, 3, 921,
+ -1, 3, 924,
49, 0, 195
};
-static int parser_action_row923[] = {
+static int parser_action_row926[] = {
2,
- -1, 3, 922,
+ -1, 3, 925,
53, 0, 1071
};
-static int parser_action_row924[] = {
+static int parser_action_row927[] = {
1,
-1, 1, 272
};
-static int parser_action_row925[] = {
+static int parser_action_row928[] = {
2,
- -1, 3, 924,
+ -1, 3, 927,
49, 0, 195
};
-static int parser_action_row926[] = {
+static int parser_action_row929[] = {
3,
- -1, 3, 925,
+ -1, 3, 928,
52, 0, 336,
97, 0, 337
};
-static int parser_action_row927[] = {
+static int parser_action_row930[] = {
23,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row928[] = {
+static int parser_action_row931[] = {
1,
-1, 1, 452
};
-static int parser_action_row929[] = {
+static int parser_action_row932[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row930[] = {
+static int parser_action_row933[] = {
2,
- -1, 3, 929,
+ -1, 3, 932,
98, 0, 1076
};
-static int parser_action_row931[] = {
+static int parser_action_row934[] = {
1,
-1, 1, 291
};
-static int parser_action_row932[] = {
+static int parser_action_row935[] = {
1,
-1, 1, 335
};
-static int parser_action_row933[] = {
+static int parser_action_row936[] = {
1,
-1, 1, 333
};
-static int parser_action_row934[] = {
+static int parser_action_row937[] = {
2,
-1, 1, 338,
52, 0, 274
};
-static int parser_action_row935[] = {
+static int parser_action_row938[] = {
3,
-1, 1, 342,
52, 0, 274,
58, 0, 213
};
-static int parser_action_row936[] = {
+static int parser_action_row939[] = {
2,
-1, 1, 458,
97, 0, 1079
};
-static int parser_action_row937[] = {
- 3,
- -1, 3, 936,
- 47, 0, 394,
- 96, 0, 395
+static int parser_action_row940[] = {
+ 4,
+ -1, 3, 939,
+ 47, 0, 398,
+ 96, 0, 386,
+ 97, 0, 387
};
-static int parser_action_row938[] = {
+static int parser_action_row941[] = {
2,
-1, 1, 150,
56, 0, 1081
};
-static int parser_action_row939[] = {
+static int parser_action_row942[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row940[] = {
+static int parser_action_row943[] = {
2,
-1, 1, 30,
13, 0, 32
};
-static int parser_action_row941[] = {
+static int parser_action_row944[] = {
4,
- -1, 3, 940,
- 6, 0, 793,
- 17, 0, 794,
- 97, 0, 795
+ -1, 3, 943,
+ 6, 0, 800,
+ 17, 0, 801,
+ 97, 0, 802
};
-static int parser_action_row942[] = {
+static int parser_action_row945[] = {
3,
-1, 1, 359,
52, 0, 274,
58, 0, 213
};
-static int parser_action_row943[] = {
+static int parser_action_row946[] = {
2,
- -1, 3, 942,
+ -1, 3, 945,
97, 0, 1088
};
-static int parser_action_row944[] = {
+static int parser_action_row947[] = {
3,
- -1, 3, 943,
+ -1, 3, 946,
96, 0, 53,
97, 0, 1089
};
-static int parser_action_row945[] = {
+static int parser_action_row948[] = {
4,
- -1, 3, 944,
- 6, 0, 793,
- 17, 0, 794,
- 97, 0, 795
+ -1, 3, 947,
+ 6, 0, 800,
+ 17, 0, 801,
+ 97, 0, 802
};
-static int parser_action_row946[] = {
+static int parser_action_row949[] = {
2,
- -1, 3, 945,
+ -1, 3, 948,
53, 0, 1092
};
-static int parser_action_row947[] = {
+static int parser_action_row950[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row948[] = {
+static int parser_action_row951[] = {
1,
-1, 1, 1079
};
-static int parser_action_row949[] = {
+static int parser_action_row952[] = {
2,
-1, 1, 411,
- 56, 0, 946
+ 56, 0, 949
};
-static int parser_action_row950[] = {
+static int parser_action_row953[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row951[] = {
+static int parser_action_row954[] = {
1,
-1, 1, 408
};
-static int parser_action_row952[] = {
+static int parser_action_row955[] = {
23,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row953[] = {
+static int parser_action_row956[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row954[] = {
+static int parser_action_row957[] = {
1,
-1, 1, 277
};
-static int parser_action_row955[] = {
+static int parser_action_row958[] = {
2,
- -1, 3, 954,
+ -1, 3, 957,
49, 0, 195
};
-static int parser_action_row956[] = {
- 3,
- -1, 3, 955,
- 47, 0, 394,
- 96, 0, 395
+static int parser_action_row959[] = {
+ 4,
+ -1, 3, 958,
+ 47, 0, 398,
+ 96, 0, 386,
+ 97, 0, 387
};
-static int parser_action_row957[] = {
+static int parser_action_row960[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row958[] = {
+static int parser_action_row961[] = {
23,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row959[] = {
+static int parser_action_row962[] = {
15,
-1, 1, 336,
52, 0, 274,
69, 0, 224,
70, 0, 225
};
-static int parser_action_row960[] = {
+static int parser_action_row963[] = {
22,
-1, 1, 457,
- 54, 0, 618,
- 74, 0, 619,
- 75, 0, 620,
- 76, 0, 405,
- 77, 0, 406,
- 78, 0, 407,
- 79, 0, 408,
- 80, 0, 409,
- 81, 0, 410,
- 82, 0, 411,
- 83, 0, 621,
- 84, 0, 413,
- 85, 0, 414,
- 86, 0, 415,
- 87, 0, 416,
- 88, 0, 417,
- 89, 0, 418,
- 90, 0, 419,
- 91, 0, 420,
- 92, 0, 421,
+ 54, 0, 624,
+ 74, 0, 625,
+ 75, 0, 626,
+ 76, 0, 409,
+ 77, 0, 410,
+ 78, 0, 411,
+ 79, 0, 412,
+ 80, 0, 413,
+ 81, 0, 414,
+ 82, 0, 415,
+ 83, 0, 627,
+ 84, 0, 417,
+ 85, 0, 418,
+ 86, 0, 419,
+ 87, 0, 420,
+ 88, 0, 421,
+ 89, 0, 422,
+ 90, 0, 423,
+ 91, 0, 424,
+ 92, 0, 425,
97, 0, 1103
};
-static int parser_action_row961[] = {
+static int parser_action_row964[] = {
1,
-1, 1, 433
};
-static int parser_action_row962[] = {
+static int parser_action_row965[] = {
23,
-1, 1, 459,
- 54, 0, 618,
- 74, 0, 619,
- 75, 0, 620,
- 76, 0, 405,
- 77, 0, 406,
- 78, 0, 407,
- 79, 0, 408,
- 80, 0, 409,
- 81, 0, 410,
- 82, 0, 411,
- 83, 0, 621,
- 84, 0, 413,
- 85, 0, 414,
- 86, 0, 415,
- 87, 0, 416,
- 88, 0, 417,
- 89, 0, 418,
- 90, 0, 419,
- 91, 0, 420,
- 92, 0, 421,
+ 54, 0, 624,
+ 74, 0, 625,
+ 75, 0, 626,
+ 76, 0, 409,
+ 77, 0, 410,
+ 78, 0, 411,
+ 79, 0, 412,
+ 80, 0, 413,
+ 81, 0, 414,
+ 82, 0, 415,
+ 83, 0, 627,
+ 84, 0, 417,
+ 85, 0, 418,
+ 86, 0, 419,
+ 87, 0, 420,
+ 88, 0, 421,
+ 89, 0, 422,
+ 90, 0, 423,
+ 91, 0, 424,
+ 92, 0, 425,
96, 0, 53,
97, 0, 1104
};
-static int parser_action_row963[] = {
+static int parser_action_row966[] = {
1,
-1, 1, 386
};
-static int parser_action_row964[] = {
+static int parser_action_row967[] = {
1,
-1, 1, 388
};
-static int parser_action_row965[] = {
+static int parser_action_row968[] = {
1,
-1, 1, 385
};
-static int parser_action_row966[] = {
+static int parser_action_row969[] = {
25,
-1, 1, 520,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row967[] = {
+static int parser_action_row970[] = {
2,
- -1, 3, 966,
+ -1, 3, 969,
23, 0, 1106
};
-static int parser_action_row968[] = {
+static int parser_action_row971[] = {
3,
- -1, 3, 967,
+ -1, 3, 970,
15, 0, 1107,
- 56, 0, 745
+ 56, 0, 751
};
-static int parser_action_row969[] = {
+static int parser_action_row972[] = {
22,
-1, 1, 460,
12, 0, 1108,
102, 0, 58,
105, 0, 1125
};
-static int parser_action_row970[] = {
+static int parser_action_row973[] = {
1,
-1, 1, 384
};
-static int parser_action_row971[] = {
+static int parser_action_row974[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row972[] = {
+static int parser_action_row975[] = {
1,
-1, 1, 391
};
-static int parser_action_row973[] = {
+static int parser_action_row976[] = {
2,
- -1, 3, 972,
+ -1, 3, 975,
97, 0, 1147
};
-static int parser_action_row974[] = {
+static int parser_action_row977[] = {
5,
-1, 1, 30,
0, 0, 87,
13, 0, 32,
95, 0, 89
};
-static int parser_action_row975[] = {
+static int parser_action_row978[] = {
4,
- -1, 3, 974,
+ -1, 3, 977,
0, 0, 87,
1, 0, 88,
95, 0, 89
};
-static int parser_action_row976[] = {
+static int parser_action_row979[] = {
2,
-1, 1, 454,
58, 0, 213
};
-static int parser_action_row977[] = {
+static int parser_action_row980[] = {
1,
-1, 1, 18
};
-static int parser_action_row978[] = {
+static int parser_action_row981[] = {
4,
- -1, 3, 977,
+ -1, 3, 980,
0, 0, 87,
1, 0, 88,
95, 0, 89
};
-static int parser_action_row979[] = {
+static int parser_action_row982[] = {
1,
-1, 1, 107
};
-static int parser_action_row980[] = {
+static int parser_action_row983[] = {
2,
-1, 1, 115,
97, 0, 1153
};
-static int parser_action_row981[] = {
- 3,
- -1, 3, 980,
- 47, 0, 394,
- 96, 0, 395
+static int parser_action_row984[] = {
+ 4,
+ -1, 3, 983,
+ 47, 0, 398,
+ 96, 0, 386,
+ 97, 0, 387
};
-static int parser_action_row982[] = {
+static int parser_action_row985[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row983[] = {
+static int parser_action_row986[] = {
5,
-1, 1, 30,
0, 0, 87,
13, 0, 32,
95, 0, 89
};
-static int parser_action_row984[] = {
+static int parser_action_row987[] = {
33,
-1, 1, 460,
0, 0, 1,
1, 0, 2,
- 9, 0, 588,
+ 9, 0, 591,
12, 0, 31,
15, 0, 33,
16, 0, 34,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row985[] = {
+static int parser_action_row988[] = {
3,
-1, 1, 124,
- 4, 0, 981,
+ 4, 0, 984,
15, 0, 1161
};
-static int parser_action_row986[] = {
+static int parser_action_row989[] = {
3,
- -1, 3, 985,
+ -1, 3, 988,
28, 0, 83,
108, 0, 84
};
-static int parser_action_row987[] = {
+static int parser_action_row990[] = {
1,
-1, 1, 495
};
-static int parser_action_row988[] = {
+static int parser_action_row991[] = {
1,
-1, 1, 111
};
-static int parser_action_row989[] = {
+static int parser_action_row992[] = {
1,
-1, 1, 467
};
-static int parser_action_row990[] = {
+static int parser_action_row993[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row991[] = {
+static int parser_action_row994[] = {
2,
-1, 1, 75,
9, 1, 45
};
-static int parser_action_row992[] = {
+static int parser_action_row995[] = {
2,
- -1, 3, 991,
+ -1, 3, 994,
9, 0, 1165
};
-static int parser_action_row993[] = {
+static int parser_action_row996[] = {
1,
-1, 1, 1061
};
-static int parser_action_row994[] = {
+static int parser_action_row997[] = {
4,
- -1, 3, 993,
+ -1, 3, 996,
0, 0, 87,
1, 0, 88,
95, 0, 89
};
-static int parser_action_row995[] = {
+static int parser_action_row998[] = {
4,
-1, 1, 487,
0, 0, 1,
1, 0, 2,
95, 0, 3
};
-static int parser_action_row996[] = {
+static int parser_action_row999[] = {
1,
-1, 1, 74
};
-static int parser_action_row997[] = {
+static int parser_action_row1000[] = {
1,
-1, 1, 488
};
-static int parser_action_row998[] = {
+static int parser_action_row1001[] = {
5,
-1, 1, 30,
6, 0, 1168,
13, 0, 32,
97, 0, 1169
};
-static int parser_action_row999[] = {
+static int parser_action_row1002[] = {
5,
-1, 1, 487,
0, 0, 1,
9, 1, 489,
95, 0, 3
};
-static int parser_action_row1000[] = {
- 1,
- -1, 1, 462
-};
-static int parser_action_row1001[] = {
- 2,
- -1, 1, 464,
- 58, 0, 212
-};
-static int parser_action_row1002[] = {
- 2,
- -1, 3, 1001,
- 96, 0, 1176
-};
static int parser_action_row1003[] = {
3,
-1, 1, 489,
static int parser_action_row1014[] = {
13,
-1, 1, 337,
- 59, 0, 1185,
+ 59, 0, 1184,
60, 0, 215,
61, 0, 216,
62, 0, 217,
static int parser_action_row1019[] = {
13,
-1, 1, 341,
- 59, 0, 1189,
+ 59, 0, 1188,
60, 0, 215,
61, 0, 216,
62, 0, 217,
44, 0, 122,
45, 0, 123,
48, 0, 124,
- 52, 0, 484,
+ 52, 0, 487,
74, 0, 126,
75, 0, 127,
83, 0, 128,
48, 0, 124,
52, 0, 125,
54, 1, 340,
- 59, 0, 1192,
+ 59, 0, 1191,
60, 0, 215,
61, 0, 216,
62, 0, 217,
static int parser_action_row1028[] = {
2,
-1, 3, 1027,
- 97, 0, 1198
+ 97, 0, 1197
};
static int parser_action_row1029[] = {
3,
-1, 3, 1028,
96, 0, 53,
- 97, 0, 1199
+ 97, 0, 1198
};
static int parser_action_row1030[] = {
3,
75, 0, 175,
83, 0, 176,
96, 0, 53,
- 97, 0, 511,
+ 97, 0, 514,
99, 0, 55,
100, 0, 56,
101, 0, 57,
static int parser_action_row1041[] = {
30,
-1, 1, 460,
- 9, 0, 1205,
+ 9, 0, 1204,
12, 0, 31,
15, 0, 33,
16, 0, 34,
static int parser_action_row1055[] = {
2,
-1, 1, 283,
- 24, 0, 1213
+ 24, 0, 1212
};
static int parser_action_row1056[] = {
23,
75, 0, 175,
83, 0, 176,
96, 0, 53,
- 97, 0, 391,
+ 97, 0, 395,
99, 0, 55,
100, 0, 56,
101, 0, 57,
105, 0, 59
};
static int parser_action_row1057[] = {
- 3,
+ 4,
-1, 3, 1056,
- 47, 0, 394,
- 96, 0, 395
+ 47, 0, 398,
+ 96, 0, 386,
+ 97, 0, 387
};
static int parser_action_row1058[] = {
2,
44, 0, 122,
45, 0, 123,
48, 0, 124,
- 52, 0, 484,
+ 52, 0, 487,
74, 0, 126,
75, 0, 127,
83, 0, 128,
48, 0, 124,
52, 0, 125,
54, 1, 346,
- 59, 0, 486,
+ 59, 0, 489,
60, 0, 215,
61, 0, 216,
62, 0, 217,
-1, 1, 460,
0, 0, 1,
1, 0, 2,
- 9, 0, 588,
+ 9, 0, 591,
12, 0, 31,
15, 0, 33,
16, 0, 34,
static int parser_action_row1064[] = {
3,
-1, 3, 1063,
- 9, 0, 887,
- 24, 0, 1221
+ 9, 0, 890,
+ 24, 0, 1220
};
static int parser_action_row1065[] = {
4,
-1, 1, 460,
0, 0, 1,
1, 0, 2,
- 9, 0, 588,
+ 9, 0, 591,
12, 0, 31,
15, 0, 33,
16, 0, 34,
44, 0, 122,
45, 0, 123,
48, 0, 124,
- 52, 0, 484,
+ 52, 0, 487,
74, 0, 126,
75, 0, 127,
83, 0, 128,
52, 0, 125,
54, 1, 350,
58, 0, 213,
- 59, 0, 491,
+ 59, 0, 494,
60, 0, 215,
61, 0, 216,
62, 0, 217,
static int parser_action_row1070[] = {
3,
-1, 1, 458,
- 12, 0, 1227,
- 97, 0, 1228
+ 12, 0, 1226,
+ 97, 0, 1227
};
static int parser_action_row1071[] = {
1,
static int parser_action_row1085[] = {
2,
-1, 3, 1084,
- 55, 0, 1234
+ 55, 0, 1233
};
static int parser_action_row1086[] = {
3,
static int parser_action_row1087[] = {
2,
-1, 1, 797,
- 94, 0, 593
+ 94, 0, 596
};
static int parser_action_row1088[] = {
1,
static int parser_action_row1091[] = {
2,
-1, 3, 1090,
- 97, 0, 1239
+ 97, 0, 1238
};
static int parser_action_row1092[] = {
12,
43, 0, 121,
44, 0, 122,
45, 0, 123,
- 52, 0, 1240,
+ 52, 0, 1239,
94, 0, 202,
99, 0, 130,
100, 0, 131,
26, 0, 37,
27, 0, 38,
31, 0, 170,
- 33, 0, 397,
- 34, 0, 398,
- 35, 0, 399,
- 36, 0, 400,
+ 33, 0, 401,
+ 34, 0, 402,
+ 35, 0, 403,
+ 36, 0, 404,
37, 0, 43,
38, 0, 171,
40, 0, 172,
43, 0, 46,
44, 0, 47,
45, 0, 48,
- 47, 0, 394,
+ 47, 0, 398,
48, 0, 173,
50, 0, 49,
- 51, 0, 401,
+ 51, 0, 405,
52, 0, 51,
- 54, 0, 402,
- 74, 0, 403,
- 75, 0, 404,
- 76, 0, 405,
- 77, 0, 406,
- 78, 0, 407,
- 79, 0, 408,
- 80, 0, 409,
- 81, 0, 410,
- 82, 0, 411,
- 83, 0, 412,
- 84, 0, 413,
- 85, 0, 414,
- 86, 0, 415,
- 87, 0, 416,
- 88, 0, 417,
- 89, 0, 418,
- 90, 0, 419,
- 91, 0, 420,
- 92, 0, 421,
+ 54, 0, 406,
+ 74, 0, 407,
+ 75, 0, 408,
+ 76, 0, 409,
+ 77, 0, 410,
+ 78, 0, 411,
+ 79, 0, 412,
+ 80, 0, 413,
+ 81, 0, 414,
+ 82, 0, 415,
+ 83, 0, 416,
+ 84, 0, 417,
+ 85, 0, 418,
+ 86, 0, 419,
+ 87, 0, 420,
+ 88, 0, 421,
+ 89, 0, 422,
+ 90, 0, 423,
+ 91, 0, 424,
+ 92, 0, 425,
94, 0, 202,
- 96, 0, 422,
- 97, 0, 423,
+ 96, 0, 386,
+ 97, 0, 426,
99, 0, 55,
100, 0, 56,
101, 0, 57,
static int parser_action_row1101[] = {
2,
-1, 3, 1100,
- 55, 0, 1249
+ 55, 0, 1248
};
static int parser_action_row1102[] = {
1,
14,
-1, 1, 338,
52, 0, 274,
- 59, 0, 1250,
+ 59, 0, 1249,
60, 0, 215,
61, 0, 216,
62, 0, 217,
-1, 1, 342,
52, 0, 274,
58, 0, 213,
- 59, 0, 1251,
+ 59, 0, 1250,
60, 0, 215,
61, 0, 216,
62, 0, 217,
static int parser_action_row1106[] = {
22,
-1, 1, 458,
- 54, 0, 618,
- 74, 0, 619,
- 75, 0, 620,
- 76, 0, 405,
- 77, 0, 406,
- 78, 0, 407,
- 79, 0, 408,
- 80, 0, 409,
- 81, 0, 410,
- 82, 0, 411,
- 83, 0, 621,
- 84, 0, 413,
- 85, 0, 414,
- 86, 0, 415,
- 87, 0, 416,
- 88, 0, 417,
- 89, 0, 418,
- 90, 0, 419,
- 91, 0, 420,
- 92, 0, 421,
- 97, 0, 1252
+ 54, 0, 624,
+ 74, 0, 625,
+ 75, 0, 626,
+ 76, 0, 409,
+ 77, 0, 410,
+ 78, 0, 411,
+ 79, 0, 412,
+ 80, 0, 413,
+ 81, 0, 414,
+ 82, 0, 415,
+ 83, 0, 627,
+ 84, 0, 417,
+ 85, 0, 418,
+ 86, 0, 419,
+ 87, 0, 420,
+ 88, 0, 421,
+ 89, 0, 422,
+ 90, 0, 423,
+ 91, 0, 424,
+ 92, 0, 425,
+ 97, 0, 1251
};
static int parser_action_row1107[] = {
3,
24,
-1, 1, 460,
12, 0, 168,
- 22, 0, 444,
- 27, 0, 445,
+ 22, 0, 447,
+ 27, 0, 448,
31, 0, 170,
38, 0, 171,
40, 0, 172,
15,
-1, 1, 460,
12, 0, 1108,
- 38, 0, 1264,
+ 38, 0, 1263,
42, 0, 1113,
43, 0, 1114,
44, 0, 1115,
static int parser_action_row1129[] = {
3,
-1, 3, 1128,
- 41, 0, 1275,
- 98, 0, 1276
+ 41, 0, 1274,
+ 98, 0, 1275
};
static int parser_action_row1130[] = {
2,
-1, 1, 457,
- 97, 0, 1277
+ 97, 0, 1276
};
static int parser_action_row1131[] = {
3,
static int parser_action_row1132[] = {
4,
-1, 1, 528,
- 29, 0, 1279,
- 30, 0, 1280,
- 32, 0, 1281
+ 29, 0, 1278,
+ 30, 0, 1279,
+ 32, 0, 1280
};
static int parser_action_row1133[] = {
1,
static int parser_action_row1135[] = {
10,
-1, 1, 537,
- 39, 0, 1282,
- 80, 0, 1283,
- 84, 0, 1284,
- 85, 0, 1285,
- 86, 0, 1286,
- 87, 0, 1287,
- 89, 0, 1288,
- 90, 0, 1289,
- 92, 0, 1290
+ 39, 0, 1281,
+ 80, 0, 1282,
+ 84, 0, 1283,
+ 85, 0, 1284,
+ 86, 0, 1285,
+ 87, 0, 1286,
+ 89, 0, 1287,
+ 90, 0, 1288,
+ 92, 0, 1289
};
static int parser_action_row1136[] = {
2,
-1, 1, 546,
- 81, 0, 1291
+ 81, 0, 1290
};
static int parser_action_row1137[] = {
2,
-1, 1, 548,
- 82, 0, 1292
+ 82, 0, 1291
};
static int parser_action_row1138[] = {
3,
-1, 1, 550,
- 88, 0, 1293,
- 91, 0, 1294
+ 88, 0, 1292,
+ 91, 0, 1293
};
static int parser_action_row1139[] = {
3,
-1, 1, 552,
- 74, 0, 1295,
- 75, 0, 1296
+ 74, 0, 1294,
+ 75, 0, 1295
};
static int parser_action_row1140[] = {
4,
-1, 1, 555,
- 76, 0, 1297,
- 78, 0, 1298,
- 79, 0, 1299
+ 76, 0, 1296,
+ 78, 0, 1297,
+ 79, 0, 1298
};
static int parser_action_row1141[] = {
1,
static int parser_action_row1142[] = {
2,
-1, 1, 562,
- 77, 0, 1300
+ 77, 0, 1299
};
static int parser_action_row1143[] = {
1,
static int parser_action_row1144[] = {
2,
-1, 1, 569,
- 73, 0, 1301
+ 73, 0, 1300
};
static int parser_action_row1145[] = {
1,
3,
-1, 1, 459,
96, 0, 53,
- 97, 0, 1302
+ 97, 0, 1301
};
static int parser_action_row1147[] = {
1,
static int parser_action_row1149[] = {
2,
-1, 3, 1148,
- 97, 0, 1304
+ 97, 0, 1303
};
static int parser_action_row1150[] = {
1,
static int parser_action_row1154[] = {
3,
-1, 1, 407,
- 57, 0, 830,
+ 57, 0, 837,
94, 0, 202
};
static int parser_action_row1155[] = {
2,
-1, 3, 1154,
- 53, 0, 1311
+ 53, 0, 1310
};
static int parser_action_row1156[] = {
4,
-1, 1, 489,
0, 0, 1,
1, 0, 2,
- 56, 0, 1312
+ 56, 0, 1311
};
static int parser_action_row1157[] = {
1,
static int parser_action_row1158[] = {
25,
-1, 3, 1157,
- 41, 0, 1316,
- 47, 0, 394,
- 54, 0, 639,
- 74, 0, 640,
- 75, 0, 641,
- 76, 0, 642,
- 77, 0, 643,
- 78, 0, 644,
- 79, 0, 645,
- 80, 0, 646,
- 81, 0, 647,
- 82, 0, 648,
- 83, 0, 649,
- 84, 0, 650,
- 85, 0, 651,
- 86, 0, 652,
- 87, 0, 653,
- 88, 0, 654,
- 89, 0, 655,
- 90, 0, 656,
- 91, 0, 657,
- 92, 0, 658,
- 96, 0, 422,
- 97, 0, 659
+ 41, 0, 1315,
+ 47, 0, 398,
+ 54, 0, 645,
+ 74, 0, 646,
+ 75, 0, 647,
+ 76, 0, 648,
+ 77, 0, 649,
+ 78, 0, 650,
+ 79, 0, 651,
+ 80, 0, 652,
+ 81, 0, 653,
+ 82, 0, 654,
+ 83, 0, 655,
+ 84, 0, 656,
+ 85, 0, 657,
+ 86, 0, 658,
+ 87, 0, 659,
+ 88, 0, 660,
+ 89, 0, 661,
+ 90, 0, 662,
+ 91, 0, 663,
+ 92, 0, 664,
+ 96, 0, 386,
+ 97, 0, 665
};
static int parser_action_row1159[] = {
4,
static int parser_action_row1161[] = {
2,
-1, 1, 471,
- 9, 0, 1323
+ 9, 0, 1324
};
static int parser_action_row1162[] = {
33,
-1, 1, 460,
0, 0, 1,
1, 0, 2,
- 9, 0, 588,
+ 9, 0, 591,
12, 0, 31,
15, 0, 33,
16, 0, 34,
static int parser_action_row1165[] = {
2,
-1, 1, 39,
- 96, 0, 1327
+ 96, 0, 1328
};
static int parser_action_row1166[] = {
1,
static int parser_action_row1168[] = {
2,
-1, 3, 1167,
- 9, 0, 1330
+ 9, 0, 1331
};
static int parser_action_row1169[] = {
1,
26, 0, 37,
27, 0, 38,
31, 0, 117,
- 33, 0, 1332,
- 34, 0, 1333,
- 35, 0, 1334,
- 36, 0, 1335,
+ 33, 0, 1333,
+ 34, 0, 1334,
+ 35, 0, 1335,
+ 36, 0, 1336,
37, 0, 43,
38, 0, 118,
40, 0, 119,
43, 0, 121,
44, 0, 122,
45, 0, 123,
- 47, 0, 394,
+ 47, 0, 398,
48, 0, 124,
50, 0, 49,
- 51, 0, 1336,
- 52, 0, 1337,
- 54, 0, 618,
- 74, 0, 1338,
- 75, 0, 1339,
- 76, 0, 405,
- 77, 0, 406,
- 78, 0, 407,
- 79, 0, 408,
- 80, 0, 409,
- 81, 0, 410,
- 82, 0, 411,
- 83, 0, 1340,
- 84, 0, 413,
- 85, 0, 414,
- 86, 0, 415,
- 87, 0, 416,
- 88, 0, 417,
- 89, 0, 418,
- 90, 0, 419,
- 91, 0, 420,
- 92, 0, 421,
+ 51, 0, 1337,
+ 52, 0, 1338,
+ 54, 0, 624,
+ 74, 0, 1339,
+ 75, 0, 1340,
+ 76, 0, 409,
+ 77, 0, 410,
+ 78, 0, 411,
+ 79, 0, 412,
+ 80, 0, 413,
+ 81, 0, 414,
+ 82, 0, 415,
+ 83, 0, 1341,
+ 84, 0, 417,
+ 85, 0, 418,
+ 86, 0, 419,
+ 87, 0, 420,
+ 88, 0, 421,
+ 89, 0, 422,
+ 90, 0, 423,
+ 91, 0, 424,
+ 92, 0, 425,
94, 0, 202,
- 96, 0, 422,
- 97, 0, 1341,
+ 96, 0, 386,
+ 97, 0, 1342,
98, 1, 460,
99, 0, 130,
100, 0, 131,
-1, 1, 44
};
static int parser_action_row1177[] = {
- 1,
- -1, 1, 463
+ 2,
+ -1, 3, 1176,
+ 45, 0, 1362
};
static int parser_action_row1178[] = {
- 2,
+ 5,
-1, 3, 1177,
- 45, 0, 1361
+ 31, 0, 1363,
+ 47, 0, 398,
+ 96, 0, 386,
+ 97, 0, 387
};
static int parser_action_row1179[] = {
- 4,
- -1, 3, 1178,
- 31, 0, 1362,
- 47, 0, 394,
- 96, 0, 395
-};
-static int parser_action_row1180[] = {
1,
-1, 1, 209
};
-static int parser_action_row1181[] = {
+static int parser_action_row1180[] = {
1,
-1, 1, 228
};
-static int parser_action_row1182[] = {
+static int parser_action_row1181[] = {
1,
-1, 1, 207
};
-static int parser_action_row1183[] = {
+static int parser_action_row1182[] = {
1,
-1, 1, 226
};
-static int parser_action_row1184[] = {
+static int parser_action_row1183[] = {
1,
-1, 1, 212
};
-static int parser_action_row1185[] = {
+static int parser_action_row1184[] = {
1,
-1, 1, 231
};
-static int parser_action_row1186[] = {
+static int parser_action_row1185[] = {
23,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1187[] = {
+static int parser_action_row1186[] = {
23,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1188[] = {
+static int parser_action_row1187[] = {
1,
-1, 1, 216
};
-static int parser_action_row1189[] = {
+static int parser_action_row1188[] = {
1,
-1, 1, 235
};
-static int parser_action_row1190[] = {
+static int parser_action_row1189[] = {
23,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1191[] = {
+static int parser_action_row1190[] = {
23,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1192[] = {
+static int parser_action_row1191[] = {
1,
-1, 1, 195
};
-static int parser_action_row1193[] = {
+static int parser_action_row1192[] = {
23,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1194[] = {
+static int parser_action_row1193[] = {
23,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1195[] = {
+static int parser_action_row1194[] = {
13,
-1, 1, 339,
- 59, 0, 1370,
+ 59, 0, 1371,
60, 0, 215,
61, 0, 216,
62, 0, 217,
69, 0, 224,
70, 0, 225
};
-static int parser_action_row1196[] = {
+static int parser_action_row1195[] = {
1,
-1, 1, 185
};
-static int parser_action_row1197[] = {
+static int parser_action_row1196[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1198[] = {
+static int parser_action_row1197[] = {
1,
-1, 1, 771
};
-static int parser_action_row1199[] = {
+static int parser_action_row1198[] = {
2,
-1, 1, 774,
52, 0, 274
};
-static int parser_action_row1200[] = {
+static int parser_action_row1199[] = {
3,
-1, 1, 778,
52, 0, 274,
58, 0, 213
};
-static int parser_action_row1201[] = {
+static int parser_action_row1200[] = {
2,
- -1, 3, 1200,
- 97, 0, 1375
+ -1, 3, 1199,
+ 97, 0, 1376
};
-static int parser_action_row1202[] = {
+static int parser_action_row1201[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1203[] = {
+static int parser_action_row1202[] = {
2,
+ -1, 3, 1201,
+ 45, 0, 1378
+};
+static int parser_action_row1203[] = {
+ 5,
-1, 3, 1202,
- 45, 0, 1377
+ 31, 0, 1379,
+ 47, 0, 398,
+ 96, 0, 386,
+ 97, 0, 387
};
static int parser_action_row1204[] = {
- 4,
- -1, 3, 1203,
- 31, 0, 1378,
- 47, 0, 394,
- 96, 0, 395
-};
-static int parser_action_row1205[] = {
1,
-1, 1, 752
};
-static int parser_action_row1206[] = {
+static int parser_action_row1205[] = {
3,
-1, 1, 157,
24, 1, 894,
49, 1, 979
};
-static int parser_action_row1207[] = {
+static int parser_action_row1206[] = {
3,
-1, 1, 156,
24, 1, 893,
49, 1, 978
};
-static int parser_action_row1208[] = {
+static int parser_action_row1207[] = {
2,
-1, 1, 256,
24, 1, 931
};
-static int parser_action_row1209[] = {
+static int parser_action_row1208[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1210[] = {
+static int parser_action_row1209[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1211[] = {
+static int parser_action_row1210[] = {
2,
-1, 1, 267,
24, 1, 934
};
-static int parser_action_row1212[] = {
+static int parser_action_row1211[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1213[] = {
+static int parser_action_row1212[] = {
2,
-1, 1, 284,
- 24, 0, 1383
+ 24, 0, 1384
};
-static int parser_action_row1214[] = {
+static int parser_action_row1213[] = {
33,
-1, 1, 460,
0, 0, 1,
1, 0, 2,
- 9, 0, 1384,
- 12, 0, 888,
- 15, 0, 889,
+ 9, 0, 1385,
+ 12, 0, 891,
+ 15, 0, 892,
16, 0, 34,
- 22, 0, 890,
- 25, 0, 892,
- 26, 0, 893,
- 27, 0, 894,
- 33, 0, 895,
- 34, 0, 896,
- 35, 0, 897,
- 36, 0, 898,
- 37, 0, 899,
+ 22, 0, 893,
+ 25, 0, 895,
+ 26, 0, 896,
+ 27, 0, 897,
+ 33, 0, 898,
+ 34, 0, 899,
+ 35, 0, 900,
+ 36, 0, 901,
+ 37, 0, 902,
38, 0, 44,
42, 0, 45,
43, 0, 46,
44, 0, 47,
45, 0, 48,
- 50, 0, 900,
- 51, 0, 901,
+ 50, 0, 903,
+ 51, 0, 904,
52, 0, 51,
54, 0, 52,
95, 0, 3,
96, 0, 53,
- 97, 0, 902,
+ 97, 0, 905,
99, 0, 55,
100, 0, 56,
101, 0, 57,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1215[] = {
+static int parser_action_row1214[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1216[] = {
+static int parser_action_row1215[] = {
2,
- -1, 3, 1215,
- 57, 0, 1388
+ -1, 3, 1214,
+ 57, 0, 1389
};
-static int parser_action_row1217[] = {
+static int parser_action_row1216[] = {
5,
-1, 1, 460,
- 12, 0, 1389,
- 46, 0, 668,
+ 12, 0, 1390,
+ 46, 0, 674,
96, 0, 53,
- 97, 0, 1390
+ 97, 0, 1391
};
-static int parser_action_row1218[] = {
+static int parser_action_row1217[] = {
2,
-1, 1, 191,
24, 1, 921
};
-static int parser_action_row1219[] = {
+static int parser_action_row1218[] = {
2,
-1, 1, 197,
24, 1, 927
};
-static int parser_action_row1220[] = {
+static int parser_action_row1219[] = {
2,
-1, 1, 188,
24, 1, 918
};
-static int parser_action_row1221[] = {
+static int parser_action_row1220[] = {
1,
-1, 1, 262
};
-static int parser_action_row1222[] = {
+static int parser_action_row1221[] = {
33,
-1, 1, 460,
0, 0, 1,
1, 0, 2,
- 9, 0, 588,
+ 9, 0, 591,
12, 0, 31,
15, 0, 33,
16, 0, 34,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1223[] = {
+static int parser_action_row1222[] = {
1,
-1, 1, 263
};
-static int parser_action_row1224[] = {
+static int parser_action_row1223[] = {
4,
- -1, 3, 1223,
+ -1, 3, 1222,
0, 0, 1,
1, 0, 2,
95, 0, 3
};
-static int parser_action_row1225[] = {
+static int parser_action_row1224[] = {
1,
-1, 1, 258
};
-static int parser_action_row1226[] = {
+static int parser_action_row1225[] = {
2,
-1, 1, 199,
24, 1, 929
};
-static int parser_action_row1227[] = {
+static int parser_action_row1226[] = {
2,
-1, 1, 190,
24, 1, 920
};
-static int parser_action_row1228[] = {
+static int parser_action_row1227[] = {
24,
-1, 1, 444,
12, 0, 115,
44, 0, 122,
45, 0, 123,
48, 0, 124,
- 52, 0, 484,
+ 52, 0, 487,
74, 0, 126,
75, 0, 127,
83, 0, 128,
102, 0, 58,
105, 0, 133
};
-static int parser_action_row1229[] = {
+static int parser_action_row1228[] = {
38,
-1, 1, 444,
12, 0, 115,
48, 0, 124,
52, 0, 125,
54, 1, 348,
- 59, 0, 690,
+ 59, 0, 696,
60, 0, 215,
61, 0, 216,
62, 0, 217,
102, 0, 58,
105, 0, 133
};
-static int parser_action_row1230[] = {
+static int parser_action_row1229[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1231[] = {
+static int parser_action_row1230[] = {
1,
-1, 1, 339
};
-static int parser_action_row1232[] = {
+static int parser_action_row1231[] = {
2,
+ -1, 3, 1230,
+ 55, 0, 1398
+};
+static int parser_action_row1232[] = {
+ 4,
-1, 3, 1231,
- 55, 0, 1397
+ 47, 0, 398,
+ 96, 0, 386,
+ 97, 0, 387
};
static int parser_action_row1233[] = {
- 3,
- -1, 3, 1232,
- 47, 0, 394,
- 96, 0, 395
-};
-static int parser_action_row1234[] = {
1,
-1, 1, 1070
};
-static int parser_action_row1235[] = {
+static int parser_action_row1234[] = {
2,
-1, 1, 797,
- 94, 0, 593
+ 94, 0, 596
};
-static int parser_action_row1236[] = {
+static int parser_action_row1235[] = {
2,
- -1, 3, 1235,
- 53, 0, 1400
+ -1, 3, 1234,
+ 53, 0, 1401
};
-static int parser_action_row1237[] = {
+static int parser_action_row1236[] = {
1,
-1, 1, 798
};
-static int parser_action_row1238[] = {
+static int parser_action_row1237[] = {
1,
-1, 1, 360
};
-static int parser_action_row1239[] = {
+static int parser_action_row1238[] = {
1,
-1, 1, 364
};
-static int parser_action_row1240[] = {
+static int parser_action_row1239[] = {
2,
-1, 1, 363,
52, 0, 274
};
-static int parser_action_row1241[] = {
+static int parser_action_row1240[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1242[] = {
+static int parser_action_row1241[] = {
1,
-1, 1, 412
};
-static int parser_action_row1243[] = {
+static int parser_action_row1242[] = {
1,
-1, 1, 414
};
-static int parser_action_row1244[] = {
+static int parser_action_row1243[] = {
1,
-1, 1, 415
};
-static int parser_action_row1245[] = {
+static int parser_action_row1244[] = {
1,
-1, 1, 416
};
-static int parser_action_row1246[] = {
+static int parser_action_row1245[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1247[] = {
+static int parser_action_row1246[] = {
2,
-1, 1, 427,
- 56, 0, 1404
+ 56, 0, 1405
};
-static int parser_action_row1248[] = {
+static int parser_action_row1247[] = {
1,
-1, 1, 279
};
-static int parser_action_row1249[] = {
+static int parser_action_row1248[] = {
2,
- -1, 3, 1248,
- 55, 0, 1407
+ -1, 3, 1247,
+ 55, 0, 1408
};
-static int parser_action_row1250[] = {
+static int parser_action_row1249[] = {
2,
-1, 1, 407,
94, 0, 202
};
-static int parser_action_row1251[] = {
+static int parser_action_row1250[] = {
25,
-1, 1, 520,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1252[] = {
+static int parser_action_row1251[] = {
25,
-1, 1, 520,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1253[] = {
+static int parser_action_row1252[] = {
14,
-1, 1, 340,
52, 0, 274,
- 59, 0, 1409,
+ 59, 0, 1410,
60, 0, 215,
61, 0, 216,
62, 0, 217,
69, 0, 224,
70, 0, 225
};
-static int parser_action_row1254[] = {
+static int parser_action_row1253[] = {
24,
-1, 1, 460,
12, 0, 168,
- 22, 0, 444,
- 27, 0, 445,
+ 22, 0, 447,
+ 27, 0, 448,
31, 0, 170,
38, 0, 171,
40, 0, 172,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1255[] = {
+static int parser_action_row1254[] = {
1,
-1, 1, 393
};
-static int parser_action_row1256[] = {
+static int parser_action_row1255[] = {
1,
-1, 1, 596
};
-static int parser_action_row1257[] = {
+static int parser_action_row1256[] = {
23,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1258[] = {
+static int parser_action_row1257[] = {
21,
-1, 1, 460,
12, 0, 1108,
102, 0, 58,
105, 0, 1125
};
-static int parser_action_row1259[] = {
- 3,
- -1, 3, 1258,
- 47, 0, 1414,
- 96, 0, 1415
+static int parser_action_row1258[] = {
+ 4,
+ -1, 3, 1257,
+ 47, 0, 1415,
+ 96, 0, 386,
+ 97, 0, 387
};
-static int parser_action_row1260[] = {
+static int parser_action_row1259[] = {
20,
-1, 1, 460,
12, 0, 1108,
102, 0, 58,
105, 0, 1125
};
-static int parser_action_row1261[] = {
+static int parser_action_row1260[] = {
1,
-1, 1, 613
};
-static int parser_action_row1262[] = {
+static int parser_action_row1261[] = {
1,
-1, 1, 614
};
-static int parser_action_row1263[] = {
+static int parser_action_row1262[] = {
1,
-1, 1, 615
};
-static int parser_action_row1264[] = {
+static int parser_action_row1263[] = {
1,
-1, 1, 616
};
-static int parser_action_row1265[] = {
+static int parser_action_row1264[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1266[] = {
+static int parser_action_row1265[] = {
3,
- -1, 3, 1265,
- 41, 0, 1275,
- 98, 0, 1419
+ -1, 3, 1264,
+ 41, 0, 1274,
+ 98, 0, 1420
};
-static int parser_action_row1267[] = {
+static int parser_action_row1266[] = {
2,
- -1, 3, 1266,
- 73, 0, 1420
+ -1, 3, 1265,
+ 73, 0, 1421
};
-static int parser_action_row1268[] = {
+static int parser_action_row1267[] = {
1,
-1, 1, 566
};
-static int parser_action_row1269[] = {
+static int parser_action_row1268[] = {
1,
-1, 1, 565
};
-static int parser_action_row1270[] = {
+static int parser_action_row1269[] = {
1,
-1, 1, 567
};
-static int parser_action_row1271[] = {
+static int parser_action_row1270[] = {
1,
-1, 1, 578
};
-static int parser_action_row1272[] = {
+static int parser_action_row1271[] = {
1,
-1, 1, 617
};
-static int parser_action_row1273[] = {
+static int parser_action_row1272[] = {
1,
-1, 1, 618
};
-static int parser_action_row1274[] = {
+static int parser_action_row1273[] = {
1,
-1, 1, 620
};
-static int parser_action_row1275[] = {
+static int parser_action_row1274[] = {
1,
-1, 1, 619
};
-static int parser_action_row1276[] = {
+static int parser_action_row1275[] = {
2,
-1, 1, 594,
52, 0, 274
};
-static int parser_action_row1277[] = {
+static int parser_action_row1276[] = {
1,
-1, 1, 576
};
-static int parser_action_row1278[] = {
+static int parser_action_row1277[] = {
2,
-1, 1, 584,
52, 0, 274
};
-static int parser_action_row1279[] = {
+static int parser_action_row1278[] = {
3,
- -1, 3, 1278,
- 54, 0, 1423,
- 55, 0, 1424
+ -1, 3, 1277,
+ 54, 0, 1424,
+ 55, 0, 1425
};
-static int parser_action_row1280[] = {
+static int parser_action_row1279[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1281[] = {
+static int parser_action_row1280[] = {
4,
-1, 1, 489,
0, 0, 1,
1, 0, 2,
- 24, 0, 1426
+ 24, 0, 1427
+};
+static int parser_action_row1281[] = {
+ 3,
+ -1, 1, 489,
+ 0, 0, 1,
+ 1, 0, 2
};
static int parser_action_row1282[] = {
3,
};
static int parser_action_row1302[] = {
3,
- -1, 1, 489,
- 0, 0, 1,
- 1, 0, 2
-};
-static int parser_action_row1303[] = {
- 3,
-1, 1, 592,
52, 0, 274,
58, 0, 213
};
-static int parser_action_row1304[] = {
+static int parser_action_row1303[] = {
2,
-1, 1, 458,
- 97, 0, 1450
+ 97, 0, 1451
};
-static int parser_action_row1305[] = {
+static int parser_action_row1304[] = {
2,
-1, 1, 456,
58, 0, 213
};
-static int parser_action_row1306[] = {
+static int parser_action_row1305[] = {
1,
-1, 1, 1063
};
-static int parser_action_row1307[] = {
+static int parser_action_row1306[] = {
2,
-1, 1, 30,
13, 0, 32
};
-static int parser_action_row1308[] = {
+static int parser_action_row1307[] = {
5,
-1, 1, 487,
0, 0, 1,
1, 0, 2,
- 9, 0, 1452,
+ 9, 0, 1453,
95, 0, 3
};
-static int parser_action_row1309[] = {
+static int parser_action_row1308[] = {
2,
-1, 1, 118,
- 71, 0, 1454
+ 71, 0, 1455
};
-static int parser_action_row1310[] = {
+static int parser_action_row1309[] = {
2,
-1, 1, 406,
- 57, 0, 830
+ 57, 0, 837
};
-static int parser_action_row1311[] = {
+static int parser_action_row1310[] = {
1,
-1, 1, 117
};
-static int parser_action_row1312[] = {
+static int parser_action_row1311[] = {
4,
-1, 1, 489,
0, 0, 1,
1, 0, 2,
- 57, 0, 830
+ 57, 0, 837
};
-static int parser_action_row1313[] = {
+static int parser_action_row1312[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1314[] = {
+static int parser_action_row1313[] = {
1,
-1, 1, 1065
};
-static int parser_action_row1315[] = {
+static int parser_action_row1314[] = {
1,
-1, 1, 113
};
-static int parser_action_row1316[] = {
+static int parser_action_row1315[] = {
4,
-1, 1, 489,
0, 0, 1,
1, 0, 2,
- 56, 0, 1312
+ 56, 0, 1311
};
-static int parser_action_row1317[] = {
+static int parser_action_row1316[] = {
1,
-1, 1, 128
};
-static int parser_action_row1318[] = {
+static int parser_action_row1317[] = {
2,
-1, 1, 122,
- 56, 0, 1461
+ 56, 0, 1462
};
-static int parser_action_row1319[] = {
+static int parser_action_row1318[] = {
1,
-1, 1, 126
};
-static int parser_action_row1320[] = {
+static int parser_action_row1319[] = {
1,
-1, 1, 127
};
-static int parser_action_row1321[] = {
+static int parser_action_row1320[] = {
2,
-1, 1, 131,
- 73, 0, 1464
+ 73, 0, 1465
};
-static int parser_action_row1322[] = {
+static int parser_action_row1321[] = {
1,
-1, 1, 129
};
+static int parser_action_row1322[] = {
+ 23,
+ -1, 3, 1321,
+ 54, 0, 645,
+ 74, 0, 646,
+ 75, 0, 647,
+ 76, 0, 648,
+ 77, 0, 649,
+ 78, 0, 650,
+ 79, 0, 651,
+ 80, 0, 652,
+ 81, 0, 653,
+ 82, 0, 654,
+ 83, 0, 655,
+ 84, 0, 656,
+ 85, 0, 657,
+ 86, 0, 658,
+ 87, 0, 659,
+ 88, 0, 660,
+ 89, 0, 661,
+ 90, 0, 662,
+ 91, 0, 663,
+ 92, 0, 664,
+ 96, 0, 599,
+ 97, 0, 841
+};
static int parser_action_row1323[] = {
+ 23,
+ -1, 3, 1322,
+ 54, 0, 645,
+ 74, 0, 646,
+ 75, 0, 647,
+ 76, 0, 648,
+ 77, 0, 649,
+ 78, 0, 650,
+ 79, 0, 651,
+ 80, 0, 652,
+ 81, 0, 653,
+ 82, 0, 654,
+ 83, 0, 655,
+ 84, 0, 656,
+ 85, 0, 657,
+ 86, 0, 658,
+ 87, 0, 659,
+ 88, 0, 660,
+ 89, 0, 661,
+ 90, 0, 662,
+ 91, 0, 663,
+ 92, 0, 664,
+ 96, 0, 601,
+ 97, 0, 665
+};
+static int parser_action_row1324[] = {
9,
-1, 1, 487,
0, 0, 1,
1, 0, 2,
4, 1, 80,
- 9, 0, 1465,
+ 9, 0, 1467,
15, 1, 80,
28, 1, 80,
95, 0, 3,
108, 1, 80
};
-static int parser_action_row1324[] = {
+static int parser_action_row1325[] = {
1,
-1, 1, 472
};
-static int parser_action_row1325[] = {
+static int parser_action_row1326[] = {
1,
-1, 1, 493
};
-static int parser_action_row1326[] = {
+static int parser_action_row1327[] = {
2,
-1, 1, 471,
- 9, 0, 1323
+ 9, 0, 1324
};
-static int parser_action_row1327[] = {
+static int parser_action_row1328[] = {
1,
-1, 1, 497
};
-static int parser_action_row1328[] = {
+static int parser_action_row1329[] = {
3,
-1, 1, 155,
57, 0, 329,
94, 0, 202
};
-static int parser_action_row1329[] = {
+static int parser_action_row1330[] = {
2,
- -1, 3, 1328,
- 55, 0, 1469
+ -1, 3, 1329,
+ 55, 0, 1471
};
-static int parser_action_row1330[] = {
+static int parser_action_row1331[] = {
2,
-1, 1, 37,
- 56, 0, 1470
+ 56, 0, 1472
};
-static int parser_action_row1331[] = {
+static int parser_action_row1332[] = {
1,
-1, 1, 27
};
-static int parser_action_row1332[] = {
+static int parser_action_row1333[] = {
7,
- -1, 3, 1331,
- 10, 0, 1473,
- 11, 0, 1474,
- 12, 0, 1475,
- 16, 0, 1476,
- 38, 0, 1477,
- 41, 0, 1478
+ -1, 3, 1332,
+ 10, 0, 1475,
+ 11, 0, 1476,
+ 12, 0, 1477,
+ 16, 0, 1478,
+ 38, 0, 1479,
+ 41, 0, 1480
};
-static int parser_action_row1333[] = {
+static int parser_action_row1334[] = {
25,
-1, 1, 1002,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1334[] = {
+static int parser_action_row1335[] = {
2,
-1, 1, 1007,
49, 0, 195
};
-static int parser_action_row1335[] = {
+static int parser_action_row1336[] = {
2,
-1, 1, 1004,
49, 0, 195
};
-static int parser_action_row1336[] = {
+static int parser_action_row1337[] = {
1,
-1, 1, 1006
};
-static int parser_action_row1337[] = {
+static int parser_action_row1338[] = {
2,
- -1, 3, 1336,
- 11, 0, 1482
+ -1, 3, 1337,
+ 11, 0, 1484
};
-static int parser_action_row1338[] = {
+static int parser_action_row1339[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1339[] = {
+static int parser_action_row1340[] = {
23,
-1, 1, 500,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1340[] = {
+static int parser_action_row1341[] = {
23,
-1, 1, 501,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1341[] = {
+static int parser_action_row1342[] = {
23,
-1, 1, 509,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1342[] = {
+static int parser_action_row1343[] = {
15,
-1, 1, 757,
52, 0, 274,
58, 0, 213,
- 59, 0, 1484,
+ 59, 0, 1486,
60, 0, 215,
61, 0, 216,
62, 0, 217,
69, 0, 224,
70, 0, 225
};
-static int parser_action_row1343[] = {
+static int parser_action_row1344[] = {
1,
-1, 1, 802
};
-static int parser_action_row1344[] = {
+static int parser_action_row1345[] = {
1,
-1, 1, 1000
};
-static int parser_action_row1345[] = {
+static int parser_action_row1346[] = {
1,
-1, 1, 1009
};
-static int parser_action_row1346[] = {
+static int parser_action_row1347[] = {
1,
-1, 1, 1011
};
-static int parser_action_row1347[] = {
+static int parser_action_row1348[] = {
1,
-1, 1, 1010
};
-static int parser_action_row1348[] = {
+static int parser_action_row1349[] = {
1,
-1, 1, 1012
};
-static int parser_action_row1349[] = {
+static int parser_action_row1350[] = {
1,
-1, 1, 1013
};
-static int parser_action_row1350[] = {
+static int parser_action_row1351[] = {
1,
-1, 1, 1014
};
-static int parser_action_row1351[] = {
+static int parser_action_row1352[] = {
1,
-1, 1, 423
};
-static int parser_action_row1352[] = {
+static int parser_action_row1353[] = {
3,
- -1, 3, 1351,
+ -1, 3, 1352,
41, 0, 296,
- 98, 0, 1487
+ 98, 0, 1489
};
-static int parser_action_row1353[] = {
- 22,
+static int parser_action_row1354[] = {
+ 23,
-1, 1, 457,
- 54, 0, 618,
- 74, 0, 619,
- 75, 0, 620,
- 76, 0, 405,
- 77, 0, 406,
- 78, 0, 407,
- 79, 0, 408,
- 80, 0, 409,
- 81, 0, 410,
- 82, 0, 411,
- 83, 0, 621,
- 84, 0, 413,
- 85, 0, 414,
- 86, 0, 415,
- 87, 0, 416,
- 88, 0, 417,
- 89, 0, 418,
- 90, 0, 419,
- 91, 0, 420,
- 92, 0, 421,
- 97, 0, 1488
+ 54, 0, 624,
+ 74, 0, 625,
+ 75, 0, 626,
+ 76, 0, 409,
+ 77, 0, 410,
+ 78, 0, 411,
+ 79, 0, 412,
+ 80, 0, 413,
+ 81, 0, 414,
+ 82, 0, 415,
+ 83, 0, 627,
+ 84, 0, 417,
+ 85, 0, 418,
+ 86, 0, 419,
+ 87, 0, 420,
+ 88, 0, 421,
+ 89, 0, 422,
+ 90, 0, 423,
+ 91, 0, 424,
+ 92, 0, 425,
+ 96, 0, 599,
+ 97, 0, 1490
};
-static int parser_action_row1354[] = {
+static int parser_action_row1355[] = {
1,
-1, 1, 806
};
-static int parser_action_row1355[] = {
+static int parser_action_row1356[] = {
1,
-1, 1, 1001
};
-static int parser_action_row1356[] = {
+static int parser_action_row1357[] = {
1,
-1, 1, 803
};
-static int parser_action_row1357[] = {
+static int parser_action_row1358[] = {
3,
-1, 1, 740,
54, 0, 241,
- 73, 0, 1489
+ 73, 0, 1491
};
-static int parser_action_row1358[] = {
+static int parser_action_row1359[] = {
1,
-1, 1, 426
};
-static int parser_action_row1359[] = {
+static int parser_action_row1360[] = {
2,
-1, 1, 800,
- 56, 0, 1404
+ 56, 0, 1405
};
-static int parser_action_row1360[] = {
+static int parser_action_row1361[] = {
1,
-1, 1, 804
};
-static int parser_action_row1361[] = {
+static int parser_action_row1362[] = {
23,
-1, 1, 459,
- 54, 0, 618,
- 74, 0, 619,
- 75, 0, 620,
- 76, 0, 405,
- 77, 0, 406,
- 78, 0, 407,
- 79, 0, 408,
- 80, 0, 409,
- 81, 0, 410,
- 82, 0, 411,
- 83, 0, 621,
- 84, 0, 413,
- 85, 0, 414,
- 86, 0, 415,
- 87, 0, 416,
- 88, 0, 417,
- 89, 0, 418,
- 90, 0, 419,
- 91, 0, 420,
- 92, 0, 421,
- 96, 0, 53,
- 97, 0, 1492
+ 54, 0, 624,
+ 74, 0, 625,
+ 75, 0, 626,
+ 76, 0, 409,
+ 77, 0, 410,
+ 78, 0, 411,
+ 79, 0, 412,
+ 80, 0, 413,
+ 81, 0, 414,
+ 82, 0, 415,
+ 83, 0, 627,
+ 84, 0, 417,
+ 85, 0, 418,
+ 86, 0, 419,
+ 87, 0, 420,
+ 88, 0, 421,
+ 89, 0, 422,
+ 90, 0, 423,
+ 91, 0, 424,
+ 92, 0, 425,
+ 96, 0, 601,
+ 97, 0, 1494
};
-static int parser_action_row1362[] = {
+static int parser_action_row1363[] = {
1,
-1, 1, 368
};
-static int parser_action_row1363[] = {
+static int parser_action_row1364[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1364[] = {
+static int parser_action_row1365[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1365[] = {
+static int parser_action_row1366[] = {
1,
-1, 1, 211
};
-static int parser_action_row1366[] = {
+static int parser_action_row1367[] = {
1,
-1, 1, 230
};
-static int parser_action_row1367[] = {
+static int parser_action_row1368[] = {
1,
-1, 1, 215
};
-static int parser_action_row1368[] = {
+static int parser_action_row1369[] = {
1,
-1, 1, 234
};
-static int parser_action_row1369[] = {
+static int parser_action_row1370[] = {
1,
-1, 1, 214
};
-static int parser_action_row1370[] = {
+static int parser_action_row1371[] = {
1,
-1, 1, 233
};
-static int parser_action_row1371[] = {
+static int parser_action_row1372[] = {
23,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1372[] = {
+static int parser_action_row1373[] = {
23,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1373[] = {
+static int parser_action_row1374[] = {
2,
- -1, 3, 1372,
- 24, 0, 1498
+ -1, 3, 1373,
+ 24, 0, 1500
};
-static int parser_action_row1374[] = {
+static int parser_action_row1375[] = {
1,
-1, 1, 773
};
-static int parser_action_row1375[] = {
+static int parser_action_row1376[] = {
1,
-1, 1, 777
};
-static int parser_action_row1376[] = {
+static int parser_action_row1377[] = {
2,
-1, 1, 776,
52, 0, 274
};
-static int parser_action_row1377[] = {
+static int parser_action_row1378[] = {
1,
-1, 1, 448
};
-static int parser_action_row1378[] = {
+static int parser_action_row1379[] = {
1,
-1, 1, 781
};
-static int parser_action_row1379[] = {
+static int parser_action_row1380[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1380[] = {
+static int parser_action_row1381[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1381[] = {
- 2,
- -1, 3, 1380,
- 23, 0, 1502
-};
static int parser_action_row1382[] = {
2,
-1, 3, 1381,
- 15, 0, 1503
+ 23, 0, 1504
};
static int parser_action_row1383[] = {
- 3,
+ 2,
-1, 3, 1382,
- 15, 0, 1504,
- 56, 0, 745
+ 15, 0, 1505
};
static int parser_action_row1384[] = {
+ 3,
+ -1, 3, 1383,
+ 15, 0, 1506,
+ 56, 0, 751
+};
+static int parser_action_row1385[] = {
33,
-1, 1, 460,
0, 0, 1,
1, 0, 2,
- 9, 0, 1384,
- 12, 0, 888,
- 15, 0, 889,
+ 9, 0, 1385,
+ 12, 0, 891,
+ 15, 0, 892,
16, 0, 34,
- 22, 0, 890,
- 25, 0, 892,
- 26, 0, 893,
- 27, 0, 894,
- 33, 0, 895,
- 34, 0, 896,
- 35, 0, 897,
- 36, 0, 898,
- 37, 0, 899,
+ 22, 0, 893,
+ 25, 0, 895,
+ 26, 0, 896,
+ 27, 0, 897,
+ 33, 0, 898,
+ 34, 0, 899,
+ 35, 0, 900,
+ 36, 0, 901,
+ 37, 0, 902,
38, 0, 44,
42, 0, 45,
43, 0, 46,
44, 0, 47,
45, 0, 48,
- 50, 0, 900,
- 51, 0, 901,
+ 50, 0, 903,
+ 51, 0, 904,
52, 0, 51,
54, 0, 52,
95, 0, 3,
96, 0, 53,
- 97, 0, 902,
+ 97, 0, 905,
99, 0, 55,
100, 0, 56,
101, 0, 57,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1385[] = {
+static int parser_action_row1386[] = {
2,
-1, 1, 158,
24, 1, 895
};
-static int parser_action_row1386[] = {
+static int parser_action_row1387[] = {
30,
-1, 1, 460,
- 9, 0, 1506,
+ 9, 0, 1508,
12, 0, 31,
15, 0, 33,
16, 0, 34,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1387[] = {
+static int parser_action_row1388[] = {
1,
-1, 1, 942
};
-static int parser_action_row1388[] = {
+static int parser_action_row1389[] = {
2,
- -1, 3, 1387,
- 15, 0, 1508
+ -1, 3, 1388,
+ 15, 0, 1510
};
-static int parser_action_row1389[] = {
+static int parser_action_row1390[] = {
23,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1390[] = {
+static int parser_action_row1391[] = {
26,
-1, 1, 444,
12, 0, 115,
102, 0, 58,
105, 0, 133
};
-static int parser_action_row1391[] = {
+static int parser_action_row1392[] = {
39,
-1, 1, 444,
12, 0, 115,
52, 0, 125,
54, 1, 336,
58, 0, 213,
- 59, 0, 847,
+ 59, 0, 850,
60, 0, 215,
61, 0, 216,
62, 0, 217,
102, 0, 58,
105, 0, 133
};
-static int parser_action_row1392[] = {
+static int parser_action_row1393[] = {
3,
-1, 1, 457,
- 12, 0, 1512,
- 97, 0, 1513
+ 12, 0, 1514,
+ 97, 0, 1515
};
-static int parser_action_row1393[] = {
+static int parser_action_row1394[] = {
4,
-1, 1, 459,
- 12, 0, 1514,
+ 12, 0, 1516,
96, 0, 53,
- 97, 0, 1515
+ 97, 0, 1517
};
-static int parser_action_row1394[] = {
+static int parser_action_row1395[] = {
1,
-1, 1, 260
};
-static int parser_action_row1395[] = {
+static int parser_action_row1396[] = {
2,
-1, 1, 198,
24, 1, 928
};
-static int parser_action_row1396[] = {
+static int parser_action_row1397[] = {
2,
-1, 1, 189,
24, 1, 919
};
-static int parser_action_row1397[] = {
+static int parser_action_row1398[] = {
2,
- -1, 3, 1396,
- 24, 0, 1517
+ -1, 3, 1397,
+ 24, 0, 1519
};
-static int parser_action_row1398[] = {
+static int parser_action_row1399[] = {
2,
-1, 1, 797,
- 94, 0, 593
+ 94, 0, 596
};
-static int parser_action_row1399[] = {
+static int parser_action_row1400[] = {
1,
-1, 1, 152
};
-static int parser_action_row1400[] = {
+static int parser_action_row1401[] = {
1,
-1, 1, 625
};
-static int parser_action_row1401[] = {
+static int parser_action_row1402[] = {
1,
-1, 1, 795
};
-static int parser_action_row1402[] = {
+static int parser_action_row1403[] = {
1,
-1, 1, 362
};
-static int parser_action_row1403[] = {
+static int parser_action_row1404[] = {
53,
-1, 1, 460,
12, 0, 168,
26, 0, 37,
27, 0, 38,
31, 0, 170,
- 33, 0, 397,
- 34, 0, 398,
- 35, 0, 399,
- 36, 0, 400,
+ 33, 0, 401,
+ 34, 0, 402,
+ 35, 0, 403,
+ 36, 0, 404,
37, 0, 43,
38, 0, 171,
40, 0, 172,
43, 0, 46,
44, 0, 47,
45, 0, 48,
- 47, 0, 394,
+ 47, 0, 398,
48, 0, 173,
50, 0, 49,
- 51, 0, 401,
+ 51, 0, 405,
52, 0, 51,
- 54, 0, 402,
- 74, 0, 403,
- 75, 0, 404,
- 76, 0, 405,
- 77, 0, 406,
- 78, 0, 407,
- 79, 0, 408,
- 80, 0, 409,
- 81, 0, 410,
- 82, 0, 411,
- 83, 0, 412,
- 84, 0, 413,
- 85, 0, 414,
- 86, 0, 415,
- 87, 0, 416,
- 88, 0, 417,
- 89, 0, 418,
- 90, 0, 419,
- 91, 0, 420,
- 92, 0, 421,
+ 54, 0, 406,
+ 74, 0, 407,
+ 75, 0, 408,
+ 76, 0, 409,
+ 77, 0, 410,
+ 78, 0, 411,
+ 79, 0, 412,
+ 80, 0, 413,
+ 81, 0, 414,
+ 82, 0, 415,
+ 83, 0, 416,
+ 84, 0, 417,
+ 85, 0, 418,
+ 86, 0, 419,
+ 87, 0, 420,
+ 88, 0, 421,
+ 89, 0, 422,
+ 90, 0, 423,
+ 91, 0, 424,
+ 92, 0, 425,
94, 0, 202,
- 96, 0, 422,
- 97, 0, 423,
+ 96, 0, 386,
+ 97, 0, 426,
99, 0, 55,
100, 0, 56,
101, 0, 57,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1404[] = {
+static int parser_action_row1405[] = {
2,
- -1, 3, 1403,
- 53, 0, 1520
+ -1, 3, 1404,
+ 53, 0, 1522
};
-static int parser_action_row1405[] = {
+static int parser_action_row1406[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1406[] = {
+static int parser_action_row1407[] = {
1,
-1, 1, 1081
};
-static int parser_action_row1407[] = {
+static int parser_action_row1408[] = {
2,
-1, 1, 428,
- 56, 0, 1404
+ 56, 0, 1405
};
-static int parser_action_row1408[] = {
+static int parser_action_row1409[] = {
2,
-1, 1, 407,
94, 0, 202
};
-static int parser_action_row1409[] = {
+static int parser_action_row1410[] = {
1,
-1, 1, 148
};
-static int parser_action_row1410[] = {
+static int parser_action_row1411[] = {
25,
-1, 1, 520,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1411[] = {
+static int parser_action_row1412[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1412[] = {
+static int parser_action_row1413[] = {
1,
-1, 1, 394
};
-static int parser_action_row1413[] = {
+static int parser_action_row1414[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1414[] = {
+static int parser_action_row1415[] = {
1,
-1, 1, 536
};
-static int parser_action_row1415[] = {
- 2,
- -1, 3, 1414,
- 96, 0, 1526
-};
static int parser_action_row1416[] = {
+ 3,
+ -1, 3, 1415,
+ 96, 0, 386,
+ 97, 0, 387
+};
+static int parser_action_row1417[] = {
2,
-1, 1, 797,
- 94, 0, 593
+ 94, 0, 596
};
-static int parser_action_row1417[] = {
+static int parser_action_row1418[] = {
3,
-1, 1, 571,
52, 0, 274,
- 73, 0, 1528
+ 73, 0, 1530
};
-static int parser_action_row1418[] = {
+static int parser_action_row1419[] = {
1,
-1, 1, 568
};
-static int parser_action_row1419[] = {
- 3,
- -1, 3, 1418,
- 47, 0, 1414,
- 96, 0, 1415
-};
static int parser_action_row1420[] = {
+ 4,
+ -1, 3, 1419,
+ 47, 0, 1415,
+ 96, 0, 386,
+ 97, 0, 387
+};
+static int parser_action_row1421[] = {
2,
-1, 1, 573,
73, 1, 576
};
-static int parser_action_row1421[] = {
+static int parser_action_row1422[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1422[] = {
+static int parser_action_row1423[] = {
1,
-1, 1, 593
};
-static int parser_action_row1423[] = {
+static int parser_action_row1424[] = {
1,
-1, 1, 582
};
-static int parser_action_row1424[] = {
+static int parser_action_row1425[] = {
2,
-1, 1, 407,
94, 0, 202
};
-static int parser_action_row1425[] = {
+static int parser_action_row1426[] = {
2,
-1, 1, 407,
94, 0, 202
};
-static int parser_action_row1426[] = {
+static int parser_action_row1427[] = {
21,
-1, 1, 460,
12, 0, 1108,
102, 0, 58,
105, 0, 1125
};
-static int parser_action_row1427[] = {
+static int parser_action_row1428[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1428[] = {
+static int parser_action_row1429[] = {
21,
-1, 1, 460,
12, 0, 1108,
102, 0, 58,
105, 0, 1125
};
-static int parser_action_row1429[] = {
+static int parser_action_row1430[] = {
21,
-1, 1, 460,
12, 0, 1108,
102, 0, 58,
105, 0, 1125
};
-static int parser_action_row1430[] = {
- 3,
- -1, 3, 1429,
- 47, 0, 1538,
- 96, 0, 1539
-};
static int parser_action_row1431[] = {
+ 4,
+ -1, 3, 1430,
+ 47, 0, 1540,
+ 96, 0, 386,
+ 97, 0, 387
+};
+static int parser_action_row1432[] = {
20,
-1, 1, 460,
12, 0, 1108,
102, 0, 58,
105, 0, 1125
};
-static int parser_action_row1432[] = {
+static int parser_action_row1433[] = {
20,
-1, 1, 460,
12, 0, 1108,
102, 0, 58,
105, 0, 1125
};
-static int parser_action_row1433[] = {
+static int parser_action_row1434[] = {
20,
-1, 1, 460,
12, 0, 1108,
102, 0, 58,
105, 0, 1125
};
-static int parser_action_row1434[] = {
+static int parser_action_row1435[] = {
20,
-1, 1, 460,
12, 0, 1108,
102, 0, 58,
105, 0, 1125
};
-static int parser_action_row1435[] = {
+static int parser_action_row1436[] = {
20,
-1, 1, 460,
12, 0, 1108,
102, 0, 58,
105, 0, 1125
};
-static int parser_action_row1436[] = {
+static int parser_action_row1437[] = {
20,
-1, 1, 460,
12, 0, 1108,
102, 0, 58,
105, 0, 1125
};
-static int parser_action_row1437[] = {
+static int parser_action_row1438[] = {
20,
-1, 1, 460,
12, 0, 1108,
102, 0, 58,
105, 0, 1125
};
-static int parser_action_row1438[] = {
+static int parser_action_row1439[] = {
20,
-1, 1, 460,
12, 0, 1108,
102, 0, 58,
105, 0, 1125
};
-static int parser_action_row1439[] = {
+static int parser_action_row1440[] = {
20,
-1, 1, 460,
12, 0, 1108,
102, 0, 58,
105, 0, 1125
};
-static int parser_action_row1440[] = {
+static int parser_action_row1441[] = {
20,
-1, 1, 460,
12, 0, 1108,
102, 0, 58,
105, 0, 1125
};
-static int parser_action_row1441[] = {
+static int parser_action_row1442[] = {
20,
-1, 1, 460,
12, 0, 1108,
102, 0, 58,
105, 0, 1125
};
-static int parser_action_row1442[] = {
+static int parser_action_row1443[] = {
20,
-1, 1, 460,
12, 0, 1108,
102, 0, 58,
105, 0, 1125
};
-static int parser_action_row1443[] = {
+static int parser_action_row1444[] = {
20,
-1, 1, 460,
12, 0, 1108,
102, 0, 58,
105, 0, 1125
};
-static int parser_action_row1444[] = {
+static int parser_action_row1445[] = {
20,
-1, 1, 460,
12, 0, 1108,
102, 0, 58,
105, 0, 1125
};
-static int parser_action_row1445[] = {
+static int parser_action_row1446[] = {
20,
-1, 1, 460,
12, 0, 1108,
102, 0, 58,
105, 0, 1125
};
-static int parser_action_row1446[] = {
+static int parser_action_row1447[] = {
20,
-1, 1, 460,
12, 0, 1108,
102, 0, 58,
105, 0, 1125
};
-static int parser_action_row1447[] = {
+static int parser_action_row1448[] = {
20,
-1, 1, 460,
12, 0, 1108,
102, 0, 58,
105, 0, 1125
};
-static int parser_action_row1448[] = {
+static int parser_action_row1449[] = {
20,
-1, 1, 460,
12, 0, 1108,
102, 0, 58,
105, 0, 1125
};
-static int parser_action_row1449[] = {
+static int parser_action_row1450[] = {
5,
-1, 1, 460,
- 12, 0, 1559,
- 46, 0, 1560,
+ 12, 0, 1561,
+ 46, 0, 1562,
96, 0, 53,
- 97, 0, 1561
+ 97, 0, 1563
};
-static int parser_action_row1450[] = {
+static int parser_action_row1451[] = {
1,
-1, 1, 590
};
-static int parser_action_row1451[] = {
+static int parser_action_row1452[] = {
2,
-1, 1, 588,
52, 0, 274
};
-static int parser_action_row1452[] = {
+static int parser_action_row1453[] = {
5,
-1, 1, 81,
18, 0, 233,
20, 0, 235,
21, 0, 236
};
-static int parser_action_row1453[] = {
+static int parser_action_row1454[] = {
1,
-1, 1, 77
};
-static int parser_action_row1454[] = {
+static int parser_action_row1455[] = {
1,
-1, 1, 1064
};
-static int parser_action_row1455[] = {
+static int parser_action_row1456[] = {
1,
-1, 1, 120
};
-static int parser_action_row1456[] = {
+static int parser_action_row1457[] = {
2,
-1, 1, 119,
- 71, 0, 1567
+ 71, 0, 1569
};
-static int parser_action_row1457[] = {
+static int parser_action_row1458[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1458[] = {
+static int parser_action_row1459[] = {
1,
-1, 1, 110
};
-static int parser_action_row1459[] = {
+static int parser_action_row1460[] = {
2,
- -1, 3, 1458,
+ -1, 3, 1459,
97, 0, 1153
};
-static int parser_action_row1460[] = {
+static int parser_action_row1461[] = {
1,
-1, 1, 1066
};
-static int parser_action_row1461[] = {
+static int parser_action_row1462[] = {
1,
-1, 1, 114
};
-static int parser_action_row1462[] = {
+static int parser_action_row1463[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1463[] = {
+static int parser_action_row1464[] = {
1,
-1, 1, 1067
};
-static int parser_action_row1464[] = {
+static int parser_action_row1465[] = {
2,
-1, 1, 123,
- 56, 0, 1461
+ 56, 0, 1462
};
-static int parser_action_row1465[] = {
+static int parser_action_row1466[] = {
24,
- -1, 3, 1464,
- 46, 0, 1572,
- 54, 0, 639,
- 74, 0, 640,
- 75, 0, 641,
- 76, 0, 642,
- 77, 0, 643,
- 78, 0, 644,
- 79, 0, 645,
- 80, 0, 646,
- 81, 0, 647,
- 82, 0, 648,
- 83, 0, 649,
- 84, 0, 650,
- 85, 0, 651,
- 86, 0, 652,
- 87, 0, 653,
- 88, 0, 654,
- 89, 0, 655,
- 90, 0, 656,
- 91, 0, 657,
- 92, 0, 658,
- 96, 0, 53,
- 97, 0, 659
+ -1, 3, 1465,
+ 46, 0, 1574,
+ 54, 0, 645,
+ 74, 0, 646,
+ 75, 0, 647,
+ 76, 0, 648,
+ 77, 0, 649,
+ 78, 0, 650,
+ 79, 0, 651,
+ 80, 0, 652,
+ 81, 0, 653,
+ 82, 0, 654,
+ 83, 0, 655,
+ 84, 0, 656,
+ 85, 0, 657,
+ 86, 0, 658,
+ 87, 0, 659,
+ 88, 0, 660,
+ 89, 0, 661,
+ 90, 0, 662,
+ 91, 0, 663,
+ 92, 0, 664,
+ 96, 0, 53,
+ 97, 0, 665
};
-static int parser_action_row1466[] = {
+static int parser_action_row1467[] = {
+ 23,
+ -1, 3, 1466,
+ 54, 0, 645,
+ 74, 0, 646,
+ 75, 0, 647,
+ 76, 0, 648,
+ 77, 0, 649,
+ 78, 0, 650,
+ 79, 0, 651,
+ 80, 0, 652,
+ 81, 0, 653,
+ 82, 0, 654,
+ 83, 0, 655,
+ 84, 0, 656,
+ 85, 0, 657,
+ 86, 0, 658,
+ 87, 0, 659,
+ 88, 0, 660,
+ 89, 0, 661,
+ 90, 0, 662,
+ 91, 0, 663,
+ 92, 0, 664,
+ 96, 0, 796,
+ 97, 0, 841
+};
+static int parser_action_row1468[] = {
1,
-1, 1, 499
};
-static int parser_action_row1467[] = {
+static int parser_action_row1469[] = {
1,
-1, 1, 494
};
-static int parser_action_row1468[] = {
+static int parser_action_row1470[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1469[] = {
+static int parser_action_row1471[] = {
2,
-1, 1, 155,
57, 0, 329
};
-static int parser_action_row1470[] = {
+static int parser_action_row1472[] = {
6,
-1, 1, 487,
0, 0, 1,
95, 0, 3,
108, 0, 84
};
-static int parser_action_row1471[] = {
+static int parser_action_row1473[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1472[] = {
+static int parser_action_row1474[] = {
1,
-1, 1, 1059
};
-static int parser_action_row1473[] = {
+static int parser_action_row1475[] = {
2,
-1, 1, 38,
- 56, 0, 1470
+ 56, 0, 1472
};
-static int parser_action_row1474[] = {
+static int parser_action_row1476[] = {
23,
- -1, 3, 1473,
- 54, 0, 639,
- 74, 0, 640,
- 75, 0, 641,
- 76, 0, 642,
- 77, 0, 643,
- 78, 0, 644,
- 79, 0, 645,
- 80, 0, 646,
- 81, 0, 647,
- 82, 0, 648,
- 83, 0, 649,
- 84, 0, 650,
- 85, 0, 651,
- 86, 0, 652,
- 87, 0, 653,
- 88, 0, 654,
- 89, 0, 655,
- 90, 0, 656,
- 91, 0, 657,
- 92, 0, 658,
- 96, 0, 53,
- 97, 0, 659
+ -1, 3, 1475,
+ 54, 0, 645,
+ 74, 0, 646,
+ 75, 0, 647,
+ 76, 0, 648,
+ 77, 0, 649,
+ 78, 0, 650,
+ 79, 0, 651,
+ 80, 0, 652,
+ 81, 0, 653,
+ 82, 0, 654,
+ 83, 0, 655,
+ 84, 0, 656,
+ 85, 0, 657,
+ 86, 0, 658,
+ 87, 0, 659,
+ 88, 0, 660,
+ 89, 0, 661,
+ 90, 0, 662,
+ 91, 0, 663,
+ 92, 0, 664,
+ 96, 0, 53,
+ 97, 0, 665
};
-static int parser_action_row1475[] = {
- 2,
- -1, 3, 1474,
- 96, 0, 1581
+static int parser_action_row1477[] = {
+ 3,
+ -1, 3, 1476,
+ 96, 0, 386,
+ 97, 0, 387
};
-static int parser_action_row1476[] = {
+static int parser_action_row1478[] = {
27,
-1, 1, 489,
0, 0, 1,
1, 0, 2,
- 52, 0, 829,
- 54, 0, 639,
- 57, 0, 830,
- 74, 0, 640,
- 75, 0, 641,
- 76, 0, 642,
- 77, 0, 643,
- 78, 0, 644,
- 79, 0, 645,
- 80, 0, 646,
- 81, 0, 647,
- 82, 0, 648,
- 83, 0, 649,
- 84, 0, 650,
- 85, 0, 651,
- 86, 0, 652,
- 87, 0, 653,
- 88, 0, 654,
- 89, 0, 655,
- 90, 0, 656,
- 91, 0, 657,
- 92, 0, 658,
- 96, 0, 53,
- 97, 0, 659
+ 52, 0, 836,
+ 54, 0, 645,
+ 57, 0, 837,
+ 74, 0, 646,
+ 75, 0, 647,
+ 76, 0, 648,
+ 77, 0, 649,
+ 78, 0, 650,
+ 79, 0, 651,
+ 80, 0, 652,
+ 81, 0, 653,
+ 82, 0, 654,
+ 83, 0, 655,
+ 84, 0, 656,
+ 85, 0, 657,
+ 86, 0, 658,
+ 87, 0, 659,
+ 88, 0, 660,
+ 89, 0, 661,
+ 90, 0, 662,
+ 91, 0, 663,
+ 92, 0, 664,
+ 96, 0, 53,
+ 97, 0, 665
};
-static int parser_action_row1477[] = {
+static int parser_action_row1479[] = {
2,
- -1, 3, 1476,
- 97, 0, 1584
+ -1, 3, 1478,
+ 97, 0, 1586
};
-static int parser_action_row1478[] = {
+static int parser_action_row1480[] = {
27,
-1, 1, 489,
0, 0, 1,
1, 0, 2,
- 52, 0, 829,
- 54, 0, 639,
- 57, 0, 830,
- 74, 0, 640,
- 75, 0, 641,
- 76, 0, 642,
- 77, 0, 643,
- 78, 0, 644,
- 79, 0, 645,
- 80, 0, 646,
- 81, 0, 647,
- 82, 0, 648,
- 83, 0, 649,
- 84, 0, 650,
- 85, 0, 651,
- 86, 0, 652,
- 87, 0, 653,
- 88, 0, 654,
- 89, 0, 655,
- 90, 0, 656,
- 91, 0, 657,
- 92, 0, 658,
- 96, 0, 53,
- 97, 0, 659
+ 52, 0, 836,
+ 54, 0, 645,
+ 57, 0, 837,
+ 74, 0, 646,
+ 75, 0, 647,
+ 76, 0, 648,
+ 77, 0, 649,
+ 78, 0, 650,
+ 79, 0, 651,
+ 80, 0, 652,
+ 81, 0, 653,
+ 82, 0, 654,
+ 83, 0, 655,
+ 84, 0, 656,
+ 85, 0, 657,
+ 86, 0, 658,
+ 87, 0, 659,
+ 88, 0, 660,
+ 89, 0, 661,
+ 90, 0, 662,
+ 91, 0, 663,
+ 92, 0, 664,
+ 96, 0, 53,
+ 97, 0, 665
};
-static int parser_action_row1479[] = {
+static int parser_action_row1481[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1480[] = {
+static int parser_action_row1482[] = {
1,
-1, 1, 1003
};
-static int parser_action_row1481[] = {
+static int parser_action_row1483[] = {
1,
-1, 1, 1008
};
-static int parser_action_row1482[] = {
+static int parser_action_row1484[] = {
1,
-1, 1, 1005
};
-static int parser_action_row1483[] = {
- 3,
- -1, 3, 1482,
- 47, 0, 394,
- 96, 0, 395
+static int parser_action_row1485[] = {
+ 4,
+ -1, 3, 1484,
+ 47, 0, 398,
+ 96, 0, 386,
+ 97, 0, 387
};
-static int parser_action_row1484[] = {
+static int parser_action_row1486[] = {
53,
-1, 1, 460,
12, 0, 168,
26, 0, 37,
27, 0, 38,
31, 0, 170,
- 33, 0, 397,
- 34, 0, 398,
- 35, 0, 399,
- 36, 0, 400,
+ 33, 0, 401,
+ 34, 0, 402,
+ 35, 0, 403,
+ 36, 0, 404,
37, 0, 43,
38, 0, 171,
40, 0, 172,
43, 0, 46,
44, 0, 47,
45, 0, 48,
- 47, 0, 394,
+ 47, 0, 398,
48, 0, 173,
50, 0, 49,
- 51, 0, 401,
+ 51, 0, 405,
52, 0, 51,
- 54, 0, 402,
- 74, 0, 403,
- 75, 0, 404,
- 76, 0, 405,
- 77, 0, 406,
- 78, 0, 407,
- 79, 0, 408,
- 80, 0, 409,
- 81, 0, 410,
- 82, 0, 411,
- 83, 0, 412,
- 84, 0, 413,
- 85, 0, 414,
- 86, 0, 415,
- 87, 0, 416,
- 88, 0, 417,
- 89, 0, 418,
- 90, 0, 419,
- 91, 0, 420,
- 92, 0, 421,
+ 54, 0, 406,
+ 74, 0, 407,
+ 75, 0, 408,
+ 76, 0, 409,
+ 77, 0, 410,
+ 78, 0, 411,
+ 79, 0, 412,
+ 80, 0, 413,
+ 81, 0, 414,
+ 82, 0, 415,
+ 83, 0, 416,
+ 84, 0, 417,
+ 85, 0, 418,
+ 86, 0, 419,
+ 87, 0, 420,
+ 88, 0, 421,
+ 89, 0, 422,
+ 90, 0, 423,
+ 91, 0, 424,
+ 92, 0, 425,
94, 0, 202,
- 96, 0, 422,
- 97, 0, 423,
+ 96, 0, 386,
+ 97, 0, 426,
99, 0, 55,
100, 0, 56,
101, 0, 57,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1485[] = {
+static int parser_action_row1487[] = {
25,
-1, 1, 520,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1486[] = {
+static int parser_action_row1488[] = {
23,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1487[] = {
+static int parser_action_row1489[] = {
13,
-1, 1, 756,
- 59, 0, 1592,
+ 59, 0, 1594,
60, 0, 215,
61, 0, 216,
62, 0, 217,
69, 0, 224,
70, 0, 225
};
-static int parser_action_row1488[] = {
+static int parser_action_row1490[] = {
13,
-1, 1, 747,
- 59, 0, 1594,
+ 59, 0, 1596,
60, 0, 215,
61, 0, 216,
62, 0, 217,
69, 0, 224,
70, 0, 225
};
-static int parser_action_row1489[] = {
+static int parser_action_row1491[] = {
14,
-1, 1, 759,
52, 0, 274,
- 59, 0, 1596,
+ 59, 0, 1598,
60, 0, 215,
61, 0, 216,
62, 0, 217,
69, 0, 224,
70, 0, 225
};
-static int parser_action_row1490[] = {
+static int parser_action_row1492[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1491[] = {
+static int parser_action_row1493[] = {
13,
-1, 1, 770,
- 59, 0, 1600,
+ 59, 0, 1602,
60, 0, 215,
61, 0, 216,
62, 0, 217,
69, 0, 224,
70, 0, 225
};
-static int parser_action_row1492[] = {
+static int parser_action_row1494[] = {
2,
-1, 1, 801,
- 56, 0, 1404
+ 56, 0, 1405
};
-static int parser_action_row1493[] = {
+static int parser_action_row1495[] = {
15,
-1, 1, 763,
52, 0, 274,
58, 0, 213,
- 59, 0, 1602,
+ 59, 0, 1604,
60, 0, 215,
61, 0, 216,
62, 0, 217,
69, 0, 224,
70, 0, 225
};
-static int parser_action_row1494[] = {
- 22,
+static int parser_action_row1496[] = {
+ 23,
-1, 1, 458,
- 54, 0, 618,
- 74, 0, 619,
- 75, 0, 620,
- 76, 0, 405,
- 77, 0, 406,
- 78, 0, 407,
- 79, 0, 408,
- 80, 0, 409,
- 81, 0, 410,
- 82, 0, 411,
- 83, 0, 621,
- 84, 0, 413,
- 85, 0, 414,
- 86, 0, 415,
- 87, 0, 416,
- 88, 0, 417,
- 89, 0, 418,
- 90, 0, 419,
- 91, 0, 420,
- 92, 0, 421,
- 97, 0, 1605
+ 54, 0, 624,
+ 74, 0, 625,
+ 75, 0, 626,
+ 76, 0, 409,
+ 77, 0, 410,
+ 78, 0, 411,
+ 79, 0, 412,
+ 80, 0, 413,
+ 81, 0, 414,
+ 82, 0, 415,
+ 83, 0, 627,
+ 84, 0, 417,
+ 85, 0, 418,
+ 86, 0, 419,
+ 87, 0, 420,
+ 88, 0, 421,
+ 89, 0, 422,
+ 90, 0, 423,
+ 91, 0, 424,
+ 92, 0, 425,
+ 96, 0, 796,
+ 97, 0, 1607
};
-static int parser_action_row1495[] = {
+static int parser_action_row1497[] = {
2,
- -1, 3, 1494,
- 45, 0, 1606
+ -1, 3, 1496,
+ 45, 0, 1608
};
-static int parser_action_row1496[] = {
+static int parser_action_row1498[] = {
2,
- -1, 3, 1495,
- 53, 0, 1607
+ -1, 3, 1497,
+ 53, 0, 1609
};
-static int parser_action_row1497[] = {
+static int parser_action_row1499[] = {
1,
-1, 1, 213
};
-static int parser_action_row1498[] = {
+static int parser_action_row1500[] = {
1,
-1, 1, 232
};
-static int parser_action_row1499[] = {
+static int parser_action_row1501[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1500[] = {
+static int parser_action_row1502[] = {
1,
-1, 1, 775
};
-static int parser_action_row1501[] = {
+static int parser_action_row1503[] = {
2,
- -1, 3, 1500,
- 45, 0, 1609
+ -1, 3, 1502,
+ 45, 0, 1611
};
-static int parser_action_row1502[] = {
+static int parser_action_row1504[] = {
2,
- -1, 3, 1501,
- 53, 0, 1610
+ -1, 3, 1503,
+ 53, 0, 1612
};
-static int parser_action_row1503[] = {
+static int parser_action_row1505[] = {
34,
-1, 1, 460,
0, 0, 1,
1, 0, 2,
- 9, 0, 887,
- 12, 0, 888,
- 15, 0, 889,
+ 9, 0, 890,
+ 12, 0, 891,
+ 15, 0, 892,
16, 0, 34,
- 22, 0, 890,
- 24, 0, 891,
- 25, 0, 892,
- 26, 0, 893,
- 27, 0, 894,
- 33, 0, 895,
- 34, 0, 896,
- 35, 0, 897,
- 36, 0, 898,
- 37, 0, 899,
+ 22, 0, 893,
+ 24, 0, 894,
+ 25, 0, 895,
+ 26, 0, 896,
+ 27, 0, 897,
+ 33, 0, 898,
+ 34, 0, 899,
+ 35, 0, 900,
+ 36, 0, 901,
+ 37, 0, 902,
38, 0, 44,
42, 0, 45,
43, 0, 46,
44, 0, 47,
45, 0, 48,
- 50, 0, 900,
- 51, 0, 901,
+ 50, 0, 903,
+ 51, 0, 904,
52, 0, 51,
54, 0, 52,
95, 0, 3,
96, 0, 53,
- 97, 0, 902,
+ 97, 0, 905,
99, 0, 55,
100, 0, 56,
101, 0, 57,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1504[] = {
+static int parser_action_row1506[] = {
33,
-1, 1, 460,
0, 0, 1,
1, 0, 2,
9, 0, 1039,
- 12, 0, 888,
- 15, 0, 889,
+ 12, 0, 891,
+ 15, 0, 892,
16, 0, 34,
- 22, 0, 890,
- 25, 0, 892,
- 26, 0, 893,
- 27, 0, 894,
- 33, 0, 895,
- 34, 0, 896,
- 35, 0, 897,
- 36, 0, 898,
- 37, 0, 899,
+ 22, 0, 893,
+ 25, 0, 895,
+ 26, 0, 896,
+ 27, 0, 897,
+ 33, 0, 898,
+ 34, 0, 899,
+ 35, 0, 900,
+ 36, 0, 901,
+ 37, 0, 902,
38, 0, 44,
42, 0, 45,
43, 0, 46,
44, 0, 47,
45, 0, 48,
- 50, 0, 900,
- 51, 0, 901,
+ 50, 0, 903,
+ 51, 0, 904,
52, 0, 51,
54, 0, 52,
95, 0, 3,
96, 0, 53,
- 97, 0, 902,
+ 97, 0, 905,
99, 0, 55,
100, 0, 56,
101, 0, 57,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1505[] = {
+static int parser_action_row1507[] = {
33,
-1, 1, 460,
0, 0, 1,
1, 0, 2,
9, 0, 1039,
- 12, 0, 888,
- 15, 0, 889,
+ 12, 0, 891,
+ 15, 0, 892,
16, 0, 34,
- 22, 0, 890,
- 25, 0, 892,
- 26, 0, 893,
- 27, 0, 894,
- 33, 0, 895,
- 34, 0, 896,
- 35, 0, 897,
- 36, 0, 898,
- 37, 0, 899,
+ 22, 0, 893,
+ 25, 0, 895,
+ 26, 0, 896,
+ 27, 0, 897,
+ 33, 0, 898,
+ 34, 0, 899,
+ 35, 0, 900,
+ 36, 0, 901,
+ 37, 0, 902,
38, 0, 44,
42, 0, 45,
43, 0, 46,
44, 0, 47,
45, 0, 48,
- 50, 0, 900,
- 51, 0, 901,
+ 50, 0, 903,
+ 51, 0, 904,
52, 0, 51,
54, 0, 52,
95, 0, 3,
96, 0, 53,
- 97, 0, 902,
+ 97, 0, 905,
99, 0, 55,
100, 0, 56,
101, 0, 57,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1506[] = {
+static int parser_action_row1508[] = {
1,
-1, 1, 943
};
-static int parser_action_row1507[] = {
+static int parser_action_row1509[] = {
2,
-1, 1, 157,
24, 1, 894
};
-static int parser_action_row1508[] = {
+static int parser_action_row1510[] = {
2,
-1, 1, 156,
24, 1, 893
};
-static int parser_action_row1509[] = {
+static int parser_action_row1511[] = {
33,
-1, 1, 460,
0, 0, 1,
1, 0, 2,
9, 0, 1039,
- 12, 0, 888,
- 15, 0, 889,
+ 12, 0, 891,
+ 15, 0, 892,
16, 0, 34,
- 22, 0, 890,
- 25, 0, 892,
- 26, 0, 893,
- 27, 0, 894,
- 33, 0, 895,
- 34, 0, 896,
- 35, 0, 897,
- 36, 0, 898,
- 37, 0, 899,
+ 22, 0, 893,
+ 25, 0, 895,
+ 26, 0, 896,
+ 27, 0, 897,
+ 33, 0, 898,
+ 34, 0, 899,
+ 35, 0, 900,
+ 36, 0, 901,
+ 37, 0, 902,
38, 0, 44,
42, 0, 45,
43, 0, 46,
44, 0, 47,
45, 0, 48,
- 50, 0, 900,
- 51, 0, 901,
+ 50, 0, 903,
+ 51, 0, 904,
52, 0, 51,
54, 0, 52,
95, 0, 3,
96, 0, 53,
- 97, 0, 902,
+ 97, 0, 905,
99, 0, 55,
100, 0, 56,
101, 0, 57,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1510[] = {
+static int parser_action_row1512[] = {
2,
-1, 1, 200,
24, 1, 930
};
-static int parser_action_row1511[] = {
+static int parser_action_row1513[] = {
2,
-1, 1, 192,
24, 1, 922
};
-static int parser_action_row1512[] = {
+static int parser_action_row1514[] = {
2,
-1, 1, 183,
24, 1, 913
};
-static int parser_action_row1513[] = {
+static int parser_action_row1515[] = {
24,
-1, 1, 444,
12, 0, 115,
44, 0, 122,
45, 0, 123,
48, 0, 124,
- 52, 0, 484,
+ 52, 0, 487,
74, 0, 126,
75, 0, 127,
83, 0, 128,
102, 0, 58,
105, 0, 133
};
-static int parser_action_row1514[] = {
+static int parser_action_row1516[] = {
38,
-1, 1, 444,
12, 0, 115,
102, 0, 58,
105, 0, 133
};
-static int parser_action_row1515[] = {
+static int parser_action_row1517[] = {
24,
-1, 1, 444,
12, 0, 115,
44, 0, 122,
45, 0, 123,
48, 0, 124,
- 52, 0, 484,
+ 52, 0, 487,
74, 0, 126,
75, 0, 127,
83, 0, 128,
102, 0, 58,
105, 0, 133
};
-static int parser_action_row1516[] = {
+static int parser_action_row1518[] = {
39,
-1, 1, 444,
12, 0, 115,
102, 0, 58,
105, 0, 133
};
-static int parser_action_row1517[] = {
+static int parser_action_row1519[] = {
3,
-1, 1, 458,
- 12, 0, 1622,
- 97, 0, 1623
+ 12, 0, 1624,
+ 97, 0, 1625
};
-static int parser_action_row1518[] = {
+static int parser_action_row1520[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1519[] = {
+static int parser_action_row1521[] = {
1,
-1, 1, 626
};
-static int parser_action_row1520[] = {
+static int parser_action_row1522[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1521[] = {
+static int parser_action_row1523[] = {
2,
-1, 1, 407,
94, 0, 202
};
-static int parser_action_row1522[] = {
+static int parser_action_row1524[] = {
53,
-1, 1, 460,
12, 0, 168,
26, 0, 37,
27, 0, 38,
31, 0, 170,
- 33, 0, 397,
- 34, 0, 398,
- 35, 0, 399,
- 36, 0, 400,
+ 33, 0, 401,
+ 34, 0, 402,
+ 35, 0, 403,
+ 36, 0, 404,
37, 0, 43,
38, 0, 171,
40, 0, 172,
43, 0, 46,
44, 0, 47,
45, 0, 48,
- 47, 0, 394,
+ 47, 0, 398,
48, 0, 173,
50, 0, 49,
- 51, 0, 401,
+ 51, 0, 405,
52, 0, 51,
- 54, 0, 402,
- 74, 0, 403,
- 75, 0, 404,
- 76, 0, 405,
- 77, 0, 406,
- 78, 0, 407,
- 79, 0, 408,
- 80, 0, 409,
- 81, 0, 410,
- 82, 0, 411,
- 83, 0, 412,
- 84, 0, 413,
- 85, 0, 414,
- 86, 0, 415,
- 87, 0, 416,
- 88, 0, 417,
- 89, 0, 418,
- 90, 0, 419,
- 91, 0, 420,
- 92, 0, 421,
+ 54, 0, 406,
+ 74, 0, 407,
+ 75, 0, 408,
+ 76, 0, 409,
+ 77, 0, 410,
+ 78, 0, 411,
+ 79, 0, 412,
+ 80, 0, 413,
+ 81, 0, 414,
+ 82, 0, 415,
+ 83, 0, 416,
+ 84, 0, 417,
+ 85, 0, 418,
+ 86, 0, 419,
+ 87, 0, 420,
+ 88, 0, 421,
+ 89, 0, 422,
+ 90, 0, 423,
+ 91, 0, 424,
+ 92, 0, 425,
94, 0, 202,
- 96, 0, 422,
- 97, 0, 423,
+ 96, 0, 386,
+ 97, 0, 426,
99, 0, 55,
100, 0, 56,
101, 0, 57,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1523[] = {
+static int parser_action_row1525[] = {
1,
-1, 1, 1082
};
-static int parser_action_row1524[] = {
+static int parser_action_row1526[] = {
1,
-1, 1, 149
};
-static int parser_action_row1525[] = {
+static int parser_action_row1527[] = {
2,
-1, 1, 392,
- 24, 0, 1517
+ 24, 0, 1519
};
-static int parser_action_row1526[] = {
+static int parser_action_row1528[] = {
2,
- -1, 3, 1525,
- 23, 0, 1628
+ -1, 3, 1527,
+ 23, 0, 1630
};
-static int parser_action_row1527[] = {
+static int parser_action_row1529[] = {
2,
-1, 1, 797,
- 94, 0, 593
+ 94, 0, 596
};
-static int parser_action_row1528[] = {
+static int parser_action_row1530[] = {
1,
-1, 1, 807
};
-static int parser_action_row1529[] = {
+static int parser_action_row1531[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1530[] = {
+static int parser_action_row1532[] = {
1,
-1, 1, 570
};
-static int parser_action_row1531[] = {
+static int parser_action_row1533[] = {
2,
- -1, 3, 1530,
- 73, 0, 1528
+ -1, 3, 1532,
+ 73, 0, 1530
};
-static int parser_action_row1532[] = {
+static int parser_action_row1534[] = {
5,
-1, 1, 460,
- 12, 0, 1559,
- 46, 0, 1560,
+ 12, 0, 1561,
+ 46, 0, 1562,
96, 0, 53,
- 97, 0, 1561
+ 97, 0, 1563
};
-static int parser_action_row1533[] = {
+static int parser_action_row1535[] = {
1,
-1, 1, 383
};
-static int parser_action_row1534[] = {
+static int parser_action_row1536[] = {
1,
-1, 1, 382
};
-static int parser_action_row1535[] = {
+static int parser_action_row1537[] = {
1,
-1, 1, 532
};
-static int parser_action_row1536[] = {
+static int parser_action_row1538[] = {
21,
-1, 1, 460,
12, 0, 1108,
102, 0, 58,
105, 0, 1125
};
-static int parser_action_row1537[] = {
+static int parser_action_row1539[] = {
1,
-1, 1, 531
};
-static int parser_action_row1538[] = {
+static int parser_action_row1540[] = {
1,
-1, 1, 534
};
-static int parser_action_row1539[] = {
- 2,
- -1, 3, 1538,
- 96, 0, 1633
+static int parser_action_row1541[] = {
+ 3,
+ -1, 3, 1540,
+ 96, 0, 386,
+ 97, 0, 387
};
-static int parser_action_row1540[] = {
+static int parser_action_row1542[] = {
2,
-1, 1, 407,
94, 0, 202
};
-static int parser_action_row1541[] = {
+static int parser_action_row1543[] = {
1,
-1, 1, 545
};
-static int parser_action_row1542[] = {
+static int parser_action_row1544[] = {
2,
-1, 1, 547,
- 81, 0, 1291
+ 81, 0, 1290
};
-static int parser_action_row1543[] = {
+static int parser_action_row1545[] = {
2,
-1, 1, 538,
- 80, 0, 1283
+ 80, 0, 1282
};
-static int parser_action_row1544[] = {
+static int parser_action_row1546[] = {
2,
-1, 1, 539,
- 80, 0, 1283
+ 80, 0, 1282
};
-static int parser_action_row1545[] = {
+static int parser_action_row1547[] = {
2,
-1, 1, 540,
- 80, 0, 1283
+ 80, 0, 1282
};
-static int parser_action_row1546[] = {
+static int parser_action_row1548[] = {
2,
-1, 1, 541,
- 80, 0, 1283
+ 80, 0, 1282
};
-static int parser_action_row1547[] = {
+static int parser_action_row1549[] = {
2,
-1, 1, 542,
- 80, 0, 1283
+ 80, 0, 1282
};
-static int parser_action_row1548[] = {
+static int parser_action_row1550[] = {
2,
-1, 1, 543,
- 80, 0, 1283
+ 80, 0, 1282
};
-static int parser_action_row1549[] = {
+static int parser_action_row1551[] = {
2,
-1, 1, 544,
- 80, 0, 1283
+ 80, 0, 1282
};
-static int parser_action_row1550[] = {
+static int parser_action_row1552[] = {
2,
-1, 1, 549,
- 82, 0, 1292
+ 82, 0, 1291
};
-static int parser_action_row1551[] = {
+static int parser_action_row1553[] = {
3,
-1, 1, 551,
- 88, 0, 1293,
- 91, 0, 1294
+ 88, 0, 1292,
+ 91, 0, 1293
};
-static int parser_action_row1552[] = {
+static int parser_action_row1554[] = {
3,
-1, 1, 553,
- 74, 0, 1295,
- 75, 0, 1296
+ 74, 0, 1294,
+ 75, 0, 1295
};
-static int parser_action_row1553[] = {
+static int parser_action_row1555[] = {
3,
-1, 1, 554,
- 74, 0, 1295,
- 75, 0, 1296
+ 74, 0, 1294,
+ 75, 0, 1295
};
-static int parser_action_row1554[] = {
+static int parser_action_row1556[] = {
4,
-1, 1, 556,
- 76, 0, 1297,
- 78, 0, 1298,
- 79, 0, 1299
+ 76, 0, 1296,
+ 78, 0, 1297,
+ 79, 0, 1298
};
-static int parser_action_row1555[] = {
+static int parser_action_row1557[] = {
4,
-1, 1, 557,
- 76, 0, 1297,
- 78, 0, 1298,
- 79, 0, 1299
+ 76, 0, 1296,
+ 78, 0, 1297,
+ 79, 0, 1298
};
-static int parser_action_row1556[] = {
+static int parser_action_row1558[] = {
1,
-1, 1, 559
};
-static int parser_action_row1557[] = {
+static int parser_action_row1559[] = {
1,
-1, 1, 560
};
-static int parser_action_row1558[] = {
+static int parser_action_row1560[] = {
1,
-1, 1, 561
};
-static int parser_action_row1559[] = {
+static int parser_action_row1561[] = {
1,
-1, 1, 563
};
-static int parser_action_row1560[] = {
+static int parser_action_row1562[] = {
2,
-1, 1, 597,
52, 0, 274
};
-static int parser_action_row1561[] = {
+static int parser_action_row1563[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1562[] = {
+static int parser_action_row1564[] = {
3,
-1, 1, 579,
52, 0, 274,
58, 0, 213
};
-static int parser_action_row1563[] = {
+static int parser_action_row1565[] = {
2,
- -1, 3, 1562,
- 98, 0, 1638
+ -1, 3, 1564,
+ 98, 0, 1640
};
-static int parser_action_row1564[] = {
+static int parser_action_row1566[] = {
2,
-1, 1, 457,
- 97, 0, 1639
+ 97, 0, 1641
};
-static int parser_action_row1565[] = {
+static int parser_action_row1567[] = {
3,
-1, 1, 459,
96, 0, 53,
- 97, 0, 1640
+ 97, 0, 1642
};
-static int parser_action_row1566[] = {
+static int parser_action_row1568[] = {
1,
-1, 1, 586
};
-static int parser_action_row1567[] = {
+static int parser_action_row1569[] = {
4,
- -1, 3, 1566,
- 6, 0, 793,
- 17, 0, 794,
- 97, 0, 795
+ -1, 3, 1568,
+ 6, 0, 800,
+ 17, 0, 801,
+ 97, 0, 802
};
-static int parser_action_row1568[] = {
+static int parser_action_row1570[] = {
1,
-1, 1, 121
};
-static int parser_action_row1569[] = {
+static int parser_action_row1571[] = {
1,
-1, 1, 109
};
-static int parser_action_row1570[] = {
+static int parser_action_row1572[] = {
1,
-1, 1, 116
};
-static int parser_action_row1571[] = {
+static int parser_action_row1573[] = {
25,
- -1, 3, 1570,
- 41, 0, 1316,
- 47, 0, 394,
- 54, 0, 639,
- 74, 0, 640,
- 75, 0, 641,
- 76, 0, 642,
- 77, 0, 643,
- 78, 0, 644,
- 79, 0, 645,
- 80, 0, 646,
- 81, 0, 647,
- 82, 0, 648,
- 83, 0, 649,
- 84, 0, 650,
- 85, 0, 651,
- 86, 0, 652,
- 87, 0, 653,
- 88, 0, 654,
- 89, 0, 655,
- 90, 0, 656,
- 91, 0, 657,
- 92, 0, 658,
- 96, 0, 422,
- 97, 0, 659
+ -1, 3, 1572,
+ 41, 0, 1315,
+ 47, 0, 398,
+ 54, 0, 645,
+ 74, 0, 646,
+ 75, 0, 647,
+ 76, 0, 648,
+ 77, 0, 649,
+ 78, 0, 650,
+ 79, 0, 651,
+ 80, 0, 652,
+ 81, 0, 653,
+ 82, 0, 654,
+ 83, 0, 655,
+ 84, 0, 656,
+ 85, 0, 657,
+ 86, 0, 658,
+ 87, 0, 659,
+ 88, 0, 660,
+ 89, 0, 661,
+ 90, 0, 662,
+ 91, 0, 663,
+ 92, 0, 664,
+ 96, 0, 386,
+ 97, 0, 665
};
-static int parser_action_row1572[] = {
+static int parser_action_row1574[] = {
1,
-1, 1, 1068
};
-static int parser_action_row1573[] = {
+static int parser_action_row1575[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1574[] = {
+static int parser_action_row1576[] = {
1,
-1, 1, 130
};
-static int parser_action_row1575[] = {
+static int parser_action_row1577[] = {
1,
-1, 1, 41
};
-static int parser_action_row1576[] = {
+static int parser_action_row1578[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1577[] = {
+static int parser_action_row1579[] = {
2,
- -1, 3, 1576,
- 9, 0, 1646
+ -1, 3, 1578,
+ 9, 0, 1648
};
-static int parser_action_row1578[] = {
+static int parser_action_row1580[] = {
4,
-1, 1, 487,
0, 0, 1,
1, 0, 2,
95, 0, 3
};
-static int parser_action_row1579[] = {
+static int parser_action_row1581[] = {
2,
- -1, 3, 1578,
- 96, 0, 1327
+ -1, 3, 1580,
+ 96, 0, 1328
};
-static int parser_action_row1580[] = {
+static int parser_action_row1582[] = {
1,
-1, 1, 1060
};
-static int parser_action_row1581[] = {
+static int parser_action_row1583[] = {
5,
-1, 1, 489,
0, 0, 1,
1, 0, 2,
- 52, 0, 829,
- 57, 0, 830
+ 52, 0, 836,
+ 57, 0, 837
};
-static int parser_action_row1582[] = {
+static int parser_action_row1584[] = {
2,
- -1, 3, 1581,
- 57, 0, 830
+ -1, 3, 1583,
+ 57, 0, 837
};
-static int parser_action_row1583[] = {
+static int parser_action_row1585[] = {
3,
- -1, 3, 1582,
- 14, 0, 1651,
- 15, 0, 1652
+ -1, 3, 1584,
+ 14, 0, 1653,
+ 15, 0, 1654
};
-static int parser_action_row1584[] = {
+static int parser_action_row1586[] = {
5,
-1, 1, 489,
0, 0, 1,
1, 0, 2,
- 52, 0, 829,
- 57, 0, 830
+ 52, 0, 836,
+ 57, 0, 837
};
-static int parser_action_row1585[] = {
+static int parser_action_row1587[] = {
2,
-1, 1, 155,
57, 0, 329
};
-static int parser_action_row1586[] = {
+static int parser_action_row1588[] = {
4,
-1, 1, 124,
- 4, 0, 981,
- 14, 0, 982,
- 15, 0, 1656
+ 4, 0, 984,
+ 14, 0, 985,
+ 15, 0, 1658
};
-static int parser_action_row1587[] = {
+static int parser_action_row1589[] = {
5,
-1, 1, 489,
0, 0, 1,
1, 0, 2,
- 52, 0, 829,
- 57, 0, 830
+ 52, 0, 836,
+ 57, 0, 837
};
-static int parser_action_row1588[] = {
- 3,
- -1, 3, 1587,
- 47, 0, 394,
- 96, 0, 395
+static int parser_action_row1590[] = {
+ 4,
+ -1, 3, 1589,
+ 47, 0, 398,
+ 96, 0, 386,
+ 97, 0, 387
};
-static int parser_action_row1589[] = {
+static int parser_action_row1591[] = {
2,
- -1, 3, 1588,
- 57, 0, 1662
+ -1, 3, 1590,
+ 57, 0, 1664
};
-static int parser_action_row1590[] = {
+static int parser_action_row1592[] = {
2,
- -1, 3, 1589,
- 53, 0, 1663
+ -1, 3, 1591,
+ 53, 0, 1665
};
-static int parser_action_row1591[] = {
+static int parser_action_row1593[] = {
1,
-1, 1, 672
};
-static int parser_action_row1592[] = {
+static int parser_action_row1594[] = {
1,
-1, 1, 691
};
-static int parser_action_row1593[] = {
+static int parser_action_row1595[] = {
23,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1594[] = {
+static int parser_action_row1596[] = {
23,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1595[] = {
+static int parser_action_row1597[] = {
23,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1596[] = {
+static int parser_action_row1598[] = {
23,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1597[] = {
+static int parser_action_row1599[] = {
25,
-1, 1, 520,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1598[] = {
+static int parser_action_row1600[] = {
23,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1599[] = {
+static int parser_action_row1601[] = {
13,
-1, 1, 758,
- 59, 0, 1670,
+ 59, 0, 1672,
60, 0, 215,
61, 0, 216,
62, 0, 217,
69, 0, 224,
70, 0, 225
};
-static int parser_action_row1600[] = {
+static int parser_action_row1602[] = {
25,
-1, 1, 460,
- 12, 0, 729,
- 46, 0, 730,
- 54, 0, 618,
- 74, 0, 619,
- 75, 0, 620,
- 76, 0, 405,
- 77, 0, 406,
- 78, 0, 407,
- 79, 0, 408,
- 80, 0, 409,
- 81, 0, 410,
- 82, 0, 411,
- 83, 0, 621,
- 84, 0, 413,
- 85, 0, 414,
- 86, 0, 415,
- 87, 0, 416,
- 88, 0, 417,
- 89, 0, 418,
- 90, 0, 419,
- 91, 0, 420,
- 92, 0, 421,
- 96, 0, 53,
- 97, 0, 1672
+ 12, 0, 735,
+ 46, 0, 736,
+ 54, 0, 624,
+ 74, 0, 625,
+ 75, 0, 626,
+ 76, 0, 409,
+ 77, 0, 410,
+ 78, 0, 411,
+ 79, 0, 412,
+ 80, 0, 413,
+ 81, 0, 414,
+ 82, 0, 415,
+ 83, 0, 627,
+ 84, 0, 417,
+ 85, 0, 418,
+ 86, 0, 419,
+ 87, 0, 420,
+ 88, 0, 421,
+ 89, 0, 422,
+ 90, 0, 423,
+ 91, 0, 424,
+ 92, 0, 425,
+ 96, 0, 53,
+ 97, 0, 1674
};
-static int parser_action_row1601[] = {
+static int parser_action_row1603[] = {
23,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1602[] = {
+static int parser_action_row1604[] = {
23,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1603[] = {
+static int parser_action_row1605[] = {
25,
-1, 1, 520,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1604[] = {
+static int parser_action_row1606[] = {
23,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1605[] = {
+static int parser_action_row1607[] = {
13,
-1, 1, 762,
- 59, 0, 1681,
+ 59, 0, 1683,
60, 0, 215,
61, 0, 216,
62, 0, 217,
69, 0, 224,
70, 0, 225
};
-static int parser_action_row1606[] = {
+static int parser_action_row1608[] = {
14,
-1, 1, 761,
52, 0, 274,
- 59, 0, 1683,
+ 59, 0, 1685,
60, 0, 215,
61, 0, 216,
62, 0, 217,
69, 0, 224,
70, 0, 225
};
-static int parser_action_row1607[] = {
+static int parser_action_row1609[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1608[] = {
+static int parser_action_row1610[] = {
1,
-1, 1, 366
};
-static int parser_action_row1609[] = {
+static int parser_action_row1611[] = {
21,
-1, 1, 460,
12, 0, 115,
102, 0, 58,
105, 0, 133
};
-static int parser_action_row1610[] = {
+static int parser_action_row1612[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1611[] = {
- 1,
- -1, 1, 779
-};
-static int parser_action_row1612[] = {
- 2,
- -1, 3, 1611,
- 24, 0, 1689
-};
static int parser_action_row1613[] = {
1,
- -1, 1, 937
+ -1, 1, 779
};
static int parser_action_row1614[] = {
2,
-1, 3, 1613,
- 49, 0, 195
+ 24, 0, 1691
};
static int parser_action_row1615[] = {
1,
- -1, 1, 939
+ -1, 1, 937
};
static int parser_action_row1616[] = {
2,
};
static int parser_action_row1617[] = {
1,
- -1, 1, 941
+ -1, 1, 939
};
static int parser_action_row1618[] = {
2,
49, 0, 195
};
static int parser_action_row1619[] = {
+ 1,
+ -1, 1, 941
+};
+static int parser_action_row1620[] = {
+ 2,
+ -1, 3, 1619,
+ 49, 0, 195
+};
+static int parser_action_row1621[] = {
2,
-1, 1, 194,
24, 1, 924
};
-static int parser_action_row1620[] = {
+static int parser_action_row1622[] = {
2,
-1, 1, 184,
24, 1, 914
};
-static int parser_action_row1621[] = {
+static int parser_action_row1623[] = {
2,
-1, 1, 196,
24, 1, 926
};
-static int parser_action_row1622[] = {
+static int parser_action_row1624[] = {
2,
-1, 1, 186,
24, 1, 916
};
-static int parser_action_row1623[] = {
+static int parser_action_row1625[] = {
24,
-1, 1, 444,
12, 0, 115,
44, 0, 122,
45, 0, 123,
48, 0, 124,
- 52, 0, 484,
+ 52, 0, 487,
74, 0, 126,
75, 0, 127,
83, 0, 128,
102, 0, 58,
105, 0, 133
};
-static int parser_action_row1624[] = {
+static int parser_action_row1626[] = {
38,
-1, 1, 444,
12, 0, 115,
48, 0, 124,
52, 0, 125,
54, 1, 340,
- 59, 0, 1192,
+ 59, 0, 1191,
60, 0, 215,
61, 0, 216,
62, 0, 217,
102, 0, 58,
105, 0, 133
};
-static int parser_action_row1625[] = {
+static int parser_action_row1627[] = {
23,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1626[] = {
+static int parser_action_row1628[] = {
2,
- -1, 3, 1625,
- 53, 0, 1696
+ -1, 3, 1627,
+ 53, 0, 1698
};
-static int parser_action_row1627[] = {
+static int parser_action_row1629[] = {
1,
-1, 1, 409
};
-static int parser_action_row1628[] = {
+static int parser_action_row1630[] = {
1,
-1, 1, 429
};
-static int parser_action_row1629[] = {
+static int parser_action_row1631[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1630[] = {
+static int parser_action_row1632[] = {
1,
-1, 1, 808
};
-static int parser_action_row1631[] = {
+static int parser_action_row1633[] = {
3,
- -1, 3, 1630,
+ -1, 3, 1632,
96, 0, 53,
- 97, 0, 1698
+ 97, 0, 1700
};
-static int parser_action_row1632[] = {
+static int parser_action_row1634[] = {
2,
- -1, 3, 1631,
- 98, 0, 1701
+ -1, 3, 1633,
+ 98, 0, 1703
};
-static int parser_action_row1633[] = {
+static int parser_action_row1635[] = {
1,
-1, 1, 533
};
-static int parser_action_row1634[] = {
+static int parser_action_row1636[] = {
2,
-1, 1, 407,
94, 0, 202
};
-static int parser_action_row1635[] = {
+static int parser_action_row1637[] = {
1,
-1, 1, 526
};
-static int parser_action_row1636[] = {
+static int parser_action_row1638[] = {
1,
-1, 1, 595
};
-static int parser_action_row1637[] = {
+static int parser_action_row1639[] = {
3,
- -1, 3, 1636,
- 31, 0, 1703,
- 52, 0, 1704
+ -1, 3, 1638,
+ 31, 0, 1705,
+ 52, 0, 1706
};
-static int parser_action_row1638[] = {
+static int parser_action_row1640[] = {
1,
-1, 1, 577
};
-static int parser_action_row1639[] = {
+static int parser_action_row1641[] = {
1,
-1, 1, 575
};
-static int parser_action_row1640[] = {
+static int parser_action_row1642[] = {
2,
-1, 1, 583,
52, 0, 274
};
-static int parser_action_row1641[] = {
+static int parser_action_row1643[] = {
3,
-1, 1, 591,
52, 0, 274,
58, 0, 213
};
-static int parser_action_row1642[] = {
+static int parser_action_row1644[] = {
2,
-1, 1, 458,
- 97, 0, 1707
+ 97, 0, 1709
};
-static int parser_action_row1643[] = {
+static int parser_action_row1645[] = {
56,
-1, 1, 460,
0, 0, 87,
26, 0, 37,
27, 0, 38,
31, 0, 117,
- 33, 0, 1332,
- 34, 0, 1333,
- 35, 0, 1334,
- 36, 0, 1335,
+ 33, 0, 1333,
+ 34, 0, 1334,
+ 35, 0, 1335,
+ 36, 0, 1336,
37, 0, 43,
38, 0, 118,
40, 0, 119,
43, 0, 121,
44, 0, 122,
45, 0, 123,
- 47, 0, 394,
+ 47, 0, 398,
48, 0, 124,
50, 0, 49,
- 51, 0, 1336,
- 52, 0, 1708,
- 54, 0, 618,
- 74, 0, 1338,
- 75, 0, 1339,
- 76, 0, 405,
- 77, 0, 406,
- 78, 0, 407,
- 79, 0, 408,
- 80, 0, 409,
- 81, 0, 410,
- 82, 0, 411,
- 83, 0, 1340,
- 84, 0, 413,
- 85, 0, 414,
- 86, 0, 415,
- 87, 0, 416,
- 88, 0, 417,
- 89, 0, 418,
- 90, 0, 419,
- 91, 0, 420,
- 92, 0, 421,
+ 51, 0, 1337,
+ 52, 0, 1710,
+ 54, 0, 624,
+ 74, 0, 1339,
+ 75, 0, 1340,
+ 76, 0, 409,
+ 77, 0, 410,
+ 78, 0, 411,
+ 79, 0, 412,
+ 80, 0, 413,
+ 81, 0, 414,
+ 82, 0, 415,
+ 83, 0, 1341,
+ 84, 0, 417,
+ 85, 0, 418,
+ 86, 0, 419,
+ 87, 0, 420,
+ 88, 0, 421,
+ 89, 0, 422,
+ 90, 0, 423,
+ 91, 0, 424,
+ 92, 0, 425,
94, 0, 202,
95, 0, 89,
- 96, 0, 422,
- 97, 0, 1341,
+ 96, 0, 386,
+ 97, 0, 1342,
99, 0, 130,
100, 0, 131,
101, 0, 132,
102, 0, 58,
105, 0, 133
};
-static int parser_action_row1644[] = {
+static int parser_action_row1646[] = {
1,
-1, 1, 125
};
-static int parser_action_row1645[] = {
- 5,
- -1, 3, 1644,
- 31, 0, 1712,
- 47, 0, 1713,
- 52, 0, 1714,
- 96, 0, 395
+static int parser_action_row1647[] = {
+ 6,
+ -1, 3, 1646,
+ 31, 0, 1714,
+ 47, 0, 1715,
+ 52, 0, 1716,
+ 96, 0, 386,
+ 97, 0, 387
};
-static int parser_action_row1646[] = {
+static int parser_action_row1648[] = {
1,
-1, 1, 42
};
-static int parser_action_row1647[] = {
+static int parser_action_row1649[] = {
1,
-1, 1, 28
};
-static int parser_action_row1648[] = {
+static int parser_action_row1650[] = {
2,
- -1, 3, 1647,
- 9, 0, 1716
+ -1, 3, 1649,
+ 9, 0, 1718
};
-static int parser_action_row1649[] = {
+static int parser_action_row1651[] = {
1,
-1, 1, 40
};
-static int parser_action_row1650[] = {
+static int parser_action_row1652[] = {
4,
-1, 1, 124,
- 4, 0, 981,
- 14, 0, 982,
- 15, 0, 1717
+ 4, 0, 984,
+ 14, 0, 985,
+ 15, 0, 1719
};
-static int parser_action_row1651[] = {
+static int parser_action_row1653[] = {
2,
-1, 1, 78,
- 14, 0, 973
+ 14, 0, 976
};
-static int parser_action_row1652[] = {
+static int parser_action_row1654[] = {
5,
-1, 1, 30,
0, 0, 87,
13, 0, 32,
95, 0, 89
};
-static int parser_action_row1653[] = {
+static int parser_action_row1655[] = {
33,
-1, 1, 460,
0, 0, 1,
1, 0, 2,
- 9, 0, 588,
+ 9, 0, 591,
12, 0, 31,
15, 0, 33,
16, 0, 34,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1654[] = {
+static int parser_action_row1656[] = {
2,
- -1, 3, 1653,
- 15, 0, 1725
+ -1, 3, 1655,
+ 15, 0, 1727
};
-static int parser_action_row1655[] = {
+static int parser_action_row1657[] = {
3,
- -1, 3, 1654,
- 14, 0, 1651,
- 15, 0, 1726
+ -1, 3, 1656,
+ 14, 0, 1653,
+ 15, 0, 1728
};
-static int parser_action_row1656[] = {
+static int parser_action_row1658[] = {
4,
-1, 1, 78,
- 14, 0, 1728,
- 15, 0, 1729,
- 59, 0, 1730
+ 14, 0, 1730,
+ 15, 0, 1731,
+ 59, 0, 1732
};
-static int parser_action_row1657[] = {
+static int parser_action_row1659[] = {
33,
-1, 1, 460,
0, 0, 1,
1, 0, 2,
- 9, 0, 588,
+ 9, 0, 591,
12, 0, 31,
15, 0, 33,
16, 0, 34,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1658[] = {
+static int parser_action_row1660[] = {
3,
-1, 1, 124,
- 4, 0, 981,
- 15, 0, 1734
+ 4, 0, 984,
+ 15, 0, 1736
};
-static int parser_action_row1659[] = {
+static int parser_action_row1661[] = {
3,
- -1, 3, 1658,
+ -1, 3, 1660,
28, 0, 83,
108, 0, 84
};
-static int parser_action_row1660[] = {
+static int parser_action_row1662[] = {
1,
-1, 1, 51
};
-static int parser_action_row1661[] = {
+static int parser_action_row1663[] = {
4,
-1, 1, 124,
- 4, 0, 981,
- 14, 0, 982,
- 15, 0, 1737
+ 4, 0, 984,
+ 14, 0, 985,
+ 15, 0, 1739
};
-static int parser_action_row1662[] = {
+static int parser_action_row1664[] = {
2,
-1, 1, 78,
- 14, 0, 973
+ 14, 0, 976
};
-static int parser_action_row1663[] = {
+static int parser_action_row1665[] = {
23,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1664[] = {
+static int parser_action_row1666[] = {
2,
-1, 1, 424,
94, 0, 202
};
-static int parser_action_row1665[] = {
+static int parser_action_row1667[] = {
1,
-1, 1, 671
};
-static int parser_action_row1666[] = {
+static int parser_action_row1668[] = {
1,
-1, 1, 690
};
-static int parser_action_row1667[] = {
+static int parser_action_row1669[] = {
1,
-1, 1, 662
};
-static int parser_action_row1668[] = {
+static int parser_action_row1670[] = {
1,
-1, 1, 681
};
-static int parser_action_row1669[] = {
+static int parser_action_row1671[] = {
1,
-1, 1, 674
};
-static int parser_action_row1670[] = {
+static int parser_action_row1672[] = {
1,
-1, 1, 693
};
-static int parser_action_row1671[] = {
+static int parser_action_row1673[] = {
23,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1672[] = {
+static int parser_action_row1674[] = {
23,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1673[] = {
+static int parser_action_row1675[] = {
15,
-1, 1, 749,
52, 0, 274,
58, 0, 213,
- 59, 0, 1746,
+ 59, 0, 1748,
60, 0, 215,
61, 0, 216,
62, 0, 217,
69, 0, 224,
70, 0, 225
};
-static int parser_action_row1674[] = {
+static int parser_action_row1676[] = {
2,
- -1, 3, 1673,
- 98, 0, 1749
+ -1, 3, 1675,
+ 98, 0, 1751
};
-static int parser_action_row1675[] = {
+static int parser_action_row1677[] = {
22,
-1, 1, 457,
- 54, 0, 618,
- 74, 0, 619,
- 75, 0, 620,
- 76, 0, 405,
- 77, 0, 406,
- 78, 0, 407,
- 79, 0, 408,
- 80, 0, 409,
- 81, 0, 410,
- 82, 0, 411,
- 83, 0, 621,
- 84, 0, 413,
- 85, 0, 414,
- 86, 0, 415,
- 87, 0, 416,
- 88, 0, 417,
- 89, 0, 418,
- 90, 0, 419,
- 91, 0, 420,
- 92, 0, 421,
- 97, 0, 1750
+ 54, 0, 624,
+ 74, 0, 625,
+ 75, 0, 626,
+ 76, 0, 409,
+ 77, 0, 410,
+ 78, 0, 411,
+ 79, 0, 412,
+ 80, 0, 413,
+ 81, 0, 414,
+ 82, 0, 415,
+ 83, 0, 627,
+ 84, 0, 417,
+ 85, 0, 418,
+ 86, 0, 419,
+ 87, 0, 420,
+ 88, 0, 421,
+ 89, 0, 422,
+ 90, 0, 423,
+ 91, 0, 424,
+ 92, 0, 425,
+ 97, 0, 1752
};
-static int parser_action_row1676[] = {
+static int parser_action_row1678[] = {
1,
-1, 1, 805
};
-static int parser_action_row1677[] = {
+static int parser_action_row1679[] = {
23,
-1, 1, 459,
- 54, 0, 618,
- 74, 0, 619,
- 75, 0, 620,
- 76, 0, 405,
- 77, 0, 406,
- 78, 0, 407,
- 79, 0, 408,
- 80, 0, 409,
- 81, 0, 410,
- 82, 0, 411,
- 83, 0, 621,
- 84, 0, 413,
- 85, 0, 414,
- 86, 0, 415,
- 87, 0, 416,
- 88, 0, 417,
- 89, 0, 418,
- 90, 0, 419,
- 91, 0, 420,
- 92, 0, 421,
- 96, 0, 53,
- 97, 0, 1751
+ 54, 0, 624,
+ 74, 0, 625,
+ 75, 0, 626,
+ 76, 0, 409,
+ 77, 0, 410,
+ 78, 0, 411,
+ 79, 0, 412,
+ 80, 0, 413,
+ 81, 0, 414,
+ 82, 0, 415,
+ 83, 0, 627,
+ 84, 0, 417,
+ 85, 0, 418,
+ 86, 0, 419,
+ 87, 0, 420,
+ 88, 0, 421,
+ 89, 0, 422,
+ 90, 0, 423,
+ 91, 0, 424,
+ 92, 0, 425,
+ 96, 0, 53,
+ 97, 0, 1753
};
-static int parser_action_row1678[] = {
+static int parser_action_row1680[] = {
1,
-1, 1, 679
};
-static int parser_action_row1679[] = {
+static int parser_action_row1681[] = {
1,
-1, 1, 698
};
-static int parser_action_row1680[] = {
+static int parser_action_row1682[] = {
1,
-1, 1, 678
};
-static int parser_action_row1681[] = {
+static int parser_action_row1683[] = {
1,
-1, 1, 697
};
-static int parser_action_row1682[] = {
+static int parser_action_row1684[] = {
23,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1683[] = {
+static int parser_action_row1685[] = {
23,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1684[] = {
+static int parser_action_row1686[] = {
25,
-1, 1, 520,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1685[] = {
+static int parser_action_row1687[] = {
23,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1686[] = {
+static int parser_action_row1688[] = {
13,
-1, 1, 760,
- 59, 0, 1757,
+ 59, 0, 1759,
60, 0, 215,
61, 0, 216,
62, 0, 217,
69, 0, 224,
70, 0, 225
};
-static int parser_action_row1687[] = {
+static int parser_action_row1689[] = {
2,
- -1, 3, 1686,
- 53, 0, 1759
+ -1, 3, 1688,
+ 53, 0, 1761
};
-static int parser_action_row1688[] = {
+static int parser_action_row1690[] = {
1,
-1, 1, 700
};
-static int parser_action_row1689[] = {
+static int parser_action_row1691[] = {
2,
- -1, 3, 1688,
- 53, 0, 1760
+ -1, 3, 1690,
+ 53, 0, 1762
};
-static int parser_action_row1690[] = {
+static int parser_action_row1692[] = {
33,
-1, 1, 460,
0, 0, 1,
1, 0, 2,
- 9, 0, 1384,
- 12, 0, 888,
- 15, 0, 889,
+ 9, 0, 1385,
+ 12, 0, 891,
+ 15, 0, 892,
16, 0, 34,
- 22, 0, 890,
- 25, 0, 892,
- 26, 0, 893,
- 27, 0, 894,
- 33, 0, 895,
- 34, 0, 896,
- 35, 0, 897,
- 36, 0, 898,
- 37, 0, 899,
+ 22, 0, 893,
+ 25, 0, 895,
+ 26, 0, 896,
+ 27, 0, 897,
+ 33, 0, 898,
+ 34, 0, 899,
+ 35, 0, 900,
+ 36, 0, 901,
+ 37, 0, 902,
38, 0, 44,
42, 0, 45,
43, 0, 46,
44, 0, 47,
45, 0, 48,
- 50, 0, 900,
- 51, 0, 901,
+ 50, 0, 903,
+ 51, 0, 904,
52, 0, 51,
54, 0, 52,
95, 0, 3,
96, 0, 53,
- 97, 0, 902,
+ 97, 0, 905,
99, 0, 55,
100, 0, 56,
101, 0, 57,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1691[] = {
+static int parser_action_row1693[] = {
2,
-1, 1, 269,
24, 1, 936
};
-static int parser_action_row1692[] = {
+static int parser_action_row1694[] = {
2,
-1, 1, 271,
24, 1, 938
};
-static int parser_action_row1693[] = {
+static int parser_action_row1695[] = {
2,
-1, 1, 276,
24, 1, 940
};
-static int parser_action_row1694[] = {
+static int parser_action_row1696[] = {
2,
-1, 1, 195,
24, 1, 925
};
-static int parser_action_row1695[] = {
+static int parser_action_row1697[] = {
2,
-1, 1, 185,
24, 1, 915
};
-static int parser_action_row1696[] = {
+static int parser_action_row1698[] = {
1,
-1, 1, 287
};
-static int parser_action_row1697[] = {
+static int parser_action_row1699[] = {
2,
-1, 1, 407,
94, 0, 202
};
-static int parser_action_row1698[] = {
+static int parser_action_row1700[] = {
23,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1699[] = {
+static int parser_action_row1701[] = {
3,
-1, 1, 600,
52, 0, 274,
58, 0, 213
};
-static int parser_action_row1700[] = {
+static int parser_action_row1702[] = {
2,
- -1, 3, 1699,
- 97, 0, 1765
+ -1, 3, 1701,
+ 97, 0, 1767
};
-static int parser_action_row1701[] = {
+static int parser_action_row1703[] = {
3,
- -1, 3, 1700,
+ -1, 3, 1702,
96, 0, 53,
- 97, 0, 1766
+ 97, 0, 1768
};
-static int parser_action_row1702[] = {
+static int parser_action_row1704[] = {
2,
-1, 1, 572,
73, 1, 575
};
-static int parser_action_row1703[] = {
+static int parser_action_row1705[] = {
1,
-1, 1, 527
};
-static int parser_action_row1704[] = {
+static int parser_action_row1706[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1705[] = {
+static int parser_action_row1707[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1706[] = {
+static int parser_action_row1708[] = {
1,
-1, 1, 581
};
-static int parser_action_row1707[] = {
+static int parser_action_row1709[] = {
1,
-1, 1, 589
};
-static int parser_action_row1708[] = {
+static int parser_action_row1710[] = {
2,
-1, 1, 587,
52, 0, 274
};
-static int parser_action_row1709[] = {
+static int parser_action_row1711[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1710[] = {
+static int parser_action_row1712[] = {
4,
- -1, 3, 1709,
+ -1, 3, 1711,
0, 0, 87,
1, 0, 88,
95, 0, 89
};
-static int parser_action_row1711[] = {
+static int parser_action_row1713[] = {
1,
-1, 1, 417
};
-static int parser_action_row1712[] = {
+static int parser_action_row1714[] = {
4,
- -1, 3, 1711,
+ -1, 3, 1713,
0, 0, 87,
1, 0, 88,
95, 0, 89
};
-static int parser_action_row1713[] = {
+static int parser_action_row1715[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1714[] = {
- 2,
+static int parser_action_row1716[] = {
+ 3,
-1, 1, 135,
- 96, 0, 602
+ 96, 0, 386,
+ 97, 0, 387
};
-static int parser_action_row1715[] = {
+static int parser_action_row1717[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1716[] = {
+static int parser_action_row1718[] = {
1,
-1, 1, 133
};
-static int parser_action_row1717[] = {
+static int parser_action_row1719[] = {
1,
-1, 1, 29
};
-static int parser_action_row1718[] = {
+static int parser_action_row1720[] = {
33,
-1, 1, 460,
0, 0, 1,
1, 0, 2,
- 9, 0, 588,
+ 9, 0, 591,
12, 0, 31,
15, 0, 33,
16, 0, 34,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1719[] = {
+static int parser_action_row1721[] = {
3,
-1, 1, 124,
- 4, 0, 981,
- 15, 0, 1777
+ 4, 0, 984,
+ 15, 0, 1779
};
-static int parser_action_row1720[] = {
+static int parser_action_row1722[] = {
3,
- -1, 3, 1719,
+ -1, 3, 1721,
28, 0, 83,
108, 0, 84
};
-static int parser_action_row1721[] = {
+static int parser_action_row1723[] = {
1,
-1, 1, 50
};
-static int parser_action_row1722[] = {
+static int parser_action_row1724[] = {
1,
-1, 1, 69
};
-static int parser_action_row1723[] = {
+static int parser_action_row1725[] = {
1,
-1, 1, 79
};
-static int parser_action_row1724[] = {
+static int parser_action_row1726[] = {
4,
-1, 1, 487,
0, 0, 1,
1, 0, 2,
95, 0, 3
};
-static int parser_action_row1725[] = {
+static int parser_action_row1727[] = {
2,
-1, 1, 471,
- 9, 0, 1323
+ 9, 0, 1324
};
-static int parser_action_row1726[] = {
+static int parser_action_row1728[] = {
33,
-1, 1, 460,
0, 0, 1,
1, 0, 2,
- 9, 0, 588,
+ 9, 0, 591,
12, 0, 31,
15, 0, 33,
16, 0, 34,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1727[] = {
+static int parser_action_row1729[] = {
33,
-1, 1, 460,
0, 0, 1,
1, 0, 2,
- 9, 0, 588,
+ 9, 0, 591,
12, 0, 31,
15, 0, 33,
16, 0, 34,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1728[] = {
+static int parser_action_row1730[] = {
2,
- -1, 3, 1727,
- 15, 0, 1784
+ -1, 3, 1729,
+ 15, 0, 1786
};
-static int parser_action_row1729[] = {
+static int parser_action_row1731[] = {
5,
-1, 1, 30,
0, 0, 87,
13, 0, 32,
95, 0, 89
};
-static int parser_action_row1730[] = {
+static int parser_action_row1732[] = {
33,
-1, 1, 460,
0, 0, 1,
1, 0, 2,
- 9, 0, 588,
+ 9, 0, 591,
12, 0, 31,
15, 0, 33,
16, 0, 34,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1731[] = {
+static int parser_action_row1733[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1732[] = {
+static int parser_action_row1734[] = {
1,
-1, 1, 59
};
-static int parser_action_row1733[] = {
+static int parser_action_row1735[] = {
2,
- -1, 3, 1732,
- 15, 0, 1789
+ -1, 3, 1734,
+ 15, 0, 1791
};
-static int parser_action_row1734[] = {
+static int parser_action_row1736[] = {
2,
-1, 1, 471,
- 9, 0, 1323
+ 9, 0, 1324
};
-static int parser_action_row1735[] = {
+static int parser_action_row1737[] = {
33,
-1, 1, 460,
0, 0, 1,
1, 0, 2,
- 9, 0, 588,
+ 9, 0, 591,
12, 0, 31,
15, 0, 33,
16, 0, 34,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1736[] = {
+static int parser_action_row1738[] = {
3,
- -1, 3, 1735,
+ -1, 3, 1737,
28, 0, 83,
108, 0, 84
};
-static int parser_action_row1737[] = {
+static int parser_action_row1739[] = {
1,
-1, 1, 70
};
-static int parser_action_row1738[] = {
+static int parser_action_row1740[] = {
33,
-1, 1, 460,
0, 0, 1,
1, 0, 2,
- 9, 0, 588,
+ 9, 0, 591,
12, 0, 31,
15, 0, 33,
16, 0, 34,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1739[] = {
+static int parser_action_row1741[] = {
3,
-1, 1, 124,
- 4, 0, 981,
- 15, 0, 1794
+ 4, 0, 984,
+ 15, 0, 1796
};
-static int parser_action_row1740[] = {
+static int parser_action_row1742[] = {
3,
- -1, 3, 1739,
+ -1, 3, 1741,
28, 0, 83,
108, 0, 84
};
-static int parser_action_row1741[] = {
+static int parser_action_row1743[] = {
1,
-1, 1, 52
};
-static int parser_action_row1742[] = {
+static int parser_action_row1744[] = {
1,
-1, 1, 43
};
-static int parser_action_row1743[] = {
+static int parser_action_row1745[] = {
1,
-1, 1, 1015
};
-static int parser_action_row1744[] = {
+static int parser_action_row1746[] = {
1,
-1, 1, 425
};
-static int parser_action_row1745[] = {
+static int parser_action_row1747[] = {
1,
-1, 1, 673
};
-static int parser_action_row1746[] = {
+static int parser_action_row1748[] = {
1,
-1, 1, 692
};
-static int parser_action_row1747[] = {
+static int parser_action_row1749[] = {
25,
-1, 1, 520,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1748[] = {
+static int parser_action_row1750[] = {
23,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1749[] = {
+static int parser_action_row1751[] = {
13,
-1, 1, 748,
- 59, 0, 1799,
+ 59, 0, 1801,
60, 0, 215,
61, 0, 216,
62, 0, 217,
69, 0, 224,
70, 0, 225
};
-static int parser_action_row1750[] = {
+static int parser_action_row1752[] = {
13,
-1, 1, 746,
- 59, 0, 1801,
+ 59, 0, 1803,
60, 0, 215,
61, 0, 216,
62, 0, 217,
69, 0, 224,
70, 0, 225
};
-static int parser_action_row1751[] = {
+static int parser_action_row1753[] = {
14,
-1, 1, 751,
52, 0, 274,
- 59, 0, 1803,
+ 59, 0, 1805,
60, 0, 215,
61, 0, 216,
62, 0, 217,
69, 0, 224,
70, 0, 225
};
-static int parser_action_row1752[] = {
+static int parser_action_row1754[] = {
15,
-1, 1, 755,
52, 0, 274,
58, 0, 213,
- 59, 0, 1806,
+ 59, 0, 1808,
60, 0, 215,
61, 0, 216,
62, 0, 217,
69, 0, 224,
70, 0, 225
};
-static int parser_action_row1753[] = {
+static int parser_action_row1755[] = {
22,
-1, 1, 458,
- 54, 0, 618,
- 74, 0, 619,
- 75, 0, 620,
- 76, 0, 405,
- 77, 0, 406,
- 78, 0, 407,
- 79, 0, 408,
- 80, 0, 409,
- 81, 0, 410,
- 82, 0, 411,
- 83, 0, 621,
- 84, 0, 413,
- 85, 0, 414,
- 86, 0, 415,
- 87, 0, 416,
- 88, 0, 417,
- 89, 0, 418,
- 90, 0, 419,
- 91, 0, 420,
- 92, 0, 421,
- 97, 0, 1809
+ 54, 0, 624,
+ 74, 0, 625,
+ 75, 0, 626,
+ 76, 0, 409,
+ 77, 0, 410,
+ 78, 0, 411,
+ 79, 0, 412,
+ 80, 0, 413,
+ 81, 0, 414,
+ 82, 0, 415,
+ 83, 0, 627,
+ 84, 0, 417,
+ 85, 0, 418,
+ 86, 0, 419,
+ 87, 0, 420,
+ 88, 0, 421,
+ 89, 0, 422,
+ 90, 0, 423,
+ 91, 0, 424,
+ 92, 0, 425,
+ 97, 0, 1811
};
-static int parser_action_row1754[] = {
+static int parser_action_row1756[] = {
1,
-1, 1, 677
};
-static int parser_action_row1755[] = {
+static int parser_action_row1757[] = {
1,
-1, 1, 696
};
-static int parser_action_row1756[] = {
+static int parser_action_row1758[] = {
1,
-1, 1, 676
};
-static int parser_action_row1757[] = {
+static int parser_action_row1759[] = {
1,
-1, 1, 695
};
-static int parser_action_row1758[] = {
+static int parser_action_row1760[] = {
23,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1759[] = {
+static int parser_action_row1761[] = {
23,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1760[] = {
+static int parser_action_row1762[] = {
1,
-1, 1, 367
};
-static int parser_action_row1761[] = {
+static int parser_action_row1763[] = {
1,
-1, 1, 780
};
-static int parser_action_row1762[] = {
+static int parser_action_row1764[] = {
1,
-1, 1, 933
};
-static int parser_action_row1763[] = {
+static int parser_action_row1765[] = {
1,
-1, 1, 413
};
-static int parser_action_row1764[] = {
+static int parser_action_row1766[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1765[] = {
+static int parser_action_row1767[] = {
1,
-1, 1, 599
};
-static int parser_action_row1766[] = {
+static int parser_action_row1768[] = {
2,
-1, 1, 602,
52, 0, 274
};
-static int parser_action_row1767[] = {
+static int parser_action_row1769[] = {
3,
-1, 1, 606,
52, 0, 274,
58, 0, 213
};
-static int parser_action_row1768[] = {
+static int parser_action_row1770[] = {
2,
- -1, 3, 1767,
- 97, 0, 1815
+ -1, 3, 1769,
+ 97, 0, 1817
};
-static int parser_action_row1769[] = {
+static int parser_action_row1771[] = {
2,
- -1, 3, 1768,
- 45, 0, 1816
+ -1, 3, 1770,
+ 45, 0, 1818
};
-static int parser_action_row1770[] = {
- 4,
- -1, 3, 1769,
- 31, 0, 1817,
- 47, 0, 394,
- 96, 0, 395
+static int parser_action_row1772[] = {
+ 5,
+ -1, 3, 1771,
+ 31, 0, 1819,
+ 47, 0, 398,
+ 96, 0, 386,
+ 97, 0, 387
};
-static int parser_action_row1771[] = {
+static int parser_action_row1773[] = {
1,
-1, 1, 585
};
-static int parser_action_row1772[] = {
+static int parser_action_row1774[] = {
53,
-1, 1, 460,
12, 0, 168,
26, 0, 37,
27, 0, 38,
31, 0, 170,
- 33, 0, 397,
- 34, 0, 398,
- 35, 0, 399,
- 36, 0, 400,
+ 33, 0, 401,
+ 34, 0, 402,
+ 35, 0, 403,
+ 36, 0, 404,
37, 0, 43,
38, 0, 171,
40, 0, 172,
43, 0, 46,
44, 0, 47,
45, 0, 48,
- 47, 0, 394,
+ 47, 0, 398,
48, 0, 173,
50, 0, 49,
- 51, 0, 401,
+ 51, 0, 405,
52, 0, 51,
- 54, 0, 402,
- 74, 0, 403,
- 75, 0, 404,
- 76, 0, 405,
- 77, 0, 406,
- 78, 0, 407,
- 79, 0, 408,
- 80, 0, 409,
- 81, 0, 410,
- 82, 0, 411,
- 83, 0, 412,
- 84, 0, 413,
- 85, 0, 414,
- 86, 0, 415,
- 87, 0, 416,
- 88, 0, 417,
- 89, 0, 418,
- 90, 0, 419,
- 91, 0, 420,
- 92, 0, 421,
+ 54, 0, 406,
+ 74, 0, 407,
+ 75, 0, 408,
+ 76, 0, 409,
+ 77, 0, 410,
+ 78, 0, 411,
+ 79, 0, 412,
+ 80, 0, 413,
+ 81, 0, 414,
+ 82, 0, 415,
+ 83, 0, 416,
+ 84, 0, 417,
+ 85, 0, 418,
+ 86, 0, 419,
+ 87, 0, 420,
+ 88, 0, 421,
+ 89, 0, 422,
+ 90, 0, 423,
+ 91, 0, 424,
+ 92, 0, 425,
94, 0, 202,
- 96, 0, 422,
- 97, 0, 423,
+ 96, 0, 386,
+ 97, 0, 426,
99, 0, 55,
100, 0, 56,
101, 0, 57,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1773[] = {
+static int parser_action_row1775[] = {
1,
-1, 1, 418
};
-static int parser_action_row1774[] = {
+static int parser_action_row1776[] = {
1,
-1, 1, 421
};
-static int parser_action_row1775[] = {
+static int parser_action_row1777[] = {
2,
- -1, 3, 1774,
- 47, 0, 1820
+ -1, 3, 1776,
+ 47, 0, 1822
};
-static int parser_action_row1776[] = {
- 4,
- -1, 3, 1775,
- 31, 0, 1821,
- 47, 0, 1822,
- 96, 0, 395
+static int parser_action_row1778[] = {
+ 5,
+ -1, 3, 1777,
+ 31, 0, 1823,
+ 47, 0, 1824,
+ 96, 0, 386,
+ 97, 0, 387
};
-static int parser_action_row1777[] = {
+static int parser_action_row1779[] = {
2,
-1, 1, 471,
- 9, 0, 1323
+ 9, 0, 1324
};
-static int parser_action_row1778[] = {
+static int parser_action_row1780[] = {
33,
-1, 1, 460,
0, 0, 1,
1, 0, 2,
- 9, 0, 588,
+ 9, 0, 591,
12, 0, 31,
15, 0, 33,
16, 0, 34,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1779[] = {
+static int parser_action_row1781[] = {
3,
- -1, 3, 1778,
+ -1, 3, 1780,
28, 0, 83,
108, 0, 84
};
-static int parser_action_row1780[] = {
+static int parser_action_row1782[] = {
1,
-1, 1, 57
};
-static int parser_action_row1781[] = {
+static int parser_action_row1783[] = {
5,
-1, 1, 487,
0, 0, 1,
15, 1, 80,
95, 0, 3
};
-static int parser_action_row1782[] = {
+static int parser_action_row1784[] = {
1,
-1, 1, 65
};
-static int parser_action_row1783[] = {
+static int parser_action_row1785[] = {
2,
-1, 1, 471,
- 9, 0, 1323
+ 9, 0, 1324
};
-static int parser_action_row1784[] = {
+static int parser_action_row1786[] = {
2,
-1, 1, 471,
- 9, 0, 1323
+ 9, 0, 1324
};
-static int parser_action_row1785[] = {
+static int parser_action_row1787[] = {
33,
-1, 1, 460,
0, 0, 1,
1, 0, 2,
- 9, 0, 588,
+ 9, 0, 591,
12, 0, 31,
15, 0, 33,
16, 0, 34,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1786[] = {
+static int parser_action_row1788[] = {
2,
-1, 1, 76,
15, 1, 79
};
-static int parser_action_row1787[] = {
+static int parser_action_row1789[] = {
4,
-1, 1, 487,
0, 0, 1,
1, 0, 2,
95, 0, 3
};
-static int parser_action_row1788[] = {
+static int parser_action_row1790[] = {
2,
-1, 1, 61,
- 9, 0, 1831
+ 9, 0, 1833
};
-static int parser_action_row1789[] = {
+static int parser_action_row1791[] = {
23,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1790[] = {
+static int parser_action_row1792[] = {
33,
-1, 1, 460,
0, 0, 1,
1, 0, 2,
- 9, 0, 588,
+ 9, 0, 591,
12, 0, 31,
15, 0, 33,
16, 0, 34,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1791[] = {
+static int parser_action_row1793[] = {
1,
-1, 1, 53
};
-static int parser_action_row1792[] = {
+static int parser_action_row1794[] = {
2,
-1, 1, 471,
- 9, 0, 1323
+ 9, 0, 1324
};
-static int parser_action_row1793[] = {
+static int parser_action_row1795[] = {
1,
-1, 1, 72
};
-static int parser_action_row1794[] = {
+static int parser_action_row1796[] = {
2,
-1, 1, 471,
- 9, 0, 1323
+ 9, 0, 1324
};
-static int parser_action_row1795[] = {
+static int parser_action_row1797[] = {
33,
-1, 1, 460,
0, 0, 1,
1, 0, 2,
- 9, 0, 588,
+ 9, 0, 591,
12, 0, 31,
15, 0, 33,
16, 0, 34,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1796[] = {
+static int parser_action_row1798[] = {
3,
- -1, 3, 1795,
+ -1, 3, 1797,
28, 0, 83,
108, 0, 84
};
-static int parser_action_row1797[] = {
+static int parser_action_row1799[] = {
1,
-1, 1, 71
};
-static int parser_action_row1798[] = {
+static int parser_action_row1800[] = {
1,
-1, 1, 664
};
-static int parser_action_row1799[] = {
+static int parser_action_row1801[] = {
1,
-1, 1, 683
};
-static int parser_action_row1800[] = {
+static int parser_action_row1802[] = {
23,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1801[] = {
+static int parser_action_row1803[] = {
23,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1802[] = {
+static int parser_action_row1804[] = {
23,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1803[] = {
+static int parser_action_row1805[] = {
23,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1804[] = {
+static int parser_action_row1806[] = {
25,
-1, 1, 520,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1805[] = {
+static int parser_action_row1807[] = {
23,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1806[] = {
+static int parser_action_row1808[] = {
13,
-1, 1, 750,
- 59, 0, 1844,
+ 59, 0, 1846,
60, 0, 215,
61, 0, 216,
62, 0, 217,
69, 0, 224,
70, 0, 225
};
-static int parser_action_row1807[] = {
+static int parser_action_row1809[] = {
25,
-1, 1, 520,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1808[] = {
+static int parser_action_row1810[] = {
23,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1809[] = {
+static int parser_action_row1811[] = {
13,
-1, 1, 754,
- 59, 0, 1848,
+ 59, 0, 1850,
60, 0, 215,
61, 0, 216,
62, 0, 217,
69, 0, 224,
70, 0, 225
};
-static int parser_action_row1810[] = {
+static int parser_action_row1812[] = {
14,
-1, 1, 753,
52, 0, 274,
- 59, 0, 1850,
+ 59, 0, 1852,
60, 0, 215,
61, 0, 216,
62, 0, 217,
69, 0, 224,
70, 0, 225
};
-static int parser_action_row1811[] = {
+static int parser_action_row1813[] = {
1,
-1, 1, 675
};
-static int parser_action_row1812[] = {
+static int parser_action_row1814[] = {
1,
-1, 1, 694
};
-static int parser_action_row1813[] = {
+static int parser_action_row1815[] = {
2,
- -1, 3, 1812,
- 24, 0, 1853
+ -1, 3, 1814,
+ 24, 0, 1855
};
-static int parser_action_row1814[] = {
+static int parser_action_row1816[] = {
1,
-1, 1, 601
};
-static int parser_action_row1815[] = {
+static int parser_action_row1817[] = {
1,
-1, 1, 605
};
-static int parser_action_row1816[] = {
+static int parser_action_row1818[] = {
2,
-1, 1, 604,
52, 0, 274
};
-static int parser_action_row1817[] = {
+static int parser_action_row1819[] = {
1,
-1, 1, 609
};
-static int parser_action_row1818[] = {
+static int parser_action_row1820[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1819[] = {
+static int parser_action_row1821[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1820[] = {
+static int parser_action_row1822[] = {
2,
- -1, 3, 1819,
- 53, 0, 1857
+ -1, 3, 1821,
+ 53, 0, 1859
};
-static int parser_action_row1821[] = {
+static int parser_action_row1823[] = {
1,
-1, 1, 137
};
-static int parser_action_row1822[] = {
+static int parser_action_row1824[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1823[] = {
- 4,
+static int parser_action_row1825[] = {
+ 5,
-1, 1, 489,
0, 0, 1,
1, 0, 2,
- 96, 0, 602
+ 96, 0, 386,
+ 97, 0, 387
};
-static int parser_action_row1824[] = {
+static int parser_action_row1826[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1825[] = {
+static int parser_action_row1827[] = {
1,
-1, 1, 48
};
-static int parser_action_row1826[] = {
+static int parser_action_row1828[] = {
2,
-1, 1, 471,
- 9, 0, 1323
+ 9, 0, 1324
};
-static int parser_action_row1827[] = {
+static int parser_action_row1829[] = {
1,
-1, 1, 58
};
-static int parser_action_row1828[] = {
+static int parser_action_row1830[] = {
1,
-1, 1, 67
};
-static int parser_action_row1829[] = {
+static int parser_action_row1831[] = {
1,
-1, 1, 66
};
-static int parser_action_row1830[] = {
+static int parser_action_row1832[] = {
2,
-1, 1, 471,
- 9, 0, 1323
+ 9, 0, 1324
};
-static int parser_action_row1831[] = {
+static int parser_action_row1833[] = {
6,
-1, 1, 487,
0, 0, 1,
1, 0, 2,
- 9, 0, 1452,
+ 9, 0, 1453,
15, 1, 80,
95, 0, 3
};
-static int parser_action_row1832[] = {
+static int parser_action_row1834[] = {
1,
-1, 1, 63
};
-static int parser_action_row1833[] = {
+static int parser_action_row1835[] = {
2,
-1, 1, 78,
- 14, 0, 973
+ 14, 0, 976
};
-static int parser_action_row1834[] = {
+static int parser_action_row1836[] = {
2,
-1, 1, 62,
- 9, 0, 1864
+ 9, 0, 1866
};
-static int parser_action_row1835[] = {
+static int parser_action_row1837[] = {
1,
-1, 1, 55
};
-static int parser_action_row1836[] = {
+static int parser_action_row1838[] = {
1,
-1, 1, 54
};
-static int parser_action_row1837[] = {
+static int parser_action_row1839[] = {
2,
-1, 1, 471,
- 9, 0, 1323
+ 9, 0, 1324
};
-static int parser_action_row1838[] = {
+static int parser_action_row1840[] = {
1,
-1, 1, 73
};
-static int parser_action_row1839[] = {
+static int parser_action_row1841[] = {
1,
-1, 1, 663
};
-static int parser_action_row1840[] = {
+static int parser_action_row1842[] = {
1,
-1, 1, 682
};
-static int parser_action_row1841[] = {
+static int parser_action_row1843[] = {
1,
-1, 1, 661
};
-static int parser_action_row1842[] = {
+static int parser_action_row1844[] = {
1,
-1, 1, 680
};
-static int parser_action_row1843[] = {
+static int parser_action_row1845[] = {
1,
-1, 1, 666
};
-static int parser_action_row1844[] = {
+static int parser_action_row1846[] = {
1,
-1, 1, 685
};
-static int parser_action_row1845[] = {
+static int parser_action_row1847[] = {
23,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1846[] = {
+static int parser_action_row1848[] = {
23,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1847[] = {
+static int parser_action_row1849[] = {
1,
-1, 1, 670
};
-static int parser_action_row1848[] = {
+static int parser_action_row1850[] = {
1,
-1, 1, 689
};
-static int parser_action_row1849[] = {
+static int parser_action_row1851[] = {
23,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1850[] = {
+static int parser_action_row1852[] = {
23,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1851[] = {
+static int parser_action_row1853[] = {
25,
-1, 1, 520,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1852[] = {
+static int parser_action_row1854[] = {
23,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1853[] = {
+static int parser_action_row1855[] = {
13,
-1, 1, 752,
- 59, 0, 1872,
+ 59, 0, 1874,
60, 0, 215,
61, 0, 216,
62, 0, 217,
69, 0, 224,
70, 0, 225
};
-static int parser_action_row1854[] = {
+static int parser_action_row1856[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1855[] = {
+static int parser_action_row1857[] = {
1,
-1, 1, 603
};
-static int parser_action_row1856[] = {
+static int parser_action_row1858[] = {
2,
- -1, 3, 1855,
- 45, 0, 1875
+ -1, 3, 1857,
+ 45, 0, 1877
};
-static int parser_action_row1857[] = {
+static int parser_action_row1859[] = {
2,
- -1, 3, 1856,
- 53, 0, 1876
+ -1, 3, 1858,
+ 53, 0, 1878
};
-static int parser_action_row1858[] = {
+static int parser_action_row1860[] = {
5,
- -1, 3, 1857,
+ -1, 3, 1859,
0, 0, 87,
1, 0, 88,
94, 0, 202,
95, 0, 89
};
-static int parser_action_row1859[] = {
+static int parser_action_row1861[] = {
2,
- -1, 3, 1858,
- 47, 0, 1879
+ -1, 3, 1860,
+ 47, 0, 1881
};
-static int parser_action_row1860[] = {
+static int parser_action_row1862[] = {
2,
- -1, 3, 1859,
- 53, 0, 1880
+ -1, 3, 1861,
+ 53, 0, 1882
};
-static int parser_action_row1861[] = {
+static int parser_action_row1863[] = {
2,
- -1, 3, 1860,
- 53, 0, 1881
+ -1, 3, 1862,
+ 53, 0, 1883
};
-static int parser_action_row1862[] = {
+static int parser_action_row1864[] = {
1,
-1, 1, 49
};
-static int parser_action_row1863[] = {
+static int parser_action_row1865[] = {
1,
-1, 1, 68
};
-static int parser_action_row1864[] = {
+static int parser_action_row1866[] = {
1,
-1, 1, 60
};
-static int parser_action_row1865[] = {
+static int parser_action_row1867[] = {
1,
-1, 1, 64
};
-static int parser_action_row1866[] = {
+static int parser_action_row1868[] = {
1,
-1, 1, 56
};
-static int parser_action_row1867[] = {
+static int parser_action_row1869[] = {
1,
-1, 1, 665
};
-static int parser_action_row1868[] = {
+static int parser_action_row1870[] = {
1,
-1, 1, 684
};
-static int parser_action_row1869[] = {
+static int parser_action_row1871[] = {
1,
-1, 1, 669
};
-static int parser_action_row1870[] = {
+static int parser_action_row1872[] = {
1,
-1, 1, 688
};
-static int parser_action_row1871[] = {
+static int parser_action_row1873[] = {
1,
-1, 1, 668
};
-static int parser_action_row1872[] = {
+static int parser_action_row1874[] = {
1,
-1, 1, 687
};
-static int parser_action_row1873[] = {
+static int parser_action_row1875[] = {
23,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1874[] = {
+static int parser_action_row1876[] = {
23,
-1, 1, 460,
12, 0, 168,
102, 0, 58,
105, 0, 59
};
-static int parser_action_row1875[] = {
+static int parser_action_row1877[] = {
22,
-1, 1, 460,
12, 0, 1108,
102, 0, 58,
105, 0, 1125
};
-static int parser_action_row1876[] = {
+static int parser_action_row1878[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1877[] = {
+static int parser_action_row1879[] = {
1,
-1, 1, 607
};
-static int parser_action_row1878[] = {
+static int parser_action_row1880[] = {
4,
- -1, 3, 1877,
+ -1, 3, 1879,
0, 0, 87,
1, 0, 88,
95, 0, 89
};
-static int parser_action_row1879[] = {
+static int parser_action_row1881[] = {
1,
-1, 1, 419
};
-static int parser_action_row1880[] = {
+static int parser_action_row1882[] = {
3,
-1, 1, 489,
0, 0, 1,
1, 0, 2
};
-static int parser_action_row1881[] = {
+static int parser_action_row1883[] = {
1,
-1, 1, 134
};
-static int parser_action_row1882[] = {
+static int parser_action_row1884[] = {
1,
-1, 1, 132
};
-static int parser_action_row1883[] = {
+static int parser_action_row1885[] = {
1,
-1, 1, 667
};
-static int parser_action_row1884[] = {
+static int parser_action_row1886[] = {
1,
-1, 1, 686
};
-static int parser_action_row1885[] = {
+static int parser_action_row1887[] = {
1,
-1, 1, 529
};
-static int parser_action_row1886[] = {
+static int parser_action_row1888[] = {
2,
- -1, 3, 1885,
- 53, 0, 1888
+ -1, 3, 1887,
+ 53, 0, 1890
};
-static int parser_action_row1887[] = {
+static int parser_action_row1889[] = {
1,
-1, 1, 420
};
-static int parser_action_row1888[] = {
+static int parser_action_row1890[] = {
2,
- -1, 3, 1887,
- 53, 0, 1889
+ -1, 3, 1889,
+ 53, 0, 1891
};
-static int parser_action_row1889[] = {
+static int parser_action_row1891[] = {
1,
-1, 1, 608
};
-static int parser_action_row1890[] = {
+static int parser_action_row1892[] = {
1,
-1, 1, 136
};
parser_action_row1887,
parser_action_row1888,
parser_action_row1889,
- parser_action_row1890
+ parser_action_row1890,
+ parser_action_row1891,
+ parser_action_row1892
};
static int parser_goto_row1[] = {
110, 270,
111, 272,
113, 273,
- 262, 498,
- 271, 501
+ 262, 501,
+ 271, 504
};
static int parser_goto_row6[] = {
1,
};
static int parser_goto_row8[] = {
9,
- -1, 790,
+ -1, 797,
13, 60,
27, 108,
97, 264,
- 202, 389,
- 593, 787,
- 997, 1170,
+ 202, 393,
+ 596, 793,
+ 1000, 1170,
1174, 1170,
- 1306, 1451
+ 1305, 1452
};
static int parser_goto_row9[] = {
1,
- -1, 467
+ -1, 470
};
static int parser_goto_row10[] = {
1,
- -1, 1328
+ -1, 1329
};
static int parser_goto_row11[] = {
2,
- -1, 1471,
- 1472, 1579
+ -1, 1473,
+ 1474, 1581
};
static int parser_goto_row12[] = {
2,
- -1, 1329,
- 1578, 1648
+ -1, 1330,
+ 1580, 1650
};
static int parser_goto_row13[] = {
2,
- -1, 990,
- 998, 1172
+ -1, 993,
+ 1001, 1172
};
static int parser_goto_row14[] = {
4,
- -1, 991,
- 994, 1167,
- 1469, 1576,
- 1577, 1647
+ -1, 994,
+ 997, 1167,
+ 1471, 1578,
+ 1579, 1649
};
static int parser_goto_row15[] = {
2,
- -1, 992,
- 998, 1173
+ -1, 995,
+ 1001, 1173
};
static int parser_goto_row16[] = {
1,
- -1, 993
+ -1, 996
};
static int parser_goto_row17[] = {
6,
- -1, 974,
- 826, 977,
- 1650, 1721,
- 1655, 1731,
- 1661, 1741,
- 1832, 1863
+ -1, 977,
+ 833, 980,
+ 1652, 1723,
+ 1657, 1733,
+ 1663, 1743,
+ 1834, 1865
};
static int parser_goto_row18[] = {
7,
- -1, 984,
- 1582, 1653,
- 1585, 1657,
- 1649, 1718,
- 1654, 1727,
- 1655, 1732,
- 1660, 1738
+ -1, 987,
+ 1584, 1655,
+ 1587, 1659,
+ 1651, 1720,
+ 1656, 1729,
+ 1657, 1734,
+ 1662, 1740
};
static int parser_goto_row19[] = {
8,
-1, 237,
108, 269,
- 264, 499,
- 389, 598,
- 787, 940,
- 790, 944,
- 1170, 1331,
- 1451, 1566
+ 264, 502,
+ 393, 604,
+ 793, 943,
+ 797, 947,
+ 1170, 1332,
+ 1452, 1568
};
static int parser_goto_row20[] = {
- 4,
- -1, 660,
- 662, 835,
- 663, 836,
- 837, 988
+ 7,
+ -1, 666,
+ 668, 842,
+ 669, 843,
+ 844, 991,
+ 1321, 842,
+ 1322, 843,
+ 1466, 991
};
static int parser_goto_row21[] = {
6,
- -1, 831,
- 1475, 1582,
- 1477, 1585,
- 1580, 1649,
- 1583, 1654,
- 1586, 1660
+ -1, 838,
+ 1477, 1584,
+ 1479, 1587,
+ 1582, 1651,
+ 1585, 1656,
+ 1588, 1662
};
static int parser_goto_row22[] = {
1,
};
static int parser_goto_row23[] = {
2,
- -1, 1313,
- 1315, 1459
+ -1, 1312,
+ 1314, 1460
};
static int parser_goto_row24[] = {
2,
-1, 1155,
- 1458, 1569
+ 1459, 1571
};
static int parser_goto_row25[] = {
8,
- -1, 985,
- 984, 1162,
- 1585, 1658,
- 1649, 1719,
- 1657, 1735,
- 1660, 1739,
- 1718, 1778,
- 1738, 1795
+ -1, 988,
+ 987, 1162,
+ 1587, 1660,
+ 1651, 1721,
+ 1659, 1737,
+ 1662, 1741,
+ 1720, 1780,
+ 1740, 1797
};
static int parser_goto_row26[] = {
2,
- -1, 1462,
- 1463, 1571
+ -1, 1463,
+ 1464, 1573
};
static int parser_goto_row27[] = {
2,
- -1, 1317,
- 1570, 1643
+ -1, 1316,
+ 1572, 1645
};
static int parser_goto_row28[] = {
1,
- -1, 1318
+ -1, 1317
};
static int parser_goto_row29[] = {
1,
- -1, 1319
+ -1, 1318
};
static int parser_goto_row30[] = {
1,
static int parser_goto_row32[] = {
11,
-1, 86,
- 840, 994,
- 985, 1163,
- 1162, 1326,
- 1469, 1577,
- 1658, 1736,
- 1719, 1779,
- 1735, 1792,
- 1739, 1796,
- 1778, 1826,
- 1795, 1837
+ 845, 997,
+ 988, 1163,
+ 1162, 1327,
+ 1471, 1579,
+ 1660, 1738,
+ 1721, 1781,
+ 1737, 1794,
+ 1741, 1798,
+ 1780, 1828,
+ 1797, 1839
};
static int parser_goto_row33[] = {
1,
};
static int parser_goto_row35[] = {
24,
- -1, 424,
- 209, 396,
- 521, 710,
- 545, 738,
- 564, 755,
- 609, 804,
- 785, 937,
- 802, 937,
- 936, 937,
- 955, 937,
- 980, 1156,
- 1056, 1215,
- 1157, 1320,
- 1171, 1342,
- 1178, 1363,
- 1203, 1379,
- 1232, 1398,
- 1482, 1588,
- 1570, 1320,
- 1587, 1661,
- 1642, 1342,
- 1644, 1715,
- 1769, 1818,
- 1775, 1823
+ -1, 427,
+ 209, 399,
+ 524, 716,
+ 548, 744,
+ 567, 761,
+ 615, 811,
+ 791, 940,
+ 810, 940,
+ 939, 940,
+ 958, 940,
+ 983, 1156,
+ 1056, 1214,
+ 1157, 1319,
+ 1171, 1343,
+ 1177, 1364,
+ 1202, 1380,
+ 1231, 1399,
+ 1484, 1590,
+ 1572, 1319,
+ 1589, 1663,
+ 1644, 1343,
+ 1646, 1717,
+ 1771, 1820,
+ 1777, 1825
};
static int parser_goto_row36[] = {
4,
- -1, 938,
- 802, 956,
- 936, 1080,
- 955, 1099
+ -1, 941,
+ 810, 959,
+ 939, 1080,
+ 958, 1099
};
static int parser_goto_row37[] = {
2,
-1, 1082,
- 1083, 1233
+ 1083, 1232
};
static int parser_goto_row38[] = {
5,
- -1, 832,
- 1153, 1308,
- 1309, 1455,
- 1311, 1456,
- 1581, 1650
+ -1, 839,
+ 1153, 1307,
+ 1308, 1456,
+ 1310, 1457,
+ 1583, 1652
};
static int parser_goto_row39[] = {
8,
-1, 330,
- 331, 547,
- 391, 599,
- 447, 630,
- 600, 798,
- 1327, 1467,
- 1468, 1575,
- 1584, 1655
+ 331, 550,
+ 395, 605,
+ 450, 636,
+ 606, 805,
+ 1328, 1469,
+ 1470, 1577,
+ 1586, 1657
};
static int parser_goto_row40[] = {
32,
-1, 156,
37, 165,
- 384, 589,
- 587, 780,
- 742, 920,
- 744, 923,
- 799, 953,
- 891, 1045,
- 893, 165,
- 983, 1160,
- 1062, 1220,
- 1066, 1224,
- 1161, 1325,
- 1213, 589,
- 1221, 1393,
- 1383, 780,
- 1503, 920,
- 1504, 923,
- 1508, 953,
- 1652, 1724,
- 1656, 1733,
- 1689, 1224,
- 1717, 1776,
- 1725, 1782,
- 1726, 1783,
- 1729, 1787,
- 1734, 1791,
- 1737, 1793,
- 1777, 1825,
- 1784, 1829,
- 1789, 1833,
- 1794, 1836
+ 384, 592,
+ 590, 786,
+ 748, 923,
+ 750, 926,
+ 806, 956,
+ 894, 1045,
+ 896, 165,
+ 986, 1160,
+ 1062, 1219,
+ 1066, 1223,
+ 1161, 1326,
+ 1212, 592,
+ 1220, 1394,
+ 1384, 786,
+ 1505, 923,
+ 1506, 926,
+ 1510, 956,
+ 1654, 1726,
+ 1658, 1735,
+ 1691, 1223,
+ 1719, 1778,
+ 1727, 1784,
+ 1728, 1785,
+ 1731, 1789,
+ 1736, 1793,
+ 1739, 1795,
+ 1779, 1827,
+ 1786, 1831,
+ 1791, 1835,
+ 1796, 1838
};
static int parser_goto_row41[] = {
1,
static int parser_goto_row42[] = {
2,
-1, 62,
- 910, 1063
+ 913, 1063
};
static int parser_goto_row43[] = {
4,
-1, 326,
- 590, 782,
- 1040, 1206,
- 1385, 1507
+ 593, 788,
+ 1040, 1205,
+ 1386, 1509
};
static int parser_goto_row44[] = {
4,
-1, 238,
- 240, 469,
- 544, 469,
- 1223, 469
+ 240, 472,
+ 547, 472,
+ 1222, 472
};
static int parser_goto_row45[] = {
15,
27, 63,
97, 63,
158, 327,
- 239, 468,
- 470, 468,
- 543, 468,
- 590, 327,
- 737, 468,
- 741, 903,
- 910, 1064,
+ 239, 471,
+ 473, 471,
+ 546, 471,
+ 593, 327,
+ 743, 471,
+ 747, 906,
+ 913, 1064,
1040, 327,
- 1385, 327,
- 1502, 903
+ 1386, 327,
+ 1504, 906
};
static int parser_goto_row46[] = {
18,
41, 197,
159, 328,
166, 335,
- 398, 607,
- 399, 608,
- 896, 1051,
- 897, 1052,
- 921, 1070,
- 924, 1072,
- 954, 1098,
- 1043, 1207,
- 1048, 1210,
- 1333, 1480,
- 1334, 1481,
- 1613, 1690,
- 1615, 1691,
- 1617, 1692
+ 402, 613,
+ 403, 614,
+ 899, 1051,
+ 900, 1052,
+ 924, 1070,
+ 927, 1072,
+ 957, 1098,
+ 1043, 1206,
+ 1048, 1209,
+ 1334, 1482,
+ 1335, 1483,
+ 1615, 1692,
+ 1617, 1693,
+ 1619, 1694
};
static int parser_goto_row47[] = {
20,
-1, 64,
- 210, 425,
- 741, 904,
- 808, 425,
- 889, 904,
- 893, 904,
- 1095, 425,
- 1171, 1343,
- 1213, 904,
- 1383, 904,
- 1402, 425,
- 1483, 425,
- 1502, 904,
- 1503, 904,
- 1504, 904,
- 1508, 904,
- 1521, 425,
- 1642, 1343,
- 1689, 904,
- 1771, 425
+ 210, 428,
+ 747, 907,
+ 815, 428,
+ 892, 907,
+ 896, 907,
+ 1095, 428,
+ 1171, 1344,
+ 1212, 907,
+ 1384, 907,
+ 1403, 428,
+ 1485, 428,
+ 1504, 907,
+ 1505, 907,
+ 1506, 907,
+ 1510, 907,
+ 1523, 428,
+ 1644, 1344,
+ 1691, 907,
+ 1773, 428
};
static int parser_goto_row48[] = {
18,
-1, 65,
- 210, 426,
- 741, 905,
- 808, 426,
- 889, 905,
- 893, 905,
- 1095, 426,
- 1213, 905,
- 1383, 905,
- 1402, 426,
- 1483, 426,
- 1502, 905,
- 1503, 905,
- 1504, 905,
- 1508, 905,
- 1521, 426,
- 1689, 905,
- 1771, 426
+ 210, 429,
+ 747, 908,
+ 815, 429,
+ 892, 908,
+ 896, 908,
+ 1095, 429,
+ 1212, 908,
+ 1384, 908,
+ 1403, 429,
+ 1485, 429,
+ 1504, 908,
+ 1505, 908,
+ 1506, 908,
+ 1510, 908,
+ 1523, 429,
+ 1691, 908,
+ 1773, 429
};
static int parser_goto_row49[] = {
52,
-1, 226,
- 227, 454,
- 243, 474,
- 252, 483,
- 254, 487,
- 256, 492,
- 488, 684,
- 493, 688,
- 496, 691,
- 622, 487,
- 624, 492,
- 669, 848,
- 692, 867,
- 813, 691,
- 849, 1007,
- 851, 1009,
- 853, 1012,
- 855, 1017,
- 958, 848,
- 1013, 1186,
- 1018, 1190,
- 1021, 1193,
- 1061, 487,
- 1068, 492,
+ 227, 457,
+ 243, 477,
+ 252, 486,
+ 254, 490,
+ 256, 495,
+ 491, 690,
+ 496, 694,
+ 499, 697,
+ 628, 490,
+ 630, 495,
+ 675, 851,
+ 698, 870,
+ 820, 697,
+ 852, 1007,
+ 854, 1009,
+ 856, 1012,
+ 858, 1017,
+ 961, 851,
+ 1013, 1185,
+ 1018, 1189,
+ 1021, 1192,
+ 1061, 490,
+ 1068, 495,
1103, 1012,
1104, 1017,
- 1194, 1371,
- 1228, 691,
- 1252, 1193,
- 1341, 1485,
- 1390, 848,
- 1486, 1593,
- 1487, 1595,
- 1488, 1597,
- 1490, 1601,
+ 1193, 1372,
+ 1227, 697,
+ 1251, 1192,
+ 1342, 1487,
+ 1391, 851,
+ 1488, 1595,
+ 1489, 1597,
+ 1490, 1599,
1492, 1603,
- 1513, 1012,
- 1515, 1017,
- 1598, 1671,
- 1604, 1682,
- 1605, 1684,
- 1623, 1193,
- 1672, 1747,
- 1685, 1758,
- 1748, 1800,
- 1749, 1802,
- 1750, 1804,
- 1751, 1807,
- 1805, 1845,
- 1808, 1849,
- 1809, 1851,
- 1852, 1873
+ 1494, 1605,
+ 1515, 1012,
+ 1517, 1017,
+ 1600, 1673,
+ 1606, 1684,
+ 1607, 1686,
+ 1625, 1192,
+ 1674, 1749,
+ 1687, 1760,
+ 1750, 1802,
+ 1751, 1804,
+ 1752, 1806,
+ 1753, 1809,
+ 1807, 1847,
+ 1810, 1851,
+ 1811, 1853,
+ 1854, 1875
};
static int parser_goto_row50[] = {
10,
-1, 66,
- 210, 427,
- 808, 427,
- 1095, 427,
- 1171, 1344,
- 1402, 427,
- 1483, 427,
- 1521, 427,
- 1642, 1344,
- 1771, 427
+ 210, 430,
+ 815, 430,
+ 1095, 430,
+ 1171, 1345,
+ 1403, 430,
+ 1485, 430,
+ 1523, 430,
+ 1644, 1345,
+ 1773, 430
};
static int parser_goto_row51[] = {
1,
};
static int parser_goto_row52[] = {
3,
- -1, 906,
- 910, 1065,
- 1063, 1222
+ -1, 909,
+ 913, 1065,
+ 1063, 1221
};
static int parser_goto_row53[] = {
10,
-1, 68,
- 210, 428,
- 808, 428,
- 1095, 428,
- 1171, 1345,
- 1402, 428,
- 1483, 428,
- 1521, 428,
- 1642, 1345,
- 1771, 428
+ 210, 431,
+ 815, 431,
+ 1095, 431,
+ 1171, 1346,
+ 1403, 431,
+ 1485, 431,
+ 1523, 431,
+ 1644, 1346,
+ 1773, 431
};
static int parser_goto_row54[] = {
10,
-1, 69,
- 210, 429,
- 808, 429,
- 1095, 429,
- 1171, 1346,
- 1402, 429,
- 1483, 429,
- 1521, 429,
- 1642, 1346,
- 1771, 429
+ 210, 432,
+ 815, 432,
+ 1095, 432,
+ 1171, 1347,
+ 1403, 432,
+ 1485, 432,
+ 1523, 432,
+ 1644, 1347,
+ 1773, 432
};
static int parser_goto_row55[] = {
10,
-1, 70,
- 210, 430,
- 808, 430,
- 1095, 430,
- 1171, 1347,
- 1402, 430,
- 1483, 430,
- 1521, 430,
- 1642, 1347,
- 1771, 430
+ 210, 433,
+ 815, 433,
+ 1095, 433,
+ 1171, 1348,
+ 1403, 433,
+ 1485, 433,
+ 1523, 433,
+ 1644, 1348,
+ 1773, 433
};
static int parser_goto_row56[] = {
3,
-1, 338,
- 628, 816,
- 1049, 1211
+ 634, 823,
+ 1049, 1210
};
static int parser_goto_row57[] = {
2,
-1, 339,
- 925, 1073
+ 928, 1073
};
static int parser_goto_row58[] = {
10,
-1, 71,
- 210, 431,
- 808, 431,
- 1095, 431,
- 1171, 1348,
- 1402, 431,
- 1483, 431,
- 1521, 431,
- 1642, 1348,
- 1771, 431
+ 210, 434,
+ 815, 434,
+ 1095, 434,
+ 1171, 1349,
+ 1403, 434,
+ 1485, 434,
+ 1523, 434,
+ 1644, 1349,
+ 1773, 434
};
static int parser_goto_row59[] = {
2,
- -1, 392,
- 1055, 1214
+ -1, 396,
+ 1055, 1213
};
static int parser_goto_row60[] = {
10,
-1, 72,
- 210, 432,
- 808, 432,
- 1095, 432,
- 1171, 1349,
- 1402, 432,
- 1483, 432,
- 1521, 432,
- 1642, 1349,
- 1771, 432
+ 210, 435,
+ 815, 435,
+ 1095, 435,
+ 1171, 1350,
+ 1403, 435,
+ 1485, 435,
+ 1523, 435,
+ 1644, 1350,
+ 1773, 435
};
static int parser_goto_row61[] = {
2,
-1, 199,
- 899, 1053
+ 902, 1053
};
static int parser_goto_row62[] = {
129,
- -1, 433,
+ -1, 436,
39, 178,
43, 200,
161, 332,
164, 334,
199, 383,
- 208, 393,
- 211, 446,
- 214, 451,
- 226, 452,
- 250, 479,
- 276, 503,
- 287, 512,
- 342, 554,
- 397, 606,
- 453, 634,
- 454, 635,
- 471, 512,
- 473, 673,
- 474, 674,
- 475, 675,
- 482, 678,
- 483, 679,
- 486, 681,
- 487, 682,
- 491, 685,
- 492, 686,
- 502, 512,
- 605, 803,
- 611, 451,
- 627, 815,
- 680, 512,
- 683, 860,
- 684, 861,
- 687, 862,
- 688, 863,
+ 208, 397,
+ 211, 449,
+ 214, 454,
+ 226, 455,
+ 250, 482,
+ 276, 506,
+ 287, 515,
+ 342, 557,
+ 401, 612,
+ 456, 640,
+ 457, 641,
+ 474, 515,
+ 476, 679,
+ 477, 680,
+ 478, 681,
+ 485, 684,
+ 486, 685,
+ 489, 687,
+ 490, 688,
+ 494, 691,
+ 495, 692,
+ 505, 515,
+ 609, 809,
+ 617, 454,
+ 633, 822,
+ 686, 515,
+ 689, 863,
690, 864,
- 691, 865,
- 702, 872,
- 739, 885,
- 811, 681,
- 812, 685,
- 819, 970,
- 847, 1004,
- 848, 1005,
- 866, 1023,
- 867, 1024,
- 886, 1037,
- 895, 1050,
- 899, 1054,
- 926, 1074,
- 951, 1096,
- 957, 1101,
- 965, 864,
- 1006, 1179,
- 1007, 1180,
- 1008, 1181,
- 1009, 1182,
- 1011, 1183,
- 1012, 1184,
- 1016, 1187,
- 1017, 1188,
- 1025, 1196,
- 1030, 512,
- 1044, 1208,
- 1046, 1209,
- 1053, 1212,
- 1055, 393,
- 1075, 1229,
- 1097, 1247,
+ 693, 865,
+ 694, 866,
+ 696, 867,
+ 697, 868,
+ 708, 875,
+ 745, 888,
+ 818, 687,
+ 819, 691,
+ 826, 973,
+ 850, 1004,
+ 851, 1005,
+ 869, 1023,
+ 870, 1024,
+ 889, 1037,
+ 898, 1050,
+ 902, 1054,
+ 929, 1074,
+ 954, 1096,
+ 960, 1101,
+ 968, 867,
+ 1006, 1178,
+ 1007, 1179,
+ 1008, 1180,
+ 1009, 1181,
+ 1011, 1182,
+ 1012, 1183,
+ 1016, 1186,
+ 1017, 1187,
+ 1025, 1195,
+ 1030, 515,
+ 1044, 1207,
+ 1046, 1208,
+ 1053, 1211,
+ 1055, 397,
+ 1075, 1228,
+ 1097, 1246,
1102, 1004,
- 1107, 970,
- 1185, 1364,
- 1186, 1365,
- 1189, 1366,
- 1190, 1367,
- 1192, 1368,
- 1193, 1369,
- 1250, 1183,
- 1251, 1187,
- 1253, 1410,
- 1256, 1412,
- 1332, 1479,
- 1370, 1496,
- 1371, 1497,
- 1388, 1509,
- 1409, 1368,
- 1484, 1590,
- 1485, 1591,
- 1592, 1664,
- 1593, 1665,
+ 1107, 973,
+ 1184, 1365,
+ 1185, 1366,
+ 1188, 1367,
+ 1189, 1368,
+ 1191, 1369,
+ 1192, 1370,
+ 1249, 1182,
+ 1250, 1186,
+ 1252, 1411,
+ 1255, 1413,
+ 1333, 1481,
+ 1371, 1498,
+ 1372, 1499,
+ 1389, 1511,
+ 1410, 1369,
+ 1486, 1592,
+ 1487, 1593,
1594, 1666,
1595, 1667,
1596, 1668,
1597, 1669,
- 1600, 1677,
- 1601, 1678,
+ 1598, 1670,
+ 1599, 1671,
1602, 1679,
1603, 1680,
- 1624, 1695,
- 1662, 1742,
- 1670, 1744,
- 1671, 1745,
- 1681, 1753,
- 1682, 1754,
+ 1604, 1681,
+ 1605, 1682,
+ 1626, 1697,
+ 1664, 1744,
+ 1672, 1746,
+ 1673, 1747,
1683, 1755,
1684, 1756,
- 1697, 1763,
- 1746, 1797,
- 1747, 1798,
- 1757, 1810,
- 1758, 1811,
- 1788, 1832,
- 1799, 1838,
- 1800, 1839,
+ 1685, 1757,
+ 1686, 1758,
+ 1699, 1765,
+ 1748, 1799,
+ 1749, 1800,
+ 1759, 1812,
+ 1760, 1813,
+ 1790, 1834,
1801, 1840,
1802, 1841,
1803, 1842,
1804, 1843,
- 1806, 1846,
- 1807, 1847,
- 1844, 1866,
- 1845, 1867,
- 1848, 1868,
- 1849, 1869,
+ 1805, 1844,
+ 1806, 1845,
+ 1808, 1848,
+ 1809, 1849,
+ 1846, 1868,
+ 1847, 1869,
1850, 1870,
1851, 1871,
- 1872, 1882,
- 1873, 1883
+ 1852, 1872,
+ 1853, 1873,
+ 1874, 1884,
+ 1875, 1885
};
static int parser_goto_row63[] = {
1,
static int parser_goto_row64[] = {
6,
-1, 180,
- 343, 555,
- 560, 751,
- 562, 753,
- 563, 754,
- 752, 930
+ 343, 558,
+ 563, 757,
+ 565, 759,
+ 566, 760,
+ 758, 933
};
static int parser_goto_row65[] = {
1,
static int parser_goto_row66[] = {
8,
-1, 182,
- 566, 757,
- 567, 758,
- 568, 759,
- 569, 760,
- 570, 761,
- 571, 762,
- 572, 763
+ 569, 763,
+ 570, 764,
+ 571, 765,
+ 572, 766,
+ 573, 767,
+ 574, 768,
+ 575, 769
};
static int parser_goto_row67[] = {
2,
-1, 183,
- 565, 756
+ 568, 762
};
static int parser_goto_row68[] = {
2,
-1, 184,
- 573, 764
+ 576, 770
};
static int parser_goto_row69[] = {
2,
-1, 185,
- 574, 765
+ 577, 771
};
static int parser_goto_row70[] = {
3,
-1, 186,
- 575, 766,
- 576, 767
+ 578, 772,
+ 579, 773
};
static int parser_goto_row71[] = {
3,
-1, 187,
- 577, 768,
- 578, 769
+ 580, 774,
+ 581, 775
};
static int parser_goto_row72[] = {
5,
-1, 188,
- 579, 770,
- 580, 771,
- 581, 772,
- 582, 773
+ 582, 776,
+ 583, 777,
+ 584, 778,
+ 585, 779
};
static int parser_goto_row73[] = {
15,
174, 348,
175, 349,
176, 350,
- 279, 506,
- 345, 557,
- 403, 348,
- 404, 349,
- 412, 350,
- 1338, 288,
- 1339, 289,
- 1340, 290
+ 279, 509,
+ 345, 560,
+ 407, 348,
+ 408, 349,
+ 416, 350,
+ 1339, 288,
+ 1340, 289,
+ 1341, 290
};
static int parser_goto_row74[] = {
1,
97, 73,
158, 73,
173, 346,
- 210, 434,
+ 210, 437,
239, 73,
384, 73,
- 470, 73,
- 543, 73,
- 587, 73,
+ 473, 73,
+ 546, 73,
590, 73,
- 737, 73,
- 741, 907,
- 742, 73,
- 744, 73,
- 799, 73,
- 808, 434,
- 889, 907,
- 891, 73,
- 893, 907,
- 910, 73,
- 983, 73,
+ 593, 73,
+ 743, 73,
+ 747, 910,
+ 748, 73,
+ 750, 73,
+ 806, 73,
+ 815, 437,
+ 892, 910,
+ 894, 73,
+ 896, 910,
+ 913, 73,
+ 986, 73,
1040, 73,
1062, 73,
1066, 73,
- 1095, 434,
+ 1095, 437,
1161, 73,
- 1213, 907,
- 1221, 73,
- 1383, 907,
- 1385, 73,
- 1402, 434,
- 1483, 434,
- 1502, 907,
- 1503, 907,
- 1504, 907,
- 1508, 907,
- 1521, 434,
- 1652, 73,
- 1656, 73,
- 1689, 907,
- 1717, 73,
- 1725, 73,
- 1726, 73,
- 1729, 73,
- 1734, 73,
- 1737, 73,
- 1771, 434,
- 1777, 73,
- 1784, 73,
- 1789, 73,
- 1794, 73
+ 1212, 910,
+ 1220, 73,
+ 1384, 910,
+ 1386, 73,
+ 1403, 437,
+ 1485, 437,
+ 1504, 910,
+ 1505, 910,
+ 1506, 910,
+ 1510, 910,
+ 1523, 437,
+ 1654, 73,
+ 1658, 73,
+ 1691, 910,
+ 1719, 73,
+ 1727, 73,
+ 1728, 73,
+ 1731, 73,
+ 1736, 73,
+ 1739, 73,
+ 1773, 437,
+ 1779, 73,
+ 1786, 73,
+ 1791, 73,
+ 1796, 73
};
static int parser_goto_row76[] = {
2,
- -1, 513,
- 1030, 1201
+ -1, 516,
+ 1030, 1200
};
static int parser_goto_row77[] = {
1,
static int parser_goto_row78[] = {
31,
-1, 75,
- 968, 1126,
+ 971, 1126,
1117, 1126,
1118, 1126,
1119, 1126,
1120, 1126,
- 1257, 1126,
- 1259, 1126,
- 1425, 1126,
- 1427, 1126,
+ 1256, 1126,
+ 1258, 1126,
+ 1426, 1126,
1428, 1126,
- 1430, 1126,
+ 1429, 1126,
1431, 1126,
1432, 1126,
1433, 1126,
1445, 1126,
1446, 1126,
1447, 1126,
- 1535, 1126,
- 1874, 1126
+ 1448, 1126,
+ 1537, 1126,
+ 1876, 1126
};
static int parser_goto_row79[] = {
1,
- -1, 435
+ -1, 438
};
static int parser_goto_row80[] = {
2,
- -1, 615,
- 617, 810
+ -1, 621,
+ 623, 817
};
static int parser_goto_row81[] = {
1,
- -1, 447
+ -1, 450
};
static int parser_goto_row82[] = {
2,
- -1, 632,
- 633, 820
+ -1, 638,
+ 639, 827
};
static int parser_goto_row83[] = {
4,
- -1, 448,
- 819, 971,
- 1107, 1254,
- 1253, 1411
+ -1, 451,
+ 826, 974,
+ 1107, 1253,
+ 1252, 1412
};
static int parser_goto_row84[] = {
93,
255, 134,
256, 134,
277, 134,
- 495, 134,
- 496, 134,
- 517, 134,
- 519, 134,
+ 498, 134,
+ 499, 134,
520, 134,
522, 134,
523, 134,
- 524, 134,
525, 134,
526, 134,
527, 134,
537, 134,
538, 134,
539, 134,
- 667, 134,
- 669, 134,
- 707, 134,
- 852, 134,
- 853, 134,
- 854, 134,
+ 540, 134,
+ 541, 134,
+ 542, 134,
+ 673, 134,
+ 675, 134,
+ 713, 134,
855, 134,
- 888, 134,
- 902, 134,
- 968, 1127,
+ 856, 134,
+ 857, 134,
+ 858, 134,
+ 891, 134,
+ 905, 134,
+ 971, 1127,
1020, 134,
1021, 134,
1059, 134,
1119, 1127,
1120, 1127,
1171, 134,
+ 1226, 134,
1227, 134,
- 1228, 134,
- 1257, 1127,
- 1259, 1127,
- 1389, 134,
+ 1256, 1127,
+ 1258, 1127,
1390, 134,
- 1425, 1127,
- 1427, 1127,
+ 1391, 134,
+ 1426, 1127,
1428, 1127,
- 1430, 1127,
+ 1429, 1127,
1431, 1127,
1432, 1127,
1433, 1127,
1445, 1127,
1446, 1127,
1447, 1127,
- 1512, 134,
- 1513, 134,
+ 1448, 1127,
1514, 134,
1515, 134,
- 1535, 1127,
- 1608, 134,
- 1622, 134,
- 1623, 134,
- 1642, 134,
- 1874, 1127
+ 1516, 134,
+ 1517, 134,
+ 1537, 1127,
+ 1610, 134,
+ 1624, 134,
+ 1625, 134,
+ 1644, 134,
+ 1876, 1127
};
static int parser_goto_row85[] = {
1,
static int parser_goto_row87[] = {
2,
-1, 246,
- 249, 477
+ 249, 480
};
static int parser_goto_row88[] = {
1,
static int parser_goto_row89[] = {
2,
-1, 248,
- 249, 478
+ 249, 481
};
static int parser_goto_row90[] = {
16,
-1, 203,
160, 331,
- 210, 436,
- 391, 600,
- 808, 436,
- 1095, 436,
- 1153, 1309,
- 1171, 1350,
- 1327, 1468,
- 1402, 436,
- 1483, 436,
- 1521, 436,
- 1642, 1709,
- 1663, 1743,
- 1771, 436,
- 1857, 1877
+ 210, 439,
+ 395, 606,
+ 815, 439,
+ 1095, 439,
+ 1153, 1308,
+ 1171, 1351,
+ 1328, 1470,
+ 1403, 439,
+ 1485, 439,
+ 1523, 439,
+ 1644, 1711,
+ 1665, 1745,
+ 1773, 439,
+ 1859, 1879
};
static int parser_goto_row91[] = {
42,
- -1, 604,
- 45, 204,
+ -1, 204,
46, 205,
47, 206,
48, 207,
131, 293,
132, 294,
133, 295,
- 248, 476,
- 478, 676,
- 602, 801,
- 796, 950,
- 807, 962,
- 809, 964,
- 818, 969,
- 1091, 1241,
- 1113, 1260,
- 1114, 1261,
- 1115, 1262,
- 1116, 1263,
- 1122, 1271,
- 1123, 1272,
- 1124, 1273,
- 1125, 1274,
- 1153, 1310,
- 1249, 1408,
- 1407, 1523,
- 1423, 1532,
- 1424, 1533,
- 1520, 1626,
- 1539, 1634,
- 1633, 1702,
- 1696, 1762
+ 248, 479,
+ 400, 611,
+ 481, 682,
+ 608, 808,
+ 803, 953,
+ 814, 965,
+ 816, 967,
+ 825, 972,
+ 1091, 1240,
+ 1113, 1259,
+ 1114, 1260,
+ 1115, 1261,
+ 1116, 1262,
+ 1122, 1270,
+ 1123, 1271,
+ 1124, 1272,
+ 1125, 1273,
+ 1153, 1309,
+ 1248, 1409,
+ 1408, 1525,
+ 1424, 1534,
+ 1425, 1535,
+ 1522, 1628,
+ 1541, 1636,
+ 1635, 1704,
+ 1698, 1764
};
static int parser_goto_row92[] = {
1,
- -1, 390
+ -1, 394
};
static int parser_goto_row93[] = {
6,
- -1, 791,
- 939, 1085,
- 973, 1149,
- 982, 1158,
- 1651, 1722,
- 1728, 1785
+ -1, 798,
+ 942, 1085,
+ 976, 1149,
+ 985, 1158,
+ 1653, 1724,
+ 1730, 1787
};
static int parser_goto_row94[] = {
2,
- -1, 792,
- 1093, 1244
+ -1, 799,
+ 1093, 1243
};
static int parser_goto_row95[] = {
1,
- -1, 1242
+ -1, 1241
};
static int parser_goto_row96[] = {
2,
- -1, 947,
- 948, 1094
+ -1, 950,
+ 951, 1094
};
static int parser_goto_row97[] = {
5,
- -1, 1305,
- 1307, 1453,
- 1322, 1453,
- 1780, 1453,
- 1830, 1453
+ -1, 1304,
+ 1306, 1454,
+ 1323, 1454,
+ 1782, 1454,
+ 1832, 1454
};
static int parser_goto_row98[] = {
1,
- -1, 995
+ -1, 998
};
static int parser_goto_row99[] = {
4,
- -1, 1245,
- 1402, 1519,
- 1483, 1589,
- 1771, 1819
+ -1, 1244,
+ 1403, 1521,
+ 1485, 1591,
+ 1773, 1821
};
static int parser_goto_row100[] = {
3,
- -1, 1405,
- 1406, 1522,
- 1491, 1522
+ -1, 1406,
+ 1407, 1524,
+ 1493, 1524
};
static int parser_goto_row101[] = {
4,
- -1, 1246,
- 210, 437,
- 808, 963,
- 1521, 1627
+ -1, 1245,
+ 210, 440,
+ 815, 966,
+ 1523, 1629
};
static int parser_goto_row102[] = {
4,
- -1, 796,
- 940, 1086,
- 944, 1091,
- 1566, 1642
+ -1, 803,
+ 943, 1086,
+ 947, 1091,
+ 1568, 1644
};
static int parser_goto_row103[] = {
86,
115, 275,
129, 291,
168, 135,
- 251, 480,
- 254, 488,
- 256, 493,
- 296, 515,
- 298, 516,
- 323, 541,
- 376, 480,
- 378, 584,
- 379, 585,
- 423, 227,
- 496, 692,
- 505, 699,
- 542, 735,
- 556, 749,
- 586, 779,
- 622, 488,
- 624, 493,
- 667, 844,
- 669, 849,
- 729, 877,
- 731, 879,
- 774, 844,
- 775, 931,
- 813, 692,
- 853, 1013,
- 855, 1018,
- 881, 1034,
- 882, 1035,
- 888, 135,
- 902, 227,
- 933, 1077,
- 934, 1078,
- 941, 1087,
- 958, 849,
- 1021, 1194,
- 1026, 1197,
- 1036, 1204,
- 1059, 480,
- 1061, 488,
- 1068, 493,
- 1079, 1230,
- 1088, 1237,
- 1089, 1238,
+ 251, 483,
+ 254, 491,
+ 256, 496,
+ 296, 518,
+ 298, 519,
+ 323, 544,
+ 376, 483,
+ 378, 587,
+ 379, 588,
+ 426, 227,
+ 499, 698,
+ 508, 705,
+ 545, 741,
+ 559, 755,
+ 589, 785,
+ 628, 491,
+ 630, 496,
+ 673, 847,
+ 675, 852,
+ 735, 880,
+ 737, 882,
+ 780, 847,
+ 781, 934,
+ 820, 698,
+ 856, 1013,
+ 858, 1018,
+ 884, 1034,
+ 885, 1035,
+ 891, 135,
+ 905, 227,
+ 936, 1077,
+ 937, 1078,
+ 944, 1087,
+ 961, 852,
+ 1021, 1193,
+ 1026, 1196,
+ 1036, 1203,
+ 1059, 483,
+ 1061, 491,
+ 1068, 496,
+ 1079, 1229,
+ 1088, 1236,
+ 1089, 1237,
1103, 1013,
1104, 1018,
- 1108, 1255,
- 1121, 1270,
- 1198, 1373,
- 1199, 1374,
- 1228, 692,
- 1239, 1401,
- 1252, 1194,
- 1275, 1421,
- 1277, 1422,
- 1302, 1449,
- 1341, 1486,
- 1375, 1499,
- 1389, 844,
- 1390, 849,
- 1416, 1529,
- 1450, 1565,
- 1488, 1598,
- 1492, 1604,
- 1513, 1013,
- 1515, 1018,
- 1559, 1635,
+ 1108, 1254,
+ 1121, 1269,
+ 1197, 1374,
+ 1198, 1375,
+ 1227, 698,
+ 1238, 1402,
+ 1251, 1193,
+ 1274, 1422,
+ 1276, 1423,
+ 1301, 1450,
+ 1342, 1488,
+ 1376, 1501,
+ 1390, 847,
+ 1391, 852,
+ 1417, 1531,
+ 1451, 1567,
+ 1490, 1600,
+ 1494, 1606,
+ 1515, 1013,
+ 1517, 1018,
1561, 1637,
- 1605, 1685,
- 1623, 1194,
- 1639, 1705,
- 1640, 1706,
- 1672, 1748,
- 1698, 1764,
- 1707, 1770,
- 1750, 1805,
- 1751, 1808,
- 1765, 1813,
- 1766, 1814,
- 1809, 1852,
- 1815, 1854
+ 1563, 1639,
+ 1607, 1687,
+ 1625, 1193,
+ 1641, 1707,
+ 1642, 1708,
+ 1674, 1750,
+ 1700, 1766,
+ 1709, 1772,
+ 1752, 1807,
+ 1753, 1810,
+ 1767, 1815,
+ 1768, 1816,
+ 1811, 1854,
+ 1817, 1856
};
static int parser_goto_row104[] = {
34,
-1, 136,
54, 228,
- 251, 481,
- 253, 485,
- 254, 489,
- 255, 490,
- 256, 494,
- 495, 689,
- 496, 693,
- 667, 845,
- 669, 850,
- 852, 1010,
- 853, 1014,
- 854, 1015,
- 855, 1019,
- 888, 1038,
- 902, 1057,
- 1020, 1191,
- 1021, 1195,
- 1059, 1217,
- 1060, 1218,
- 1061, 1219,
- 1067, 1225,
- 1068, 1226,
- 1227, 1394,
- 1228, 1395,
- 1389, 1510,
- 1390, 1511,
- 1512, 1618,
- 1513, 1619,
+ 251, 484,
+ 253, 488,
+ 254, 492,
+ 255, 493,
+ 256, 497,
+ 498, 695,
+ 499, 699,
+ 673, 848,
+ 675, 853,
+ 855, 1010,
+ 856, 1014,
+ 857, 1015,
+ 858, 1019,
+ 891, 1038,
+ 905, 1057,
+ 1020, 1190,
+ 1021, 1194,
+ 1059, 1216,
+ 1060, 1217,
+ 1061, 1218,
+ 1067, 1224,
+ 1068, 1225,
+ 1226, 1395,
+ 1227, 1396,
+ 1390, 1512,
+ 1391, 1513,
1514, 1620,
1515, 1621,
- 1622, 1693,
- 1623, 1694
+ 1516, 1622,
+ 1517, 1623,
+ 1624, 1695,
+ 1625, 1696
};
static int parser_goto_row105[] = {
6,
191, 375,
286, 322,
346, 375,
- 1356, 1490
+ 1357, 1492
};
static int parser_goto_row106[] = {
4,
- -1, 514,
- 471, 666,
- 502, 696,
- 680, 859
+ -1, 517,
+ 474, 672,
+ 505, 702,
+ 686, 862
};
static int parser_goto_row107[] = {
2,
- -1, 874,
- 875, 1031
+ -1, 877,
+ 878, 1031
};
static int parser_goto_row108[] = {
1,
static int parser_goto_row109[] = {
2,
-1, 341,
- 550, 743
+ 553, 749
};
static int parser_goto_row110[] = {
2,
- -1, 823,
- 637, 826
+ -1, 830,
+ 643, 833
};
static int parser_goto_row111[] = {
157,
124, 285,
158, 79,
173, 347,
- 210, 438,
+ 210, 441,
239, 79,
251, 137,
253, 137,
256, 137,
277, 137,
384, 79,
- 470, 79,
- 472, 670,
- 495, 137,
- 496, 137,
- 517, 137,
- 519, 137,
+ 473, 79,
+ 475, 676,
+ 498, 137,
+ 499, 137,
520, 137,
522, 137,
523, 137,
- 524, 137,
525, 137,
526, 137,
527, 137,
537, 137,
538, 137,
539, 137,
- 540, 732,
- 543, 79,
- 583, 776,
- 587, 79,
+ 540, 137,
+ 541, 137,
+ 542, 137,
+ 543, 738,
+ 546, 79,
+ 586, 782,
590, 79,
- 667, 137,
- 669, 137,
- 701, 871,
- 707, 137,
- 737, 79,
- 741, 908,
- 742, 79,
- 744, 79,
- 750, 929,
- 799, 79,
- 806, 670,
- 808, 438,
- 852, 137,
- 853, 137,
- 854, 137,
+ 593, 79,
+ 673, 137,
+ 675, 137,
+ 707, 874,
+ 713, 137,
+ 743, 79,
+ 747, 911,
+ 748, 79,
+ 750, 79,
+ 756, 932,
+ 806, 79,
+ 813, 676,
+ 815, 441,
855, 137,
- 888, 137,
- 889, 908,
- 891, 79,
- 893, 908,
- 902, 137,
- 910, 79,
- 968, 1128,
- 983, 79,
+ 856, 137,
+ 857, 137,
+ 858, 137,
+ 891, 137,
+ 892, 911,
+ 894, 79,
+ 896, 911,
+ 905, 137,
+ 913, 79,
+ 971, 1128,
+ 986, 79,
1020, 137,
1021, 137,
1040, 79,
1066, 79,
1067, 137,
1068, 137,
- 1095, 438,
- 1117, 1265,
+ 1095, 441,
+ 1117, 1264,
1118, 1128,
1119, 1128,
1120, 1128,
1161, 79,
- 1171, 1351,
- 1213, 908,
- 1216, 670,
- 1221, 79,
+ 1171, 1352,
+ 1212, 911,
+ 1215, 676,
+ 1220, 79,
+ 1226, 137,
1227, 137,
- 1228, 137,
- 1257, 1128,
- 1259, 1128,
- 1383, 908,
- 1385, 79,
- 1389, 137,
+ 1256, 1128,
+ 1258, 1128,
+ 1384, 911,
+ 1386, 79,
1390, 137,
- 1402, 438,
- 1425, 1128,
- 1427, 1128,
+ 1391, 137,
+ 1403, 441,
+ 1426, 1128,
1428, 1128,
- 1430, 1128,
+ 1429, 1128,
1431, 1128,
1432, 1128,
1433, 1128,
1445, 1128,
1446, 1128,
1447, 1128,
- 1448, 1562,
- 1483, 438,
- 1502, 908,
- 1503, 908,
- 1504, 908,
- 1508, 908,
- 1512, 137,
- 1513, 137,
+ 1448, 1128,
+ 1449, 1564,
+ 1485, 441,
+ 1504, 911,
+ 1505, 911,
+ 1506, 911,
+ 1510, 911,
1514, 137,
1515, 137,
- 1521, 438,
- 1531, 1631,
- 1535, 1128,
- 1599, 1673,
- 1608, 137,
- 1622, 137,
- 1623, 137,
- 1642, 1351,
- 1652, 79,
- 1656, 79,
- 1689, 908,
- 1717, 79,
- 1725, 79,
- 1726, 79,
- 1729, 79,
- 1734, 79,
- 1737, 79,
- 1771, 438,
- 1777, 79,
- 1784, 79,
- 1789, 79,
- 1794, 79,
- 1874, 1128
+ 1516, 137,
+ 1517, 137,
+ 1523, 441,
+ 1533, 1633,
+ 1537, 1128,
+ 1601, 1675,
+ 1610, 137,
+ 1624, 137,
+ 1625, 137,
+ 1644, 1352,
+ 1654, 79,
+ 1658, 79,
+ 1691, 911,
+ 1719, 79,
+ 1727, 79,
+ 1728, 79,
+ 1731, 79,
+ 1736, 79,
+ 1739, 79,
+ 1773, 441,
+ 1779, 79,
+ 1786, 79,
+ 1791, 79,
+ 1796, 79,
+ 1876, 1128
};
static int parser_goto_row112[] = {
- 1,
- -1, 840
+ 16,
+ -1, 400,
+ 201, 388,
+ 278, 388,
+ 344, 388,
+ 385, 594,
+ 398, 608,
+ 510, 388,
+ 671, 845,
+ 1257, 1416,
+ 1415, 1528,
+ 1419, 1416,
+ 1430, 1541,
+ 1476, 1583,
+ 1540, 1635,
+ 1715, 608,
+ 1824, 608
};
static int parser_goto_row113[] = {
6,
- -1, 1321,
- 465, 661,
- 1464, 1573,
- 1473, 1580,
- 1475, 1583,
- 1477, 1586
+ -1, 1320,
+ 468, 667,
+ 1465, 1575,
+ 1475, 1582,
+ 1477, 1585,
+ 1479, 1588
};
static int parser_goto_row114[] = {
- 22,
+ 23,
-1, 80,
82, 257,
154, 257,
194, 257,
- 443, 257,
- 663, 257,
- 672, 257,
- 734, 257,
- 778, 257,
- 824, 257,
- 842, 257,
- 919, 257,
- 943, 257,
- 961, 257,
+ 391, 257,
+ 446, 257,
+ 669, 257,
+ 678, 257,
+ 740, 257,
+ 784, 257,
+ 831, 257,
+ 922, 257,
+ 946, 257,
+ 964, 257,
1028, 257,
1145, 257,
1148, 257,
- 1360, 257,
- 1392, 257,
- 1564, 257,
- 1676, 257,
- 1700, 257
+ 1322, 257,
+ 1361, 257,
+ 1393, 257,
+ 1566, 257,
+ 1678, 257,
+ 1702, 257
};
static int parser_goto_row115[] = {
- 186,
+ 220,
-1, 193,
13, 81,
27, 81,
154, 324,
158, 81,
194, 380,
- 210, 439,
+ 201, 389,
+ 209, 389,
+ 210, 442,
239, 81,
251, 138,
253, 138,
255, 138,
256, 138,
277, 138,
+ 278, 389,
+ 344, 389,
384, 81,
- 443, 625,
- 465, 662,
- 470, 81,
- 472, 671,
- 495, 138,
- 496, 138,
- 517, 138,
- 519, 138,
+ 385, 389,
+ 391, 602,
+ 398, 389,
+ 446, 631,
+ 468, 668,
+ 473, 81,
+ 475, 677,
+ 498, 138,
+ 499, 138,
+ 510, 389,
520, 138,
522, 138,
523, 138,
- 524, 138,
+ 524, 389,
525, 138,
526, 138,
527, 138,
537, 138,
538, 138,
539, 138,
- 540, 733,
- 543, 81,
- 583, 777,
- 587, 81,
+ 540, 138,
+ 541, 138,
+ 542, 138,
+ 543, 739,
+ 546, 81,
+ 548, 389,
+ 567, 389,
+ 586, 783,
590, 81,
- 663, 837,
- 665, 841,
- 667, 138,
- 669, 138,
- 672, 856,
- 701, 733,
- 707, 138,
- 734, 883,
- 737, 81,
- 741, 909,
- 742, 81,
- 744, 81,
- 750, 777,
- 778, 935,
- 789, 942,
- 799, 81,
- 806, 959,
- 808, 439,
- 842, 1001,
- 852, 138,
- 853, 138,
- 854, 138,
+ 593, 81,
+ 615, 389,
+ 669, 844,
+ 671, 389,
+ 673, 138,
+ 675, 138,
+ 678, 859,
+ 707, 739,
+ 713, 138,
+ 740, 886,
+ 743, 81,
+ 747, 912,
+ 748, 81,
+ 750, 81,
+ 756, 783,
+ 784, 938,
+ 791, 389,
+ 795, 945,
+ 806, 81,
+ 810, 389,
+ 813, 962,
+ 815, 442,
855, 138,
- 870, 1027,
- 888, 138,
- 889, 909,
- 891, 81,
- 893, 909,
- 902, 138,
- 910, 81,
- 919, 1069,
- 943, 1090,
- 961, 1105,
- 968, 1129,
- 983, 81,
+ 856, 138,
+ 857, 138,
+ 858, 138,
+ 873, 1027,
+ 891, 138,
+ 892, 912,
+ 894, 81,
+ 896, 912,
+ 905, 138,
+ 913, 81,
+ 922, 1069,
+ 939, 389,
+ 946, 1090,
+ 958, 389,
+ 964, 1105,
+ 971, 1129,
+ 983, 389,
+ 986, 81,
1020, 138,
1021, 138,
- 1028, 1200,
+ 1028, 1199,
1040, 81,
+ 1056, 389,
1059, 138,
1060, 138,
1061, 138,
1066, 81,
1067, 138,
1068, 138,
- 1095, 439,
+ 1095, 442,
1117, 1129,
1118, 1129,
1119, 1129,
1120, 1129,
- 1145, 1303,
- 1157, 662,
+ 1145, 1302,
+ 1157, 1321,
1161, 81,
- 1171, 1352,
- 1213, 909,
- 1216, 1391,
- 1221, 81,
+ 1171, 1353,
+ 1177, 389,
+ 1202, 389,
+ 1212, 912,
+ 1215, 1392,
+ 1220, 81,
+ 1226, 138,
1227, 138,
- 1228, 138,
- 1257, 1129,
- 1259, 1129,
- 1360, 1493,
- 1383, 909,
- 1385, 81,
- 1389, 138,
+ 1231, 389,
+ 1256, 1129,
+ 1257, 389,
+ 1258, 1129,
+ 1322, 1466,
+ 1361, 1495,
+ 1384, 912,
+ 1386, 81,
1390, 138,
- 1392, 1516,
- 1402, 439,
- 1425, 1129,
- 1427, 1129,
+ 1391, 138,
+ 1393, 1518,
+ 1403, 442,
+ 1415, 389,
+ 1419, 389,
+ 1426, 1129,
1428, 1129,
- 1430, 1129,
+ 1429, 1129,
+ 1430, 389,
1431, 1129,
1432, 1129,
1433, 1129,
1445, 1129,
1446, 1129,
1447, 1129,
- 1448, 1563,
- 1464, 662,
- 1473, 662,
- 1475, 662,
- 1477, 662,
- 1483, 439,
- 1502, 909,
- 1503, 909,
- 1504, 909,
- 1508, 909,
- 1512, 138,
- 1513, 138,
+ 1448, 1129,
+ 1449, 1565,
+ 1465, 668,
+ 1475, 668,
+ 1476, 389,
+ 1477, 668,
+ 1479, 668,
+ 1484, 389,
+ 1485, 442,
+ 1504, 912,
+ 1505, 912,
+ 1506, 912,
+ 1510, 912,
1514, 138,
1515, 138,
- 1521, 439,
- 1531, 1563,
- 1535, 1129,
- 1564, 1641,
- 1570, 662,
- 1599, 1674,
- 1608, 138,
- 1622, 138,
- 1623, 138,
- 1630, 1699,
- 1642, 1352,
- 1652, 81,
- 1656, 81,
- 1676, 1752,
- 1689, 909,
- 1700, 1767,
- 1717, 81,
- 1725, 81,
- 1726, 81,
- 1729, 81,
- 1734, 81,
- 1737, 81,
- 1771, 439,
- 1777, 81,
- 1784, 81,
- 1789, 81,
- 1794, 81,
- 1874, 1129
+ 1516, 138,
+ 1517, 138,
+ 1523, 442,
+ 1533, 1565,
+ 1537, 1129,
+ 1540, 389,
+ 1566, 1643,
+ 1572, 1321,
+ 1589, 389,
+ 1601, 1676,
+ 1610, 138,
+ 1624, 138,
+ 1625, 138,
+ 1632, 1701,
+ 1644, 1353,
+ 1646, 389,
+ 1654, 81,
+ 1658, 81,
+ 1678, 1754,
+ 1691, 912,
+ 1702, 1769,
+ 1715, 389,
+ 1719, 81,
+ 1727, 81,
+ 1728, 81,
+ 1731, 81,
+ 1736, 81,
+ 1739, 81,
+ 1771, 389,
+ 1773, 442,
+ 1777, 389,
+ 1779, 81,
+ 1786, 81,
+ 1791, 81,
+ 1796, 81,
+ 1824, 389,
+ 1876, 1129
};
static int parser_goto_row116[] = {
12,
- -1, 1324,
- 1325, 1466,
- 1724, 1781,
- 1733, 1790,
- 1776, 1824,
- 1782, 1827,
- 1783, 1828,
- 1791, 1834,
- 1793, 1835,
- 1825, 1861,
- 1829, 1862,
- 1836, 1865
+ -1, 1325,
+ 1326, 1468,
+ 1726, 1783,
+ 1735, 1792,
+ 1778, 1826,
+ 1784, 1829,
+ 1785, 1830,
+ 1793, 1836,
+ 1795, 1837,
+ 1827, 1863,
+ 1831, 1864,
+ 1838, 1867
};
static int parser_goto_row117[] = {
14,
-1, 90,
- 825, 976,
- 973, 1150,
- 974, 1151,
- 977, 1152,
- 982, 1159,
- 993, 1166,
- 1642, 1710,
- 1651, 1723,
- 1709, 1772,
- 1711, 1773,
- 1728, 1786,
- 1857, 1878,
- 1877, 1886
+ 832, 979,
+ 976, 1150,
+ 977, 1151,
+ 980, 1152,
+ 985, 1159,
+ 996, 1166,
+ 1644, 1712,
+ 1653, 1725,
+ 1711, 1774,
+ 1713, 1775,
+ 1730, 1788,
+ 1859, 1880,
+ 1879, 1888
};
static int parser_goto_row118[] = {
55,
- -1, 590,
+ -1, 593,
0, 12,
3, 23,
5, 12,
110, 12,
111, 12,
113, 12,
- 240, 470,
+ 240, 473,
262, 12,
- 268, 500,
+ 268, 503,
271, 12,
- 327, 543,
- 544, 737,
- 741, 910,
- 742, 158,
- 744, 158,
- 799, 158,
- 840, 996,
- 889, 1040,
- 893, 1040,
- 994, 996,
- 998, 996,
+ 327, 546,
+ 547, 743,
+ 747, 913,
+ 748, 158,
+ 750, 158,
+ 806, 158,
+ 845, 999,
+ 892, 1040,
+ 896, 1040,
+ 997, 999,
+ 1001, 999,
1064, 239,
- 1150, 996,
- 1159, 996,
- 1213, 1385,
- 1223, 470,
- 1307, 996,
- 1322, 996,
- 1383, 1385,
- 1469, 996,
- 1502, 910,
- 1503, 1040,
- 1504, 1040,
- 1508, 1040,
- 1577, 996,
- 1689, 1385,
- 1723, 996,
- 1780, 996,
- 1786, 996,
- 1830, 996
+ 1150, 999,
+ 1159, 999,
+ 1212, 1386,
+ 1222, 473,
+ 1306, 999,
+ 1323, 999,
+ 1384, 1386,
+ 1471, 999,
+ 1504, 913,
+ 1505, 1040,
+ 1506, 1040,
+ 1510, 1040,
+ 1579, 999,
+ 1691, 1386,
+ 1725, 999,
+ 1782, 999,
+ 1788, 999,
+ 1832, 999
};
static int parser_goto_row119[] = {
18,
5, 27,
18, 27,
28, 27,
- 840, 997,
- 994, 997,
- 998, 1174,
- 1150, 1306,
- 1159, 1306,
- 1307, 1306,
- 1322, 1306,
- 1469, 997,
- 1577, 997,
- 1723, 1306,
- 1780, 1306,
- 1786, 1306,
- 1830, 1306
+ 845, 1000,
+ 997, 1000,
+ 1001, 1174,
+ 1150, 1305,
+ 1159, 1305,
+ 1306, 1305,
+ 1323, 1305,
+ 1471, 1000,
+ 1579, 1000,
+ 1725, 1305,
+ 1782, 1305,
+ 1788, 1305,
+ 1832, 1305
};
static int parser_goto_row120[] = {
246,
170, 343,
171, 344,
172, 345,
- 212, 449,
- 213, 450,
- 233, 455,
- 234, 456,
- 235, 457,
- 236, 458,
- 241, 471,
- 242, 472,
- 247, 475,
- 274, 502,
- 284, 507,
- 299, 517,
- 300, 519,
- 301, 520,
- 302, 521,
- 303, 522,
- 304, 523,
- 305, 524,
- 306, 525,
- 307, 526,
- 308, 527,
- 309, 528,
- 310, 529,
- 311, 530,
- 312, 531,
- 313, 532,
- 314, 533,
- 315, 534,
- 316, 535,
- 317, 536,
- 318, 537,
- 319, 538,
- 320, 539,
- 321, 540,
- 329, 545,
- 332, 548,
- 334, 549,
- 336, 550,
- 338, 551,
- 340, 552,
- 352, 560,
- 353, 562,
- 354, 563,
- 355, 564,
- 356, 565,
- 357, 566,
- 358, 567,
- 359, 568,
- 360, 569,
- 361, 570,
- 362, 571,
- 363, 572,
- 364, 573,
- 365, 574,
- 366, 575,
- 367, 576,
- 368, 577,
- 369, 578,
- 370, 579,
- 371, 580,
- 372, 581,
- 373, 582,
- 374, 583,
- 388, 597,
- 392, 601,
- 402, 211,
- 435, 613,
- 437, 616,
- 444, 627,
- 445, 628,
- 446, 629,
- 459, 636,
- 460, 637,
- 467, 665,
- 479, 677,
- 484, 680,
- 497, 694,
- 503, 697,
- 509, 701,
- 513, 704,
- 518, 707,
- 546, 739,
- 553, 747,
- 554, 748,
- 558, 750,
- 561, 752,
- 592, 785,
- 596, 789,
- 603, 802,
- 612, 806,
- 614, 808,
- 631, 819,
- 661, 833,
- 668, 846,
- 675, 857,
- 698, 870,
- 730, 878,
- 740, 886,
- 743, 922,
- 745, 925,
- 746, 926,
- 783, 936,
- 786, 939,
- 791, 945,
- 797, 951,
- 800, 955,
- 815, 966,
- 816, 967,
- 817, 968,
- 821, 972,
- 829, 979,
- 830, 980,
- 832, 987,
- 869, 1025,
- 873, 1030,
- 890, 1044,
- 892, 1046,
- 894, 1049,
- 900, 1055,
- 928, 1075,
- 938, 1084,
- 946, 1093,
- 949, 1095,
- 952, 1097,
- 956, 1100,
- 970, 1146,
- 981, 1157,
- 989, 1164,
- 998, 1175,
- 1002, 1177,
- 1003, 1178,
- 1032, 1202,
- 1033, 1203,
- 1058, 1216,
- 1080, 1231,
- 1081, 1232,
- 1085, 1235,
- 1099, 1248,
- 1106, 1253,
- 1109, 1256,
- 1110, 1257,
- 1111, 1258,
- 1112, 1259,
- 1130, 1278,
- 1155, 1314,
- 1196, 1372,
- 1201, 1376,
- 1208, 1380,
- 1209, 1381,
- 1211, 1382,
- 1214, 1387,
- 1229, 1396,
- 1240, 1402,
- 1245, 1403,
- 1264, 1418,
- 1279, 1425,
- 1280, 1427,
- 1281, 1428,
- 1282, 1429,
- 1283, 1430,
- 1284, 1431,
- 1285, 1432,
- 1286, 1433,
- 1287, 1434,
- 1288, 1435,
- 1289, 1436,
- 1290, 1437,
- 1291, 1438,
- 1292, 1439,
- 1293, 1440,
- 1294, 1441,
- 1295, 1442,
- 1296, 1443,
- 1297, 1444,
- 1298, 1445,
- 1299, 1446,
- 1300, 1447,
- 1301, 1448,
- 1311, 1457,
- 1312, 1458,
- 1315, 1460,
- 1337, 1483,
- 1362, 1494,
- 1363, 1495,
- 1378, 1500,
- 1379, 1501,
- 1404, 1521,
- 1410, 1524,
- 1412, 1525,
- 1420, 1531,
- 1426, 1535,
- 1456, 1568,
- 1461, 1570,
- 1467, 1574,
- 1470, 1578,
- 1475, 833,
- 1477, 833,
- 1478, 1587,
- 1489, 1599,
- 1498, 1608,
- 1517, 1624,
- 1519, 1625,
- 1528, 1630,
- 1560, 1636,
- 1572, 1644,
- 1575, 1645,
- 1580, 833,
- 1583, 833,
- 1586, 833,
- 1606, 1686,
- 1609, 1688,
- 1628, 1697,
- 1703, 1768,
- 1704, 1769,
- 1708, 1771,
- 1712, 1774,
- 1714, 1775,
- 1730, 1788,
- 1763, 1812,
- 1817, 1855,
- 1818, 1856,
- 1821, 1858,
- 1822, 1859,
+ 212, 452,
+ 213, 453,
+ 233, 458,
+ 234, 459,
+ 235, 460,
+ 236, 461,
+ 241, 474,
+ 242, 475,
+ 247, 478,
+ 274, 505,
+ 284, 510,
+ 299, 520,
+ 300, 522,
+ 301, 523,
+ 302, 524,
+ 303, 525,
+ 304, 526,
+ 305, 527,
+ 306, 528,
+ 307, 529,
+ 308, 530,
+ 309, 531,
+ 310, 532,
+ 311, 533,
+ 312, 534,
+ 313, 535,
+ 314, 536,
+ 315, 537,
+ 316, 538,
+ 317, 539,
+ 318, 540,
+ 319, 541,
+ 320, 542,
+ 321, 543,
+ 329, 548,
+ 332, 551,
+ 334, 552,
+ 336, 553,
+ 338, 554,
+ 340, 555,
+ 352, 563,
+ 353, 565,
+ 354, 566,
+ 355, 567,
+ 356, 568,
+ 357, 569,
+ 358, 570,
+ 359, 571,
+ 360, 572,
+ 361, 573,
+ 362, 574,
+ 363, 575,
+ 364, 576,
+ 365, 577,
+ 366, 578,
+ 367, 579,
+ 368, 580,
+ 369, 581,
+ 370, 582,
+ 371, 583,
+ 372, 584,
+ 373, 585,
+ 374, 586,
+ 392, 603,
+ 396, 607,
+ 406, 211,
+ 438, 619,
+ 440, 622,
+ 447, 633,
+ 448, 634,
+ 449, 635,
+ 462, 642,
+ 463, 643,
+ 470, 671,
+ 482, 683,
+ 487, 686,
+ 500, 700,
+ 506, 703,
+ 512, 707,
+ 516, 710,
+ 521, 713,
+ 549, 745,
+ 556, 753,
+ 557, 754,
+ 561, 756,
+ 564, 758,
+ 595, 791,
+ 600, 795,
+ 610, 810,
+ 618, 813,
+ 620, 815,
+ 637, 826,
+ 667, 840,
+ 674, 849,
+ 681, 860,
+ 704, 873,
+ 736, 881,
+ 746, 889,
+ 749, 925,
+ 751, 928,
+ 752, 929,
+ 789, 939,
+ 792, 942,
+ 798, 948,
+ 804, 954,
+ 807, 958,
+ 822, 969,
+ 823, 970,
+ 824, 971,
+ 828, 975,
+ 836, 982,
+ 837, 983,
+ 839, 990,
+ 872, 1025,
+ 876, 1030,
+ 893, 1044,
+ 895, 1046,
+ 897, 1049,
+ 903, 1055,
+ 931, 1075,
+ 941, 1084,
+ 949, 1093,
+ 952, 1095,
+ 955, 1097,
+ 959, 1100,
+ 973, 1146,
+ 984, 1157,
+ 992, 1164,
+ 1001, 1175,
+ 1002, 1176,
+ 1003, 1177,
+ 1032, 1201,
+ 1033, 1202,
+ 1058, 1215,
+ 1080, 1230,
+ 1081, 1231,
+ 1085, 1234,
+ 1099, 1247,
+ 1106, 1252,
+ 1109, 1255,
+ 1110, 1256,
+ 1111, 1257,
+ 1112, 1258,
+ 1130, 1277,
+ 1155, 1313,
+ 1195, 1373,
+ 1200, 1377,
+ 1207, 1381,
+ 1208, 1382,
+ 1210, 1383,
+ 1213, 1388,
+ 1228, 1397,
+ 1239, 1403,
+ 1244, 1404,
+ 1263, 1419,
+ 1278, 1426,
+ 1279, 1428,
+ 1280, 1429,
+ 1281, 1430,
+ 1282, 1431,
+ 1283, 1432,
+ 1284, 1433,
+ 1285, 1434,
+ 1286, 1435,
+ 1287, 1436,
+ 1288, 1437,
+ 1289, 1438,
+ 1290, 1439,
+ 1291, 1440,
+ 1292, 1441,
+ 1293, 1442,
+ 1294, 1443,
+ 1295, 1444,
+ 1296, 1445,
+ 1297, 1446,
+ 1298, 1447,
+ 1299, 1448,
+ 1300, 1449,
+ 1310, 1458,
+ 1311, 1459,
+ 1314, 1461,
+ 1338, 1485,
+ 1363, 1496,
+ 1364, 1497,
+ 1379, 1502,
+ 1380, 1503,
+ 1405, 1523,
+ 1411, 1526,
+ 1413, 1527,
+ 1421, 1533,
+ 1427, 1537,
+ 1457, 1570,
+ 1462, 1572,
+ 1469, 1576,
+ 1472, 1580,
+ 1477, 840,
+ 1479, 840,
+ 1480, 1589,
+ 1491, 1601,
+ 1500, 1610,
+ 1519, 1626,
+ 1521, 1627,
+ 1530, 1632,
+ 1562, 1638,
+ 1574, 1646,
+ 1577, 1647,
+ 1582, 840,
+ 1585, 840,
+ 1588, 840,
+ 1608, 1688,
+ 1611, 1690,
+ 1630, 1699,
+ 1705, 1770,
+ 1706, 1771,
+ 1710, 1773,
+ 1714, 1776,
+ 1716, 1777,
+ 1732, 1790,
+ 1765, 1814,
+ 1819, 1857,
+ 1820, 1858,
1823, 1860,
- 1853, 1874,
- 1875, 1885,
- 1879, 1887
+ 1824, 1861,
+ 1825, 1862,
+ 1855, 1876,
+ 1877, 1887,
+ 1881, 1889
};
static int parser_goto_row121[] = {
4,
};
static int parser_goto_row123[] = {
4,
- -1, 986,
- 1585, 1659,
- 1649, 1720,
- 1660, 1740
+ -1, 989,
+ 1587, 1661,
+ 1651, 1722,
+ 1662, 1742
};
static int parser_goto_row124[] = {
13,
- -1, 440,
- 439, 623,
- 443, 626,
- 625, 814,
- 959, 623,
- 961, 626,
- 1105, 814,
- 1352, 623,
- 1360, 626,
- 1493, 814,
- 1674, 623,
- 1676, 626,
- 1752, 814
+ -1, 443,
+ 442, 629,
+ 446, 632,
+ 631, 821,
+ 962, 629,
+ 964, 632,
+ 1105, 821,
+ 1353, 629,
+ 1361, 632,
+ 1495, 821,
+ 1676, 629,
+ 1678, 632,
+ 1754, 821
};
static int parser_goto_row125[] = {
5,
- -1, 441,
- 806, 960,
- 1171, 1353,
- 1599, 1675,
- 1642, 1353
+ -1, 444,
+ 813, 963,
+ 1171, 1354,
+ 1601, 1677,
+ 1644, 1354
};
static int parser_goto_row126[] = {
1,
- -1, 1540
+ -1, 1542
};
static int parser_goto_row127[] = {
2,
-1, 1130,
- 1874, 1884
+ 1876, 1886
};
static int parser_goto_row128[] = {
1,
static int parser_goto_row129[] = {
6,
-1, 1132,
- 1257, 1413,
- 1425, 1534,
- 1427, 1536,
- 1428, 1537,
- 1535, 1632
+ 1256, 1414,
+ 1426, 1536,
+ 1428, 1538,
+ 1429, 1539,
+ 1537, 1634
};
static int parser_goto_row130[] = {
1,
static int parser_goto_row131[] = {
8,
-1, 1134,
- 1431, 1542,
- 1432, 1543,
- 1433, 1544,
- 1434, 1545,
- 1435, 1546,
- 1436, 1547,
- 1437, 1548
+ 1432, 1544,
+ 1433, 1545,
+ 1434, 1546,
+ 1435, 1547,
+ 1436, 1548,
+ 1437, 1549,
+ 1438, 1550
};
static int parser_goto_row132[] = {
2,
-1, 1135,
- 1430, 1541
+ 1431, 1543
};
static int parser_goto_row133[] = {
2,
-1, 1136,
- 1438, 1549
+ 1439, 1551
};
static int parser_goto_row134[] = {
2,
-1, 1137,
- 1439, 1550
+ 1440, 1552
};
static int parser_goto_row135[] = {
3,
-1, 1138,
- 1440, 1551,
- 1441, 1552
+ 1441, 1553,
+ 1442, 1554
};
static int parser_goto_row136[] = {
3,
-1, 1139,
- 1442, 1553,
- 1443, 1554
+ 1443, 1555,
+ 1444, 1556
};
static int parser_goto_row137[] = {
5,
-1, 1140,
- 1444, 1555,
- 1445, 1556,
- 1446, 1557,
- 1447, 1558
+ 1445, 1557,
+ 1446, 1558,
+ 1447, 1559,
+ 1448, 1560
};
static int parser_goto_row138[] = {
5,
-1, 1141,
- 1118, 1267,
- 1119, 1268,
- 1120, 1269,
- 1259, 1417
+ 1118, 1266,
+ 1119, 1267,
+ 1120, 1268,
+ 1258, 1418
};
static int parser_goto_row139[] = {
1,
static int parser_goto_row140[] = {
2,
-1, 1143,
- 1117, 1266
+ 1117, 1265
};
static int parser_goto_row141[] = {
1,
};
static int parser_goto_row143[] = {
4,
- -1, 387,
- 278, 505,
- 344, 556,
- 507, 700
+ -1, 390,
+ 278, 508,
+ 344, 559,
+ 510, 706
};
static int parser_goto_row144[] = {
1,
};
static int parser_goto_row145[] = {
1,
- -1, 1354
+ -1, 1355
};
static int parser_goto_row146[] = {
4,
-1, 139,
- 1171, 1355,
- 1608, 1687,
- 1642, 1355
+ 1171, 1356,
+ 1610, 1689,
+ 1644, 1356
};
static int parser_goto_row147[] = {
1,
static int parser_goto_row148[] = {
6,
-1, 141,
- 277, 504,
- 517, 706,
- 519, 708,
- 520, 709,
- 707, 876
+ 277, 507,
+ 520, 712,
+ 522, 714,
+ 523, 715,
+ 713, 879
};
static int parser_goto_row149[] = {
1,
static int parser_goto_row150[] = {
8,
-1, 143,
- 523, 712,
- 524, 713,
- 525, 714,
- 526, 715,
- 527, 716,
- 528, 717,
- 529, 718
+ 526, 718,
+ 527, 719,
+ 528, 720,
+ 529, 721,
+ 530, 722,
+ 531, 723,
+ 532, 724
};
static int parser_goto_row151[] = {
2,
-1, 144,
- 522, 711
+ 525, 717
};
static int parser_goto_row152[] = {
2,
-1, 145,
- 530, 719
+ 533, 725
};
static int parser_goto_row153[] = {
2,
-1, 146,
- 531, 720
+ 534, 726
};
static int parser_goto_row154[] = {
3,
-1, 147,
- 532, 721,
- 533, 722
+ 535, 727,
+ 536, 728
};
static int parser_goto_row155[] = {
3,
-1, 148,
- 534, 723,
- 535, 724
+ 537, 729,
+ 538, 730
};
static int parser_goto_row156[] = {
5,
-1, 149,
- 536, 725,
- 537, 726,
- 538, 727,
- 539, 728
+ 539, 731,
+ 540, 732,
+ 541, 733,
+ 542, 734
};
static int parser_goto_row157[] = {
1,
4,
-1, 152,
124, 286,
- 1171, 1356,
- 1642, 1356
+ 1171, 1357,
+ 1644, 1357
};
static int parser_goto_row160[] = {
1,
static int parser_goto_row161[] = {
2,
-1, 153,
- 1091, 1243
+ 1091, 1242
};
static int parser_goto_row162[] = {
1,
- -1, 594
+ -1, 597
};
static int parser_goto_row163[] = {
7,
- -1, 595,
- 591, 784,
- 1086, 1236,
- 1234, 1399,
- 1397, 1518,
- 1415, 1527,
- 1526, 1629
+ -1, 598,
+ 594, 790,
+ 1086, 1235,
+ 1233, 1400,
+ 1398, 1520,
+ 1416, 1529,
+ 1528, 1631
};
static int parser_goto_row164[] = {
1,
- -1, 788
+ -1, 794
};
static int parser_goto_row165[] = {
1,
};
static int parser_goto_row166[] = {
2,
- -1, 1357,
- 1642, 1711
+ -1, 1358,
+ 1644, 1713
};
static int parser_goto_row167[] = {
1,
- -1, 1358
+ -1, 1359
};
static int parser_goto_row168[] = {
2,
- -1, 1416,
- 1418, 1530
+ -1, 1417,
+ 1419, 1532
};
static int parser_goto_row169[] = {
1,
static int parser_goto_row186[] = {
8,
-1, 1041,
- 893, 1047,
- 1213, 1386,
- 1383, 1505,
- 1503, 1612,
- 1504, 1614,
- 1508, 1616,
- 1689, 1761
+ 896, 1047,
+ 1212, 1387,
+ 1384, 1507,
+ 1505, 1614,
+ 1506, 1616,
+ 1510, 1618,
+ 1691, 1763
};
static int parser_goto_row187[] = {
3,
-1, 1042,
- 741, 911,
- 1502, 1611
+ 747, 914,
+ 1504, 1613
};
static int parser_goto_row188[] = {
1,
- -1, 912
+ -1, 915
};
static int parser_goto_row189[] = {
1,
- -1, 913
+ -1, 916
};
static int parser_goto_row190[] = {
1,
- -1, 914
+ -1, 917
};
static int parser_goto_row191[] = {
1,
- -1, 915
+ -1, 918
};
static int parser_goto_row192[] = {
1,
- -1, 916
+ -1, 919
};
static int parser_goto_row193[] = {
1,
- -1, 917
+ -1, 920
};
static int parser_goto_row194[] = {
1,
- -1, 918
+ -1, 921
};
static int parser_goto_row195[] = {
1,
10,
-1, 159,
37, 166,
- 742, 921,
- 744, 924,
- 799, 954,
- 889, 1043,
- 893, 1048,
- 1503, 1613,
- 1504, 1615,
- 1508, 1617
+ 748, 924,
+ 750, 927,
+ 806, 957,
+ 892, 1043,
+ 896, 1048,
+ 1505, 1615,
+ 1506, 1617,
+ 1510, 1619
};
static int parser_goto_row197[] = {
1,
};
static int parser_goto_row198[] = {
1,
- -1, 442
+ -1, 445
};
static int parser_goto_row199[] = {
1,
- -1, 1359
+ -1, 1360
};
static int parser_goto_row200[] = {
1,
};
static int parser_goto_row207[] = {
1,
- -1, 1472
+ -1, 1474
};
static int parser_goto_row208[] = {
1,
- -1, 998
+ -1, 1001
};
static int parser_goto_row209[] = {
4,
- -1, 1307,
- 1159, 1322,
- 1723, 1780,
- 1786, 1830
+ -1, 1306,
+ 1159, 1323,
+ 1725, 1782,
+ 1788, 1832
};
static int parser_goto_row210[] = {
1,
- -1, 1315
+ -1, 1314
};
static int parser_goto_row211[] = {
1,
- -1, 1463
+ -1, 1464
};
static int parser_goto_row212[] = {
1,
static int parser_goto_row213[] = {
3,
-1, 240,
- 327, 544,
- 1064, 1223
+ 327, 547,
+ 1064, 1222
};
static int parser_goto_row214[] = {
1,
- -1, 617
+ -1, 623
};
static int parser_goto_row215[] = {
1,
- -1, 633
+ -1, 639
};
static int parser_goto_row216[] = {
1,
};
static int parser_goto_row217[] = {
1,
- -1, 948
+ -1, 951
};
static int parser_goto_row218[] = {
2,
- -1, 1406,
- 1358, 1491
+ -1, 1407,
+ 1359, 1493
};
static int parser_goto_row219[] = {
1,
- -1, 875
+ -1, 878
};
static int parser_goto_row220[] = {
- 170,
+ 203,
-1, 194,
13, 82,
27, 82,
97, 82,
124, 154,
158, 82,
- 210, 443,
+ 201, 391,
+ 209, 391,
+ 210, 446,
239, 82,
251, 154,
253, 154,
255, 154,
256, 154,
277, 154,
+ 278, 391,
+ 344, 391,
384, 82,
- 465, 663,
- 470, 82,
- 472, 672,
- 495, 154,
- 496, 154,
- 517, 154,
- 519, 154,
+ 385, 391,
+ 398, 391,
+ 468, 669,
+ 473, 82,
+ 475, 678,
+ 498, 154,
+ 499, 154,
+ 510, 391,
520, 154,
522, 154,
523, 154,
- 524, 154,
+ 524, 391,
525, 154,
526, 154,
527, 154,
537, 154,
538, 154,
539, 154,
- 540, 734,
- 543, 82,
- 583, 778,
- 587, 82,
+ 540, 154,
+ 541, 154,
+ 542, 154,
+ 543, 740,
+ 546, 82,
+ 548, 391,
+ 567, 391,
+ 586, 784,
590, 82,
- 636, 824,
- 637, 824,
- 665, 842,
- 667, 154,
- 669, 154,
- 701, 734,
- 707, 154,
- 737, 82,
- 741, 919,
- 742, 82,
- 744, 82,
- 750, 778,
- 789, 943,
- 799, 82,
- 806, 961,
- 808, 443,
- 852, 154,
- 853, 154,
- 854, 154,
+ 593, 82,
+ 615, 391,
+ 642, 831,
+ 643, 831,
+ 671, 391,
+ 673, 154,
+ 675, 154,
+ 707, 740,
+ 713, 154,
+ 743, 82,
+ 747, 922,
+ 748, 82,
+ 750, 82,
+ 756, 784,
+ 791, 391,
+ 795, 946,
+ 806, 82,
+ 810, 391,
+ 813, 964,
+ 815, 446,
855, 154,
- 870, 1028,
- 888, 154,
- 889, 919,
- 891, 82,
- 893, 919,
- 902, 154,
- 910, 82,
- 968, 1145,
- 972, 1148,
- 983, 82,
+ 856, 154,
+ 857, 154,
+ 858, 154,
+ 873, 1028,
+ 891, 154,
+ 892, 922,
+ 894, 82,
+ 896, 922,
+ 905, 154,
+ 913, 82,
+ 939, 391,
+ 958, 391,
+ 971, 1145,
+ 975, 1148,
+ 983, 391,
+ 986, 82,
1020, 154,
1021, 154,
1040, 82,
+ 1056, 391,
1059, 154,
1060, 154,
1061, 154,
1066, 82,
1067, 154,
1068, 154,
- 1095, 443,
+ 1095, 446,
1117, 1145,
1118, 1145,
1119, 1145,
1120, 1145,
- 1157, 663,
+ 1157, 1322,
1161, 82,
- 1171, 1360,
- 1213, 919,
- 1216, 1392,
- 1221, 82,
+ 1171, 1361,
+ 1177, 391,
+ 1202, 391,
+ 1212, 922,
+ 1215, 1393,
+ 1220, 82,
+ 1226, 154,
1227, 154,
- 1228, 154,
- 1257, 1145,
- 1259, 1145,
- 1383, 919,
- 1385, 82,
- 1389, 154,
+ 1231, 391,
+ 1256, 1145,
+ 1257, 391,
+ 1258, 1145,
+ 1384, 922,
+ 1386, 82,
1390, 154,
- 1402, 443,
- 1425, 1145,
- 1427, 1145,
+ 1391, 154,
+ 1403, 446,
+ 1415, 391,
+ 1419, 391,
+ 1426, 1145,
1428, 1145,
- 1430, 1145,
+ 1429, 1145,
+ 1430, 391,
1431, 1145,
1432, 1145,
1433, 1145,
1445, 1145,
1446, 1145,
1447, 1145,
- 1448, 1564,
- 1464, 663,
- 1473, 663,
- 1475, 663,
- 1477, 663,
- 1483, 443,
- 1502, 919,
- 1503, 919,
- 1504, 919,
- 1508, 919,
- 1512, 154,
- 1513, 154,
+ 1448, 1145,
+ 1449, 1566,
+ 1465, 669,
+ 1475, 669,
+ 1476, 391,
+ 1477, 669,
+ 1479, 669,
+ 1484, 391,
+ 1485, 446,
+ 1504, 922,
+ 1505, 922,
+ 1506, 922,
+ 1510, 922,
1514, 154,
1515, 154,
- 1521, 443,
- 1531, 1564,
- 1535, 1145,
- 1570, 663,
- 1599, 1676,
- 1608, 154,
- 1622, 154,
- 1623, 154,
- 1630, 1700,
- 1642, 1360,
- 1652, 82,
- 1656, 82,
- 1689, 919,
- 1717, 82,
- 1725, 82,
- 1726, 82,
- 1729, 82,
- 1734, 82,
- 1737, 82,
- 1771, 443,
- 1777, 82,
- 1784, 82,
- 1789, 82,
- 1794, 82,
- 1874, 1145
+ 1516, 154,
+ 1517, 154,
+ 1523, 446,
+ 1533, 1566,
+ 1537, 1145,
+ 1540, 391,
+ 1572, 1322,
+ 1589, 391,
+ 1601, 1678,
+ 1610, 154,
+ 1624, 154,
+ 1625, 154,
+ 1632, 1702,
+ 1644, 1361,
+ 1646, 391,
+ 1654, 82,
+ 1658, 82,
+ 1691, 922,
+ 1715, 391,
+ 1719, 82,
+ 1727, 82,
+ 1728, 82,
+ 1731, 82,
+ 1736, 82,
+ 1739, 82,
+ 1771, 391,
+ 1773, 446,
+ 1777, 391,
+ 1779, 82,
+ 1786, 82,
+ 1791, 82,
+ 1796, 82,
+ 1824, 391,
+ 1876, 1145
};
static int parser_goto_row221[] = {
78,
271, 24,
327, 24,
384, 24,
- 544, 24,
- 587, 24,
- 741, 24,
- 742, 24,
- 744, 24,
- 799, 24,
- 840, 24,
- 889, 24,
- 891, 24,
- 893, 24,
- 983, 24,
- 994, 24,
- 998, 21,
+ 547, 24,
+ 590, 24,
+ 747, 24,
+ 748, 24,
+ 750, 24,
+ 806, 24,
+ 845, 24,
+ 892, 24,
+ 894, 24,
+ 896, 24,
+ 986, 24,
+ 997, 24,
+ 1001, 21,
1062, 24,
1064, 24,
1066, 24,
1150, 24,
1159, 24,
1161, 24,
- 1213, 24,
- 1221, 24,
- 1223, 24,
- 1307, 24,
- 1322, 24,
- 1383, 24,
- 1469, 24,
- 1502, 24,
- 1503, 24,
+ 1212, 24,
+ 1220, 24,
+ 1222, 24,
+ 1306, 24,
+ 1323, 24,
+ 1384, 24,
+ 1471, 24,
1504, 24,
- 1508, 24,
- 1577, 24,
- 1652, 24,
- 1656, 24,
- 1689, 24,
- 1717, 24,
- 1723, 24,
+ 1505, 24,
+ 1506, 24,
+ 1510, 24,
+ 1579, 24,
+ 1654, 24,
+ 1658, 24,
+ 1691, 24,
+ 1719, 24,
1725, 24,
- 1726, 24,
- 1729, 24,
- 1734, 24,
- 1737, 24,
- 1777, 24,
- 1780, 24,
- 1784, 24,
+ 1727, 24,
+ 1728, 24,
+ 1731, 24,
+ 1736, 24,
+ 1739, 24,
+ 1779, 24,
+ 1782, 24,
1786, 24,
- 1789, 24,
- 1794, 24,
- 1830, 24
+ 1788, 24,
+ 1791, 24,
+ 1796, 24,
+ 1832, 24
};
static int parser_goto_row222[] = {
75,
271, 25,
327, 25,
384, 25,
- 544, 25,
- 587, 25,
- 741, 25,
- 742, 25,
- 744, 25,
- 799, 25,
- 840, 25,
- 889, 25,
- 891, 25,
- 893, 25,
- 983, 25,
- 994, 25,
- 998, 22,
+ 547, 25,
+ 590, 25,
+ 747, 25,
+ 748, 25,
+ 750, 25,
+ 806, 25,
+ 845, 25,
+ 892, 25,
+ 894, 25,
+ 896, 25,
+ 986, 25,
+ 997, 25,
+ 1001, 22,
1062, 25,
1064, 25,
1066, 25,
1150, 25,
1159, 25,
1161, 25,
- 1213, 25,
- 1221, 25,
- 1223, 25,
- 1307, 25,
- 1322, 25,
- 1383, 25,
- 1469, 25,
- 1502, 25,
- 1503, 25,
+ 1212, 25,
+ 1220, 25,
+ 1222, 25,
+ 1306, 25,
+ 1323, 25,
+ 1384, 25,
+ 1471, 25,
1504, 25,
- 1508, 25,
- 1577, 25,
- 1652, 25,
- 1656, 25,
- 1689, 25,
- 1717, 25,
- 1723, 25,
+ 1505, 25,
+ 1506, 25,
+ 1510, 25,
+ 1579, 25,
+ 1654, 25,
+ 1658, 25,
+ 1691, 25,
+ 1719, 25,
1725, 25,
- 1726, 25,
- 1729, 25,
- 1734, 25,
- 1737, 25,
- 1777, 25,
- 1780, 25,
- 1784, 25,
+ 1727, 25,
+ 1728, 25,
+ 1731, 25,
+ 1736, 25,
+ 1739, 25,
+ 1779, 25,
+ 1782, 25,
1786, 25,
- 1789, 25,
- 1794, 25,
- 1830, 25
+ 1788, 25,
+ 1791, 25,
+ 1796, 25,
+ 1832, 25
};
const int* const parser_goto_table[] = {
v.visit n_classkind
v.adds
- v.visit n_id
+ v.visit n_qid
if not n_formaldefs.is_empty then
v.consume "["
v.adds
end
- v.visit n_id
+ v.visit n_qid
if not n_types.is_empty then
v.consume "["
super
v.visit n_kwtype
v.adds
- v.visit n_id
+ v.visit n_qid
v.consume ":"
v.adds
v.visit n_type
if not mclassdef.is_test then continue
if not suite_match_pattern(mclassdef) then continue
toolcontext.modelbuilder.total_classes += 1
- var before_test = mclassdef.before_test
- var after_test = mclassdef.after_test
for mpropdef in mclassdef.mpropdefs do
if not mpropdef isa MMethodDef or not mpropdef.is_test then continue
if not case_match_pattern(mpropdef) then continue
toolcontext.modelbuilder.total_tests += 1
var test = new TestCase(suite, mpropdef, toolcontext)
- test.before_test = before_test
- test.after_test = after_test
suite.add_test test
end
end
fun to_xml: HTMLTag do
var n = new HTMLTag("testsuite")
n.attr("package", mmodule.name)
+ var failure = self.failure
if failure != null then
var f = new HTMLTag("failure")
f.attr("message", failure.to_s)
end
# compile test suite
var file = test_file
- var include_dir = mmodule.location.file.filename.dirname
+ var module_file = mmodule.location.file
+ if module_file == null then
+ toolcontext.error(null, "Error: cannot find module file for {mmodule.name}.")
+ toolcontext.check_errors
+ return
+ end
+ var include_dir = module_file.filename.dirname
var cmd = "{nitc} --no-color '{file}.nit' -I {include_dir} -o '{file}.bin' > '{file}.out' 2>&1 </dev/null"
var res = sys.system(cmd)
var f = new FileReader.open("{file}.out")
# `ToolContext` to use to display messages and find `nitc` bin.
var toolcontext: ToolContext
- # `MMethodDef` to call before the test case.
- var before_test: nullable MMethodDef = null
-
- # `MMethodDef` to call after the test case.
- var after_test: nullable MMethodDef = null
-
# Generate the test unit for `self` in `file`.
fun write_to_nit(file: Template) do
var name = test_method.name
file.addn "\t{name}"
else
file.addn "\tvar subject = new {test_method.mclassdef.name}.nitunit"
- if before_test != null then file.addn "\tsubject.{before_test.name}"
+ file.addn "\tsubject.before_test"
file.addn "\tsubject.{name}"
- if after_test != null then file.addn "\tsubject.{after_test.name}"
+ file.addn "\tsubject.after_test"
end
file.addn "end"
end
var n = new HTMLTag("system-out")
n.append "out"
tc.add n
+ var error = self.error
if error != null then
n = new HTMLTag("error")
n.attr("message", error.to_s)
# i.e. begins with "test_"
private fun is_test: Bool do return name.has_prefix("test_")
- # Is the method a "before_test"?
- private fun is_before: Bool do return name == "before_test"
-
- # Is the method a "after_test"?
- private fun is_after: Bool do return name == "after_test"
-
# Is the method a "before_module"?
private fun is_before_module: Bool do return mproperty.is_toplevel and name == "before_module"
# Is the class a TestClass?
# i.e. begins with "Test"
private fun is_test: Bool do
+ var in_hierarchy = self.in_hierarchy
+ if in_hierarchy == null then return false
for sup in in_hierarchy.greaters do
if sup.name == "TestSuite" then return true
end
return false
end
-
- # "before_test" method for this classdef.
- private fun before_test: nullable MMethodDef do
- for mpropdef in mpropdefs do
- if mpropdef isa MMethodDef and mpropdef.is_before then return mpropdef
- end
- return null
- end
-
- # "after_test" method for this classdef.
- private fun after_test: nullable MMethodDef do
- for mpropdef in mpropdefs do
- if mpropdef isa MMethodDef and mpropdef.is_after then return mpropdef
- end
- return null
- end
end
redef class MModule
if f != null then
test_file = f
else if not test_file.file_exists then
- var include_dir = mmodule.location.file.filename.dirname
+ var module_file = mmodule.location.file
+ if module_file == null then
+ toolcontext.info("Skip test for {mmodule}, no file found", 2)
+ return ts
+ end
+ var include_dir = module_file.filename.dirname
test_file = "{include_dir}/{test_file}"
end
if not test_file.file_exists then
--- /dev/null
+[{"precision":"zip","Latitude":37.7668,"Longitude":-122.3959,"Address":"","City":"SANFRANCISCO","State":"CA","Zip":"94107","Country":"US"},{"precision":"zip","Latitude":37.371991,"Longitude":-122.026020,"Address":"","City":"SUNNYVALE","State":"CA","Zip":"94085","Country":"US"}]
test_nitunit3 --no-color -o $WRITE
test_nitunit_md.md --no-color -o $WRITE
test_doc3.nit --no-color -o $WRITE
+test_nitunit4 --no-color -o $WRITE
7:MEntity
6:MGroup
=properties=JsonObject(4):
-{"kind":"namespace","visibility":"","name":"org","location":"\/dev\/null:1,1--1,1"}
+{"kind":"namespace","visibility":"","name":"org","location":"/dev/null:1,1--1,1"}
----
=to=Entity#0:
=labels=Array(3):
7:MEntity
6:MGroup
=properties=JsonObject(4):
-{"kind":"namespace","visibility":"","name":"org","location":"\/dev\/null:1,1--1,1"}
+{"kind":"namespace","visibility":"","name":"org","location":"/dev/null:1,1--1,1"}
Edge
7:MEntity
6:MGroup
=properties=JsonObject(4):
-{"kind":"namespace","visibility":"","name":"foo","location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/A.java:16,1--1,1"}
+{"kind":"namespace","visibility":"","name":"foo","location":"%SOURCE_DIRECTORY%/org/example/foo/A.java:16,1--1,1"}
----
=to=Entity#0:
=labels=Array(3):
7:MEntity
7:MModule
=properties=JsonObject(2):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/A.java:1,1--1,1","name":"A"}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/A.java:1,1--1,1","name":"A"}
Edge
7:MEntity
7:MModule
=properties=JsonObject(2):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/A.java:1,1--1,1","name":"A"}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/A.java:1,1--1,1","name":"A"}
----
=to=Entity#32:classorg_1_1example_1_1foo_1_1_a
=labels=Array(3):
7:MEntity
6:MClass
=properties=JsonObject(4):
-{"kind":"abstract class","visibility":"public","name":"A","location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/A.java:18,1--23,1"}
+{"kind":"abstract class","visibility":"public","name":"A","location":"%SOURCE_DIRECTORY%/org/example/foo/A.java:18,1--23,1"}
Edge
7:MEntity
7:MModule
=properties=JsonObject(2):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/A.java:1,1--1,1","name":"A"}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/A.java:1,1--1,1","name":"A"}
----
=to=Entity#0:
=labels=Array(3):
7:MEntity
9:MClassDef
=properties=JsonObject(3):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/A.java:18,1--23,1","is_intro":true,"name":"A"}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/A.java:18,1--23,1","is_intro":true,"name":"A"}
Edge
7:MEntity
6:MGroup
=properties=JsonObject(4):
-{"kind":"namespace","visibility":"","name":"foo","location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/A.java:16,1--1,1"}
+{"kind":"namespace","visibility":"","name":"foo","location":"%SOURCE_DIRECTORY%/org/example/foo/A.java:16,1--1,1"}
----
=to=Entity#0:
=labels=Array(3):
7:MEntity
7:MModule
=properties=JsonObject(2):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/B.java:1,1--1,1","name":"B"}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/B.java:1,1--1,1","name":"B"}
Edge
7:MEntity
7:MModule
=properties=JsonObject(2):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/B.java:1,1--1,1","name":"B"}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/B.java:1,1--1,1","name":"B"}
----
=to=Entity#32:classorg_1_1example_1_1foo_1_1_b
=labels=Array(3):
7:MEntity
6:MClass
=properties=JsonObject(4):
-{"kind":"class","visibility":"public","name":"B","location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/B.java:18,1--29,1"}
+{"kind":"class","visibility":"public","name":"B","location":"%SOURCE_DIRECTORY%/org/example/foo/B.java:18,1--29,1"}
Edge
7:MEntity
7:MModule
=properties=JsonObject(2):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/B.java:1,1--1,1","name":"B"}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/B.java:1,1--1,1","name":"B"}
----
=to=Entity#0:
=labels=Array(3):
7:MEntity
9:MClassDef
=properties=JsonObject(3):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/B.java:18,1--29,1","is_intro":true,"name":"B"}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/B.java:18,1--29,1","is_intro":true,"name":"B"}
Edge
7:MEntity
6:MGroup
=properties=JsonObject(4):
-{"kind":"namespace","visibility":"","name":"foo","location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/A.java:16,1--1,1"}
+{"kind":"namespace","visibility":"","name":"foo","location":"%SOURCE_DIRECTORY%/org/example/foo/A.java:16,1--1,1"}
----
=to=Entity#0:
=labels=Array(3):
7:MEntity
7:MModule
=properties=JsonObject(3):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/C.java:1,1--1,1","name":"C","mdoc":["An interface."]}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/C.java:1,1--1,1","name":"C","mdoc":["An interface."]}
Edge
7:MEntity
7:MModule
=properties=JsonObject(3):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/C.java:1,1--1,1","name":"C","mdoc":["An interface."]}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/C.java:1,1--1,1","name":"C","mdoc":["An interface."]}
----
=to=Entity#36:interfaceorg_1_1example_1_1foo_1_1_c
=labels=Array(3):
7:MEntity
6:MClass
=properties=JsonObject(5):
-{"kind":"interface","visibility":"public","name":"C","location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/C.java:21,1--31,1","mdoc":["An interface."]}
+{"kind":"interface","visibility":"public","name":"C","location":"%SOURCE_DIRECTORY%/org/example/foo/C.java:21,1--31,1","mdoc":["An interface."]}
Edge
7:MEntity
7:MModule
=properties=JsonObject(3):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/C.java:1,1--1,1","name":"C","mdoc":["An interface."]}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/C.java:1,1--1,1","name":"C","mdoc":["An interface."]}
----
=to=Entity#0:
=labels=Array(3):
7:MEntity
9:MClassDef
=properties=JsonObject(4):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/C.java:21,1--31,1","is_intro":true,"name":"C","mdoc":["An interface."]}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/C.java:21,1--31,1","is_intro":true,"name":"C","mdoc":["An interface."]}
Edge
7:MEntity
6:MGroup
=properties=JsonObject(4):
-{"kind":"namespace","visibility":"","name":"foo","location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/A.java:16,1--1,1"}
+{"kind":"namespace","visibility":"","name":"foo","location":"%SOURCE_DIRECTORY%/org/example/foo/A.java:16,1--1,1"}
----
=to=Entity#0:
=labels=Array(3):
7:MEntity
7:MModule
=properties=JsonObject(3):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/EmptyClass.java:1,1--1,1","name":"EmptyClass","mdoc":["This class is empty and is only visible in this package."]}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/EmptyClass.java:1,1--1,1","name":"EmptyClass","mdoc":["This class is empty and is only visible in this package."]}
Edge
7:MEntity
7:MModule
=properties=JsonObject(3):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/EmptyClass.java:1,1--1,1","name":"EmptyClass","mdoc":["This class is empty and is only visible in this package."]}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/EmptyClass.java:1,1--1,1","name":"EmptyClass","mdoc":["This class is empty and is only visible in this package."]}
----
=to=Entity#42:classorg_1_1example_1_1foo_1_1_empty_class
=labels=Array(3):
7:MEntity
6:MClass
=properties=JsonObject(5):
-{"kind":"class","visibility":"package","name":"EmptyClass","location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/EmptyClass.java:21,1--21,1","mdoc":["This class is empty and is only visible in this package."]}
+{"kind":"class","visibility":"package","name":"EmptyClass","location":"%SOURCE_DIRECTORY%/org/example/foo/EmptyClass.java:21,1--21,1","mdoc":["This class is empty and is only visible in this package."]}
Edge
7:MEntity
7:MModule
=properties=JsonObject(3):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/EmptyClass.java:1,1--1,1","name":"EmptyClass","mdoc":["This class is empty and is only visible in this package."]}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/EmptyClass.java:1,1--1,1","name":"EmptyClass","mdoc":["This class is empty and is only visible in this package."]}
----
=to=Entity#0:
=labels=Array(3):
7:MEntity
9:MClassDef
=properties=JsonObject(4):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/EmptyClass.java:21,1--21,1","is_intro":true,"name":"EmptyClass","mdoc":["This class is empty and is only visible in this package."]}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/EmptyClass.java:21,1--21,1","is_intro":true,"name":"EmptyClass","mdoc":["This class is empty and is only visible in this package."]}
Edge
8:MPropDef
10:MMethodDef
=properties=JsonObject(8):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/A.java:22,1--1,1","is_intern":false,"is_extern":false,"is_abstract":false,"visibility":"public","name":"bar","mdoc":["Does something..."],"is_intro":true}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/A.java:22,1--1,1","is_intern":false,"is_extern":false,"is_abstract":false,"visibility":"public","name":"bar","mdoc":["Does something..."],"is_intro":true}
----
=to=Entity#0:
=labels=Array(4):
8:MPropDef
10:MMethodDef
=properties=JsonObject(8):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/A.java:22,1--1,1","is_intern":false,"is_extern":false,"is_abstract":false,"visibility":"public","name":"bar","mdoc":["Does something..."],"is_intro":true}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/A.java:22,1--1,1","is_intern":false,"is_extern":false,"is_abstract":false,"visibility":"public","name":"bar","mdoc":["Does something..."],"is_intro":true}
----
=to=Entity#0:
=labels=Array(4):
7:MEntity
6:MClass
=properties=JsonObject(4):
-{"kind":"abstract class","visibility":"public","name":"A","location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/A.java:18,1--23,1"}
+{"kind":"abstract class","visibility":"public","name":"A","location":"%SOURCE_DIRECTORY%/org/example/foo/A.java:18,1--23,1"}
----
=to=Entity#0:
=labels=Array(4):
7:MEntity
6:MClass
=properties=JsonObject(4):
-{"kind":"abstract class","visibility":"public","name":"A","location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/A.java:18,1--23,1"}
+{"kind":"abstract class","visibility":"public","name":"A","location":"%SOURCE_DIRECTORY%/org/example/foo/A.java:18,1--23,1"}
Edge
7:MEntity
9:MClassDef
=properties=JsonObject(3):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/A.java:18,1--23,1","is_intro":true,"name":"A"}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/A.java:18,1--23,1","is_intro":true,"name":"A"}
----
=to=Entity#0:
=labels=Array(4):
7:MEntity
9:MClassDef
=properties=JsonObject(3):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/A.java:18,1--23,1","is_intro":true,"name":"A"}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/A.java:18,1--23,1","is_intro":true,"name":"A"}
----
=to=Entity#32:classorg_1_1example_1_1foo_1_1_a
=labels=Array(3):
7:MEntity
6:MClass
=properties=JsonObject(4):
-{"kind":"abstract class","visibility":"public","name":"A","location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/A.java:18,1--23,1"}
+{"kind":"abstract class","visibility":"public","name":"A","location":"%SOURCE_DIRECTORY%/org/example/foo/A.java:18,1--23,1"}
Edge
7:MEntity
9:MClassDef
=properties=JsonObject(3):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/A.java:18,1--23,1","is_intro":true,"name":"A"}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/A.java:18,1--23,1","is_intro":true,"name":"A"}
----
=to=Entity#0:
=labels=Array(4):
7:MEntity
9:MClassDef
=properties=JsonObject(3):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/A.java:18,1--23,1","is_intro":true,"name":"A"}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/A.java:18,1--23,1","is_intro":true,"name":"A"}
Edge
7:MEntity
9:MClassDef
=properties=JsonObject(3):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/A.java:18,1--23,1","is_intro":true,"name":"A"}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/A.java:18,1--23,1","is_intro":true,"name":"A"}
----
=to=Entity#67:classorg_1_1example_1_1foo_1_1_a_1add415ae4129969055d678c7e7e048852
=labels=Array(4):
8:MPropDef
10:MMethodDef
=properties=JsonObject(8):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/A.java:22,1--1,1","is_intern":false,"is_extern":false,"is_abstract":false,"visibility":"public","name":"bar","mdoc":["Does something..."],"is_intro":true}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/A.java:22,1--1,1","is_intern":false,"is_extern":false,"is_abstract":false,"visibility":"public","name":"bar","mdoc":["Does something..."],"is_intro":true}
Edge
8:MPropDef
13:MAttributeDef
=properties=JsonObject(4):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/B.java:19,1---1,1","visibility":"protected","name":"qux","is_intro":true}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/B.java:19,1---1,1","visibility":"protected","name":"qux","is_intro":true}
----
=to=Entity#0:
=labels=Array(4):
8:MPropDef
13:MAttributeDef
=properties=JsonObject(4):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/B.java:19,1---1,1","visibility":"protected","name":"qux","is_intro":true}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/B.java:19,1---1,1","visibility":"protected","name":"qux","is_intro":true}
----
=to=Entity#0:
=labels=Array(4):
8:MPropDef
10:MMethodDef
=properties=JsonObject(7):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/B.java:21,1--23,1","is_intern":false,"is_extern":false,"is_abstract":false,"visibility":"public","name":"bar","is_intro":true}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/B.java:21,1--23,1","is_intern":false,"is_extern":false,"is_abstract":false,"visibility":"public","name":"bar","is_intro":true}
----
=to=Entity#0:
=labels=Array(4):
8:MPropDef
10:MMethodDef
=properties=JsonObject(7):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/B.java:21,1--23,1","is_intern":false,"is_extern":false,"is_abstract":false,"visibility":"public","name":"bar","is_intro":true}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/B.java:21,1--23,1","is_intern":false,"is_extern":false,"is_abstract":false,"visibility":"public","name":"bar","is_intro":true}
----
=to=Entity#0:
=labels=Array(4):
8:MPropDef
10:MMethodDef
=properties=JsonObject(8):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/B.java:28,1--28,1","is_intern":false,"is_extern":false,"is_abstract":false,"visibility":"public","name":"baz","mdoc":["Some overriden documentation."],"is_intro":false}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/B.java:28,1--28,1","is_intern":false,"is_extern":false,"is_abstract":false,"visibility":"public","name":"baz","mdoc":["Some overriden documentation."],"is_intro":false}
----
=to=Entity#0:
=labels=Array(4):
8:MPropDef
10:MMethodDef
=properties=JsonObject(8):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/B.java:28,1--28,1","is_intern":false,"is_extern":false,"is_abstract":false,"visibility":"public","name":"baz","mdoc":["Some overriden documentation."],"is_intro":false}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/B.java:28,1--28,1","is_intern":false,"is_extern":false,"is_abstract":false,"visibility":"public","name":"baz","mdoc":["Some overriden documentation."],"is_intro":false}
----
=to=Entity#0:
=labels=Array(4):
7:MEntity
6:MClass
=properties=JsonObject(4):
-{"kind":"class","visibility":"public","name":"B","location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/B.java:18,1--29,1"}
+{"kind":"class","visibility":"public","name":"B","location":"%SOURCE_DIRECTORY%/org/example/foo/B.java:18,1--29,1"}
----
=to=Entity#0:
=labels=Array(4):
7:MEntity
6:MClass
=properties=JsonObject(4):
-{"kind":"class","visibility":"public","name":"B","location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/B.java:18,1--29,1"}
+{"kind":"class","visibility":"public","name":"B","location":"%SOURCE_DIRECTORY%/org/example/foo/B.java:18,1--29,1"}
Edge
7:MEntity
9:MClassDef
=properties=JsonObject(3):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/B.java:18,1--29,1","is_intro":true,"name":"B"}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/B.java:18,1--29,1","is_intro":true,"name":"B"}
----
=to=Entity#0:
=labels=Array(4):
7:MEntity
9:MClassDef
=properties=JsonObject(3):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/B.java:18,1--29,1","is_intro":true,"name":"B"}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/B.java:18,1--29,1","is_intro":true,"name":"B"}
----
=to=Entity#32:classorg_1_1example_1_1foo_1_1_b
=labels=Array(3):
7:MEntity
6:MClass
=properties=JsonObject(4):
-{"kind":"class","visibility":"public","name":"B","location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/B.java:18,1--29,1"}
+{"kind":"class","visibility":"public","name":"B","location":"%SOURCE_DIRECTORY%/org/example/foo/B.java:18,1--29,1"}
Edge
7:MEntity
9:MClassDef
=properties=JsonObject(3):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/B.java:18,1--29,1","is_intro":true,"name":"B"}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/B.java:18,1--29,1","is_intro":true,"name":"B"}
----
=to=Entity#0:
=labels=Array(4):
7:MEntity
9:MClassDef
=properties=JsonObject(3):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/B.java:18,1--29,1","is_intro":true,"name":"B"}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/B.java:18,1--29,1","is_intro":true,"name":"B"}
----
=to=Entity#0:
=labels=Array(4):
7:MEntity
9:MClassDef
=properties=JsonObject(3):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/B.java:18,1--29,1","is_intro":true,"name":"B"}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/B.java:18,1--29,1","is_intro":true,"name":"B"}
----
=to=Entity#0:
=labels=Array(4):
7:MEntity
9:MClassDef
=properties=JsonObject(3):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/B.java:18,1--29,1","is_intro":true,"name":"B"}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/B.java:18,1--29,1","is_intro":true,"name":"B"}
Edge
7:MEntity
9:MClassDef
=properties=JsonObject(3):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/B.java:18,1--29,1","is_intro":true,"name":"B"}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/B.java:18,1--29,1","is_intro":true,"name":"B"}
----
=to=Entity#67:classorg_1_1example_1_1foo_1_1_b_1ac6b627949b10b9357eefc0cafcae1d87
=labels=Array(4):
8:MPropDef
13:MAttributeDef
=properties=JsonObject(4):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/B.java:19,1---1,1","visibility":"protected","name":"qux","is_intro":true}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/B.java:19,1---1,1","visibility":"protected","name":"qux","is_intro":true}
Edge
7:MEntity
9:MClassDef
=properties=JsonObject(3):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/B.java:18,1--29,1","is_intro":true,"name":"B"}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/B.java:18,1--29,1","is_intro":true,"name":"B"}
----
=to=Entity#0:
=labels=Array(4):
7:MEntity
9:MClassDef
=properties=JsonObject(3):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/B.java:18,1--29,1","is_intro":true,"name":"B"}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/B.java:18,1--29,1","is_intro":true,"name":"B"}
Edge
7:MEntity
9:MClassDef
=properties=JsonObject(3):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/B.java:18,1--29,1","is_intro":true,"name":"B"}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/B.java:18,1--29,1","is_intro":true,"name":"B"}
----
=to=Entity#67:classorg_1_1example_1_1foo_1_1_b_1a11e157943665cc9e3a9be1502ebeb3b5
=labels=Array(4):
8:MPropDef
10:MMethodDef
=properties=JsonObject(7):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/B.java:21,1--23,1","is_intern":false,"is_extern":false,"is_abstract":false,"visibility":"public","name":"bar","is_intro":true}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/B.java:21,1--23,1","is_intern":false,"is_extern":false,"is_abstract":false,"visibility":"public","name":"bar","is_intro":true}
Edge
7:MEntity
9:MClassDef
=properties=JsonObject(3):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/B.java:18,1--29,1","is_intro":true,"name":"B"}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/B.java:18,1--29,1","is_intro":true,"name":"B"}
----
=to=Entity#67:classorg_1_1example_1_1foo_1_1_b_1a733f4e076f29c7d0c41ed258199ea1d9
=labels=Array(4):
8:MPropDef
10:MMethodDef
=properties=JsonObject(8):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/B.java:28,1--28,1","is_intern":false,"is_extern":false,"is_abstract":false,"visibility":"public","name":"baz","mdoc":["Some overriden documentation."],"is_intro":false}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/B.java:28,1--28,1","is_intern":false,"is_extern":false,"is_abstract":false,"visibility":"public","name":"baz","mdoc":["Some overriden documentation."],"is_intro":false}
Edge
7:MEntity
6:MClass
=properties=JsonObject(5):
-{"kind":"class","visibility":"package","name":"EmptyClass","location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/EmptyClass.java:21,1--21,1","mdoc":["This class is empty and is only visible in this package."]}
+{"kind":"class","visibility":"package","name":"EmptyClass","location":"%SOURCE_DIRECTORY%/org/example/foo/EmptyClass.java:21,1--21,1","mdoc":["This class is empty and is only visible in this package."]}
----
=to=Entity#0:
=labels=Array(4):
7:MEntity
6:MClass
=properties=JsonObject(5):
-{"kind":"class","visibility":"package","name":"EmptyClass","location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/EmptyClass.java:21,1--21,1","mdoc":["This class is empty and is only visible in this package."]}
+{"kind":"class","visibility":"package","name":"EmptyClass","location":"%SOURCE_DIRECTORY%/org/example/foo/EmptyClass.java:21,1--21,1","mdoc":["This class is empty and is only visible in this package."]}
Edge
7:MEntity
9:MClassDef
=properties=JsonObject(4):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/EmptyClass.java:21,1--21,1","is_intro":true,"name":"EmptyClass","mdoc":["This class is empty and is only visible in this package."]}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/EmptyClass.java:21,1--21,1","is_intro":true,"name":"EmptyClass","mdoc":["This class is empty and is only visible in this package."]}
----
=to=Entity#0:
=labels=Array(4):
7:MEntity
9:MClassDef
=properties=JsonObject(4):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/EmptyClass.java:21,1--21,1","is_intro":true,"name":"EmptyClass","mdoc":["This class is empty and is only visible in this package."]}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/EmptyClass.java:21,1--21,1","is_intro":true,"name":"EmptyClass","mdoc":["This class is empty and is only visible in this package."]}
----
=to=Entity#42:classorg_1_1example_1_1foo_1_1_empty_class
=labels=Array(3):
7:MEntity
6:MClass
=properties=JsonObject(5):
-{"kind":"class","visibility":"package","name":"EmptyClass","location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/EmptyClass.java:21,1--21,1","mdoc":["This class is empty and is only visible in this package."]}
+{"kind":"class","visibility":"package","name":"EmptyClass","location":"%SOURCE_DIRECTORY%/org/example/foo/EmptyClass.java:21,1--21,1","mdoc":["This class is empty and is only visible in this package."]}
Edge
8:MPropDef
13:MAttributeDef
=properties=JsonObject(5):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/C.java:25,1---1,1","visibility":"public","name":"THE_ANSWER","mdoc":["â\80\9cAnswer to the Ultimate Question of Life, the Universe, and Everything.","â\80\9c"],"is_intro":true}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/C.java:25,1---1,1","visibility":"public","name":"THE_ANSWER","mdoc":["â\80\9cAnswer to the Ultimate Question of Life, the Universe, and Everything.","â\80\9c"],"is_intro":true}
----
=to=Entity#0:
=labels=Array(4):
8:MPropDef
13:MAttributeDef
=properties=JsonObject(5):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/C.java:25,1---1,1","visibility":"public","name":"THE_ANSWER","mdoc":["â\80\9cAnswer to the Ultimate Question of Life, the Universe, and Everything.","â\80\9c"],"is_intro":true}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/C.java:25,1---1,1","visibility":"public","name":"THE_ANSWER","mdoc":["â\80\9cAnswer to the Ultimate Question of Life, the Universe, and Everything.","â\80\9c"],"is_intro":true}
----
=to=Entity#0:
=labels=Array(4):
8:MPropDef
10:MMethodDef
=properties=JsonObject(8):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/C.java:30,1--1,1","is_intern":false,"is_extern":false,"is_abstract":false,"visibility":"public","name":"baz","mdoc":["A function with implicit modifiers."],"is_intro":true}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/C.java:30,1--1,1","is_intern":false,"is_extern":false,"is_abstract":false,"visibility":"public","name":"baz","mdoc":["A function with implicit modifiers."],"is_intro":true}
----
=to=Entity#0:
=labels=Array(4):
8:MPropDef
10:MMethodDef
=properties=JsonObject(8):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/C.java:30,1--1,1","is_intern":false,"is_extern":false,"is_abstract":false,"visibility":"public","name":"baz","mdoc":["A function with implicit modifiers."],"is_intro":true}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/C.java:30,1--1,1","is_intern":false,"is_extern":false,"is_abstract":false,"visibility":"public","name":"baz","mdoc":["A function with implicit modifiers."],"is_intro":true}
----
=to=Entity#0:
=labels=Array(4):
7:MEntity
6:MClass
=properties=JsonObject(5):
-{"kind":"interface","visibility":"public","name":"C","location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/C.java:21,1--31,1","mdoc":["An interface."]}
+{"kind":"interface","visibility":"public","name":"C","location":"%SOURCE_DIRECTORY%/org/example/foo/C.java:21,1--31,1","mdoc":["An interface."]}
----
=to=Entity#0:
=labels=Array(4):
7:MEntity
6:MClass
=properties=JsonObject(5):
-{"kind":"interface","visibility":"public","name":"C","location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/C.java:21,1--31,1","mdoc":["An interface."]}
+{"kind":"interface","visibility":"public","name":"C","location":"%SOURCE_DIRECTORY%/org/example/foo/C.java:21,1--31,1","mdoc":["An interface."]}
Edge
7:MEntity
9:MClassDef
=properties=JsonObject(4):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/C.java:21,1--31,1","is_intro":true,"name":"C","mdoc":["An interface."]}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/C.java:21,1--31,1","is_intro":true,"name":"C","mdoc":["An interface."]}
----
=to=Entity#0:
=labels=Array(4):
7:MEntity
9:MClassDef
=properties=JsonObject(4):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/C.java:21,1--31,1","is_intro":true,"name":"C","mdoc":["An interface."]}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/C.java:21,1--31,1","is_intro":true,"name":"C","mdoc":["An interface."]}
----
=to=Entity#36:interfaceorg_1_1example_1_1foo_1_1_c
=labels=Array(3):
7:MEntity
6:MClass
=properties=JsonObject(5):
-{"kind":"interface","visibility":"public","name":"C","location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/C.java:21,1--31,1","mdoc":["An interface."]}
+{"kind":"interface","visibility":"public","name":"C","location":"%SOURCE_DIRECTORY%/org/example/foo/C.java:21,1--31,1","mdoc":["An interface."]}
Edge
7:MEntity
9:MClassDef
=properties=JsonObject(4):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/C.java:21,1--31,1","is_intro":true,"name":"C","mdoc":["An interface."]}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/C.java:21,1--31,1","is_intro":true,"name":"C","mdoc":["An interface."]}
----
=to=Entity#0:
=labels=Array(4):
7:MEntity
9:MClassDef
=properties=JsonObject(4):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/C.java:21,1--31,1","is_intro":true,"name":"C","mdoc":["An interface."]}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/C.java:21,1--31,1","is_intro":true,"name":"C","mdoc":["An interface."]}
Edge
7:MEntity
9:MClassDef
=properties=JsonObject(4):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/C.java:21,1--31,1","is_intro":true,"name":"C","mdoc":["An interface."]}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/C.java:21,1--31,1","is_intro":true,"name":"C","mdoc":["An interface."]}
----
=to=Entity#71:interfaceorg_1_1example_1_1foo_1_1_c_1a4e97061eb40b045e820de05b33c43d21
=labels=Array(4):
8:MPropDef
13:MAttributeDef
=properties=JsonObject(5):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/C.java:25,1---1,1","visibility":"public","name":"THE_ANSWER","mdoc":["â\80\9cAnswer to the Ultimate Question of Life, the Universe, and Everything.","â\80\9c"],"is_intro":true}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/C.java:25,1---1,1","visibility":"public","name":"THE_ANSWER","mdoc":["â\80\9cAnswer to the Ultimate Question of Life, the Universe, and Everything.","â\80\9c"],"is_intro":true}
Edge
7:MEntity
9:MClassDef
=properties=JsonObject(4):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/C.java:21,1--31,1","is_intro":true,"name":"C","mdoc":["An interface."]}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/C.java:21,1--31,1","is_intro":true,"name":"C","mdoc":["An interface."]}
----
=to=Entity#0:
=labels=Array(4):
7:MEntity
9:MClassDef
=properties=JsonObject(4):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/C.java:21,1--31,1","is_intro":true,"name":"C","mdoc":["An interface."]}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/C.java:21,1--31,1","is_intro":true,"name":"C","mdoc":["An interface."]}
Edge
7:MEntity
9:MClassDef
=properties=JsonObject(4):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/C.java:21,1--31,1","is_intro":true,"name":"C","mdoc":["An interface."]}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/C.java:21,1--31,1","is_intro":true,"name":"C","mdoc":["An interface."]}
----
=to=Entity#71:interfaceorg_1_1example_1_1foo_1_1_c_1a28ac7ce349ebb3e4a7747a8dd951582b
=labels=Array(4):
8:MPropDef
10:MMethodDef
=properties=JsonObject(8):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/C.java:30,1--1,1","is_intern":false,"is_extern":false,"is_abstract":false,"visibility":"public","name":"baz","mdoc":["A function with implicit modifiers."],"is_intro":true}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/C.java:30,1--1,1","is_intern":false,"is_extern":false,"is_abstract":false,"visibility":"public","name":"baz","mdoc":["A function with implicit modifiers."],"is_intro":true}
Edge
7:MEntity
6:MGroup
=properties=JsonObject(4):
-{"kind":"namespace","visibility":"","name":"org","location":"\/dev\/null:1,1--1,1"}
+{"kind":"namespace","visibility":"","name":"org","location":"/dev/null:1,1--1,1"}
----
=to=Node
=labels=Array(3):
7:MEntity
6:MGroup
=properties=JsonObject(4):
-{"kind":"namespace","visibility":"","name":"example","location":"\/dev\/null:1,1--1,1"}
+{"kind":"namespace","visibility":"","name":"example","location":"/dev/null:1,1--1,1"}
----
=to=Entity#12:namespaceorg
=labels=Array(3):
7:MEntity
6:MGroup
=properties=JsonObject(4):
-{"kind":"namespace","visibility":"","name":"org","location":"\/dev\/null:1,1--1,1"}
+{"kind":"namespace","visibility":"","name":"org","location":"/dev/null:1,1--1,1"}
Edge
7:MEntity
6:MGroup
=properties=JsonObject(4):
-{"kind":"namespace","visibility":"","name":"org","location":"\/dev\/null:1,1--1,1"}
+{"kind":"namespace","visibility":"","name":"org","location":"/dev/null:1,1--1,1"}
----
=to=Entity#23:namespaceorg_1_1example
=labels=Array(3):
7:MEntity
6:MGroup
=properties=JsonObject(4):
-{"kind":"namespace","visibility":"","name":"example","location":"\/dev\/null:1,1--1,1"}
+{"kind":"namespace","visibility":"","name":"example","location":"/dev/null:1,1--1,1"}
Edge
7:MEntity
6:MGroup
=properties=JsonObject(4):
-{"kind":"namespace","visibility":"","name":"example","location":"\/dev\/null:1,1--1,1"}
+{"kind":"namespace","visibility":"","name":"example","location":"/dev/null:1,1--1,1"}
----
=to=Node
=labels=Array(3):
7:MEntity
6:MGroup
=properties=JsonObject(4):
-{"kind":"namespace","visibility":"","name":"foo","location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/A.java:16,1--1,1"}
+{"kind":"namespace","visibility":"","name":"foo","location":"%SOURCE_DIRECTORY%/org/example/foo/A.java:16,1--1,1"}
----
=to=Entity#23:namespaceorg_1_1example
=labels=Array(3):
7:MEntity
6:MGroup
=properties=JsonObject(4):
-{"kind":"namespace","visibility":"","name":"example","location":"\/dev\/null:1,1--1,1"}
+{"kind":"namespace","visibility":"","name":"example","location":"/dev/null:1,1--1,1"}
Edge
7:MEntity
6:MGroup
=properties=JsonObject(4):
-{"kind":"namespace","visibility":"","name":"example","location":"\/dev\/null:1,1--1,1"}
+{"kind":"namespace","visibility":"","name":"example","location":"/dev/null:1,1--1,1"}
----
=to=Entity#30:namespaceorg_1_1example_1_1foo
=labels=Array(3):
7:MEntity
6:MGroup
=properties=JsonObject(4):
-{"kind":"namespace","visibility":"","name":"foo","location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/A.java:16,1--1,1"}
+{"kind":"namespace","visibility":"","name":"foo","location":"%SOURCE_DIRECTORY%/org/example/foo/A.java:16,1--1,1"}
Edge
7:MEntity
6:MGroup
=properties=JsonObject(4):
-{"kind":"namespace","visibility":"","name":"foo","location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/A.java:16,1--1,1"}
+{"kind":"namespace","visibility":"","name":"foo","location":"%SOURCE_DIRECTORY%/org/example/foo/A.java:16,1--1,1"}
----
=to=Node
=labels=Array(3):
7:MEntity
6:MGroup
=properties=JsonObject(4):
-{"kind":"namespace","visibility":"","name":"org","location":"\/dev\/null:1,1--1,1"}
+{"kind":"namespace","visibility":"","name":"org","location":"/dev/null:1,1--1,1"}
----
=to=Entity#0:
=labels=Array(3):
7:MEntity
6:MGroup
=properties=JsonObject(4):
-{"kind":"namespace","visibility":"","name":"org","location":"\/dev\/null:1,1--1,1"}
+{"kind":"namespace","visibility":"","name":"org","location":"/dev/null:1,1--1,1"}
Edge
7:MEntity
6:MGroup
=properties=JsonObject(4):
-{"kind":"namespace","visibility":"","name":"foo","location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/A.java:16,1--1,1"}
+{"kind":"namespace","visibility":"","name":"foo","location":"%SOURCE_DIRECTORY%/org/example/foo/A.java:16,1--1,1"}
----
=to=Entity#0:
=labels=Array(3):
7:MEntity
7:MModule
=properties=JsonObject(2):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/A.java:1,1--1,1","name":"A"}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/A.java:1,1--1,1","name":"A"}
Edge
7:MEntity
7:MModule
=properties=JsonObject(2):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/A.java:1,1--1,1","name":"A"}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/A.java:1,1--1,1","name":"A"}
----
=to=Entity#32:classorg_1_1example_1_1foo_1_1_a
=labels=Array(3):
7:MEntity
6:MClass
=properties=JsonObject(4):
-{"kind":"abstract class","visibility":"public","name":"A","location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/A.java:18,1--23,1"}
+{"kind":"abstract class","visibility":"public","name":"A","location":"%SOURCE_DIRECTORY%/org/example/foo/A.java:18,1--23,1"}
Edge
7:MEntity
7:MModule
=properties=JsonObject(2):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/A.java:1,1--1,1","name":"A"}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/A.java:1,1--1,1","name":"A"}
----
=to=Entity#0:
=labels=Array(3):
7:MEntity
9:MClassDef
=properties=JsonObject(3):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/A.java:18,1--23,1","is_intro":true,"name":"A"}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/A.java:18,1--23,1","is_intro":true,"name":"A"}
Edge
7:MEntity
6:MGroup
=properties=JsonObject(4):
-{"kind":"namespace","visibility":"","name":"foo","location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/A.java:16,1--1,1"}
+{"kind":"namespace","visibility":"","name":"foo","location":"%SOURCE_DIRECTORY%/org/example/foo/A.java:16,1--1,1"}
----
=to=Entity#0:
=labels=Array(3):
7:MEntity
7:MModule
=properties=JsonObject(2):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/B.java:1,1--1,1","name":"B"}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/B.java:1,1--1,1","name":"B"}
Edge
7:MEntity
7:MModule
=properties=JsonObject(2):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/B.java:1,1--1,1","name":"B"}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/B.java:1,1--1,1","name":"B"}
----
=to=Entity#32:classorg_1_1example_1_1foo_1_1_b
=labels=Array(3):
7:MEntity
6:MClass
=properties=JsonObject(4):
-{"kind":"class","visibility":"public","name":"B","location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/B.java:18,1--29,1"}
+{"kind":"class","visibility":"public","name":"B","location":"%SOURCE_DIRECTORY%/org/example/foo/B.java:18,1--29,1"}
Edge
7:MEntity
7:MModule
=properties=JsonObject(2):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/B.java:1,1--1,1","name":"B"}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/B.java:1,1--1,1","name":"B"}
----
=to=Entity#0:
=labels=Array(3):
7:MEntity
9:MClassDef
=properties=JsonObject(3):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/B.java:18,1--29,1","is_intro":true,"name":"B"}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/B.java:18,1--29,1","is_intro":true,"name":"B"}
Edge
7:MEntity
6:MGroup
=properties=JsonObject(4):
-{"kind":"namespace","visibility":"","name":"foo","location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/A.java:16,1--1,1"}
+{"kind":"namespace","visibility":"","name":"foo","location":"%SOURCE_DIRECTORY%/org/example/foo/A.java:16,1--1,1"}
----
=to=Entity#0:
=labels=Array(3):
7:MEntity
7:MModule
=properties=JsonObject(3):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/C.java:1,1--1,1","name":"C","mdoc":["An interface."]}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/C.java:1,1--1,1","name":"C","mdoc":["An interface."]}
Edge
7:MEntity
7:MModule
=properties=JsonObject(3):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/C.java:1,1--1,1","name":"C","mdoc":["An interface."]}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/C.java:1,1--1,1","name":"C","mdoc":["An interface."]}
----
=to=Entity#36:interfaceorg_1_1example_1_1foo_1_1_c
=labels=Array(3):
7:MEntity
6:MClass
=properties=JsonObject(5):
-{"kind":"interface","visibility":"public","name":"C","location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/C.java:21,1--31,1","mdoc":["An interface."]}
+{"kind":"interface","visibility":"public","name":"C","location":"%SOURCE_DIRECTORY%/org/example/foo/C.java:21,1--31,1","mdoc":["An interface."]}
Edge
7:MEntity
7:MModule
=properties=JsonObject(3):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/C.java:1,1--1,1","name":"C","mdoc":["An interface."]}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/C.java:1,1--1,1","name":"C","mdoc":["An interface."]}
----
=to=Entity#0:
=labels=Array(3):
7:MEntity
9:MClassDef
=properties=JsonObject(4):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/C.java:21,1--31,1","is_intro":true,"name":"C","mdoc":["An interface."]}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/C.java:21,1--31,1","is_intro":true,"name":"C","mdoc":["An interface."]}
Edge
7:MEntity
6:MGroup
=properties=JsonObject(4):
-{"kind":"namespace","visibility":"","name":"foo","location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/A.java:16,1--1,1"}
+{"kind":"namespace","visibility":"","name":"foo","location":"%SOURCE_DIRECTORY%/org/example/foo/A.java:16,1--1,1"}
----
=to=Entity#0:
=labels=Array(3):
7:MEntity
7:MModule
=properties=JsonObject(3):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/EmptyClass.java:1,1--1,1","name":"EmptyClass","mdoc":["This class is empty and is only visible in this package."]}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/EmptyClass.java:1,1--1,1","name":"EmptyClass","mdoc":["This class is empty and is only visible in this package."]}
Edge
7:MEntity
7:MModule
=properties=JsonObject(3):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/EmptyClass.java:1,1--1,1","name":"EmptyClass","mdoc":["This class is empty and is only visible in this package."]}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/EmptyClass.java:1,1--1,1","name":"EmptyClass","mdoc":["This class is empty and is only visible in this package."]}
----
=to=Entity#42:classorg_1_1example_1_1foo_1_1_empty_class
=labels=Array(3):
7:MEntity
6:MClass
=properties=JsonObject(5):
-{"kind":"class","visibility":"package","name":"EmptyClass","location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/EmptyClass.java:21,1--21,1","mdoc":["This class is empty and is only visible in this package."]}
+{"kind":"class","visibility":"package","name":"EmptyClass","location":"%SOURCE_DIRECTORY%/org/example/foo/EmptyClass.java:21,1--21,1","mdoc":["This class is empty and is only visible in this package."]}
Edge
7:MEntity
7:MModule
=properties=JsonObject(3):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/EmptyClass.java:1,1--1,1","name":"EmptyClass","mdoc":["This class is empty and is only visible in this package."]}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/EmptyClass.java:1,1--1,1","name":"EmptyClass","mdoc":["This class is empty and is only visible in this package."]}
----
=to=Entity#0:
=labels=Array(3):
7:MEntity
9:MClassDef
=properties=JsonObject(4):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/EmptyClass.java:21,1--21,1","is_intro":true,"name":"EmptyClass","mdoc":["This class is empty and is only visible in this package."]}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/EmptyClass.java:21,1--21,1","is_intro":true,"name":"EmptyClass","mdoc":["This class is empty and is only visible in this package."]}
Edge
8:MPropDef
10:MMethodDef
=properties=JsonObject(8):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/A.java:22,1--1,1","is_intern":false,"is_extern":false,"is_abstract":true,"visibility":"public","name":"bar","mdoc":["Does something..."],"is_intro":true}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/A.java:22,1--1,1","is_intern":false,"is_extern":false,"is_abstract":true,"visibility":"public","name":"bar","mdoc":["Does something..."],"is_intro":true}
----
=to=Entity#0:
=labels=Array(4):
8:MPropDef
10:MMethodDef
=properties=JsonObject(8):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/A.java:22,1--1,1","is_intern":false,"is_extern":false,"is_abstract":true,"visibility":"public","name":"bar","mdoc":["Does something..."],"is_intro":true}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/A.java:22,1--1,1","is_intern":false,"is_extern":false,"is_abstract":true,"visibility":"public","name":"bar","mdoc":["Does something..."],"is_intro":true}
----
=to=Entity#0:
=labels=Array(4):
7:MEntity
6:MClass
=properties=JsonObject(4):
-{"kind":"abstract class","visibility":"public","name":"A","location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/A.java:18,1--23,1"}
+{"kind":"abstract class","visibility":"public","name":"A","location":"%SOURCE_DIRECTORY%/org/example/foo/A.java:18,1--23,1"}
----
=to=Entity#0:
=labels=Array(4):
7:MEntity
6:MClass
=properties=JsonObject(4):
-{"kind":"abstract class","visibility":"public","name":"A","location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/A.java:18,1--23,1"}
+{"kind":"abstract class","visibility":"public","name":"A","location":"%SOURCE_DIRECTORY%/org/example/foo/A.java:18,1--23,1"}
Edge
7:MEntity
9:MClassDef
=properties=JsonObject(3):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/A.java:18,1--23,1","is_intro":true,"name":"A"}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/A.java:18,1--23,1","is_intro":true,"name":"A"}
----
=to=Entity#0:
=labels=Array(4):
7:MEntity
9:MClassDef
=properties=JsonObject(3):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/A.java:18,1--23,1","is_intro":true,"name":"A"}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/A.java:18,1--23,1","is_intro":true,"name":"A"}
----
=to=Entity#32:classorg_1_1example_1_1foo_1_1_a
=labels=Array(3):
7:MEntity
6:MClass
=properties=JsonObject(4):
-{"kind":"abstract class","visibility":"public","name":"A","location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/A.java:18,1--23,1"}
+{"kind":"abstract class","visibility":"public","name":"A","location":"%SOURCE_DIRECTORY%/org/example/foo/A.java:18,1--23,1"}
Edge
7:MEntity
9:MClassDef
=properties=JsonObject(3):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/A.java:18,1--23,1","is_intro":true,"name":"A"}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/A.java:18,1--23,1","is_intro":true,"name":"A"}
----
=to=Entity#0:
=labels=Array(4):
7:MEntity
9:MClassDef
=properties=JsonObject(3):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/A.java:18,1--23,1","is_intro":true,"name":"A"}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/A.java:18,1--23,1","is_intro":true,"name":"A"}
Edge
7:MEntity
9:MClassDef
=properties=JsonObject(3):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/A.java:18,1--23,1","is_intro":true,"name":"A"}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/A.java:18,1--23,1","is_intro":true,"name":"A"}
----
=to=Entity#67:classorg_1_1example_1_1foo_1_1_a_1add415ae4129969055d678c7e7e048852
=labels=Array(4):
8:MPropDef
10:MMethodDef
=properties=JsonObject(8):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/A.java:22,1--1,1","is_intern":false,"is_extern":false,"is_abstract":true,"visibility":"public","name":"bar","mdoc":["Does something..."],"is_intro":true}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/A.java:22,1--1,1","is_intern":false,"is_extern":false,"is_abstract":true,"visibility":"public","name":"bar","mdoc":["Does something..."],"is_intro":true}
Edge
8:MPropDef
13:MAttributeDef
=properties=JsonObject(4):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/B.java:19,1---1,1","visibility":"protected","name":"qux","is_intro":true}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/B.java:19,1---1,1","visibility":"protected","name":"qux","is_intro":true}
----
=to=Entity#0:
=labels=Array(4):
8:MPropDef
13:MAttributeDef
=properties=JsonObject(4):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/B.java:19,1---1,1","visibility":"protected","name":"qux","is_intro":true}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/B.java:19,1---1,1","visibility":"protected","name":"qux","is_intro":true}
----
=to=Entity#0:
=labels=Array(4):
8:MPropDef
10:MMethodDef
=properties=JsonObject(7):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/B.java:21,1--23,1","is_intern":false,"is_extern":false,"is_abstract":false,"visibility":"public","name":"bar","is_intro":true}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/B.java:21,1--23,1","is_intern":false,"is_extern":false,"is_abstract":false,"visibility":"public","name":"bar","is_intro":true}
----
=to=Entity#0:
=labels=Array(4):
8:MPropDef
10:MMethodDef
=properties=JsonObject(7):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/B.java:21,1--23,1","is_intern":false,"is_extern":false,"is_abstract":false,"visibility":"public","name":"bar","is_intro":true}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/B.java:21,1--23,1","is_intern":false,"is_extern":false,"is_abstract":false,"visibility":"public","name":"bar","is_intro":true}
----
=to=Entity#0:
=labels=Array(4):
8:MPropDef
10:MMethodDef
=properties=JsonObject(8):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/B.java:28,1--28,1","is_intern":false,"is_extern":false,"is_abstract":false,"visibility":"public","name":"baz","mdoc":["Some overriden documentation."],"is_intro":false}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/B.java:28,1--28,1","is_intern":false,"is_extern":false,"is_abstract":false,"visibility":"public","name":"baz","mdoc":["Some overriden documentation."],"is_intro":false}
----
=to=Entity#0:
=labels=Array(4):
8:MPropDef
10:MMethodDef
=properties=JsonObject(8):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/B.java:28,1--28,1","is_intern":false,"is_extern":false,"is_abstract":false,"visibility":"public","name":"baz","mdoc":["Some overriden documentation."],"is_intro":false}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/B.java:28,1--28,1","is_intern":false,"is_extern":false,"is_abstract":false,"visibility":"public","name":"baz","mdoc":["Some overriden documentation."],"is_intro":false}
----
=to=Entity#0:
=labels=Array(4):
7:MEntity
6:MClass
=properties=JsonObject(4):
-{"kind":"class","visibility":"public","name":"B","location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/B.java:18,1--29,1"}
+{"kind":"class","visibility":"public","name":"B","location":"%SOURCE_DIRECTORY%/org/example/foo/B.java:18,1--29,1"}
----
=to=Entity#0:
=labels=Array(4):
7:MEntity
6:MClass
=properties=JsonObject(4):
-{"kind":"class","visibility":"public","name":"B","location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/B.java:18,1--29,1"}
+{"kind":"class","visibility":"public","name":"B","location":"%SOURCE_DIRECTORY%/org/example/foo/B.java:18,1--29,1"}
Edge
7:MEntity
9:MClassDef
=properties=JsonObject(3):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/B.java:18,1--29,1","is_intro":true,"name":"B"}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/B.java:18,1--29,1","is_intro":true,"name":"B"}
----
=to=Entity#0:
=labels=Array(4):
7:MEntity
9:MClassDef
=properties=JsonObject(3):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/B.java:18,1--29,1","is_intro":true,"name":"B"}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/B.java:18,1--29,1","is_intro":true,"name":"B"}
----
=to=Entity#32:classorg_1_1example_1_1foo_1_1_b
=labels=Array(3):
7:MEntity
6:MClass
=properties=JsonObject(4):
-{"kind":"class","visibility":"public","name":"B","location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/B.java:18,1--29,1"}
+{"kind":"class","visibility":"public","name":"B","location":"%SOURCE_DIRECTORY%/org/example/foo/B.java:18,1--29,1"}
Edge
7:MEntity
9:MClassDef
=properties=JsonObject(3):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/B.java:18,1--29,1","is_intro":true,"name":"B"}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/B.java:18,1--29,1","is_intro":true,"name":"B"}
----
=to=Entity#0:
=labels=Array(4):
7:MEntity
9:MClassDef
=properties=JsonObject(3):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/B.java:18,1--29,1","is_intro":true,"name":"B"}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/B.java:18,1--29,1","is_intro":true,"name":"B"}
----
=to=Entity#0:
=labels=Array(4):
7:MEntity
9:MClassDef
=properties=JsonObject(3):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/B.java:18,1--29,1","is_intro":true,"name":"B"}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/B.java:18,1--29,1","is_intro":true,"name":"B"}
----
=to=Entity#0:
=labels=Array(4):
7:MEntity
9:MClassDef
=properties=JsonObject(3):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/B.java:18,1--29,1","is_intro":true,"name":"B"}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/B.java:18,1--29,1","is_intro":true,"name":"B"}
Edge
7:MEntity
9:MClassDef
=properties=JsonObject(3):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/B.java:18,1--29,1","is_intro":true,"name":"B"}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/B.java:18,1--29,1","is_intro":true,"name":"B"}
----
=to=Entity#67:classorg_1_1example_1_1foo_1_1_b_1ac6b627949b10b9357eefc0cafcae1d87
=labels=Array(4):
8:MPropDef
13:MAttributeDef
=properties=JsonObject(4):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/B.java:19,1---1,1","visibility":"protected","name":"qux","is_intro":true}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/B.java:19,1---1,1","visibility":"protected","name":"qux","is_intro":true}
Edge
7:MEntity
9:MClassDef
=properties=JsonObject(3):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/B.java:18,1--29,1","is_intro":true,"name":"B"}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/B.java:18,1--29,1","is_intro":true,"name":"B"}
----
=to=Entity#0:
=labels=Array(4):
7:MEntity
9:MClassDef
=properties=JsonObject(3):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/B.java:18,1--29,1","is_intro":true,"name":"B"}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/B.java:18,1--29,1","is_intro":true,"name":"B"}
Edge
7:MEntity
9:MClassDef
=properties=JsonObject(3):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/B.java:18,1--29,1","is_intro":true,"name":"B"}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/B.java:18,1--29,1","is_intro":true,"name":"B"}
----
=to=Entity#67:classorg_1_1example_1_1foo_1_1_b_1a11e157943665cc9e3a9be1502ebeb3b5
=labels=Array(4):
8:MPropDef
10:MMethodDef
=properties=JsonObject(7):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/B.java:21,1--23,1","is_intern":false,"is_extern":false,"is_abstract":false,"visibility":"public","name":"bar","is_intro":true}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/B.java:21,1--23,1","is_intern":false,"is_extern":false,"is_abstract":false,"visibility":"public","name":"bar","is_intro":true}
Edge
7:MEntity
9:MClassDef
=properties=JsonObject(3):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/B.java:18,1--29,1","is_intro":true,"name":"B"}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/B.java:18,1--29,1","is_intro":true,"name":"B"}
----
=to=Entity#67:classorg_1_1example_1_1foo_1_1_b_1a733f4e076f29c7d0c41ed258199ea1d9
=labels=Array(4):
8:MPropDef
10:MMethodDef
=properties=JsonObject(8):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/B.java:28,1--28,1","is_intern":false,"is_extern":false,"is_abstract":false,"visibility":"public","name":"baz","mdoc":["Some overriden documentation."],"is_intro":false}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/B.java:28,1--28,1","is_intern":false,"is_extern":false,"is_abstract":false,"visibility":"public","name":"baz","mdoc":["Some overriden documentation."],"is_intro":false}
Edge
7:MEntity
6:MClass
=properties=JsonObject(5):
-{"kind":"class","visibility":"package","name":"EmptyClass","location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/EmptyClass.java:21,1--21,1","mdoc":["This class is empty and is only visible in this package."]}
+{"kind":"class","visibility":"package","name":"EmptyClass","location":"%SOURCE_DIRECTORY%/org/example/foo/EmptyClass.java:21,1--21,1","mdoc":["This class is empty and is only visible in this package."]}
----
=to=Entity#0:
=labels=Array(4):
7:MEntity
6:MClass
=properties=JsonObject(5):
-{"kind":"class","visibility":"package","name":"EmptyClass","location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/EmptyClass.java:21,1--21,1","mdoc":["This class is empty and is only visible in this package."]}
+{"kind":"class","visibility":"package","name":"EmptyClass","location":"%SOURCE_DIRECTORY%/org/example/foo/EmptyClass.java:21,1--21,1","mdoc":["This class is empty and is only visible in this package."]}
Edge
7:MEntity
9:MClassDef
=properties=JsonObject(4):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/EmptyClass.java:21,1--21,1","is_intro":true,"name":"EmptyClass","mdoc":["This class is empty and is only visible in this package."]}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/EmptyClass.java:21,1--21,1","is_intro":true,"name":"EmptyClass","mdoc":["This class is empty and is only visible in this package."]}
----
=to=Entity#0:
=labels=Array(4):
7:MEntity
9:MClassDef
=properties=JsonObject(4):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/EmptyClass.java:21,1--21,1","is_intro":true,"name":"EmptyClass","mdoc":["This class is empty and is only visible in this package."]}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/EmptyClass.java:21,1--21,1","is_intro":true,"name":"EmptyClass","mdoc":["This class is empty and is only visible in this package."]}
----
=to=Entity#42:classorg_1_1example_1_1foo_1_1_empty_class
=labels=Array(3):
7:MEntity
6:MClass
=properties=JsonObject(5):
-{"kind":"class","visibility":"package","name":"EmptyClass","location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/EmptyClass.java:21,1--21,1","mdoc":["This class is empty and is only visible in this package."]}
+{"kind":"class","visibility":"package","name":"EmptyClass","location":"%SOURCE_DIRECTORY%/org/example/foo/EmptyClass.java:21,1--21,1","mdoc":["This class is empty and is only visible in this package."]}
Edge
8:MPropDef
13:MAttributeDef
=properties=JsonObject(5):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/C.java:25,1---1,1","visibility":"public","name":"THE_ANSWER","mdoc":["â\80\9cAnswer to the Ultimate Question of Life, the Universe, and Everything.","â\80\9c"],"is_intro":true}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/C.java:25,1---1,1","visibility":"public","name":"THE_ANSWER","mdoc":["â\80\9cAnswer to the Ultimate Question of Life, the Universe, and Everything.","â\80\9c"],"is_intro":true}
----
=to=Entity#0:
=labels=Array(4):
8:MPropDef
13:MAttributeDef
=properties=JsonObject(5):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/C.java:25,1---1,1","visibility":"public","name":"THE_ANSWER","mdoc":["â\80\9cAnswer to the Ultimate Question of Life, the Universe, and Everything.","â\80\9c"],"is_intro":true}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/C.java:25,1---1,1","visibility":"public","name":"THE_ANSWER","mdoc":["â\80\9cAnswer to the Ultimate Question of Life, the Universe, and Everything.","â\80\9c"],"is_intro":true}
----
=to=Entity#0:
=labels=Array(4):
8:MPropDef
10:MMethodDef
=properties=JsonObject(8):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/C.java:30,1--1,1","is_intern":false,"is_extern":false,"is_abstract":false,"visibility":"public","name":"baz","mdoc":["A function with implicit modifiers."],"is_intro":true}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/C.java:30,1--1,1","is_intern":false,"is_extern":false,"is_abstract":false,"visibility":"public","name":"baz","mdoc":["A function with implicit modifiers."],"is_intro":true}
----
=to=Entity#0:
=labels=Array(4):
8:MPropDef
10:MMethodDef
=properties=JsonObject(8):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/C.java:30,1--1,1","is_intern":false,"is_extern":false,"is_abstract":false,"visibility":"public","name":"baz","mdoc":["A function with implicit modifiers."],"is_intro":true}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/C.java:30,1--1,1","is_intern":false,"is_extern":false,"is_abstract":false,"visibility":"public","name":"baz","mdoc":["A function with implicit modifiers."],"is_intro":true}
----
=to=Entity#0:
=labels=Array(4):
7:MEntity
6:MClass
=properties=JsonObject(5):
-{"kind":"interface","visibility":"public","name":"C","location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/C.java:21,1--31,1","mdoc":["An interface."]}
+{"kind":"interface","visibility":"public","name":"C","location":"%SOURCE_DIRECTORY%/org/example/foo/C.java:21,1--31,1","mdoc":["An interface."]}
----
=to=Entity#0:
=labels=Array(4):
7:MEntity
6:MClass
=properties=JsonObject(5):
-{"kind":"interface","visibility":"public","name":"C","location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/C.java:21,1--31,1","mdoc":["An interface."]}
+{"kind":"interface","visibility":"public","name":"C","location":"%SOURCE_DIRECTORY%/org/example/foo/C.java:21,1--31,1","mdoc":["An interface."]}
Edge
7:MEntity
9:MClassDef
=properties=JsonObject(4):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/C.java:21,1--31,1","is_intro":true,"name":"C","mdoc":["An interface."]}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/C.java:21,1--31,1","is_intro":true,"name":"C","mdoc":["An interface."]}
----
=to=Entity#0:
=labels=Array(4):
7:MEntity
9:MClassDef
=properties=JsonObject(4):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/C.java:21,1--31,1","is_intro":true,"name":"C","mdoc":["An interface."]}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/C.java:21,1--31,1","is_intro":true,"name":"C","mdoc":["An interface."]}
----
=to=Entity#36:interfaceorg_1_1example_1_1foo_1_1_c
=labels=Array(3):
7:MEntity
6:MClass
=properties=JsonObject(5):
-{"kind":"interface","visibility":"public","name":"C","location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/C.java:21,1--31,1","mdoc":["An interface."]}
+{"kind":"interface","visibility":"public","name":"C","location":"%SOURCE_DIRECTORY%/org/example/foo/C.java:21,1--31,1","mdoc":["An interface."]}
Edge
7:MEntity
9:MClassDef
=properties=JsonObject(4):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/C.java:21,1--31,1","is_intro":true,"name":"C","mdoc":["An interface."]}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/C.java:21,1--31,1","is_intro":true,"name":"C","mdoc":["An interface."]}
----
=to=Entity#0:
=labels=Array(4):
7:MEntity
9:MClassDef
=properties=JsonObject(4):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/C.java:21,1--31,1","is_intro":true,"name":"C","mdoc":["An interface."]}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/C.java:21,1--31,1","is_intro":true,"name":"C","mdoc":["An interface."]}
Edge
7:MEntity
9:MClassDef
=properties=JsonObject(4):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/C.java:21,1--31,1","is_intro":true,"name":"C","mdoc":["An interface."]}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/C.java:21,1--31,1","is_intro":true,"name":"C","mdoc":["An interface."]}
----
=to=Entity#71:interfaceorg_1_1example_1_1foo_1_1_c_1a4e97061eb40b045e820de05b33c43d21
=labels=Array(4):
8:MPropDef
13:MAttributeDef
=properties=JsonObject(5):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/C.java:25,1---1,1","visibility":"public","name":"THE_ANSWER","mdoc":["â\80\9cAnswer to the Ultimate Question of Life, the Universe, and Everything.","â\80\9c"],"is_intro":true}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/C.java:25,1---1,1","visibility":"public","name":"THE_ANSWER","mdoc":["â\80\9cAnswer to the Ultimate Question of Life, the Universe, and Everything.","â\80\9c"],"is_intro":true}
Edge
7:MEntity
9:MClassDef
=properties=JsonObject(4):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/C.java:21,1--31,1","is_intro":true,"name":"C","mdoc":["An interface."]}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/C.java:21,1--31,1","is_intro":true,"name":"C","mdoc":["An interface."]}
----
=to=Entity#0:
=labels=Array(4):
7:MEntity
9:MClassDef
=properties=JsonObject(4):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/C.java:21,1--31,1","is_intro":true,"name":"C","mdoc":["An interface."]}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/C.java:21,1--31,1","is_intro":true,"name":"C","mdoc":["An interface."]}
Edge
7:MEntity
9:MClassDef
=properties=JsonObject(4):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/C.java:21,1--31,1","is_intro":true,"name":"C","mdoc":["An interface."]}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/C.java:21,1--31,1","is_intro":true,"name":"C","mdoc":["An interface."]}
----
=to=Entity#71:interfaceorg_1_1example_1_1foo_1_1_c_1a28ac7ce349ebb3e4a7747a8dd951582b
=labels=Array(4):
8:MPropDef
10:MMethodDef
=properties=JsonObject(8):
-{"location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/C.java:30,1--1,1","is_intern":false,"is_extern":false,"is_abstract":false,"visibility":"public","name":"baz","mdoc":["A function with implicit modifiers."],"is_intro":true}
+{"location":"%SOURCE_DIRECTORY%/org/example/foo/C.java:30,1--1,1","is_intern":false,"is_extern":false,"is_abstract":false,"visibility":"public","name":"baz","mdoc":["A function with implicit modifiers."],"is_intro":true}
Edge
7:MEntity
6:MGroup
=properties=JsonObject(4):
-{"kind":"namespace","visibility":"","name":"org","location":"\/dev\/null:1,1--1,1"}
+{"kind":"namespace","visibility":"","name":"org","location":"/dev/null:1,1--1,1"}
----
=to=Node
=labels=Array(3):
7:MEntity
6:MGroup
=properties=JsonObject(4):
-{"kind":"namespace","visibility":"","name":"example","location":"\/dev\/null:1,1--1,1"}
+{"kind":"namespace","visibility":"","name":"example","location":"/dev/null:1,1--1,1"}
----
=to=Entity#12:namespaceorg
=labels=Array(3):
7:MEntity
6:MGroup
=properties=JsonObject(4):
-{"kind":"namespace","visibility":"","name":"org","location":"\/dev\/null:1,1--1,1"}
+{"kind":"namespace","visibility":"","name":"org","location":"/dev/null:1,1--1,1"}
Edge
7:MEntity
6:MGroup
=properties=JsonObject(4):
-{"kind":"namespace","visibility":"","name":"org","location":"\/dev\/null:1,1--1,1"}
+{"kind":"namespace","visibility":"","name":"org","location":"/dev/null:1,1--1,1"}
----
=to=Entity#23:namespaceorg_1_1example
=labels=Array(3):
7:MEntity
6:MGroup
=properties=JsonObject(4):
-{"kind":"namespace","visibility":"","name":"example","location":"\/dev\/null:1,1--1,1"}
+{"kind":"namespace","visibility":"","name":"example","location":"/dev/null:1,1--1,1"}
Edge
7:MEntity
6:MGroup
=properties=JsonObject(4):
-{"kind":"namespace","visibility":"","name":"example","location":"\/dev\/null:1,1--1,1"}
+{"kind":"namespace","visibility":"","name":"example","location":"/dev/null:1,1--1,1"}
----
=to=Node
=labels=Array(3):
7:MEntity
6:MGroup
=properties=JsonObject(4):
-{"kind":"namespace","visibility":"","name":"foo","location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/A.java:16,1--1,1"}
+{"kind":"namespace","visibility":"","name":"foo","location":"%SOURCE_DIRECTORY%/org/example/foo/A.java:16,1--1,1"}
----
=to=Entity#23:namespaceorg_1_1example
=labels=Array(3):
7:MEntity
6:MGroup
=properties=JsonObject(4):
-{"kind":"namespace","visibility":"","name":"example","location":"\/dev\/null:1,1--1,1"}
+{"kind":"namespace","visibility":"","name":"example","location":"/dev/null:1,1--1,1"}
Edge
7:MEntity
6:MGroup
=properties=JsonObject(4):
-{"kind":"namespace","visibility":"","name":"example","location":"\/dev\/null:1,1--1,1"}
+{"kind":"namespace","visibility":"","name":"example","location":"/dev/null:1,1--1,1"}
----
=to=Entity#30:namespaceorg_1_1example_1_1foo
=labels=Array(3):
7:MEntity
6:MGroup
=properties=JsonObject(4):
-{"kind":"namespace","visibility":"","name":"foo","location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/A.java:16,1--1,1"}
+{"kind":"namespace","visibility":"","name":"foo","location":"%SOURCE_DIRECTORY%/org/example/foo/A.java:16,1--1,1"}
Edge
7:MEntity
6:MGroup
=properties=JsonObject(4):
-{"kind":"namespace","visibility":"","name":"foo","location":"%SOURCE_DIRECTORY%\/org\/example\/foo\/A.java:16,1--1,1"}
+{"kind":"namespace","visibility":"","name":"foo","location":"%SOURCE_DIRECTORY%/org/example/foo/A.java:16,1--1,1"}
----
=to=Node
=labels=Array(3):
7:MEntity
6:MClass
=properties=JsonObject(5):
-{"kind":"class","visibility":"package","name":"Foo","location":"%SOURCE_DIRECTORY%\/Foo.java:19,1--19,1","mdoc":["A class in the root namespace."]}
+{"kind":"class","visibility":"package","name":"Foo","location":"%SOURCE_DIRECTORY%/Foo.java:19,1--19,1","mdoc":["A class in the root namespace."]}
----
=to=Entity#0:
=labels=Array(4):
7:MEntity
6:MClass
=properties=JsonObject(5):
-{"kind":"class","visibility":"package","name":"Foo","location":"%SOURCE_DIRECTORY%\/Foo.java:19,1--19,1","mdoc":["A class in the root namespace."]}
+{"kind":"class","visibility":"package","name":"Foo","location":"%SOURCE_DIRECTORY%/Foo.java:19,1--19,1","mdoc":["A class in the root namespace."]}
Edge
7:MEntity
9:MClassDef
=properties=JsonObject(4):
-{"location":"%SOURCE_DIRECTORY%\/Foo.java:19,1--19,1","is_intro":true,"name":"Foo","mdoc":["A class in the root namespace."]}
+{"location":"%SOURCE_DIRECTORY%/Foo.java:19,1--19,1","is_intro":true,"name":"Foo","mdoc":["A class in the root namespace."]}
----
=to=Entity#0:
=labels=Array(4):
7:MEntity
9:MClassDef
=properties=JsonObject(4):
-{"location":"%SOURCE_DIRECTORY%\/Foo.java:19,1--19,1","is_intro":true,"name":"Foo","mdoc":["A class in the root namespace."]}
+{"location":"%SOURCE_DIRECTORY%/Foo.java:19,1--19,1","is_intro":true,"name":"Foo","mdoc":["A class in the root namespace."]}
----
=to=Entity#9:class_foo
=labels=Array(3):
7:MEntity
6:MClass
=properties=JsonObject(5):
-{"kind":"class","visibility":"package","name":"Foo","location":"%SOURCE_DIRECTORY%\/Foo.java:19,1--19,1","mdoc":["A class in the root namespace."]}
+{"kind":"class","visibility":"package","name":"Foo","location":"%SOURCE_DIRECTORY%/Foo.java:19,1--19,1","mdoc":["A class in the root namespace."]}
Edge
7:MEntity
7:MModule
=properties=JsonObject(3):
-{"location":"%SOURCE_DIRECTORY%\/Foo.java:1,1--1,1","name":"Foo","mdoc":["A class in the root namespace."]}
+{"location":"%SOURCE_DIRECTORY%/Foo.java:1,1--1,1","name":"Foo","mdoc":["A class in the root namespace."]}
Edge
7:MEntity
7:MModule
=properties=JsonObject(3):
-{"location":"%SOURCE_DIRECTORY%\/Foo.java:1,1--1,1","name":"Foo","mdoc":["A class in the root namespace."]}
+{"location":"%SOURCE_DIRECTORY%/Foo.java:1,1--1,1","name":"Foo","mdoc":["A class in the root namespace."]}
----
=to=Entity#9:class_foo
=labels=Array(3):
7:MEntity
6:MClass
=properties=JsonObject(5):
-{"kind":"class","visibility":"package","name":"Foo","location":"%SOURCE_DIRECTORY%\/Foo.java:19,1--19,1","mdoc":["A class in the root namespace."]}
+{"kind":"class","visibility":"package","name":"Foo","location":"%SOURCE_DIRECTORY%/Foo.java:19,1--19,1","mdoc":["A class in the root namespace."]}
Edge
7:MEntity
7:MModule
=properties=JsonObject(3):
-{"location":"%SOURCE_DIRECTORY%\/Foo.java:1,1--1,1","name":"Foo","mdoc":["A class in the root namespace."]}
+{"location":"%SOURCE_DIRECTORY%/Foo.java:1,1--1,1","name":"Foo","mdoc":["A class in the root namespace."]}
----
=to=Entity#0:
=labels=Array(3):
7:MEntity
9:MClassDef
=properties=JsonObject(4):
-{"location":"%SOURCE_DIRECTORY%\/Foo.java:19,1--19,1","is_intro":true,"name":"Foo","mdoc":["A class in the root namespace."]}
+{"location":"%SOURCE_DIRECTORY%/Foo.java:19,1--19,1","is_intro":true,"name":"Foo","mdoc":["A class in the root namespace."]}
---===DONE===---
7:MEntity
6:MClass
=properties=JsonObject(5):
-{"kind":"class","visibility":"public","name":"OuterClass","location":"%SOURCE_DIRECTORY%\/OuterClass.java:19,1--24,1","mdoc":["A class with an inner class."]}
+{"kind":"class","visibility":"public","name":"OuterClass","location":"%SOURCE_DIRECTORY%/OuterClass.java:19,1--24,1","mdoc":["A class with an inner class."]}
----
=to=Entity#0:
=labels=Array(4):
7:MEntity
6:MClass
=properties=JsonObject(5):
-{"kind":"class","visibility":"public","name":"OuterClass","location":"%SOURCE_DIRECTORY%\/OuterClass.java:19,1--24,1","mdoc":["A class with an inner class."]}
+{"kind":"class","visibility":"public","name":"OuterClass","location":"%SOURCE_DIRECTORY%/OuterClass.java:19,1--24,1","mdoc":["A class with an inner class."]}
Edge
7:MEntity
9:MClassDef
=properties=JsonObject(4):
-{"location":"%SOURCE_DIRECTORY%\/OuterClass.java:19,1--24,1","is_intro":true,"name":"OuterClass","mdoc":["A class with an inner class."]}
+{"location":"%SOURCE_DIRECTORY%/OuterClass.java:19,1--24,1","is_intro":true,"name":"OuterClass","mdoc":["A class with an inner class."]}
----
=to=Entity#0:
=labels=Array(4):
7:MEntity
9:MClassDef
=properties=JsonObject(4):
-{"location":"%SOURCE_DIRECTORY%\/OuterClass.java:19,1--24,1","is_intro":true,"name":"OuterClass","mdoc":["A class with an inner class."]}
+{"location":"%SOURCE_DIRECTORY%/OuterClass.java:19,1--24,1","is_intro":true,"name":"OuterClass","mdoc":["A class with an inner class."]}
----
=to=Entity#17:class_outer_class
=labels=Array(3):
7:MEntity
6:MClass
=properties=JsonObject(5):
-{"kind":"class","visibility":"public","name":"OuterClass","location":"%SOURCE_DIRECTORY%\/OuterClass.java:19,1--24,1","mdoc":["A class with an inner class."]}
+{"kind":"class","visibility":"public","name":"OuterClass","location":"%SOURCE_DIRECTORY%/OuterClass.java:19,1--24,1","mdoc":["A class with an inner class."]}
Edge
7:MEntity
9:MClassDef
=properties=JsonObject(4):
-{"location":"%SOURCE_DIRECTORY%\/OuterClass.java:19,1--24,1","is_intro":true,"name":"OuterClass","mdoc":["A class with an inner class."]}
+{"location":"%SOURCE_DIRECTORY%/OuterClass.java:19,1--24,1","is_intro":true,"name":"OuterClass","mdoc":["A class with an inner class."]}
----
=to=Entity#0:
=labels=Array(4):
7:MEntity
9:MClassDef
=properties=JsonObject(4):
-{"location":"%SOURCE_DIRECTORY%\/OuterClass.java:19,1--24,1","is_intro":true,"name":"OuterClass","mdoc":["A class with an inner class."]}
+{"location":"%SOURCE_DIRECTORY%/OuterClass.java:19,1--24,1","is_intro":true,"name":"OuterClass","mdoc":["A class with an inner class."]}
Edge
7:MEntity
9:MClassDef
=properties=JsonObject(4):
-{"location":"%SOURCE_DIRECTORY%\/OuterClass.java:19,1--24,1","is_intro":true,"name":"OuterClass","mdoc":["A class with an inner class."]}
+{"location":"%SOURCE_DIRECTORY%/OuterClass.java:19,1--24,1","is_intro":true,"name":"OuterClass","mdoc":["A class with an inner class."]}
----
=to=Entity#0:
=labels=Array(4):
8:MPropDef
14:MInnerClassDef
=properties=JsonObject(4):
-{"location":"\/dev\/null:1,1--1,1","name":"InnerClass","visibility":"public","is_intro":true}
+{"location":"/dev/null:1,1--1,1","name":"InnerClass","visibility":"public","is_intro":true}
Edge
8:MPropDef
14:MInnerClassDef
=properties=JsonObject(4):
-{"location":"\/dev\/null:1,1--1,1","name":"InnerClass","visibility":"public","is_intro":true}
+{"location":"/dev/null:1,1--1,1","name":"InnerClass","visibility":"public","is_intro":true}
----
=to=Entity#0:
=labels=Array(4):
8:MPropDef
14:MInnerClassDef
=properties=JsonObject(4):
-{"location":"\/dev\/null:1,1--1,1","name":"InnerClass","visibility":"public","is_intro":true}
+{"location":"/dev/null:1,1--1,1","name":"InnerClass","visibility":"public","is_intro":true}
----
=to=Entity#0:
=labels=Array(3):
7:MEntity
9:MClassDef
=properties=JsonObject(4):
-{"location":"%SOURCE_DIRECTORY%\/OuterClass.java:23,1--23,1","is_intro":true,"name":"OuterClass::InnerClass","mdoc":["An instance (non-static) inner class."]}
+{"location":"%SOURCE_DIRECTORY%/OuterClass.java:23,1--23,1","is_intro":true,"name":"OuterClass::InnerClass","mdoc":["An instance (non-static) inner class."]}
Edge
7:MEntity
6:MClass
=properties=JsonObject(5):
-{"kind":"class","visibility":"public","name":"OuterClass::InnerClass","location":"%SOURCE_DIRECTORY%\/OuterClass.java:23,1--23,1","mdoc":["An instance (non-static) inner class."]}
+{"kind":"class","visibility":"public","name":"OuterClass::InnerClass","location":"%SOURCE_DIRECTORY%/OuterClass.java:23,1--23,1","mdoc":["An instance (non-static) inner class."]}
Edge
7:MEntity
6:MClass
=properties=JsonObject(5):
-{"kind":"class","visibility":"public","name":"OuterClass::InnerClass","location":"%SOURCE_DIRECTORY%\/OuterClass.java:23,1--23,1","mdoc":["An instance (non-static) inner class."]}
+{"kind":"class","visibility":"public","name":"OuterClass::InnerClass","location":"%SOURCE_DIRECTORY%/OuterClass.java:23,1--23,1","mdoc":["An instance (non-static) inner class."]}
----
=to=Entity#0:
=labels=Array(4):
7:MEntity
6:MClass
=properties=JsonObject(5):
-{"kind":"class","visibility":"public","name":"OuterClass::InnerClass","location":"%SOURCE_DIRECTORY%\/OuterClass.java:23,1--23,1","mdoc":["An instance (non-static) inner class."]}
+{"kind":"class","visibility":"public","name":"OuterClass::InnerClass","location":"%SOURCE_DIRECTORY%/OuterClass.java:23,1--23,1","mdoc":["An instance (non-static) inner class."]}
Edge
7:MEntity
9:MClassDef
=properties=JsonObject(4):
-{"location":"%SOURCE_DIRECTORY%\/OuterClass.java:23,1--23,1","is_intro":true,"name":"OuterClass::InnerClass","mdoc":["An instance (non-static) inner class."]}
+{"location":"%SOURCE_DIRECTORY%/OuterClass.java:23,1--23,1","is_intro":true,"name":"OuterClass::InnerClass","mdoc":["An instance (non-static) inner class."]}
----
=to=Entity#0:
=labels=Array(4):
7:MEntity
9:MClassDef
=properties=JsonObject(4):
-{"location":"%SOURCE_DIRECTORY%\/OuterClass.java:23,1--23,1","is_intro":true,"name":"OuterClass::InnerClass","mdoc":["An instance (non-static) inner class."]}
+{"location":"%SOURCE_DIRECTORY%/OuterClass.java:23,1--23,1","is_intro":true,"name":"OuterClass::InnerClass","mdoc":["An instance (non-static) inner class."]}
----
=to=Entity#33:class_outer_class_1_1_inner_class
=labels=Array(3):
7:MEntity
6:MClass
=properties=JsonObject(5):
-{"kind":"class","visibility":"public","name":"OuterClass::InnerClass","location":"%SOURCE_DIRECTORY%\/OuterClass.java:23,1--23,1","mdoc":["An instance (non-static) inner class."]}
+{"kind":"class","visibility":"public","name":"OuterClass::InnerClass","location":"%SOURCE_DIRECTORY%/OuterClass.java:23,1--23,1","mdoc":["An instance (non-static) inner class."]}
Edge
7:MEntity
7:MModule
=properties=JsonObject(2):
-{"location":"%SOURCE_DIRECTORY%\/OuterClass.java:1,1--1,1","name":"OuterClass"}
+{"location":"%SOURCE_DIRECTORY%/OuterClass.java:1,1--1,1","name":"OuterClass"}
Edge
7:MEntity
7:MModule
=properties=JsonObject(2):
-{"location":"%SOURCE_DIRECTORY%\/OuterClass.java:1,1--1,1","name":"OuterClass"}
+{"location":"%SOURCE_DIRECTORY%/OuterClass.java:1,1--1,1","name":"OuterClass"}
----
=to=Entity#17:class_outer_class
=labels=Array(3):
7:MEntity
6:MClass
=properties=JsonObject(5):
-{"kind":"class","visibility":"public","name":"OuterClass","location":"%SOURCE_DIRECTORY%\/OuterClass.java:19,1--24,1","mdoc":["A class with an inner class."]}
+{"kind":"class","visibility":"public","name":"OuterClass","location":"%SOURCE_DIRECTORY%/OuterClass.java:19,1--24,1","mdoc":["A class with an inner class."]}
Edge
7:MEntity
7:MModule
=properties=JsonObject(2):
-{"location":"%SOURCE_DIRECTORY%\/OuterClass.java:1,1--1,1","name":"OuterClass"}
+{"location":"%SOURCE_DIRECTORY%/OuterClass.java:1,1--1,1","name":"OuterClass"}
----
=to=Entity#0:
=labels=Array(3):
7:MEntity
9:MClassDef
=properties=JsonObject(4):
-{"location":"%SOURCE_DIRECTORY%\/OuterClass.java:19,1--24,1","is_intro":true,"name":"OuterClass","mdoc":["A class with an inner class."]}
+{"location":"%SOURCE_DIRECTORY%/OuterClass.java:19,1--24,1","is_intro":true,"name":"OuterClass","mdoc":["A class with an inner class."]}
Edge
7:MEntity
7:MModule
=properties=JsonObject(2):
-{"location":"%SOURCE_DIRECTORY%\/OuterClass.java:1,1--1,1","name":"OuterClass"}
+{"location":"%SOURCE_DIRECTORY%/OuterClass.java:1,1--1,1","name":"OuterClass"}
----
=to=Entity#33:class_outer_class_1_1_inner_class
=labels=Array(3):
7:MEntity
6:MClass
=properties=JsonObject(5):
-{"kind":"class","visibility":"public","name":"OuterClass::InnerClass","location":"%SOURCE_DIRECTORY%\/OuterClass.java:23,1--23,1","mdoc":["An instance (non-static) inner class."]}
+{"kind":"class","visibility":"public","name":"OuterClass::InnerClass","location":"%SOURCE_DIRECTORY%/OuterClass.java:23,1--23,1","mdoc":["An instance (non-static) inner class."]}
Edge
7:MEntity
7:MModule
=properties=JsonObject(2):
-{"location":"%SOURCE_DIRECTORY%\/OuterClass.java:1,1--1,1","name":"OuterClass"}
+{"location":"%SOURCE_DIRECTORY%/OuterClass.java:1,1--1,1","name":"OuterClass"}
----
=to=Entity#0:
=labels=Array(3):
7:MEntity
9:MClassDef
=properties=JsonObject(4):
-{"location":"%SOURCE_DIRECTORY%\/OuterClass.java:23,1--23,1","is_intro":true,"name":"OuterClass::InnerClass","mdoc":["An instance (non-static) inner class."]}
+{"location":"%SOURCE_DIRECTORY%/OuterClass.java:23,1--23,1","is_intro":true,"name":"OuterClass::InnerClass","mdoc":["An instance (non-static) inner class."]}
---===DONE===---
7:MEntity
6:MGroup
=properties=JsonObject(4):
-{"kind":"namespace","visibility":"","name":"foo","location":"%SOURCE_DIRECTORY%\/foo.py:1,1--1,1"}
+{"kind":"namespace","visibility":"","name":"foo","location":"%SOURCE_DIRECTORY%/foo.py:1,1--1,1"}
----
=to=Entity#0:
=labels=Array(3):
7:MEntity
6:MGroup
=properties=JsonObject(4):
-{"kind":"namespace","visibility":"","name":"foo","location":"%SOURCE_DIRECTORY%\/foo.py:1,1--1,1"}
+{"kind":"namespace","visibility":"","name":"foo","location":"%SOURCE_DIRECTORY%/foo.py:1,1--1,1"}
Edge
7:MEntity
6:MGroup
=properties=JsonObject(4):
-{"kind":"namespace","visibility":"","name":"foo","location":"%SOURCE_DIRECTORY%\/foo.py:1,1--1,1"}
+{"kind":"namespace","visibility":"","name":"foo","location":"%SOURCE_DIRECTORY%/foo.py:1,1--1,1"}
----
=to=Entity#0:
=labels=Array(3):
7:MEntity
7:MModule
=properties=JsonObject(2):
-{"location":"%SOURCE_DIRECTORY%\/foo.py:1,1--1,1","name":"foo"}
+{"location":"%SOURCE_DIRECTORY%/foo.py:1,1--1,1","name":"foo"}
Edge
7:MEntity
7:MModule
=properties=JsonObject(2):
-{"location":"%SOURCE_DIRECTORY%\/foo.py:1,1--1,1","name":"foo"}
+{"location":"%SOURCE_DIRECTORY%/foo.py:1,1--1,1","name":"foo"}
----
=to=Entity#0:
=labels=Array(3):
7:MEntity
6:MClass
=properties=JsonObject(4):
-{"kind":"class","visibility":"public","name":"(self)","location":"%SOURCE_DIRECTORY%\/foo.py:1,1--1,1"}
+{"kind":"class","visibility":"public","name":"(self)","location":"%SOURCE_DIRECTORY%/foo.py:1,1--1,1"}
Edge
7:MEntity
7:MModule
=properties=JsonObject(2):
-{"location":"%SOURCE_DIRECTORY%\/foo.py:1,1--1,1","name":"foo"}
+{"location":"%SOURCE_DIRECTORY%/foo.py:1,1--1,1","name":"foo"}
----
=to=Entity#0:
=labels=Array(3):
7:MEntity
9:MClassDef
=properties=JsonObject(3):
-{"location":"%SOURCE_DIRECTORY%\/foo.py:1,1--1,1","is_intro":true,"name":"(self)"}
+{"location":"%SOURCE_DIRECTORY%/foo.py:1,1--1,1","is_intro":true,"name":"(self)"}
Edge
8:MPropDef
10:MMethodDef
=properties=JsonObject(8):
-{"location":"%SOURCE_DIRECTORY%\/foo.py:16,1--20,1","is_intern":false,"is_extern":false,"is_abstract":false,"visibility":"public","name":"bar","mdoc":["A bar function in the foo namespace.","By default, Doxygen recognizes anything in the docstrings as verbatim\ndetailed description."],"is_intro":true}
+{"location":"%SOURCE_DIRECTORY%/foo.py:16,1--20,1","is_intern":false,"is_extern":false,"is_abstract":false,"visibility":"public","name":"bar","mdoc":["A bar function in the foo namespace.","By default, Doxygen recognizes anything in the docstrings as verbatim\ndetailed description."],"is_intro":true}
----
=to=Entity#0:
=labels=Array(4):
8:MPropDef
10:MMethodDef
=properties=JsonObject(8):
-{"location":"%SOURCE_DIRECTORY%\/foo.py:16,1--20,1","is_intern":false,"is_extern":false,"is_abstract":false,"visibility":"public","name":"bar","mdoc":["A bar function in the foo namespace.","By default, Doxygen recognizes anything in the docstrings as verbatim\ndetailed description."],"is_intro":true}
+{"location":"%SOURCE_DIRECTORY%/foo.py:16,1--20,1","is_intern":false,"is_extern":false,"is_abstract":false,"visibility":"public","name":"bar","mdoc":["A bar function in the foo namespace.","By default, Doxygen recognizes anything in the docstrings as verbatim\ndetailed description."],"is_intro":true}
----
=to=Entity#0:
=labels=Array(4):
7:MEntity
6:MGroup
=properties=JsonObject(4):
-{"kind":"namespace","visibility":"","name":"foo","location":"%SOURCE_DIRECTORY%\/foo.py:1,1--1,1"}
+{"kind":"namespace","visibility":"","name":"foo","location":"%SOURCE_DIRECTORY%/foo.py:1,1--1,1"}
----
=to=Node
=labels=Array(3):
7:MEntity
6:MClass
=properties=JsonObject(4):
-{"kind":"class","visibility":"public","name":"(self)","location":"%SOURCE_DIRECTORY%\/foo.py:1,1--1,1"}
+{"kind":"class","visibility":"public","name":"(self)","location":"%SOURCE_DIRECTORY%/foo.py:1,1--1,1"}
----
=to=Entity#0:
=labels=Array(4):
7:MEntity
6:MClass
=properties=JsonObject(4):
-{"kind":"class","visibility":"public","name":"(self)","location":"%SOURCE_DIRECTORY%\/foo.py:1,1--1,1"}
+{"kind":"class","visibility":"public","name":"(self)","location":"%SOURCE_DIRECTORY%/foo.py:1,1--1,1"}
Edge
7:MEntity
9:MClassDef
=properties=JsonObject(3):
-{"location":"%SOURCE_DIRECTORY%\/foo.py:1,1--1,1","is_intro":true,"name":"(self)"}
+{"location":"%SOURCE_DIRECTORY%/foo.py:1,1--1,1","is_intro":true,"name":"(self)"}
----
=to=Entity#0:
=labels=Array(4):
7:MEntity
9:MClassDef
=properties=JsonObject(3):
-{"location":"%SOURCE_DIRECTORY%\/foo.py:1,1--1,1","is_intro":true,"name":"(self)"}
+{"location":"%SOURCE_DIRECTORY%/foo.py:1,1--1,1","is_intro":true,"name":"(self)"}
----
=to=Entity#0:
=labels=Array(3):
7:MEntity
6:MClass
=properties=JsonObject(4):
-{"kind":"class","visibility":"public","name":"(self)","location":"%SOURCE_DIRECTORY%\/foo.py:1,1--1,1"}
+{"kind":"class","visibility":"public","name":"(self)","location":"%SOURCE_DIRECTORY%/foo.py:1,1--1,1"}
Edge
7:MEntity
9:MClassDef
=properties=JsonObject(3):
-{"location":"%SOURCE_DIRECTORY%\/foo.py:1,1--1,1","is_intro":true,"name":"(self)"}
+{"location":"%SOURCE_DIRECTORY%/foo.py:1,1--1,1","is_intro":true,"name":"(self)"}
----
=to=Entity#0:
=labels=Array(4):
7:MEntity
9:MClassDef
=properties=JsonObject(3):
-{"location":"%SOURCE_DIRECTORY%\/foo.py:1,1--1,1","is_intro":true,"name":"(self)"}
+{"location":"%SOURCE_DIRECTORY%/foo.py:1,1--1,1","is_intro":true,"name":"(self)"}
Edge
7:MEntity
9:MClassDef
=properties=JsonObject(3):
-{"location":"%SOURCE_DIRECTORY%\/foo.py:1,1--1,1","is_intro":true,"name":"(self)"}
+{"location":"%SOURCE_DIRECTORY%/foo.py:1,1--1,1","is_intro":true,"name":"(self)"}
----
=to=Entity#47:namespacefoo_1aab1e88a2212b202c20f3c9bd799a1ad4
=labels=Array(4):
8:MPropDef
10:MMethodDef
=properties=JsonObject(8):
-{"location":"%SOURCE_DIRECTORY%\/foo.py:16,1--20,1","is_intern":false,"is_extern":false,"is_abstract":false,"visibility":"public","name":"bar","mdoc":["A bar function in the foo namespace.","By default, Doxygen recognizes anything in the docstrings as verbatim\ndetailed description."],"is_intro":true}
+{"location":"%SOURCE_DIRECTORY%/foo.py:16,1--20,1","is_intern":false,"is_extern":false,"is_abstract":false,"visibility":"public","name":"bar","mdoc":["A bar function in the foo namespace.","By default, Doxygen recognizes anything in the docstrings as verbatim\ndetailed description."],"is_intro":true}
---===DONE===---
7:MEntity
6:MGroup
=properties=JsonObject(4):
-{"kind":"namespace","visibility":"","name":"foo","location":"%SOURCE_DIRECTORY%\/foo.py:1,1--1,1"}
+{"kind":"namespace","visibility":"","name":"foo","location":"%SOURCE_DIRECTORY%/foo.py:1,1--1,1"}
----
=to=Entity#0:
=labels=Array(3):
7:MEntity
6:MGroup
=properties=JsonObject(4):
-{"kind":"namespace","visibility":"","name":"foo","location":"%SOURCE_DIRECTORY%\/foo.py:1,1--1,1"}
+{"kind":"namespace","visibility":"","name":"foo","location":"%SOURCE_DIRECTORY%/foo.py:1,1--1,1"}
Edge
7:MEntity
6:MGroup
=properties=JsonObject(4):
-{"kind":"namespace","visibility":"","name":"foo","location":"%SOURCE_DIRECTORY%\/foo.py:1,1--1,1"}
+{"kind":"namespace","visibility":"","name":"foo","location":"%SOURCE_DIRECTORY%/foo.py:1,1--1,1"}
----
=to=Entity#0:
=labels=Array(3):
7:MEntity
7:MModule
=properties=JsonObject(2):
-{"location":"%SOURCE_DIRECTORY%\/foo.py:1,1--1,1","name":"foo"}
+{"location":"%SOURCE_DIRECTORY%/foo.py:1,1--1,1","name":"foo"}
Edge
7:MEntity
7:MModule
=properties=JsonObject(2):
-{"location":"%SOURCE_DIRECTORY%\/foo.py:1,1--1,1","name":"foo"}
+{"location":"%SOURCE_DIRECTORY%/foo.py:1,1--1,1","name":"foo"}
----
=to=Entity#0:
=labels=Array(3):
7:MEntity
6:MClass
=properties=JsonObject(4):
-{"kind":"class","visibility":"public","name":"(self)","location":"%SOURCE_DIRECTORY%\/foo.py:1,1--1,1"}
+{"kind":"class","visibility":"public","name":"(self)","location":"%SOURCE_DIRECTORY%/foo.py:1,1--1,1"}
Edge
7:MEntity
7:MModule
=properties=JsonObject(2):
-{"location":"%SOURCE_DIRECTORY%\/foo.py:1,1--1,1","name":"foo"}
+{"location":"%SOURCE_DIRECTORY%/foo.py:1,1--1,1","name":"foo"}
----
=to=Entity#0:
=labels=Array(3):
7:MEntity
9:MClassDef
=properties=JsonObject(3):
-{"location":"%SOURCE_DIRECTORY%\/foo.py:1,1--1,1","is_intro":true,"name":"(self)"}
+{"location":"%SOURCE_DIRECTORY%/foo.py:1,1--1,1","is_intro":true,"name":"(self)"}
Edge
8:MPropDef
10:MMethodDef
=properties=JsonObject(8):
-{"location":"%SOURCE_DIRECTORY%\/foo.py:16,1--20,1","is_intern":false,"is_extern":false,"is_abstract":false,"visibility":"public","name":"bar","mdoc":["A bar function in the foo namespace.","By default, Doxygen recognizes anything in the docstrings as verbatim\ndetailed description."],"is_intro":true}
+{"location":"%SOURCE_DIRECTORY%/foo.py:16,1--20,1","is_intern":false,"is_extern":false,"is_abstract":false,"visibility":"public","name":"bar","mdoc":["A bar function in the foo namespace.","By default, Doxygen recognizes anything in the docstrings as verbatim\ndetailed description."],"is_intro":true}
----
=to=Entity#0:
=labels=Array(4):
8:MPropDef
10:MMethodDef
=properties=JsonObject(8):
-{"location":"%SOURCE_DIRECTORY%\/foo.py:16,1--20,1","is_intern":false,"is_extern":false,"is_abstract":false,"visibility":"public","name":"bar","mdoc":["A bar function in the foo namespace.","By default, Doxygen recognizes anything in the docstrings as verbatim\ndetailed description."],"is_intro":true}
+{"location":"%SOURCE_DIRECTORY%/foo.py:16,1--20,1","is_intern":false,"is_extern":false,"is_abstract":false,"visibility":"public","name":"bar","mdoc":["A bar function in the foo namespace.","By default, Doxygen recognizes anything in the docstrings as verbatim\ndetailed description."],"is_intro":true}
----
=to=Entity#0:
=labels=Array(4):
7:MEntity
6:MGroup
=properties=JsonObject(4):
-{"kind":"namespace","visibility":"","name":"foo","location":"%SOURCE_DIRECTORY%\/foo.py:1,1--1,1"}
+{"kind":"namespace","visibility":"","name":"foo","location":"%SOURCE_DIRECTORY%/foo.py:1,1--1,1"}
----
=to=Node
=labels=Array(3):
7:MEntity
6:MClass
=properties=JsonObject(4):
-{"kind":"class","visibility":"public","name":"(self)","location":"%SOURCE_DIRECTORY%\/foo.py:1,1--1,1"}
+{"kind":"class","visibility":"public","name":"(self)","location":"%SOURCE_DIRECTORY%/foo.py:1,1--1,1"}
----
=to=Entity#0:
=labels=Array(4):
7:MEntity
6:MClass
=properties=JsonObject(4):
-{"kind":"class","visibility":"public","name":"(self)","location":"%SOURCE_DIRECTORY%\/foo.py:1,1--1,1"}
+{"kind":"class","visibility":"public","name":"(self)","location":"%SOURCE_DIRECTORY%/foo.py:1,1--1,1"}
Edge
7:MEntity
9:MClassDef
=properties=JsonObject(3):
-{"location":"%SOURCE_DIRECTORY%\/foo.py:1,1--1,1","is_intro":true,"name":"(self)"}
+{"location":"%SOURCE_DIRECTORY%/foo.py:1,1--1,1","is_intro":true,"name":"(self)"}
----
=to=Entity#0:
=labels=Array(4):
7:MEntity
9:MClassDef
=properties=JsonObject(3):
-{"location":"%SOURCE_DIRECTORY%\/foo.py:1,1--1,1","is_intro":true,"name":"(self)"}
+{"location":"%SOURCE_DIRECTORY%/foo.py:1,1--1,1","is_intro":true,"name":"(self)"}
----
=to=Entity#0:
=labels=Array(3):
7:MEntity
6:MClass
=properties=JsonObject(4):
-{"kind":"class","visibility":"public","name":"(self)","location":"%SOURCE_DIRECTORY%\/foo.py:1,1--1,1"}
+{"kind":"class","visibility":"public","name":"(self)","location":"%SOURCE_DIRECTORY%/foo.py:1,1--1,1"}
Edge
7:MEntity
9:MClassDef
=properties=JsonObject(3):
-{"location":"%SOURCE_DIRECTORY%\/foo.py:1,1--1,1","is_intro":true,"name":"(self)"}
+{"location":"%SOURCE_DIRECTORY%/foo.py:1,1--1,1","is_intro":true,"name":"(self)"}
----
=to=Entity#0:
=labels=Array(4):
7:MEntity
9:MClassDef
=properties=JsonObject(3):
-{"location":"%SOURCE_DIRECTORY%\/foo.py:1,1--1,1","is_intro":true,"name":"(self)"}
+{"location":"%SOURCE_DIRECTORY%/foo.py:1,1--1,1","is_intro":true,"name":"(self)"}
Edge
7:MEntity
9:MClassDef
=properties=JsonObject(3):
-{"location":"%SOURCE_DIRECTORY%\/foo.py:1,1--1,1","is_intro":true,"name":"(self)"}
+{"location":"%SOURCE_DIRECTORY%/foo.py:1,1--1,1","is_intro":true,"name":"(self)"}
----
=to=Entity#47:namespacefoo_1aab1e88a2212b202c20f3c9bd799a1ad4
=labels=Array(4):
8:MPropDef
10:MMethodDef
=properties=JsonObject(8):
-{"location":"%SOURCE_DIRECTORY%\/foo.py:16,1--20,1","is_intern":false,"is_extern":false,"is_abstract":false,"visibility":"public","name":"bar","mdoc":["A bar function in the foo namespace.","By default, Doxygen recognizes anything in the docstrings as verbatim\ndetailed description."],"is_intro":true}
+{"location":"%SOURCE_DIRECTORY%/foo.py:16,1--20,1","is_intern":false,"is_extern":false,"is_abstract":false,"visibility":"public","name":"bar","mdoc":["A bar function in the foo namespace.","By default, Doxygen recognizes anything in the docstrings as verbatim\ndetailed description."],"is_intro":true}
---===DONE===---
7:MEntity
7:MModule
=properties=JsonObject(3):
-{"location":"a\/b\/Bar.java:1,1--1,1","name":"Bar","mdoc":["The first file."]}
+{"location":"a/b/Bar.java:1,1--1,1","name":"Bar","mdoc":["The first file."]}
Edge
=type=10:INTRODUCES
7:MEntity
7:MModule
=properties=JsonObject(3):
-{"location":"a\/b\/Bar.java:1,1--1,1","name":"Bar","mdoc":["The first file."]}
+{"location":"a/b/Bar.java:1,1--1,1","name":"Bar","mdoc":["The first file."]}
----
=to=Entity#12:classa_b_bar
=labels=Array(3):
7:MEntity
6:MClass
=properties=JsonObject(4):
-{"kind":"class","visibility":"public","name":"Bar","location":"a\/b\/Bar.class:5,1--100,10"}
+{"kind":"class","visibility":"public","name":"Bar","location":"a/b/Bar.class:5,1--100,10"}
Edge
=type=7:DEFINES
7:MEntity
7:MModule
=properties=JsonObject(3):
-{"location":"a\/b\/Bar.java:1,1--1,1","name":"Bar","mdoc":["The first file."]}
+{"location":"a/b/Bar.java:1,1--1,1","name":"Bar","mdoc":["The first file."]}
----
=to=Entity#0:
=labels=Array(3):
7:MEntity
9:MClassDef
=properties=JsonObject(3):
-{"location":"a\/b\/Bar.class:5,1--100,10","is_intro":true,"name":"Bar"}
+{"location":"a/b/Bar.class:5,1--100,10","is_intro":true,"name":"Bar"}
Edge
=type=8:DECLARES
7:MEntity
6:MClass
=properties=JsonObject(4):
-{"kind":"class","visibility":"public","name":"Bar","location":"a\/b\/Bar.class:5,1--100,10"}
+{"kind":"class","visibility":"public","name":"Bar","location":"a/b/Bar.class:5,1--100,10"}
----
=to=Entity#0:
=labels=Array(4):
7:MEntity
6:MClass
=properties=JsonObject(4):
-{"kind":"class","visibility":"public","name":"Bar","location":"a\/b\/Bar.class:5,1--100,10"}
+{"kind":"class","visibility":"public","name":"Bar","location":"a/b/Bar.class:5,1--100,10"}
Edge
=type=9:BOUNDTYPE
7:MEntity
9:MClassDef
=properties=JsonObject(3):
-{"location":"a\/b\/Bar.class:5,1--100,10","is_intro":true,"name":"Bar"}
+{"location":"a/b/Bar.class:5,1--100,10","is_intro":true,"name":"Bar"}
----
=to=Entity#0:
=labels=Array(4):
7:MEntity
9:MClassDef
=properties=JsonObject(3):
-{"location":"a\/b\/Bar.class:5,1--100,10","is_intro":true,"name":"Bar"}
+{"location":"a/b/Bar.class:5,1--100,10","is_intro":true,"name":"Bar"}
----
=to=Entity#12:classa_b_bar
=labels=Array(3):
7:MEntity
6:MClass
=properties=JsonObject(4):
-{"kind":"class","visibility":"public","name":"Bar","location":"a\/b\/Bar.class:5,1--100,10"}
+{"kind":"class","visibility":"public","name":"Bar","location":"a/b/Bar.class:5,1--100,10"}
Edge
=type=9:CLASSTYPE
7:MEntity
7:MModule
=properties=JsonObject(3):
-{"location":"a\/b\/Bar.java:1,1--1,1","name":"Bar","mdoc":["The first file."]}
+{"location":"a/b/Bar.java:1,1--1,1","name":"Bar","mdoc":["The first file."]}
Edge
=type=10:INTRODUCES
7:MEntity
7:MModule
=properties=JsonObject(3):
-{"location":"a\/b\/Bar.java:1,1--1,1","name":"Bar","mdoc":["The first file."]}
+{"location":"a/b/Bar.java:1,1--1,1","name":"Bar","mdoc":["The first file."]}
----
=to=Entity#12:classa_b_bar
=labels=Array(3):
7:MEntity
6:MClass
=properties=JsonObject(4):
-{"kind":"class","visibility":"public","name":"Bar","location":"a\/b\/Bar.class:5,1--100,10"}
+{"kind":"class","visibility":"public","name":"Bar","location":"a/b/Bar.class:5,1--100,10"}
Edge
=type=7:DEFINES
7:MEntity
7:MModule
=properties=JsonObject(3):
-{"location":"a\/b\/Bar.java:1,1--1,1","name":"Bar","mdoc":["The first file."]}
+{"location":"a/b/Bar.java:1,1--1,1","name":"Bar","mdoc":["The first file."]}
----
=to=Entity#0:
=labels=Array(3):
7:MEntity
9:MClassDef
=properties=JsonObject(3):
-{"location":"a\/b\/Bar.class:5,1--100,10","is_intro":true,"name":"Bar"}
+{"location":"a/b/Bar.class:5,1--100,10","is_intro":true,"name":"Bar"}
Edge
=type=8:DECLARES
7:MEntity
6:MClass
=properties=JsonObject(4):
-{"kind":"class","visibility":"public","name":"Bar","location":"a\/b\/Bar.class:5,1--100,10"}
+{"kind":"class","visibility":"public","name":"Bar","location":"a/b/Bar.class:5,1--100,10"}
----
=to=Entity#0:
=labels=Array(4):
7:MEntity
6:MClass
=properties=JsonObject(4):
-{"kind":"class","visibility":"public","name":"Bar","location":"a\/b\/Bar.class:5,1--100,10"}
+{"kind":"class","visibility":"public","name":"Bar","location":"a/b/Bar.class:5,1--100,10"}
Edge
=type=9:BOUNDTYPE
7:MEntity
9:MClassDef
=properties=JsonObject(3):
-{"location":"a\/b\/Bar.class:5,1--100,10","is_intro":true,"name":"Bar"}
+{"location":"a/b/Bar.class:5,1--100,10","is_intro":true,"name":"Bar"}
----
=to=Entity#0:
=labels=Array(4):
7:MEntity
9:MClassDef
=properties=JsonObject(3):
-{"location":"a\/b\/Bar.class:5,1--100,10","is_intro":true,"name":"Bar"}
+{"location":"a/b/Bar.class:5,1--100,10","is_intro":true,"name":"Bar"}
----
=to=Entity#12:classa_b_bar
=labels=Array(3):
7:MEntity
6:MClass
=properties=JsonObject(4):
-{"kind":"class","visibility":"public","name":"Bar","location":"a\/b\/Bar.class:5,1--100,10"}
+{"kind":"class","visibility":"public","name":"Bar","location":"a/b/Bar.class:5,1--100,10"}
Edge
=type=9:CLASSTYPE
7:MEntity
7:MModule
=properties=JsonObject(3):
-{"location":"a\/b\/Bar.java:1,1--1,1","name":"Bar","mdoc":["The first file."]}
+{"location":"a/b/Bar.java:1,1--1,1","name":"Bar","mdoc":["The first file."]}
Edge
=type=10:INTRODUCES
7:MEntity
7:MModule
=properties=JsonObject(3):
-{"location":"a\/b\/Bar.java:1,1--1,1","name":"Bar","mdoc":["The first file."]}
+{"location":"a/b/Bar.java:1,1--1,1","name":"Bar","mdoc":["The first file."]}
----
=to=Entity#8:classbaz
=labels=Array(3):
7:MEntity
7:MModule
=properties=JsonObject(3):
-{"location":"a\/b\/Bar.java:1,1--1,1","name":"Bar","mdoc":["The first file."]}
+{"location":"a/b/Bar.java:1,1--1,1","name":"Bar","mdoc":["The first file."]}
----
=to=Entity#0:
=labels=Array(3):
7:MEntity
7:MModule
=properties=JsonObject(3):
-{"location":"\/dev\/null:1,1--1,1","name":"foo","mdoc":["A documented namespace."]}
+{"location":"/dev/null:1,1--1,1","name":"foo","mdoc":["A documented namespace."]}
Edge
=type=10:INTRODUCES
7:MEntity
7:MModule
=properties=JsonObject(3):
-{"location":"\/dev\/null:1,1--1,1","name":"foo","mdoc":["A documented namespace."]}
+{"location":"/dev/null:1,1--1,1","name":"foo","mdoc":["A documented namespace."]}
----
=to=Entity#0:
=labels=Array(3):
7:MEntity
6:MClass
=properties=JsonObject(5):
-{"kind":"class","visibility":"public","name":"(self)","mdoc":["A documented namespace."],"location":"\/dev\/null:1,1--1,1"}
+{"kind":"class","visibility":"public","name":"(self)","mdoc":["A documented namespace."],"location":"/dev/null:1,1--1,1"}
Edge
=type=7:DEFINES
7:MEntity
7:MModule
=properties=JsonObject(3):
-{"location":"\/dev\/null:1,1--1,1","name":"foo","mdoc":["A documented namespace."]}
+{"location":"/dev/null:1,1--1,1","name":"foo","mdoc":["A documented namespace."]}
----
=to=Entity#0:
=labels=Array(3):
7:MEntity
9:MClassDef
=properties=JsonObject(4):
-{"location":"\/dev\/null:1,1--1,1","is_intro":true,"name":"(self)","mdoc":["A documented namespace."]}
+{"location":"/dev/null:1,1--1,1","is_intro":true,"name":"(self)","mdoc":["A documented namespace."]}
Edge
=type=7:DEFINES
8:MPropDef
13:MAttributeDef
=properties=JsonObject(3):
-{"location":"\/dev\/null:1,1--1,1","name":"bar","is_intro":true}
+{"location":"/dev/null:1,1--1,1","name":"bar","is_intro":true}
----
=to=Entity#0:
=labels=Array(4):
7:MEntity
6:MClass
=properties=JsonObject(5):
-{"kind":"class","visibility":"public","name":"(self)","mdoc":["A documented namespace."],"location":"\/dev\/null:1,1--1,1"}
+{"kind":"class","visibility":"public","name":"(self)","mdoc":["A documented namespace."],"location":"/dev/null:1,1--1,1"}
----
=to=Entity#0:
=labels=Array(4):
7:MEntity
6:MClass
=properties=JsonObject(5):
-{"kind":"class","visibility":"public","name":"(self)","mdoc":["A documented namespace."],"location":"\/dev\/null:1,1--1,1"}
+{"kind":"class","visibility":"public","name":"(self)","mdoc":["A documented namespace."],"location":"/dev/null:1,1--1,1"}
Edge
=type=9:BOUNDTYPE
7:MEntity
9:MClassDef
=properties=JsonObject(4):
-{"location":"\/dev\/null:1,1--1,1","is_intro":true,"name":"(self)","mdoc":["A documented namespace."]}
+{"location":"/dev/null:1,1--1,1","is_intro":true,"name":"(self)","mdoc":["A documented namespace."]}
----
=to=Entity#0:
=labels=Array(4):
7:MEntity
9:MClassDef
=properties=JsonObject(4):
-{"location":"\/dev\/null:1,1--1,1","is_intro":true,"name":"(self)","mdoc":["A documented namespace."]}
+{"location":"/dev/null:1,1--1,1","is_intro":true,"name":"(self)","mdoc":["A documented namespace."]}
----
=to=Entity#0:
=labels=Array(3):
7:MEntity
6:MClass
=properties=JsonObject(5):
-{"kind":"class","visibility":"public","name":"(self)","mdoc":["A documented namespace."],"location":"\/dev\/null:1,1--1,1"}
+{"kind":"class","visibility":"public","name":"(self)","mdoc":["A documented namespace."],"location":"/dev/null:1,1--1,1"}
Edge
=type=10:INTRODUCES
7:MEntity
9:MClassDef
=properties=JsonObject(4):
-{"location":"\/dev\/null:1,1--1,1","is_intro":true,"name":"(self)","mdoc":["A documented namespace."]}
+{"location":"/dev/null:1,1--1,1","is_intro":true,"name":"(self)","mdoc":["A documented namespace."]}
----
=to=Entity#0:
=labels=Array(4):
7:MEntity
9:MClassDef
=properties=JsonObject(4):
-{"location":"\/dev\/null:1,1--1,1","is_intro":true,"name":"(self)","mdoc":["A documented namespace."]}
+{"location":"/dev/null:1,1--1,1","is_intro":true,"name":"(self)","mdoc":["A documented namespace."]}
Edge
=type=8:DECLARES
7:MEntity
9:MClassDef
=properties=JsonObject(4):
-{"location":"\/dev\/null:1,1--1,1","is_intro":true,"name":"(self)","mdoc":["A documented namespace."]}
+{"location":"/dev/null:1,1--1,1","is_intro":true,"name":"(self)","mdoc":["A documented namespace."]}
----
=to=Entity#0:
=labels=Array(4):
8:MPropDef
13:MAttributeDef
=properties=JsonObject(3):
-{"location":"\/dev\/null:1,1--1,1","name":"bar","is_intro":true}
+{"location":"/dev/null:1,1--1,1","name":"bar","is_intro":true}
<- false p4ssw0rd> 1111 f"\r\/> true>
# Json:
-{"__kind": "obj", "__id": 0, "__class": "D", "b": false, "c": {"__kind": "char", "__val": "b"}, "f": 123.123, "i": 2345, "s": "new line ->\n<-", "n": null, "ii": 1111, "ss": "\tf\"\r\\\/", "d": {"__kind": "ref", "__id": 0}}
+{"__kind": "obj", "__id": 0, "__class": "D", "b": false, "c": {"__kind": "char", "__val": "b"}, "f": 123.123, "i": 2345, "s": "new line ->\n<-", "n": null, "ii": 1111, "ss": "\tf\"\r\\/", "d": {"__kind": "ref", "__id": 0}}
# Back in Nit:
<D: <B: <A: false b 123.123 2345 new line ->
<- false> 1111 f"\r\/> true>
# Json:
-{"__kind": "obj", "__id": 0, "__class": "D", "b": false, "c": {"__kind": "char", "__val": "b"}, "f": 123.123, "i": 2345, "s": "new line ->\n<-", "n": null, "array": {"__kind": "obj", "__id": 1, "__class": "Array", "__items": [88, "hello", null]}, "ii": 1111, "ss": "\tf\"\r\\\/", "d": {"__kind": "ref", "__id": 0}}
+{"__kind": "obj", "__id": 0, "__class": "D", "b": false, "c": {"__kind": "char", "__val": "b"}, "f": 123.123, "i": 2345, "s": "new line ->\n<-", "n": null, "array": {"__kind": "obj", "__id": 1, "__class": "Array", "__items": [88, "hello", null]}, "ii": 1111, "ss": "\tf\"\r\\/", "d": {"__kind": "ref", "__id": 0}}
<- false> 1111 f"\r\/> true>
# Json:
-{"__kind": "obj", "__id": 0, "__class": "D", "b": false, "c": {"__kind": "char", "__val": "b"}, "f": 123.123, "i": 2345, "s": "new line ->\n<-", "n": null, "array": {"__kind": "obj", "__id": 1, "__class": "Array", "__items": [88, "hello", null]}, "ii": 1111, "ss": "\tf\"\r\\\/", "d": {"__kind": "ref", "__id": 0}}
+{"__kind": "obj", "__id": 0, "__class": "D", "b": false, "c": {"__kind": "char", "__val": "b"}, "f": 123.123, "i": 2345, "s": "new line ->\n<-", "n": null, "array": {"__kind": "obj", "__id": 1, "__class": "Array", "__items": [88, "hello", null]}, "ii": 1111, "ss": "\tf\"\r\\/", "d": {"__kind": "ref", "__id": 0}}
<- false> 1111 f"\r\/> true>
# Json:
-{"__kind": "obj", "__id": 0, "__class": "D", "b": false, "c": {"__kind": "char", "__val": "b"}, "f": 123.123, "i": 2345, "s": "new line ->\n<-", "n": null, "array": {"__kind": "obj", "__id": 1, "__class": "Array", "__items": [88, "hello", null]}, "ii": 1111, "ss": "\tf\"\r\\\/", "d": {"__kind": "ref", "__id": 0}}
+{"__kind": "obj", "__id": 0, "__class": "D", "b": false, "c": {"__kind": "char", "__val": "b"}, "f": 123.123, "i": 2345, "s": "new line ->\n<-", "n": null, "array": {"__kind": "obj", "__id": 1, "__class": "Array", "__items": [88, "hello", null]}, "ii": 1111, "ss": "\tf\"\r\\/", "d": {"__kind": "ref", "__id": 0}}
<- false> 1111 f"\r\/> true>
# Json:
-{"__kind": "obj", "__id": 0, "__class": "D", "b": false, "c": {"__kind": "char", "__val": "b"}, "f": 123.123, "i": 2345, "s": "new line ->\n<-", "n": null, "array": {"__kind": "obj", "__id": 1, "__class": "Array", "__items": [88, "hello", null]}, "ii": 1111, "ss": "\tf\"\r\\\/", "d": {"__kind": "ref", "__id": 0}}
+{"__kind": "obj", "__id": 0, "__class": "D", "b": false, "c": {"__kind": "char", "__val": "b"}, "f": 123.123, "i": 2345, "s": "new line ->\n<-", "n": null, "array": {"__kind": "obj", "__id": 1, "__class": "Array", "__items": [88, "hello", null]}, "ii": 1111, "ss": "\tf\"\r\\/", "d": {"__kind": "ref", "__id": 0}}
<- false> 1111 f"\r\/> true>
# Json:
-{"__kind": "obj", "__id": 0, "__class": "D", "b": false, "c": {"__kind": "char", "__val": "b"}, "f": 123.123, "i": 2345, "s": "new line ->\n<-", "n": null, "array": {"__kind": "obj", "__id": 1, "__class": "Array", "__items": [88, "hello", null]}, "iii": 6789, "sss": "redef", "ii": 1111, "ss": "\tf\"\r\\\/", "d": {"__kind": "ref", "__id": 0}}
+{"__kind": "obj", "__id": 0, "__class": "D", "b": false, "c": {"__kind": "char", "__val": "b"}, "f": 123.123, "i": 2345, "s": "new line ->\n<-", "n": null, "array": {"__kind": "obj", "__id": 1, "__class": "Array", "__items": [88, "hello", null]}, "iii": 6789, "sss": "redef", "ii": 1111, "ss": "\tf\"\r\\/", "d": {"__kind": "ref", "__id": 0}}
<- false> 1111 f"\r\/> true>
# Json:
-{"__kind": "obj", "__id": 0, "__class": "D", "b": false, "c": {"__kind": "char", "__val": "b"}, "f": 123.123, "i": 2345, "s": "new line ->\n<-", "n": null, "array": {"__kind": "obj", "__id": 1, "__class": "Array", "__items": [88, "hello", null]}, "ii": 1111, "ss": "\tf\"\r\\\/", "ffff": 6.789, "bbbb": false, "d": {"__kind": "ref", "__id": 0}}
+{"__kind": "obj", "__id": 0, "__class": "D", "b": false, "c": {"__kind": "char", "__val": "b"}, "f": 123.123, "i": 2345, "s": "new line ->\n<-", "n": null, "array": {"__kind": "obj", "__id": 1, "__class": "Array", "__items": [88, "hello", null]}, "ii": 1111, "ss": "\tf\"\r\\/", "ffff": 6.789, "bbbb": false, "d": {"__kind": "ref", "__id": 0}}
<- false> 1111 f"\r\/> true>
# Json:
-{"__kind": "obj", "__id": 0, "__class": "D", "b": false, "c": {"__kind": "char", "__val": "b"}, "f": 123.123, "i": 2345, "s": "new line ->\n<-", "n": null, "array": {"__kind": "obj", "__id": 1, "__class": "Array", "__items": [88, "hello", null]}, "iii": 6789, "sss": "redef", "ii": 1111, "ss": "\tf\"\r\\\/", "ffff": 6.789, "bbbb": false, "d": {"__kind": "ref", "__id": 0}}
+{"__kind": "obj", "__id": 0, "__class": "D", "b": false, "c": {"__kind": "char", "__val": "b"}, "f": 123.123, "i": 2345, "s": "new line ->\n<-", "n": null, "array": {"__kind": "obj", "__id": 1, "__class": "Array", "__items": [88, "hello", null]}, "iii": 6789, "sss": "redef", "ii": 1111, "ss": "\tf\"\r\\/", "ffff": 6.789, "bbbb": false, "d": {"__kind": "ref", "__id": 0}}
</span></span><span class="line" id="L16">
</span><span class="line" id="L17"><span class="nc_k">import</span> <span class="nc_k">end</span>
</span><span class="line" id="L18">
-</span><span class="nc_cdef foldable" id="base_simple3#Object"><span class="line" id="L19"><span class="nc_k">interface</span> <span class="nc_def nc_t">Object</span>
+</span><span class="nc_cdef foldable" id="base_simple3#Object"><span class="line" id="L19"><span class="nc_k">interface</span> <span class="nc_t">Object</span>
</span><span class="line" id="L20"><span class="nc_k">end</span>
</span></span><span class="line" id="L21">
-</span><span class="nc_cdef foldable" id="base_simple3#Bool"><span class="line" id="L22"><span class="nc_k">enum</span> <span class="nc_def nc_t">Bool</span>
+</span><span class="nc_cdef foldable" id="base_simple3#Bool"><span class="line" id="L22"><span class="nc_k">enum</span> <span class="nc_t">Bool</span>
</span><span class="line" id="L23"><span class="nc_k">end</span>
</span></span><span class="line" id="L24">
-</span><span class="nc_cdef foldable" id="base_simple3#Int"><span class="line" id="L25"><span class="nc_k">enum</span> <span class="nc_def nc_t">Int</span>
+</span><span class="nc_cdef foldable" id="base_simple3#Int"><span class="line" id="L25"><span class="nc_k">enum</span> <span class="nc_t">Int</span>
</span><span class="nc_pdef foldable" id="base_simple3#Int#output"><span class="line" id="L26"> <span class="nc_k">fun</span> <span class="nc_def popupable" title="base_simple3#Int#output" data-title="<a href="base_simple3.html#base_simple3#Int#output">base_simple3#Int#output</a>" data-content="<div><b>fun</b> <span>output<span></span></span><br/></div>" data-toggle="popover"><span class="nc_i">output</span></span> <span class="nc_k">is</span> <span class="nc_i">intern</span>
</span></span><span class="line" id="L27"><span class="nc_k">end</span>
</span></span><span class="line" id="L28">
-</span><span class="nc_cdef foldable" id="base_simple3#A"><span class="line" id="L29"><span class="nc_k">class</span> <span class="nc_def nc_t">A</span>
+</span><span class="nc_cdef foldable" id="base_simple3#A"><span class="line" id="L29"><span class="nc_k">class</span> <span class="nc_t">A</span>
</span><span class="nc_pdef foldable" id="base_simple3#A#init"><span class="line" id="L30"> <span class="nc_k">init</span> <span class="nc_k">do</span> <span class="nc_l">5</span><span>.</span><span class="nc_i">output</span>
</span></span><span class="nc_pdef foldable" id="base_simple3#A#run"><span class="line" id="L31"> <span class="nc_k">fun</span> <span class="nc_def popupable" title="base_simple3#A#run" data-title="<a href="base_simple3.html#base_simple3#A#run">base_simple3#A#run</a>" data-content="<div><b>fun</b> <span>run<span></span></span><br/></div>" data-toggle="popover"><span class="nc_i">run</span></span> <span class="nc_k">do</span> <span class="nc_l">6</span><span>.</span><span class="nc_i">output</span>
</span></span><span class="line" id="L32"><span class="nc_k">end</span>
</span></span><span class="line" id="L33">
-</span><span class="nc_cdef foldable" id="base_simple3#B"><span class="line" id="L34"><span class="nc_k">class</span> <span class="nc_def nc_t">B</span>
+</span><span class="nc_cdef foldable" id="base_simple3#B"><span class="line" id="L34"><span class="nc_k">class</span> <span class="nc_t">B</span>
</span><span class="nc_pdef foldable" id="base_simple3#B#_val"><a id="base_simple3#B#val"></a><a id="base_simple3#B#val="></a><span class="line" id="L35"> <span class="nc_k">var</span> <span class="nc_def nc_i">val</span><span>:</span> <span class="nc_t">Int</span>
</span></span><span class="nc_pdef foldable" id="base_simple3#B#init"><span class="line" id="L36"> <span class="nc_k">init</span><span>(</span><span class="nc_v nc_i">v</span><span>:</span> <span class="nc_t">Int</span><span>)</span>
</span><span class="line" id="L37"> <span class="nc_k">do</span>
</span></span><span class="nc_pdef foldable" id="base_simple3#B#run"><span class="line" id="L41"> <span class="nc_k">fun</span> <span class="nc_def popupable" title="base_simple3#B#run" data-title="<a href="base_simple3.html#base_simple3#B#run">base_simple3#B#run</a>" data-content="<div><b>fun</b> <span>run<span></span></span><br/></div>" data-toggle="popover"><span class="nc_i">run</span></span> <span class="nc_k">do</span> <span class="nc_i">val</span><span>.</span><span class="nc_i">output</span>
</span></span><span class="line" id="L42"><span class="nc_k">end</span>
</span></span><span class="line" id="L43">
-</span><span class="nc_cdef foldable" id="base_simple3#C"><span class="line" id="L44"><span class="nc_k">class</span> <span class="nc_def nc_t">C</span>
+</span><span class="nc_cdef foldable" id="base_simple3#C"><span class="line" id="L44"><span class="nc_k">class</span> <span class="nc_t">C</span>
</span><span class="nc_pdef foldable" id="base_simple3#C#_val1"><a id="base_simple3#C#val1"></a><a id="base_simple3#C#val1="></a><span class="line" id="L45"> <span class="nc_k">var</span> <span class="nc_def nc_i">val1</span><span>:</span> <span class="nc_t">Int</span>
</span></span><span class="nc_pdef foldable" id="base_simple3#C#_val2"><a id="base_simple3#C#val2"></a><a id="base_simple3#C#val2="></a><span class="line" id="L46"> <span class="nc_k">var</span> <span class="nc_def nc_i">val2</span><span>:</span> <span class="nc_t">Int</span> <span>=</span> <span class="nc_l">10</span>
</span></span><span class="line" id="L47"><span class="nc_k">end</span>
*** METRICS ***
--- AST Metrics ---
## All nodes of the AST
- population: 51
+ population: 52
minimum value: 1
maximum value: 40
- total value: 289
- average value: 5.66
+ total value: 304
+ average value: 5.84
distribution:
- <=1: sub-population=16 (31.37%); cumulated value=16 (5.53%)
- <=2: sub-population=5 (9.80%); cumulated value=10 (3.46%)
- <=4: sub-population=9 (17.64%); cumulated value=28 (9.68%)
- <=8: sub-population=12 (23.52%); cumulated value=76 (26.29%)
- <=16: sub-population=4 (7.84%); cumulated value=44 (15.22%)
- <=32: sub-population=4 (7.84%); cumulated value=75 (25.95%)
- <=64: sub-population=1 (1.96%); cumulated value=40 (13.84%)
+ <=1: sub-population=16 (30.76%); cumulated value=16 (5.26%)
+ <=2: sub-population=5 (9.61%); cumulated value=10 (3.28%)
+ <=4: sub-population=9 (17.30%); cumulated value=28 (9.21%)
+ <=8: sub-population=12 (23.07%); cumulated value=76 (25.00%)
+ <=16: sub-population=5 (9.61%); cumulated value=59 (19.40%)
+ <=32: sub-population=4 (7.69%); cumulated value=75 (24.67%)
+ <=64: sub-population=1 (1.92%); cumulated value=40 (13.15%)
list:
- TId: 40 (13.84%)
- APublicVisibility: 19 (6.57%)
- AQid: 19 (6.57%)
- AListExprs: 19 (6.57%)
- ACallExpr: 18 (6.22%)
- TClassid: 15 (5.19%)
- TInteger: 10 (3.46%)
- AIntegerExpr: 10 (3.46%)
- AType: 9 (3.11%)
- TKwend: 8 (2.76%)
+ TId: 40 (13.15%)
+ APublicVisibility: 19 (6.25%)
+ AListExprs: 19 (6.25%)
+ AQid: 19 (6.25%)
+ ACallExpr: 18 (5.92%)
+ TClassid: 15 (4.93%)
+ AQclassid: 15 (4.93%)
+ TInteger: 10 (3.28%)
+ AIntegerExpr: 10 (3.28%)
+ AType: 9 (2.96%)
...
- ACallAssignExpr: 1 (0.34%)
- AAnnotations: 1 (0.34%)
- TKwreturn: 1 (0.34%)
- AReturnExpr: 1 (0.34%)
- AInterfaceClasskind: 1 (0.34%)
- TKwinterface: 1 (0.34%)
- ANoImport: 1 (0.34%)
- AMainMethPropdef: 1 (0.34%)
- AMainClassdef: 1 (0.34%)
- TKwimport: 1 (0.34%)
+ AAnnotation: 1 (0.32%)
+ AAnnotations: 1 (0.32%)
+ AReturnExpr: 1 (0.32%)
+ TKwreturn: 1 (0.32%)
+ AInterfaceClasskind: 1 (0.32%)
+ TKwinterface: 1 (0.32%)
+ ANoImport: 1 (0.32%)
+ AMainMethPropdef: 1 (0.32%)
+ AMainClassdef: 1 (0.32%)
+ TKwimport: 1 (0.32%)
## All identifiers of the AST
population: 20
minimum value: 1
--- /dev/null
+test_nitunit4/test_nitunit4.nit:22,2--25,4: ERROR: test_foo (in file .nitunit/gen_test_nitunit4.nit): Before Test
+Tested method
+After Test
+Runtime error: Assert failed (test_nitunit4/test_nitunit4_base.nit:31)
+
+DocUnits:
+No doc units found
+Entities: 10; Documented ones: 0; With nitunits: 0; Failures: 0
+
+TestSuites:
+Class suites: 1; Test Cases: 1; Failures: 1
+<testsuites><testsuite package="test_nitunit4"></testsuite><testsuite package="test_nitunit4"></testsuite><testsuite></testsuite><testsuite package="test_nitunit4::nitunit4"></testsuite><testsuite package="test_nitunit4"><testcase classname="nitunit.test_nitunit4.test_nitunit4::TestTestSuite" name="test_nitunit4::TestTestSuite::test_foo"><system-err></system-err><system-out>out</system-out><error message="Before Test
+Tested method
+After Test
+Runtime error: Assert failed (test_nitunit4/test_nitunit4_base.nit:31)
+"></error></testcase></testsuite><testsuite package="test_nitunit4::test_nitunit4_base"></testsuite><testsuite></testsuite></testsuites>
\ No newline at end of file
--- /dev/null
+Usage ./test_adhoc_json_parser file
--- /dev/null
+[{
+ "precision": "zip",
+ "Latitude": 37.767,
+ "Longitude": -122.396,
+ "Address": "",
+ "City": "SANFRANCISCO",
+ "State": "CA",
+ "Zip": "94107",
+ "Country": "US"
+}, {
+ "precision": "zip",
+ "Latitude": 37.372,
+ "Longitude": -122.026,
+ "Address": "",
+ "City": "SUNNYVALE",
+ "State": "CA",
+ "Zip": "94085",
+ "Country": "US"
+}]
+
<h2>AST node: AModule at base_simple3.nit:17,1--66,13</h2>
<pre><code><span class="nitcode"><span class="line" id="L17"><span class="nc_k">import</span> <span class="nc_k">end</span>
</span><span class="line" id="L18">
-</span><span class="nc_cdef foldable" id="base_simple3#Object"><span class="line" id="L19"><span class="nc_k">interface</span> <span class="nc_def nc_t">Object</span>
+</span><span class="nc_cdef foldable" id="base_simple3#Object"><span class="line" id="L19"><span class="nc_k">interface</span> <span class="nc_t">Object</span>
</span><span class="line" id="L20"><span class="nc_k">end</span>
</span></span><span class="line" id="L21">
-</span><span class="nc_cdef foldable" id="base_simple3#Bool"><span class="line" id="L22"><span class="nc_k">enum</span> <span class="nc_def nc_t">Bool</span>
+</span><span class="nc_cdef foldable" id="base_simple3#Bool"><span class="line" id="L22"><span class="nc_k">enum</span> <span class="nc_t">Bool</span>
</span><span class="line" id="L23"><span class="nc_k">end</span>
</span></span><span class="line" id="L24">
-</span><span class="nc_cdef foldable" id="base_simple3#Int"><span class="line" id="L25"><span class="nc_k">enum</span> <span class="nc_def nc_t">Int</span>
+</span><span class="nc_cdef foldable" id="base_simple3#Int"><span class="line" id="L25"><span class="nc_k">enum</span> <span class="nc_t">Int</span>
</span><span class="nc_pdef foldable" id="base_simple3#Int#output"><span class="line" id="L26"> <span class="nc_k">fun</span> <span class="nc_def popupable" title="base_simple3#Int#output" data-title="<a href="base_simple3.html#base_simple3#Int#output">base_simple3#Int#output</a>" data-content="<div><b>fun</b> <span>output<span></span></span><br/></div>" data-toggle="popover"><span class="nc_i">output</span></span> <span class="nc_k">is</span> <span class="nc_i">intern</span>
</span></span><span class="line" id="L27"><span class="nc_k">end</span>
</span></span><span class="line" id="L28">
-</span><span class="nc_cdef foldable" id="base_simple3#A"><span class="line" id="L29"><span class="nc_k">class</span> <span class="nc_def nc_t">A</span>
+</span><span class="nc_cdef foldable" id="base_simple3#A"><span class="line" id="L29"><span class="nc_k">class</span> <span class="nc_t">A</span>
</span><span class="nc_pdef foldable" id="base_simple3#A#init"><span class="line" id="L30"> <span class="nc_k">init</span> <span class="nc_k">do</span> <span class="nc_l">5</span><span>.</span><span class="nc_i">output</span>
</span></span><span class="nc_pdef foldable" id="base_simple3#A#run"><span class="line" id="L31"> <span class="nc_k">fun</span> <span class="nc_def popupable" title="base_simple3#A#run" data-title="<a href="base_simple3.html#base_simple3#A#run">base_simple3#A#run</a>" data-content="<div><b>fun</b> <span>run<span></span></span><br/></div>" data-toggle="popover"><span class="nc_i">run</span></span> <span class="nc_k">do</span> <span class="nc_l">6</span><span>.</span><span class="nc_i">output</span>
</span></span><span class="line" id="L32"><span class="nc_k">end</span>
</span></span><span class="line" id="L33">
-</span><span class="nc_cdef foldable" id="base_simple3#B"><span class="line" id="L34"><span class="nc_k">class</span> <span class="nc_def nc_t">B</span>
+</span><span class="nc_cdef foldable" id="base_simple3#B"><span class="line" id="L34"><span class="nc_k">class</span> <span class="nc_t">B</span>
</span><span class="nc_pdef foldable" id="base_simple3#B#_val"><a id="base_simple3#B#val"></a><a id="base_simple3#B#val="></a><span class="line" id="L35"> <span class="nc_k">var</span> <span class="nc_def nc_i">val</span><span>:</span> <span class="nc_t">Int</span>
</span></span><span class="nc_pdef foldable" id="base_simple3#B#init"><span class="line" id="L36"> <span class="nc_k">init</span><span>(</span><span class="nc_v nc_i">v</span><span>:</span> <span class="nc_t">Int</span><span>)</span>
</span><span class="line" id="L37"> <span class="nc_k">do</span>
</span></span><span class="nc_pdef foldable" id="base_simple3#B#run"><span class="line" id="L41"> <span class="nc_k">fun</span> <span class="nc_def popupable" title="base_simple3#B#run" data-title="<a href="base_simple3.html#base_simple3#B#run">base_simple3#B#run</a>" data-content="<div><b>fun</b> <span>run<span></span></span><br/></div>" data-toggle="popover"><span class="nc_i">run</span></span> <span class="nc_k">do</span> <span class="nc_i">val</span><span>.</span><span class="nc_i">output</span>
</span></span><span class="line" id="L42"><span class="nc_k">end</span>
</span></span><span class="line" id="L43">
-</span><span class="nc_cdef foldable" id="base_simple3#C"><span class="line" id="L44"><span class="nc_k">class</span> <span class="nc_def nc_t">C</span>
+</span><span class="nc_cdef foldable" id="base_simple3#C"><span class="line" id="L44"><span class="nc_k">class</span> <span class="nc_t">C</span>
</span><span class="nc_pdef foldable" id="base_simple3#C#_val1"><a id="base_simple3#C#val1"></a><a id="base_simple3#C#val1="></a><span class="line" id="L45"> <span class="nc_k">var</span> <span class="nc_def nc_i">val1</span><span>:</span> <span class="nc_t">Int</span>
</span></span><span class="nc_pdef foldable" id="base_simple3#C#_val2"><a id="base_simple3#C#val2"></a><a id="base_simple3#C#val2="></a><span class="line" id="L46"> <span class="nc_k">var</span> <span class="nc_def nc_i">val2</span><span>:</span> <span class="nc_t">Int</span> <span>=</span> <span class="nc_l">10</span>
</span></span><span class="line" id="L47"><span class="nc_k">end</span>
<h2>AST node: TKwend at base_simple3.nit:17,8--10</h2>
<pre><code><span class="nitcode"><span class="line" id="L17"> <span class="nc_k">end</span></span></span></code></pre>
<h2>AST node: AStdClassdef at base_simple3.nit:19,1--20,3</h2>
-<pre><code><span class="nitcode"><span class="nc_cdef foldable" id="base_simple3#Object"><span class="line" id="L19"><span class="nc_k">interface</span> <span class="nc_def nc_t">Object</span>
+<pre><code><span class="nitcode"><span class="nc_cdef foldable" id="base_simple3#Object"><span class="line" id="L19"><span class="nc_k">interface</span> <span class="nc_t">Object</span>
</span><span class="line" id="L20"><span class="nc_k">end</span></span></span></span></code></pre>
<h2>AST node: AInterfaceClasskind at base_simple3.nit:19,1--9</h2>
<pre><code><span class="nitcode"><span class="line" id="L19"><span class="nc_k">interface</span></span></span></code></pre>
<h2>AST node: TKwinterface at base_simple3.nit:19,1--9</h2>
<pre><code><span class="nitcode"><span class="line" id="L19"><span class="nc_k">interface</span></span></span></code></pre>
+<h2>AST node: AQclassid at base_simple3.nit:19,11--16</h2>
+<pre><code><span class="nitcode"><span class="line" id="L19"> <span class="nc_t">Object</span></span></span></code></pre>
<h2>AST node: TClassid at base_simple3.nit:19,11--16</h2>
-<pre><code><span class="nitcode"><span class="line" id="L19"> <span class="nc_def nc_t">Object</span></span></span></code></pre>
+<pre><code><span class="nitcode"><span class="line" id="L19"> <span class="nc_t">Object</span></span></span></code></pre>
<h2>AST node: AEnumClasskind at base_simple3.nit:22,1--4</h2>
<pre><code><span class="nitcode"><span class="line" id="L22"><span class="nc_k">enum</span></span></span></code></pre>
<h2>AST node: TKwenum at base_simple3.nit:22,1--4</h2>
<- false p4ssw0rd> 1111 f"\r\/> true>
# Json:
-{"__kind": "obj", "__id": 0, "__class": "D", "b": false, "c": {"__kind": "char", "__val": "b"}, "f": 123.123, "i": 2345, "s": "new line ->\n<-", "n": null, "ii": 1111, "ss": "\tf\"\r\\\/", "d": {"__kind": "ref", "__id": 0}}
+{"__kind": "obj", "__id": 0, "__class": "D", "b": false, "c": {"__kind": "char", "__val": "b"}, "f": 123.123, "i": 2345, "s": "new line ->\n<-", "n": null, "ii": 1111, "ss": "\tf\"\r\\/", "d": {"__kind": "ref", "__id": 0}}
# Back in Nit:
<D: <B: <A: false b 123.123 2345 new line ->
<- false p4ssw0rd> 1111 f"\r\/> true>
# Json:
-{"__kind": "obj", "__id": 0, "__class": "D", "b": false, "c": {"__kind": "char", "__val": "b"}, "f": 123.123, "i": 2345, "s": "new line ->\n<-", "n": null, "ii": 1111, "ss": "\tf\"\r\\\/", "d": {"__kind": "ref", "__id": 0}}
+{"__kind": "obj", "__id": 0, "__class": "D", "b": false, "c": {"__kind": "char", "__val": "b"}, "f": 123.123, "i": 2345, "s": "new line ->\n<-", "n": null, "ii": 1111, "ss": "\tf\"\r\\/", "d": {"__kind": "ref", "__id": 0}}
# Back in Nit:
<D: <B: <A: false b 123.123 2345 new line ->
<- false p4ssw0rd> 1111 f"\r\/> true>
# Json:
-{"b": false, "c": "b", "f": 123.123, "i": 2345, "s": "new line ->\n<-", "n": null, "ii": 1111, "ss": "\tf\"\r\\\/", "d": null}
+{"b": false, "c": "b", "f": 123.123, "i": 2345, "s": "new line ->\n<-", "n": null, "ii": 1111, "ss": "\tf\"\r\\/", "d": null}
# Nit:
<E: a: hello, 1234, 123.4; b: hella, 2345, 234.5>
APublicVisibility ../src/test_parser.nit:25,1
AConcreteClasskind ../src/test_parser.nit:25,1--5
TKwclass "class" ../src/test_parser.nit:25,1--5
- TClassid "PrintTreeVisitor" ../src/test_parser.nit:25,7--22
+ AQclassid ../src/test_parser.nit:25,7--22
+ TClassid "PrintTreeVisitor" ../src/test_parser.nit:25,7--22
ASuperPropdef ../src/test_parser.nit:26,2--14
APublicVisibility ../src/test_parser.nit:26,2
TKwsuper "super" ../src/test_parser.nit:26,2--6
AType ../src/test_parser.nit:26,8--14
- TClassid "Visitor" ../src/test_parser.nit:26,8--14
+ AQclassid ../src/test_parser.nit:26,8--14
+ TClassid "Visitor" ../src/test_parser.nit:26,8--14
AAttrPropdef ../src/test_parser.nit:27,2--26
APrivateVisibility ../src/test_parser.nit:27,2--8
TKwprivate "private" ../src/test_parser.nit:27,2--8
TKwvar "var" ../src/test_parser.nit:27,10--12
TId "rank" ../src/test_parser.nit:27,14--17
AType ../src/test_parser.nit:27,20--22
- TClassid "Int" ../src/test_parser.nit:27,20--22
+ AQclassid ../src/test_parser.nit:27,20--22
+ TClassid "Int" ../src/test_parser.nit:27,20--22
TAssign "=" ../src/test_parser.nit:27,24
AIntegerExpr ../src/test_parser.nit:27,26
TInteger "0" ../src/test_parser.nit:27,26
AListExprs ../src/test_parser.nit:30,6
TKwisa "isa" ../src/test_parser.nit:30,8--10
AType ../src/test_parser.nit:30,12--16
- TClassid "Token" ../src/test_parser.nit:30,12--16
+ AQclassid ../src/test_parser.nit:30,12--16
+ TClassid "Token" ../src/test_parser.nit:30,12--16
TKwthen "then" ../src/test_parser.nit:30,18--21
ABlockExpr ../src/test_parser.nit:31,4--88
ACallExpr ../src/test_parser.nit:31,4--88
ANewExpr ../src/test_parser.nit:95,11--25
TKwnew "new" ../src/test_parser.nit:95,11--13
AType ../src/test_parser.nit:95,15--25
- TClassid "ToolContext" ../src/test_parser.nit:95,15--25
+ AQclassid ../src/test_parser.nit:95,15--25
+ TClassid "ToolContext" ../src/test_parser.nit:95,15--25
AListExprs ../src/test_parser.nit:95,25
ALoopExpr ../src/test_parser.nit:97,2--117,4
TKwloop "loop" ../src/test_parser.nit:97,2--5
AListExprs ../src/test_parser.nit:99,6
TKwisa "isa" ../src/test_parser.nit:99,8--10
AType ../src/test_parser.nit:99,12--18
- TClassid "TString" ../src/test_parser.nit:99,12--18
+ AQclassid ../src/test_parser.nit:99,12--18
+ TClassid "TString" ../src/test_parser.nit:99,12--18
TKwthen "then" ../src/test_parser.nit:99,20--23
ABlockExpr ../src/test_parser.nit:100,4--106,11
AVardeclExpr ../src/test_parser.nit:100,4--17
AListExprs ../src/test_parser.nit:109,6
TKwisa "isa" ../src/test_parser.nit:109,8--10
AType ../src/test_parser.nit:109,12--17
- TClassid "AError" ../src/test_parser.nit:109,12--17
+ AQclassid ../src/test_parser.nit:109,12--17
+ TClassid "AError" ../src/test_parser.nit:109,12--17
TKwthen "then" ../src/test_parser.nit:109,19--22
ABlockExpr ../src/test_parser.nit:110,4--111,11
ACallExpr ../src/test_parser.nit:110,4--57
ANewExpr ../src/test_parser.nit:115,5--24
TKwnew "new" ../src/test_parser.nit:115,5--7
AType ../src/test_parser.nit:115,9--24
- TClassid "PrintTreeVisitor" ../src/test_parser.nit:115,9--24
+ AQclassid ../src/test_parser.nit:115,9--24
+ TClassid "PrintTreeVisitor" ../src/test_parser.nit:115,9--24
AListExprs ../src/test_parser.nit:115,24
TCpar ")" ../src/test_parser.nit:115,25
AQid ../src/test_parser.nit:115,27--37
ANewExpr ../src/test_parser.nit:122,13--45
TKwnew "new" ../src/test_parser.nit:122,13--15
AType ../src/test_parser.nit:122,17--26
- TClassid "SourceFile" ../src/test_parser.nit:122,17--26
+ AQclassid ../src/test_parser.nit:122,17--26
+ TClassid "SourceFile" ../src/test_parser.nit:122,17--26
AQid ../src/test_parser.nit:122,28--38
TId "from_string" ../src/test_parser.nit:122,28--38
AParExprs ../src/test_parser.nit:122,39--45
ANewExpr ../src/test_parser.nit:124,12--33
TKwnew "new" ../src/test_parser.nit:124,12--14
AType ../src/test_parser.nit:124,16--25
- TClassid "FileReader" ../src/test_parser.nit:124,16--25
+ AQclassid ../src/test_parser.nit:124,16--25
+ TClassid "FileReader" ../src/test_parser.nit:124,16--25
AQid ../src/test_parser.nit:124,27--30
TId "open" ../src/test_parser.nit:124,27--30
AParExprs ../src/test_parser.nit:124,31--33
ANewExpr ../src/test_parser.nit:125,13--32
TKwnew "new" ../src/test_parser.nit:125,13--15
AType ../src/test_parser.nit:125,17--26
- TClassid "SourceFile" ../src/test_parser.nit:125,17--26
+ AQclassid ../src/test_parser.nit:125,17--26
+ TClassid "SourceFile" ../src/test_parser.nit:125,17--26
AParExprs ../src/test_parser.nit:125,27--32
TOpar "(" ../src/test_parser.nit:125,27
ACallExpr ../src/test_parser.nit:125,28
ANewExpr ../src/test_parser.nit:128,15--31
TKwnew "new" ../src/test_parser.nit:128,15--17
AType ../src/test_parser.nit:128,19--23
- TClassid "Lexer" ../src/test_parser.nit:128,19--23
+ AQclassid ../src/test_parser.nit:128,19--23
+ TClassid "Lexer" ../src/test_parser.nit:128,19--23
AParExprs ../src/test_parser.nit:128,24--31
TOpar "(" ../src/test_parser.nit:128,24
ACallExpr ../src/test_parser.nit:128,25--30
AListExprs ../src/test_parser.nit:131,18
TKwisa "isa" ../src/test_parser.nit:131,20--22
AType ../src/test_parser.nit:131,24--26
- TClassid "EOF" ../src/test_parser.nit:131,24--26
+ AQclassid ../src/test_parser.nit:131,24--26
+ TClassid "EOF" ../src/test_parser.nit:131,24--26
TKwdo "do" ../src/test_parser.nit:131,28--29
ABlockExpr ../src/test_parser.nit:132,5--136,6
AIfExpr ../src/test_parser.nit:132,5--134,7
ANewExpr ../src/test_parser.nit:138,17--33
TKwnew "new" ../src/test_parser.nit:138,17--19
AType ../src/test_parser.nit:138,21--26
- TClassid "Parser" ../src/test_parser.nit:138,21--26
+ AQclassid ../src/test_parser.nit:138,21--26
+ TClassid "Parser" ../src/test_parser.nit:138,21--26
AParExprs ../src/test_parser.nit:138,27--33
TOpar "(" ../src/test_parser.nit:138,27
ACallExpr ../src/test_parser.nit:138,28--32
AListExprs ../src/test_parser.nit:142,11
TKwisa "isa" ../src/test_parser.nit:142,13--15
AType ../src/test_parser.nit:142,17--22
- TClassid "AError" ../src/test_parser.nit:142,17--22
+ AQclassid ../src/test_parser.nit:142,17--22
+ TClassid "AError" ../src/test_parser.nit:142,17--22
TKwthen "then" ../src/test_parser.nit:142,24--27
ABlockExpr ../src/test_parser.nit:143,5--144,10
ACallExpr ../src/test_parser.nit:143,5--58
ANewExpr ../src/test_parser.nit:151,6--25
TKwnew "new" ../src/test_parser.nit:151,6--8
AType ../src/test_parser.nit:151,10--25
- TClassid "PrintTreeVisitor" ../src/test_parser.nit:151,10--25
+ AQclassid ../src/test_parser.nit:151,10--25
+ TClassid "PrintTreeVisitor" ../src/test_parser.nit:151,10--25
AListExprs ../src/test_parser.nit:151,25
TCpar ")" ../src/test_parser.nit:151,26
AQid ../src/test_parser.nit:151,28--38
TKwvar "var" 1,1--3
TId "toto" 1,5--8
AType 1,11--14
- TClassid "Toto" 1,11--14
+ AQclassid 1,11--14
+ TClassid "Toto" 1,11--14
TAssign "=" 1,16
ANewExpr 1,18--41
TKwnew "new" 1,18--20
AType 1,22--25
- TClassid "Toto" 1,22--25
+ AQclassid 1,22--25
+ TClassid "Toto" 1,22--25
AQid 1,27--30
TId "toto" 1,27--30
AParExprs 1,31--41
<- false> 1111 f"\r\/> true>
# Json:
-{"__kind": "obj", "__id": 0, "__class": "D", "b": false, "c": {"__kind": "char", "__val": "b"}, "f": 123.123, "i": 2345, "s": "new line ->\n<-", "n": null, "array": {"__kind": "obj", "__id": 1, "__class": "Array[nullable Object]", "__items": [88, "hello", null]}, "ii": 1111, "ss": "\tf\"\r\\\/", "d": {"__kind": "ref", "__id": 0}}
+{"__kind": "obj", "__id": 0, "__class": "D", "b": false, "c": {"__kind": "char", "__val": "b"}, "f": 123.123, "i": 2345, "s": "new line ->\n<-", "n": null, "array": {"__kind": "obj", "__id": 1, "__class": "Array[nullable Object]", "__items": [88, "hello", null]}, "ii": 1111, "ss": "\tf\"\r\\/", "d": {"__kind": "ref", "__id": 0}}
<- false> 1111 f"\r\/> true>
# Json:
-{"b": false, "c": "b", "f": 123.123, "i": 2345, "s": "new line ->\n<-", "n": null, "array": [88, "hello", null], "ii": 1111, "ss": "\tf\"\r\\\/", "d": null}
+{"b": false, "c": "b", "f": 123.123, "i": 2345, "s": "new line ->\n<-", "n": null, "array": [88, "hello", null], "ii": 1111, "ss": "\tf\"\r\\/", "d": null}
<- false> 1111 f"\r\/> true>
# Json:
-{"__kind": "obj", "__id": 0, "__class": "D", "b": false, "c": {"__kind": "char", "__val": "b"}, "f": 123.123, "i": 2345, "s": "new line ->\n<-", "n": null, "array": {"__kind": "obj", "__id": 1, "__class": "Array[nullable Object]", "__items": [88, "hello", null]}, "ii": 1111, "ss": "\tf\"\r\\\/", "d": {"__kind": "ref", "__id": 0}}
+{"__kind": "obj", "__id": 0, "__class": "D", "b": false, "c": {"__kind": "char", "__val": "b"}, "f": 123.123, "i": 2345, "s": "new line ->\n<-", "n": null, "array": {"__kind": "obj", "__id": 1, "__class": "Array[nullable Object]", "__items": [88, "hello", null]}, "ii": 1111, "ss": "\tf\"\r\\/", "d": {"__kind": "ref", "__id": 0}}
<- false> 1111 f"\r\/> true>
# Json:
-{"__kind": "obj", "__id": 0, "__class": "D", "b": false, "c": {"__kind": "char", "__val": "b"}, "f": 123.123, "i": 2345, "s": "new line ->\n<-", "n": null, "array": {"__kind": "obj", "__id": 1, "__class": "Array[nullable Object]", "__items": [88, "hello", null]}, "ii": 1111, "ss": "\tf\"\r\\\/", "d": {"__kind": "ref", "__id": 0}}
+{"__kind": "obj", "__id": 0, "__class": "D", "b": false, "c": {"__kind": "char", "__val": "b"}, "f": 123.123, "i": 2345, "s": "new line ->\n<-", "n": null, "array": {"__kind": "obj", "__id": 1, "__class": "Array[nullable Object]", "__items": [88, "hello", null]}, "ii": 1111, "ss": "\tf\"\r\\/", "d": {"__kind": "ref", "__id": 0}}
<- false> 1111 f"\r\/> true>
# Json:
-{"__kind": "obj", "__id": 0, "__class": "D", "b": false, "c": {"__kind": "char", "__val": "b"}, "f": 123.123, "i": 2345, "s": "new line ->\n<-", "n": null, "array": {"__kind": "obj", "__id": 1, "__class": "Array[nullable Object]", "__items": [88, "hello", null]}, "ii": 1111, "ss": "\tf\"\r\\\/", "d": {"__kind": "ref", "__id": 0}}
+{"__kind": "obj", "__id": 0, "__class": "D", "b": false, "c": {"__kind": "char", "__val": "b"}, "f": 123.123, "i": 2345, "s": "new line ->\n<-", "n": null, "array": {"__kind": "obj", "__id": 1, "__class": "Array[nullable Object]", "__items": [88, "hello", null]}, "ii": 1111, "ss": "\tf\"\r\\/", "d": {"__kind": "ref", "__id": 0}}
<- false> 1111 f"\r\/> true>
# Json:
-{"__kind": "obj", "__id": 0, "__class": "D", "b": false, "c": {"__kind": "char", "__val": "b"}, "f": 123.123, "i": 2345, "s": "new line ->\n<-", "n": null, "array": {"__kind": "obj", "__id": 1, "__class": "Array[nullable Object]", "__items": [88, "hello", null]}, "iii": 6789, "sss": "redef", "ii": 1111, "ss": "\tf\"\r\\\/", "d": {"__kind": "ref", "__id": 0}}
+{"__kind": "obj", "__id": 0, "__class": "D", "b": false, "c": {"__kind": "char", "__val": "b"}, "f": 123.123, "i": 2345, "s": "new line ->\n<-", "n": null, "array": {"__kind": "obj", "__id": 1, "__class": "Array[nullable Object]", "__items": [88, "hello", null]}, "iii": 6789, "sss": "redef", "ii": 1111, "ss": "\tf\"\r\\/", "d": {"__kind": "ref", "__id": 0}}
<- false> 1111 f"\r\/> true>
# Json:
-{"__kind": "obj", "__id": 0, "__class": "D", "b": false, "c": {"__kind": "char", "__val": "b"}, "f": 123.123, "i": 2345, "s": "new line ->\n<-", "n": null, "array": {"__kind": "obj", "__id": 1, "__class": "Array[nullable Object]", "__items": [88, "hello", null]}, "ii": 1111, "ss": "\tf\"\r\\\/", "ffff": 6.789, "bbbb": false, "d": {"__kind": "ref", "__id": 0}}
+{"__kind": "obj", "__id": 0, "__class": "D", "b": false, "c": {"__kind": "char", "__val": "b"}, "f": 123.123, "i": 2345, "s": "new line ->\n<-", "n": null, "array": {"__kind": "obj", "__id": 1, "__class": "Array[nullable Object]", "__items": [88, "hello", null]}, "ii": 1111, "ss": "\tf\"\r\\/", "ffff": 6.789, "bbbb": false, "d": {"__kind": "ref", "__id": 0}}
<- false> 1111 f"\r\/> true>
# Json:
-{"__kind": "obj", "__id": 0, "__class": "D", "b": false, "c": {"__kind": "char", "__val": "b"}, "f": 123.123, "i": 2345, "s": "new line ->\n<-", "n": null, "array": {"__kind": "obj", "__id": 1, "__class": "Array[nullable Object]", "__items": [88, "hello", null]}, "iii": 6789, "sss": "redef", "ii": 1111, "ss": "\tf\"\r\\\/", "ffff": 6.789, "bbbb": false, "d": {"__kind": "ref", "__id": 0}}
+{"__kind": "obj", "__id": 0, "__class": "D", "b": false, "c": {"__kind": "char", "__val": "b"}, "f": 123.123, "i": 2345, "s": "new line ->\n<-", "n": null, "array": {"__kind": "obj", "__id": 1, "__class": "Array[nullable Object]", "__items": [88, "hello", null]}, "iii": 6789, "sss": "redef", "ii": 1111, "ss": "\tf\"\r\\/", "ffff": 6.789, "bbbb": false, "d": {"__kind": "ref", "__id": 0}}
--- /dev/null
+json_example.json
--- /dev/null
+# This file is part of NIT ( http://www.nitlanguage.org ).
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import json::string_parser
+import json
+
+if args.length < 1 then
+ print "Usage ./test_adhoc_json_parser file"
+ exit -1
+end
+var parse = args[0].to_path.read_all.parse_json
+if parse == null then
+ print "null"
+else
+ print parse.to_pretty_json
+end
--- /dev/null
+# This file is part of NIT ( http://www.nitlanguage.org ).
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+module nitunit4
--- /dev/null
+# This file is part of NIT ( http://www.nitlanguage.org ).
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+module test_nitunit4 is test_suite
+
+import test_nitunit4_base
+
+class TestTestSuite
+ super SuperTestSuite
+
+ fun test_foo do
+ print "Tested method"
+ assert before
+ end
+end
--- /dev/null
+# This file is part of NIT ( http://www.nitlanguage.org ).
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+module test_nitunit4_base is test_suite
+
+import test_suite
+
+class SuperTestSuite
+ super TestSuite
+
+ var before = false
+
+ redef fun before_test do
+ print "Before Test"
+ before = true
+ end
+
+ redef fun after_test do
+ print "After Test"
+ assert false
+ end
+end