summaryrefslogtreecommitdiff
path: root/demos/misc
diff options
context:
space:
mode:
Diffstat (limited to 'demos/misc')
-rw-r--r--demos/misc/joysticks/engine.cfg10
-rw-r--r--demos/misc/joysticks/icon.pngbin0 -> 2916 bytes
-rw-r--r--demos/misc/joysticks/joysticks.gd40
-rw-r--r--demos/misc/joysticks/joysticks.scnbin0 -> 3809 bytes
-rw-r--r--demos/misc/tween/engine.cfg11
-rw-r--r--demos/misc/tween/main.gd164
-rw-r--r--demos/misc/tween/main.xml367
7 files changed, 592 insertions, 0 deletions
diff --git a/demos/misc/joysticks/engine.cfg b/demos/misc/joysticks/engine.cfg
new file mode 100644
index 0000000000..71ac91000e
--- /dev/null
+++ b/demos/misc/joysticks/engine.cfg
@@ -0,0 +1,10 @@
+[application]
+
+name="Joysticks"
+main_scene="res://joysticks.scn"
+icon="res://icon.png"
+
+[display]
+
+width=260
+height=300
diff --git a/demos/misc/joysticks/icon.png b/demos/misc/joysticks/icon.png
new file mode 100644
index 0000000000..06b0d7532d
--- /dev/null
+++ b/demos/misc/joysticks/icon.png
Binary files differ
diff --git a/demos/misc/joysticks/joysticks.gd b/demos/misc/joysticks/joysticks.gd
new file mode 100644
index 0000000000..d359e993e6
--- /dev/null
+++ b/demos/misc/joysticks/joysticks.gd
@@ -0,0 +1,40 @@
+
+extends Node2D
+
+# Joysticks demo, written by Dana Olson <dana@shineuponthee.com>
+#
+# This is a demo of joystick support, and doubles as a testing application
+# inspired by and similar to jstest-gtk.
+#
+# Licensed under the MIT license
+
+var joy_num
+var cur_joy
+var axis_value
+var btn_state
+
+func _ready():
+ set_process_input(true)
+
+func _input(ev):
+ # get the joystick device number from the spinbox
+ joy_num = get_node("joy_num").get_value()
+
+ # display the name of the joystick if we haven't already
+ if joy_num != cur_joy:
+ cur_joy = joy_num
+ get_node("joy_name").set_text( Input.get_joy_name(joy_num) )
+
+ # loop through the axes and show their current values
+ for axis in range(0,8):
+ axis_value = Input.get_joy_axis(joy_num,axis)
+ get_node("axis_prog"+str(axis)).set_value(100*axis_value)
+ get_node("axis_val"+str(axis)).set_text(str(axis_value))
+
+ # loop through the buttons and highlight the ones that are pressed
+ for btn in range(0,17):
+ btn_state = 1
+ if (Input.is_joy_button_pressed(joy_num, btn)):
+ get_node("btn"+str(btn)).add_color_override("font_color",Color(1,1,1,1))
+ else:
+ get_node("btn"+str(btn)).add_color_override("font_color",Color(0.2,0.1,0.3,1))
diff --git a/demos/misc/joysticks/joysticks.scn b/demos/misc/joysticks/joysticks.scn
new file mode 100644
index 0000000000..5dbd7f49bf
--- /dev/null
+++ b/demos/misc/joysticks/joysticks.scn
Binary files differ
diff --git a/demos/misc/tween/engine.cfg b/demos/misc/tween/engine.cfg
new file mode 100644
index 0000000000..f97e540dbd
--- /dev/null
+++ b/demos/misc/tween/engine.cfg
@@ -0,0 +1,11 @@
+[application]
+
+name="Tween Demo"
+main_scene="res://main.xml"
+icon="icon.png"
+target_fps=60
+
+[display]
+
+stretch_mode="2d"
+stretch_aspect="keep_width"
diff --git a/demos/misc/tween/main.gd b/demos/misc/tween/main.gd
new file mode 100644
index 0000000000..364651c827
--- /dev/null
+++ b/demos/misc/tween/main.gd
@@ -0,0 +1,164 @@
+
+extends Control
+
+# member variables here, example:
+# var a=2
+# var b="textvar"
+
+var trans = ["linear", "sine", "quint", "quart", "quad", "expo", "elastic", "cubic", "circ", "bounce", "back"]
+var eases = ["in", "out", "in_out", "out_in"]
+var modes = ["move", "color", "scale", "rotate", "callback", "follow", "repeat", "pause"]
+
+var state = {
+ trans = Tween.TRANS_LINEAR,
+ eases = Tween.EASE_IN,
+}
+
+func _ready():
+ for index in range(trans.size()):
+ var name = trans[index]
+ get_node("trans/" + name).connect("pressed", self, "on_trans_changed", [name, index])
+
+ for index in range(eases.size()):
+ var name = eases[index]
+ get_node("eases/" + name).connect("pressed", self, "on_eases_changed", [name, index])
+
+ for index in range(modes.size()):
+ var name = modes[index]
+ get_node("modes/" + name).connect("pressed", self, "on_modes_changed", [name])
+
+ get_node("color/color_from").set_color(Color(1, 0, 0, 1))
+ get_node("color/color_from").connect("color_changed", self, "on_color_changed")
+
+ get_node("color/color_to").set_color(Color(0, 1, 1, 1))
+ get_node("color/color_to").connect("color_changed", self, "on_color_changed")
+
+ get_node("trans/linear").set_pressed(true)
+ get_node("eases/in").set_pressed(true)
+ get_node("modes/move").set_pressed(true)
+ get_node("modes/repeat").set_pressed(true)
+
+ reset_tween()
+
+ # Initalization here
+ pass
+
+func on_trans_changed(name, index):
+ for index in range(trans.size()):
+ var pressed = trans[index] == name
+ var btn = get_node("trans/" + trans[index])
+
+ btn.set_pressed(pressed)
+ btn.set_ignore_mouse(pressed)
+
+ state.trans = index
+ reset_tween()
+
+func on_eases_changed(name, index):
+ for index in range(eases.size()):
+ var pressed = eases[index] == name
+ var btn = get_node("eases/" + eases[index])
+
+ btn.set_pressed(pressed)
+ btn.set_ignore_mouse(pressed)
+
+ state.eases = index
+ reset_tween()
+
+func on_modes_changed(name):
+ var tween = get_node("tween")
+ if name == "pause":
+ if get_node("modes/pause").is_pressed():
+ tween.stop_all()
+ get_node("timeline").set_ignore_mouse(false)
+ else:
+ tween.resume_all()
+ get_node("timeline").set_ignore_mouse(true)
+ else:
+ reset_tween()
+
+func on_color_changed(color):
+ reset_tween()
+
+func reset_tween():
+ var tween = get_node("tween")
+ var pos = tween.tell()
+ tween.reset_all()
+ tween.remove_all()
+
+ var sprite = get_node("tween/area/sprite")
+ var follow = get_node("tween/area/follow")
+ var follow_2 = get_node("tween/area/follow_2")
+ var size = get_node("tween/area").get_size()
+
+ if get_node("modes/move").is_pressed():
+ tween.interpolate_method(sprite, "set_pos", Vector2(0,0), Vector2(size.width, size.height), 2, state.trans, state.eases)
+ tween.interpolate_property(sprite, "transform/pos", Vector2(size.width,size.height), Vector2(0, 0), 2, state.trans, state.eases, 2)
+
+ if get_node("modes/color").is_pressed():
+ tween.interpolate_method(sprite, "set_modulate", get_node("color/color_from").get_color(), get_node("color/color_to").get_color(), 2, state.trans, state.eases)
+ tween.interpolate_property(sprite, "modulate", get_node("color/color_to").get_color(), get_node("color/color_from").get_color(), 2, state.trans, state.eases, 2)
+ else:
+ sprite.set_modulate(Color(1, 1, 1, 1))
+
+ if get_node("modes/scale").is_pressed():
+ tween.interpolate_method(sprite, "set_scale", Vector2(0.5,0.5), Vector2(1.5, 1.5), 2, state.trans, state.eases)
+ tween.interpolate_property(sprite, "transform/scale", Vector2(1.5,1.5), Vector2(0.5, 0.5), 2, state.trans, state.eases, 2)
+ else:
+ sprite.set_scale(Vector2(1, 1))
+
+ if get_node("modes/rotate").is_pressed():
+ tween.interpolate_method(sprite, "_set_rotd", 0, 360, 2, state.trans, state.eases)
+ tween.interpolate_property(sprite, "transform/rot", 360, 0, 2, state.trans, state.eases, 2)
+
+ if get_node("modes/callback").is_pressed():
+ tween.interpolate_callback(self, "on_callback", 0.5, "0.5 second's after")
+ tween.interpolate_callback(self, "on_callback", 1.2, "1.2 second's after")
+
+ if get_node("modes/follow").is_pressed():
+ follow.show()
+ follow_2.show()
+
+ tween.follow_method(follow, "set_pos", Vector2(0, size.height), sprite, "get_pos", 2, state.trans, state.eases)
+ tween.targeting_method(follow, "set_pos", sprite, "get_pos", Vector2(0, size.height), 2, state.trans, state.eases, 2)
+
+ tween.targeting_property(follow_2, "transform/pos", sprite, "transform/pos", Vector2(size.width, 0), 2, state.trans, state.eases)
+ tween.follow_property(follow_2, "transform/pos", Vector2(size.width, 0), sprite, "transform/pos", 2, state.trans, state.eases, 2)
+ else:
+ follow.hide()
+ follow_2.hide()
+
+ tween.set_repeat(get_node("modes/repeat").is_pressed())
+ tween.start()
+ tween.seek(pos)
+
+ if get_node("modes/pause").is_pressed():
+ tween.stop_all()
+ get_node("timeline").set_ignore_mouse(false)
+ get_node("timeline").set_value(0)
+ else:
+ tween.resume_all()
+ get_node("timeline").set_ignore_mouse(true)
+
+func _on_tween_step( object, key, elapsed, value ):
+
+ var timeline = get_node("timeline")
+
+ var tween = get_node("tween")
+ var runtime = tween.get_runtime()
+
+ var ratio = 100 * (elapsed / runtime)
+ timeline.set_value(ratio)
+
+
+func _on_timeline_value_changed( value ):
+ if !get_node("modes/pause").is_pressed():
+ return
+
+ var tween = get_node("tween")
+ var runtime = tween.get_runtime()
+ tween.seek(runtime * value / 100)
+
+func on_callback(arg):
+ var label = get_node("tween/area/label")
+ label.add_text("on_callback -> " + arg + "\n")
diff --git a/demos/misc/tween/main.xml b/demos/misc/tween/main.xml
new file mode 100644
index 0000000000..6580ba04da
--- /dev/null
+++ b/demos/misc/tween/main.xml
@@ -0,0 +1,367 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<resource_file type="PackedScene" subresource_count="3" version="1.0" version_name="Godot Engine v1.0.3917-beta1">
+ <ext_resource path="res://icon.png" type="Texture"></ext_resource>
+ <ext_resource path="res://main.gd" type="Script"></ext_resource>
+ <main_resource>
+ <dictionary name="_bundled" shared="false">
+ <string> "names" </string>
+ <string_array len="115">
+ <string> "main" </string>
+ <string> "Control" </string>
+ <string> "_import_path" </string>
+ <string> "visibility/visible" </string>
+ <string> "visibility/opacity" </string>
+ <string> "visibility/self_opacity" </string>
+ <string> "visibility/behind_parent" </string>
+ <string> "margin/right" </string>
+ <string> "margin/bottom" </string>
+ <string> "transform/rot" </string>
+ <string> "transform/scale" </string>
+ <string> "focus_neighbour/left" </string>
+ <string> "focus_neighbour/top" </string>
+ <string> "focus_neighbour/right" </string>
+ <string> "focus_neighbour/bottom" </string>
+ <string> "focus/ignore_mouse" </string>
+ <string> "focus/stop_mouse" </string>
+ <string> "size_flags/horizontal" </string>
+ <string> "size_flags/vertical" </string>
+ <string> "size_flags/stretch_ratio" </string>
+ <string> "script/script" </string>
+ <string> "__meta__" </string>
+ <string> "trans" </string>
+ <string> "VBoxContainer" </string>
+ <string> "margin/left" </string>
+ <string> "margin/top" </string>
+ <string> "linear" </string>
+ <string> "Button" </string>
+ <string> "disabled" </string>
+ <string> "pressed" </string>
+ <string> "toggle_mode" </string>
+ <string> "click_on_press" </string>
+ <string> "text" </string>
+ <string> "icon" </string>
+ <string> "flat" </string>
+ <string> "clip_text" </string>
+ <string> "align" </string>
+ <string> "sine" </string>
+ <string> "quint" </string>
+ <string> "quart" </string>
+ <string> "quad" </string>
+ <string> "expo" </string>
+ <string> "elastic" </string>
+ <string> "cubic" </string>
+ <string> "circ" </string>
+ <string> "bounce" </string>
+ <string> "back" </string>
+ <string> "eases" </string>
+ <string> "in" </string>
+ <string> "out" </string>
+ <string> "in_out" </string>
+ <string> "out_in" </string>
+ <string> "modes" </string>
+ <string> "move" </string>
+ <string> "color" </string>
+ <string> "scale" </string>
+ <string> "rotate" </string>
+ <string> "callback" </string>
+ <string> "follow" </string>
+ <string> "repeat" </string>
+ <string> "pause" </string>
+ <string> "label_1" </string>
+ <string> "Label" </string>
+ <string> "range/min" </string>
+ <string> "range/max" </string>
+ <string> "range/step" </string>
+ <string> "range/page" </string>
+ <string> "range/value" </string>
+ <string> "range/exp_edit" </string>
+ <string> "rounded_values" </string>
+ <string> "valign" </string>
+ <string> "autowrap" </string>
+ <string> "uppercase" </string>
+ <string> "percent_visible" </string>
+ <string> "color_from" </string>
+ <string> "ColorPicker" </string>
+ <string> "label_2" </string>
+ <string> "color_to" </string>
+ <string> "tween" </string>
+ <string> "Tween" </string>
+ <string> "playback/process_mode" </string>
+ <string> "playback/active" </string>
+ <string> "playback/repeat" </string>
+ <string> "playback/speed" </string>
+ <string> "area" </string>
+ <string> "Panel" </string>
+ <string> "label" </string>
+ <string> "RichTextLabel" </string>
+ <string> "scroll_active" </string>
+ <string> "scroll_follow" </string>
+ <string> "tab_size" </string>
+ <string> "selection_enabled" </string>
+ <string> "sprite" </string>
+ <string> "Sprite" </string>
+ <string> "transform/pos" </string>
+ <string> "texture" </string>
+ <string> "centered" </string>
+ <string> "offset" </string>
+ <string> "flip_h" </string>
+ <string> "flip_v" </string>
+ <string> "vframes" </string>
+ <string> "hframes" </string>
+ <string> "frame" </string>
+ <string> "modulate" </string>
+ <string> "region" </string>
+ <string> "region_rect" </string>
+ <string> "follow_2" </string>
+ <string> "timeline" </string>
+ <string> "HSlider" </string>
+ <string> "tick_count" </string>
+ <string> "ticks_on_borders" </string>
+ <string> "_on_tween_step" </string>
+ <string> "tween_step" </string>
+ <string> "_on_timeline_value_changed" </string>
+ <string> "value_changed" </string>
+ </string_array>
+ <string> "version" </string>
+ <int> 1 </int>
+ <string> "conn_count" </string>
+ <int> 2 </int>
+ <string> "node_count" </string>
+ <int> 39 </int>
+ <string> "variants" </string>
+ <array len="104" shared="false">
+ <node_path> "" </node_path>
+ <bool> True </bool>
+ <real> 1 </real>
+ <bool> False </bool>
+ <real> 800 </real>
+ <real> 600 </real>
+ <real> 0 </real>
+ <vector2> 1, 1 </vector2>
+ <int> 2 </int>
+ <resource resource_type="Script" path="res://main.gd"> </resource>
+ <dictionary shared="false">
+ <string> "__editor_plugin_states__" </string>
+ <dictionary shared="false">
+ <string> "Script" </string>
+ <dictionary shared="false">
+ <string> "current" </string>
+ <int> 0 </int>
+ <string> "sources" </string>
+ <array len="1" shared="false">
+ <string> "res://main.gd" </string>
+ </array>
+ </dictionary>
+ <string> "2D" </string>
+ <dictionary shared="false">
+ <string> "pixel_snap" </string>
+ <bool> False </bool>
+ <string> "zoom" </string>
+ <real> 1.360374 </real>
+ <string> "use_snap" </string>
+ <bool> True </bool>
+ <string> "ofs" </string>
+ <vector2> -215.073, -20.8125 </vector2>
+ <string> "snap" </string>
+ <int> 8 </int>
+ </dictionary>
+ <string> "3D" </string>
+ <dictionary shared="false">
+ <string> "zfar" </string>
+ <real> 500 </real>
+ <string> "fov" </string>
+ <real> 45 </real>
+ <string> "viewports" </string>
+ <array len="4" shared="false">
+ <dictionary shared="false">
+ <string> "distance" </string>
+ <real> 4 </real>
+ <string> "x_rot" </string>
+ <real> 0 </real>
+ <string> "y_rot" </string>
+ <real> 0 </real>
+ <string> "use_orthogonal" </string>
+ <bool> False </bool>
+ <string> "use_environment" </string>
+ <bool> False </bool>
+ <string> "pos" </string>
+ <vector3> 0, 0, 0 </vector3>
+ </dictionary>
+ <dictionary shared="false">
+ <string> "distance" </string>
+ <real> 4 </real>
+ <string> "x_rot" </string>
+ <real> 0 </real>
+ <string> "y_rot" </string>
+ <real> 0 </real>
+ <string> "use_orthogonal" </string>
+ <bool> False </bool>
+ <string> "use_environment" </string>
+ <bool> False </bool>
+ <string> "pos" </string>
+ <vector3> 0, 0, 0 </vector3>
+ </dictionary>
+ <dictionary shared="false">
+ <string> "distance" </string>
+ <real> 4 </real>
+ <string> "x_rot" </string>
+ <real> 0 </real>
+ <string> "y_rot" </string>
+ <real> 0 </real>
+ <string> "use_orthogonal" </string>
+ <bool> False </bool>
+ <string> "use_environment" </string>
+ <bool> False </bool>
+ <string> "pos" </string>
+ <vector3> 0, 0, 0 </vector3>
+ </dictionary>
+ <dictionary shared="false">
+ <string> "distance" </string>
+ <real> 4 </real>
+ <string> "x_rot" </string>
+ <real> 0 </real>
+ <string> "y_rot" </string>
+ <real> 0 </real>
+ <string> "use_orthogonal" </string>
+ <bool> False </bool>
+ <string> "use_environment" </string>
+ <bool> False </bool>
+ <string> "pos" </string>
+ <vector3> 0, 0, 0 </vector3>
+ </dictionary>
+ </array>
+ <string> "viewport_mode" </string>
+ <int> 1 </int>
+ <string> "default_light" </string>
+ <bool> True </bool>
+ <string> "show_grid" </string>
+ <bool> True </bool>
+ <string> "show_origin" </string>
+ <bool> True </bool>
+ <string> "znear" </string>
+ <real> 0.1 </real>
+ </dictionary>
+ </dictionary>
+ <string> "__editor_run_settings__" </string>
+ <dictionary shared="false">
+ <string> "custom_args" </string>
+ <string> "-l $scene" </string>
+ <string> "run_mode" </string>
+ <int> 0 </int>
+ </dictionary>
+ <string> "__editor_plugin_screen__" </string>
+ <string> "Script" </string>
+ </dictionary>
+ <real> 56 </real>
+ <real> 256 </real>
+ <real> 129 </real>
+ <real> 582 </real>
+ <dictionary shared="false">
+ <string> "_editor_collapsed" </string>
+ <bool> True </bool>
+ </dictionary>
+ <real> 73 </real>
+ <real> 26 </real>
+ <string> "linear" </string>
+ <resource name=""></resource> <int> 1 </int>
+ <real> 30 </real>
+ <string> "sine" </string>
+ <real> 60 </real>
+ <real> 86 </real>
+ <string> "quint" </string>
+ <real> 90 </real>
+ <real> 116 </real>
+ <string> "quart" </string>
+ <real> 120 </real>
+ <real> 146 </real>
+ <string> "quad" </string>
+ <real> 150 </real>
+ <real> 176 </real>
+ <string> "expo" </string>
+ <real> 180 </real>
+ <real> 206 </real>
+ <string> "elastic" </string>
+ <real> 210 </real>
+ <real> 236 </real>
+ <string> "cubic" </string>
+ <real> 240 </real>
+ <real> 266 </real>
+ <string> "circ" </string>
+ <real> 270 </real>
+ <real> 296 </real>
+ <string> "bounce" </string>
+ <real> 300 </real>
+ <real> 326 </real>
+ <string> "back" </string>
+ <real> 152 </real>
+ <real> 215 </real>
+ <real> 372 </real>
+ <dictionary shared="false">
+ <string> "_editor_collapsed" </string>
+ <bool> True </bool>
+ </dictionary>
+ <real> 63 </real>
+ <string> "in" </string>
+ <string> "out" </string>
+ <string> "in_out" </string>
+ <string> "out_in" </string>
+ <real> 317 </real>
+ <real> 492 </real>
+ <dictionary shared="false">
+ <string> "_editor_collapsed" </string>
+ <bool> True </bool>
+ </dictionary>
+ <real> 77 </real>
+ <string> "move" </string>
+ <string> "color" </string>
+ <string> "scale" </string>
+ <string> "rotate" </string>
+ <string> "callback" </string>
+ <string> "follow" </string>
+ <string> "repeat" </string>
+ <string> "pause" </string>
+ <real> 384 </real>
+ <real> 760 </real>
+ <real> 592 </real>
+ <dictionary shared="false">
+ <string> "_editor_collapsed" </string>
+ <bool> True </bool>
+ </dictionary>
+ <real> 376 </real>
+ <real> 19 </real>
+ <string> "Color From:" </string>
+ <int> 0 </int>
+ <real> -1 </real>
+ <real> 23 </real>
+ <real> 174 </real>
+ <real> 178 </real>
+ <real> 197 </real>
+ <string> "Color To:" </string>
+ <real> 201 </real>
+ <real> 352 </real>
+ <real> 32 </real>
+ <real> 768 </real>
+ <real> 216 </real>
+ <real> 24 </real>
+ <real> 552 </real>
+ <real> 160 </real>
+ <string> "" </string>
+ <int> 4 </int>
+ <vector2> 0, 0 </vector2>
+ <resource resource_type="Texture" path="res://icon.png"> </resource>
+ <color> 1, 1, 1, 1 </color>
+ <rect2> 0, 0, 0, 0 </rect2>
+ <vector2> 0, 184 </vector2>
+ <vector2> 736, 0 </vector2>
+ <real> 40 </real>
+ <real> 224 </real>
+ <real> 100 </real>
+ </array>
+ <string> "nodes" </string>
+ <int_array len="2229"> -1, -1, 1, 0, -1, 20, 2, 0, 3, 1, 4, 2, 5, 2, 6, 3, 7, 4, 8, 5, 9, 6, 10, 7, 11, 0, 12, 0, 13, 0, 14, 0, 15, 3, 16, 1, 17, 8, 18, 8, 19, 2, 20, 9, 21, 10, 0, 0, 0, 23, 22, -1, 21, 2, 0, 3, 1, 4, 2, 5, 2, 6, 3, 24, 11, 25, 12, 7, 13, 8, 14, 9, 6, 10, 7, 11, 0, 12, 0, 13, 0, 14, 0, 15, 3, 16, 3, 17, 8, 18, 8, 19, 2, 21, 15, 0, 1, 0, 27, 26, -1, 27, 2, 0, 3, 1, 4, 2, 5, 2, 6, 3, 7, 16, 8, 17, 9, 6, 10, 7, 11, 0, 12, 0, 13, 0, 14, 0, 15, 3, 16, 1, 17, 8, 18, 8, 19, 2, 28, 3, 29, 3, 30, 1, 31, 3, 32, 18, 33, 19, 34, 3, 35, 3, 36, 20, 0, 1, 0, 27, 37, -1, 28, 2, 0, 3, 1, 4, 2, 5, 2, 6, 3, 25, 21, 7, 16, 8, 11, 9, 6, 10, 7, 11, 0, 12, 0, 13, 0, 14, 0, 15, 3, 16, 1, 17, 8, 18, 8, 19, 2, 28, 3, 29, 3, 30, 1, 31, 3, 32, 22, 33, 19, 34, 3, 35, 3, 36, 20, 0, 1, 0, 27, 38, -1, 28, 2, 0, 3, 1, 4, 2, 5, 2, 6, 3, 25, 23, 7, 16, 8, 24, 9, 6, 10, 7, 11, 0, 12, 0, 13, 0, 14, 0, 15, 3, 16, 1, 17, 8, 18, 8, 19, 2, 28, 3, 29, 3, 30, 1, 31, 3, 32, 25, 33, 19, 34, 3, 35, 3, 36, 20, 0, 1, 0, 27, 39, -1, 28, 2, 0, 3, 1, 4, 2, 5, 2, 6, 3, 25, 26, 7, 16, 8, 27, 9, 6, 10, 7, 11, 0, 12, 0, 13, 0, 14, 0, 15, 3, 16, 1, 17, 8, 18, 8, 19, 2, 28, 3, 29, 3, 30, 1, 31, 3, 32, 28, 33, 19, 34, 3, 35, 3, 36, 20, 0, 1, 0, 27, 40, -1, 28, 2, 0, 3, 1, 4, 2, 5, 2, 6, 3, 25, 29, 7, 16, 8, 30, 9, 6, 10, 7, 11, 0, 12, 0, 13, 0, 14, 0, 15, 3, 16, 1, 17, 8, 18, 8, 19, 2, 28, 3, 29, 3, 30, 1, 31, 3, 32, 31, 33, 19, 34, 3, 35, 3, 36, 20, 0, 1, 0, 27, 41, -1, 28, 2, 0, 3, 1, 4, 2, 5, 2, 6, 3, 25, 32, 7, 16, 8, 33, 9, 6, 10, 7, 11, 0, 12, 0, 13, 0, 14, 0, 15, 3, 16, 1, 17, 8, 18, 8, 19, 2, 28, 3, 29, 3, 30, 1, 31, 3, 32, 34, 33, 19, 34, 3, 35, 3, 36, 20, 0, 1, 0, 27, 42, -1, 28, 2, 0, 3, 1, 4, 2, 5, 2, 6, 3, 25, 35, 7, 16, 8, 36, 9, 6, 10, 7, 11, 0, 12, 0, 13, 0, 14, 0, 15, 3, 16, 1, 17, 8, 18, 8, 19, 2, 28, 3, 29, 3, 30, 1, 31, 3, 32, 37, 33, 19, 34, 3, 35, 3, 36, 20, 0, 1, 0, 27, 43, -1, 28, 2, 0, 3, 1, 4, 2, 5, 2, 6, 3, 25, 38, 7, 16, 8, 39, 9, 6, 10, 7, 11, 0, 12, 0, 13, 0, 14, 0, 15, 3, 16, 1, 17, 8, 18, 8, 19, 2, 28, 3, 29, 3, 30, 1, 31, 3, 32, 40, 33, 19, 34, 3, 35, 3, 36, 20, 0, 1, 0, 27, 44, -1, 28, 2, 0, 3, 1, 4, 2, 5, 2, 6, 3, 25, 41, 7, 16, 8, 42, 9, 6, 10, 7, 11, 0, 12, 0, 13, 0, 14, 0, 15, 3, 16, 1, 17, 8, 18, 8, 19, 2, 28, 3, 29, 3, 30, 1, 31, 3, 32, 43, 33, 19, 34, 3, 35, 3, 36, 20, 0, 1, 0, 27, 45, -1, 28, 2, 0, 3, 1, 4, 2, 5, 2, 6, 3, 25, 44, 7, 16, 8, 45, 9, 6, 10, 7, 11, 0, 12, 0, 13, 0, 14, 0, 15, 3, 16, 1, 17, 8, 18, 8, 19, 2, 28, 3, 29, 3, 30, 1, 31, 3, 32, 46, 33, 19, 34, 3, 35, 3, 36, 20, 0, 1, 0, 27, 46, -1, 28, 2, 0, 3, 1, 4, 2, 5, 2, 6, 3, 25, 47, 7, 16, 8, 48, 9, 6, 10, 7, 11, 0, 12, 0, 13, 0, 14, 0, 15, 3, 16, 1, 17, 8, 18, 8, 19, 2, 28, 3, 29, 3, 30, 1, 31, 3, 32, 49, 33, 19, 34, 3, 35, 3, 36, 20, 0, 0, 0, 23, 47, -1, 21, 2, 0, 3, 1, 4, 2, 5, 2, 6, 3, 24, 50, 25, 12, 7, 51, 8, 52, 9, 6, 10, 7, 11, 0, 12, 0, 13, 0, 14, 0, 15, 3, 16, 3, 17, 8, 18, 8, 19, 2, 21, 53, 0, 13, 0, 27, 48, -1, 27, 2, 0, 3, 1, 4, 2, 5, 2, 6, 3, 7, 54, 8, 17, 9, 6, 10, 7, 11, 0, 12, 0, 13, 0, 14, 0, 15, 3, 16, 1, 17, 8, 18, 8, 19, 2, 28, 3, 29, 3, 30, 1, 31, 3, 32, 55, 33, 19, 34, 3, 35, 3, 36, 20, 0, 13, 0, 27, 49, -1, 28, 2, 0, 3, 1, 4, 2, 5, 2, 6, 3, 25, 21, 7, 54, 8, 11, 9, 6, 10, 7, 11, 0, 12, 0, 13, 0, 14, 0, 15, 3, 16, 1, 17, 8, 18, 8, 19, 2, 28, 3, 29, 3, 30, 1, 31, 3, 32, 56, 33, 19, 34, 3, 35, 3, 36, 20, 0, 13, 0, 27, 50, -1, 28, 2, 0, 3, 1, 4, 2, 5, 2, 6, 3, 25, 23, 7, 54, 8, 24, 9, 6, 10, 7, 11, 0, 12, 0, 13, 0, 14, 0, 15, 3, 16, 1, 17, 8, 18, 8, 19, 2, 28, 3, 29, 3, 30, 1, 31, 3, 32, 57, 33, 19, 34, 3, 35, 3, 36, 20, 0, 13, 0, 27, 51, -1, 28, 2, 0, 3, 1, 4, 2, 5, 2, 6, 3, 25, 26, 7, 54, 8, 27, 9, 6, 10, 7, 11, 0, 12, 0, 13, 0, 14, 0, 15, 3, 16, 1, 17, 8, 18, 8, 19, 2, 28, 3, 29, 3, 30, 1, 31, 3, 32, 58, 33, 19, 34, 3, 35, 3, 36, 20, 0, 0, 0, 23, 52, -1, 21, 2, 0, 3, 1, 4, 2, 5, 2, 6, 3, 24, 41, 25, 12, 7, 59, 8, 60, 9, 6, 10, 7, 11, 0, 12, 0, 13, 0, 14, 0, 15, 3, 16, 3, 17, 8, 18, 8, 19, 2, 21, 61, 0, 18, 0, 27, 53, -1, 27, 2, 0, 3, 1, 4, 2, 5, 2, 6, 3, 7, 62, 8, 17, 9, 6, 10, 7, 11, 0, 12, 0, 13, 0, 14, 0, 15, 3, 16, 1, 17, 8, 18, 8, 19, 2, 28, 3, 29, 3, 30, 1, 31, 3, 32, 63, 33, 19, 34, 3, 35, 3, 36, 20, 0, 18, 0, 27, 54, -1, 28, 2, 0, 3, 1, 4, 2, 5, 2, 6, 3, 25, 21, 7, 62, 8, 11, 9, 6, 10, 7, 11, 0, 12, 0, 13, 0, 14, 0, 15, 3, 16, 1, 17, 8, 18, 8, 19, 2, 28, 3, 29, 3, 30, 1, 31, 3, 32, 64, 33, 19, 34, 3, 35, 3, 36, 20, 0, 18, 0, 27, 55, -1, 28, 2, 0, 3, 1, 4, 2, 5, 2, 6, 3, 25, 23, 7, 62, 8, 24, 9, 6, 10, 7, 11, 0, 12, 0, 13, 0, 14, 0, 15, 3, 16, 1, 17, 8, 18, 8, 19, 2, 28, 3, 29, 3, 30, 1, 31, 3, 32, 65, 33, 19, 34, 3, 35, 3, 36, 20, 0, 18, 0, 27, 56, -1, 28, 2, 0, 3, 1, 4, 2, 5, 2, 6, 3, 25, 26, 7, 62, 8, 27, 9, 6, 10, 7, 11, 0, 12, 0, 13, 0, 14, 0, 15, 3, 16, 1, 17, 8, 18, 8, 19, 2, 28, 3, 29, 3, 30, 1, 31, 3, 32, 66, 33, 19, 34, 3, 35, 3, 36, 20, 0, 18, 0, 27, 57, -1, 28, 2, 0, 3, 1, 4, 2, 5, 2, 6, 3, 25, 29, 7, 62, 8, 30, 9, 6, 10, 7, 11, 0, 12, 0, 13, 0, 14, 0, 15, 3, 16, 1, 17, 8, 18, 8, 19, 2, 28, 3, 29, 3, 30, 1, 31, 3, 32, 67, 33, 19, 34, 3, 35, 3, 36, 20, 0, 18, 0, 27, 58, -1, 28, 2, 0, 3, 1, 4, 2, 5, 2, 6, 3, 25, 32, 7, 62, 8, 33, 9, 6, 10, 7, 11, 0, 12, 0, 13, 0, 14, 0, 15, 3, 16, 1, 17, 8, 18, 8, 19, 2, 28, 3, 29, 3, 30, 1, 31, 3, 32, 68, 33, 19, 34, 3, 35, 3, 36, 20, 0, 18, 0, 27, 59, -1, 28, 2, 0, 3, 1, 4, 2, 5, 2, 6, 3, 25, 35, 7, 62, 8, 36, 9, 6, 10, 7, 11, 0, 12, 0, 13, 0, 14, 0, 15, 3, 16, 1, 17, 8, 18, 8, 19, 2, 28, 3, 29, 3, 30, 1, 31, 3, 32, 69, 33, 19, 34, 3, 35, 3, 36, 20, 0, 18, 0, 27, 60, -1, 28, 2, 0, 3, 1, 4, 2, 5, 2, 6, 3, 25, 38, 7, 62, 8, 39, 9, 6, 10, 7, 11, 0, 12, 0, 13, 0, 14, 0, 15, 3, 16, 1, 17, 8, 18, 8, 19, 2, 28, 3, 29, 3, 30, 1, 31, 3, 32, 70, 33, 19, 34, 3, 35, 3, 36, 20, 0, 0, 0, 23, 54, -1, 21, 2, 0, 3, 1, 4, 2, 5, 2, 6, 3, 24, 71, 25, 41, 7, 72, 8, 73, 9, 6, 10, 7, 11, 0, 12, 0, 13, 0, 14, 0, 15, 3, 16, 3, 17, 8, 18, 8, 19, 2, 21, 74, 0, 27, 0, 62, 61, -1, 30, 2, 0, 3, 1, 4, 2, 5, 2, 6, 3, 7, 75, 8, 76, 9, 6, 10, 7, 11, 0, 12, 0, 13, 0, 14, 0, 15, 1, 16, 1, 17, 8, 19, 2, 63, 6, 64, 2, 65, 2, 66, 2, 67, 6, 68, 3, 69, 3, 32, 77, 36, 78, 70, 78, 71, 3, 72, 3, 73, 79, 0, 27, 0, 75, 74, -1, 19, 2, 0, 3, 1, 4, 2, 5, 2, 6, 3, 25, 80, 7, 75, 8, 81, 9, 6, 10, 7, 11, 0, 12, 0, 13, 0, 14, 0, 15, 3, 16, 3, 17, 8, 18, 8, 19, 2, 0, 27, 0, 62, 76, -1, 31, 2, 0, 3, 1, 4, 2, 5, 2, 6, 3, 25, 82, 7, 75, 8, 83, 9, 6, 10, 7, 11, 0, 12, 0, 13, 0, 14, 0, 15, 1, 16, 1, 17, 8, 19, 2, 63, 6, 64, 2, 65, 2, 66, 2, 67, 6, 68, 3, 69, 3, 32, 84, 36, 78, 70, 78, 71, 3, 72, 3, 73, 79, 0, 27, 0, 75, 77, -1, 19, 2, 0, 3, 1, 4, 2, 5, 2, 6, 3, 25, 85, 7, 75, 8, 86, 9, 6, 10, 7, 11, 0, 12, 0, 13, 0, 14, 0, 15, 3, 16, 3, 17, 8, 18, 8, 19, 2, 0, 0, 0, 79, 78, -1, 5, 2, 0, 80, 20, 81, 1, 82, 1, 83, 2, 0, 32, 0, 85, 84, -1, 20, 2, 0, 3, 1, 4, 2, 5, 2, 6, 3, 24, 87, 25, 87, 7, 88, 8, 89, 9, 6, 10, 7, 11, 0, 12, 0, 13, 0, 14, 0, 15, 3, 16, 1, 17, 8, 18, 8, 19, 2, 0, 33, 0, 87, 86, -1, 24, 2, 0, 3, 1, 4, 2, 5, 2, 6, 3, 24, 33, 25, 90, 7, 91, 8, 92, 9, 6, 10, 7, 11, 0, 12, 0, 13, 0, 14, 0, 15, 3, 16, 1, 17, 8, 19, 2, 32, 93, 88, 1, 89, 1, 90, 94, 91, 3, 0, 33, 0, 93, 92, -1, 19, 2, 0, 3, 1, 4, 2, 5, 2, 6, 3, 94, 95, 9, 6, 10, 7, 95, 96, 96, 1, 97, 95, 98, 3, 99, 3, 100, 20, 101, 20, 102, 78, 103, 97, 104, 3, 105, 98, 0, 33, 0, 93, 58, -1, 19, 2, 0, 3, 1, 4, 2, 5, 2, 6, 3, 94, 99, 9, 6, 10, 7, 95, 96, 96, 1, 97, 95, 98, 3, 99, 3, 100, 20, 101, 20, 102, 78, 103, 97, 104, 3, 105, 98, 0, 33, 0, 93, 106, -1, 19, 2, 0, 3, 1, 4, 2, 5, 2, 6, 3, 94, 100, 9, 6, 10, 7, 95, 96, 96, 1, 97, 95, 98, 3, 99, 3, 100, 20, 101, 20, 102, 78, 103, 97, 104, 3, 105, 98, 0, 0, 0, 108, 107, -1, 28, 2, 0, 3, 1, 4, 2, 5, 2, 6, 3, 24, 101, 25, 102, 7, 72, 8, 41, 9, 6, 10, 7, 11, 0, 12, 0, 13, 0, 14, 0, 15, 3, 16, 1, 17, 8, 19, 2, 63, 6, 64, 103, 65, 2, 66, 6, 67, 2, 68, 3, 69, 3, 109, 78, 110, 3, 0 </int_array>
+ <string> "conns" </string>
+ <int_array len="12"> 32, 0, 112, 111, 2, 0, 38, 0, 114, 113, 2, 0 </int_array>
+ </dictionary>
+
+ </main_resource>
+</resource_file>