forked from tjpalmer/blockly
-
Notifications
You must be signed in to change notification settings - Fork 0
/
de_compressed.js
175 lines (174 loc) · 79.3 KB
/
de_compressed.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
// Do not edit this file; automatically generated by build.py.
"use strict";
Blockly.MSG_DUPLICATE_BLOCK="Kopieren";Blockly.MSG_REMOVE_COMMENT="Kommentar entfernen";Blockly.MSG_ADD_COMMENT="Kommentar hinzuf\u00fcgen";Blockly.MSG_EXTERNAL_INPUTS="externe Eing\u00e4nge";Blockly.MSG_INLINE_INPUTS="interne Eing\u00e4nge";Blockly.MSG_DELETE_BLOCK="Block l\u00f6schen";Blockly.MSG_DELETE_X_BLOCKS="Block %1 l\u00f6schen";Blockly.MSG_COLLAPSE_BLOCK="Block zusammenfalten";Blockly.MSG_EXPAND_BLOCK="Block entfalten";Blockly.MSG_DISABLE_BLOCK="Block deaktivieren";
Blockly.MSG_ENABLE_BLOCK="Block aktivieren";Blockly.MSG_HELP="Hilfe";Blockly.MSG_COLLAPSE_ALL="Collapse Blocks";Blockly.MSG_EXPAND_ALL="Expand Blocks";Blockly.MSG_CHANGE_VALUE_TITLE="Wert \u00e4ndern:";Blockly.MSG_NEW_VARIABLE="Neue Variable...";Blockly.MSG_NEW_VARIABLE_TITLE="Name der neuen Variable:";Blockly.MSG_RENAME_VARIABLE="Variable umbenennen...";Blockly.MSG_RENAME_VARIABLE_TITLE='Alle "%1" Variablen umbenennen in:';Blockly.LANG_COLOUR_PICKER_HELPURL="http://de.wikipedia.org/wiki/Farbe";
Blockly.LANG_COLOUR_PICKER_TOOLTIP="W\u00e4hlen eine Farbe von der Palette.";Blockly.LANG_COLOUR_RANDOM_HELPURL="http://randomcolour.com";Blockly.LANG_COLOUR_RANDOM_TITLE="random colour";Blockly.LANG_COLOUR_RANDOM_TOOLTIP="Choose a colour at random.";Blockly.LANG_COLOUR_RGB_HELPURL="http://de.wikipedia.org/wiki/RGB-Farbraum";Blockly.LANG_COLOUR_RGB_TITLE="Farbe mit";Blockly.LANG_COLOUR_RGB_RED="rot";Blockly.LANG_COLOUR_RGB_GREEN="gr\u00fcn";Blockly.LANG_COLOUR_RGB_BLUE="blau";
Blockly.LANG_COLOUR_RGB_TOOLTIP="Kreiere eine Farbe mit selbst definierten rot, gr\u00fcn\nund blau Werten. Alle Werte m\u00fcssen zwischen 0 und 100 liegen.";Blockly.LANG_COLOUR_BLEND_HELPURL="http://meyerweb.com/eric/tools/color-blend/";Blockly.LANG_COLOUR_BLEND_TITLE="mische";Blockly.LANG_COLOUR_BLEND_COLOUR1="Farbe 1";Blockly.LANG_COLOUR_BLEND_COLOUR2="mit Farbe 2";Blockly.LANG_COLOUR_BLEND_RATIO="im Verh\u00e4ltniss";Blockly.LANG_COLOUR_BLEND_TOOLTIP="Vermische 2 Farbe mit konfigurierbaren Farbverh\u00e4ltniss (0.0 - 1.0).";
Blockly.LANG_CONTROLS_IF_HELPURL="http://code.google.com/p/blockly/wiki/If_Then";Blockly.LANG_CONTROLS_IF_TOOLTIP_1="Wenn eine Bedingung wahr (true) ist, dann f\u00fchre eine Anweisung aus.";Blockly.LANG_CONTROLS_IF_TOOLTIP_2="Wenn eine Bedingung wahr (true) ist, dann f\u00fchre die erste Anweisung aus.\nAnsonsten f\u00fchre die zweite Anweisung aus.";Blockly.LANG_CONTROLS_IF_TOOLTIP_3="Wenn der erste Bedingung wahr (true) ist, dann f\u00fchre die erste Anweisung aus.\nOder wenn die zweite Bedingung wahr (true) ist, dann f\u00fchre die zweite Anweisung aus.";
Blockly.LANG_CONTROLS_IF_TOOLTIP_4="Wenn der erste Bedingung wahr (true) ist, dann f\u00fchre die erste Anweisung aus.\nOder wenn die zweite Bedingung wahr (true) ist, dann f\u00fchre die zweite Anweisung aus.\nFalls keine der beiden Bedingungen wahr (true) ist, dann f\u00fchre die dritte Anweisung aus.";Blockly.LANG_CONTROLS_IF_MSG_IF="wenn";Blockly.LANG_CONTROLS_IF_MSG_ELSEIF="oder wenn";Blockly.LANG_CONTROLS_IF_MSG_ELSE="oder";Blockly.LANG_CONTROLS_IF_MSG_THEN="mache";
Blockly.LANG_CONTROLS_IF_IF_TITLE_IF="wenn";Blockly.LANG_CONTROLS_IF_IF_TOOLTIP="Hinzuf\u00fcgen, entfernen oder sortieren von Sektionen";Blockly.LANG_CONTROLS_IF_ELSEIF_TITLE_ELSEIF="oder wenn";Blockly.LANG_CONTROLS_IF_ELSEIF_TOOLTIP="Eine weitere Bedingung hinzuf\u00fcgen.";Blockly.LANG_CONTROLS_IF_ELSE_TITLE_ELSE="oder";Blockly.LANG_CONTROLS_IF_ELSE_TOOLTIP="Eine oder Bedingung hinzuf\u00fcgen, f\u00fchrt eine Anweisung aus falls keine Bedingung zutrifft.";
Blockly.LANG_CONTROLS_REPEAT_HELPURL="http://de.wikipedia.org/wiki/For-Schleife";Blockly.LANG_CONTROLS_REPEAT_TITLE_REPEAT="wiederhole";Blockly.LANG_CONTROLS_REPEAT_TITLE_TIMES="mal";Blockly.LANG_CONTROLS_REPEAT_INPUT_DO="mache";Blockly.LANG_CONTROLS_REPEAT_TOOLTIP="Eine Anweisung mehrfach ausf\u00fchren.";Blockly.LANG_CONTROLS_WHILEUNTIL_HELPURL="http://de.wikipedia.org/wiki/Schleife_%28Programmierung%29";Blockly.LANG_CONTROLS_WHILEUNTIL_INPUT_DO="mache";
Blockly.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE="Wiederhole solange";Blockly.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL="Wiederhole bis";Blockly.LANG_CONTROLS_WHILEUNTIL_TOOLTIP_WHILE="F\u00fchre die Anweisung solange aus wie die Bedingung wahr (true) ist.";Blockly.LANG_CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL="F\u00fchre die Anweisung solange aus wie die Bedingung falsch (false) ist.";Blockly.LANG_CONTROLS_FOR_HELPURL="http://de.wikipedia.org/wiki/For-Schleif";Blockly.LANG_CONTROLS_FOR_INPUT_WITH="Z\u00e4hle";
Blockly.LANG_CONTROLS_FOR_INPUT_VAR="x";Blockly.LANG_CONTROLS_FOR_INPUT_FROM="von";Blockly.LANG_CONTROLS_FOR_INPUT_TO="bis";Blockly.LANG_CONTROLS_FOR_INPUT_DO="mache";Blockly.LANG_CONTROLS_FOR_TAIL="";Blockly.LANG_CONTROLS_FOR_TOOLTIP='Z\u00e4hle die Variable "%1" von einem Startwert\nbis zu einem Zielwert und f\u00fchre f\u00fcr jeden Wert\neine Anweisung aus.';Blockly.LANG_CONTROLS_FOREACH_HELPURL="http://de.wikipedia.org/wiki/For-Schleif";Blockly.LANG_CONTROLS_FOREACH_INPUT_ITEM="F\u00fcr Wert";
Blockly.LANG_CONTROLS_FOREACH_INPUT_VAR="x";Blockly.LANG_CONTROLS_FOREACH_INPUT_INLIST="aus der Liste";Blockly.LANG_CONTROLS_FOREACH_INPUT_INLIST_TAIL="";Blockly.LANG_CONTROLS_FOREACH_INPUT_DO="mache";Blockly.LANG_CONTROLS_FOREACH_TOOLTIP='F\u00fchre eine Anweisung f\u00fcr jeden Wert in der Liste aus\nund setzte dabei die Variable "%1" \nauf den aktuellen Listen Wert.';Blockly.LANG_CONTROLS_FLOW_STATEMENTS_HELPURL="http://de.wikipedia.org/wiki/Kontrollstruktur";
Blockly.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK="ausbrechen aus der Schleife";Blockly.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE="mit der n\u00e4chsten Iteration fortfahren aus der Schleife";Blockly.LANG_CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK="Die umgebene Schleife beenden.";Blockly.LANG_CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE="Diese Anweisung abbrechen\nund mit der n\u00e4chsten Schleifeniteration fortfahren.";Blockly.LANG_CONTROLS_FLOW_STATEMENTS_WARNING="Warnung:\nDiese block sollte\nnur in einer Schleife\nverwendet werden.";
Blockly.LANG_LOGIC_COMPARE_HELPURL="http://de.wikipedia.org/wiki/Vergleich_%28Zahlen%29";Blockly.LANG_LOGIC_COMPARE_TOOLTIP_EQ="Ist wahr (true) wenn beide Werte identisch sind.";Blockly.LANG_LOGIC_COMPARE_TOOLTIP_NEQ="Ist wahr (true) wenn beide Werte unterschiedlich sind.";Blockly.LANG_LOGIC_COMPARE_TOOLTIP_LT="Ist wahr (true) wenn der erste Wert kleiner als\nder zweite Wert ist.";Blockly.LANG_LOGIC_COMPARE_TOOLTIP_LTE="Ist wahr (true) wenn der erste Wert kleiner als\noder gleich gross wie zweite Wert ist.";
Blockly.LANG_LOGIC_COMPARE_TOOLTIP_GT="Ist wahr (true) wenn der erste Wert gr\u00f6sser als\nder zweite Wert ist.";Blockly.LANG_LOGIC_COMPARE_TOOLTIP_GTE="Ist wahr (true) wenn der erste Wert gr\u00f6sser als\noder gleich gross wie zweite Wert ist.";Blockly.LANG_LOGIC_OPERATION_HELPURL="http://code.google.com/p/blockly/wiki/And_Or";Blockly.LANG_LOGIC_OPERATION_AND="und";Blockly.LANG_LOGIC_OPERATION_OR="oder";Blockly.LANG_LOGIC_OPERATION_TOOLTIP_AND="Ist wahr (true) wenn beide Werte wahr (true) sind.";
Blockly.LANG_LOGIC_OPERATION_TOOLTIP_OR="Ist wahr (true) wenn einer der beiden Werte wahr (true) ist.";Blockly.LANG_LOGIC_NEGATE_HELPURL="http://code.google.com/p/blockly/wiki/Not";Blockly.LANG_LOGIC_NEGATE_INPUT_NOT="nicht";Blockly.LANG_LOGIC_NEGATE_TOOLTIP="Ist wahr (true) wenn der Eingabewert falsch (false) ist.\nIst falsch (false) wenn der Eingabewert wahr (true) ist.";Blockly.LANG_LOGIC_BOOLEAN_HELPURL="http://code.google.com/p/blockly/wiki/True_False";Blockly.LANG_LOGIC_BOOLEAN_TRUE="wahr";
Blockly.LANG_LOGIC_BOOLEAN_FALSE="falsch";Blockly.LANG_LOGIC_BOOLEAN_TOOLTIP="Ist entweder wahr (true) oder falsch (false)";Blockly.LANG_LOGIC_NULL_HELPURL="http://de.wikipedia.org/wiki/Nullwert";Blockly.LANG_LOGIC_NULL="null";Blockly.LANG_LOGIC_NULL_TOOLTIP="Ist NULL.";Blockly.LANG_LOGIC_TERNARY_HELPURL="http://de.wikipedia.org/wiki/%3F:#Auswahloperator";Blockly.LANG_LOGIC_TERNARY_CONDITION="test";Blockly.LANG_LOGIC_TERNARY_IF_TRUE="wenn wahr";Blockly.LANG_LOGIC_TERNARY_IF_FALSE="wenn falsch";
Blockly.LANG_LOGIC_TERNARY_TOOLTIP='\u00dcberpr\u00fcft eine Bedingung "test". Wenn die Bedingung wahr ist\nwird der "wenn wahr" Wert zur\u00fcckgegeben, andernfalls der "wenn falsch" Wert';Blockly.LANG_MATH_NUMBER_HELPURL="http://de.wikipedia.org/wiki/Zahl";Blockly.LANG_MATH_NUMBER_TOOLTIP="Eine Zahl.";Blockly.LANG_MATH_ARITHMETIC_HELPURL="http://de.wikipedia.org/wiki/Grundrechenart";Blockly.LANG_MATH_ARITHMETIC_TOOLTIP_ADD="Ist die Summe zweier Werte.";
Blockly.LANG_MATH_ARITHMETIC_TOOLTIP_MINUS="Ist die Differenz zweier Werte.";Blockly.LANG_MATH_ARITHMETIC_TOOLTIP_MULTIPLY="Ist das Produkt zweier Werte.";Blockly.LANG_MATH_ARITHMETIC_TOOLTIP_DIVIDE="Ist der Quotient zweier Werte.";Blockly.LANG_MATH_ARITHMETIC_TOOLTIP_POWER="Ist der erste Wert potenziert mit\ndem zweiten Wert.";Blockly.LANG_MATH_SINGLE_HELPURL="http://de.wikipedia.org/wiki/Quadratwurzel";Blockly.LANG_MATH_SINGLE_OP_ROOT="Quadratwurzel";Blockly.LANG_MATH_SINGLE_OP_ABSOLUTE="Absolutwert";
Blockly.LANG_MATH_SINGLE_TOOLTIP_ROOT="Ist die Qudratwurzel eines Wertes.";Blockly.LANG_MATH_SINGLE_TOOLTIP_ABS="Ist der Absolutwert eines Wertes.";Blockly.LANG_MATH_SINGLE_TOOLTIP_NEG="Negiert einen Wert.";Blockly.LANG_MATH_SINGLE_TOOLTIP_LN="Ist der nat\u00fcrliche Logarithmus eines Wertes.";Blockly.LANG_MATH_SINGLE_TOOLTIP_LOG10="Ist der dekadische Logarithmus eines Wertes.";Blockly.LANG_MATH_SINGLE_TOOLTIP_EXP="Ist Wert der Exponentialfunktion eines Wertes.";
Blockly.LANG_MATH_SINGLE_TOOLTIP_POW10="Rechnet 10 hoch Eingabewert.";Blockly.LANG_MATH_TRIG_HELPURL="http://de.wikipedia.org/wiki/Trigonometrie";Blockly.LANG_MATH_TRIG_TOOLTIP_SIN="Ist der Sinus eins Winkels.";Blockly.LANG_MATH_TRIG_TOOLTIP_COS="Ist der Cosinus eins Winkels.";Blockly.LANG_MATH_TRIG_TOOLTIP_TAN="Ist der Tangens eins Winkels.";Blockly.LANG_MATH_TRIG_TOOLTIP_ASIN="Ist der Arcussinus des Eingabewertes.";Blockly.LANG_MATH_TRIG_TOOLTIP_ACOS="Ist der Arcuscosinus des Eingabewertes.";
Blockly.LANG_MATH_TRIG_TOOLTIP_ATAN="Ist der Arcustangens des Eingabewertes.";Blockly.LANG_MATH_CONSTANT_HELPURL="http://de.wikipedia.org/wiki/Mathematische_Konstante";Blockly.LANG_MATH_CONSTANT_TOOLTIP="Mathematische Konstanten wie: \u03c0 (3.141\u2026), e (2.718\u2026), \u03c6 (1.618\u2026),\nsqrt(2) (1.414\u2026), sqrt(\u00bd) (0.707\u2026) oder \u221e (unendlich).";Blockly.LANG_MATH_IS_EVEN="ist gerade";Blockly.LANG_MATH_IS_ODD="ist ungerade";Blockly.LANG_MATH_IS_PRIME="ist eine Primenzahl";
Blockly.LANG_MATH_IS_WHOLE="ganze Zahl";Blockly.LANG_MATH_IS_POSITIVE="ist positiv";Blockly.LANG_MATH_IS_NEGATIVE="ist negativ";Blockly.LANG_MATH_IS_DIVISIBLE_BY="ist teilbar durch";Blockly.LANG_MATH_IS_TOOLTIP="\u00dcberpr\u00fcft ob eine Zahl gerade, ungerade, eine Primenzahl, ganzzahlig,\npositiv, negativ oder durch eine zweite Zahl teilbar ist.\nGibt wahr (true) oder falsch (false) zur\u00fcck.";Blockly.LANG_MATH_CHANGE_HELPURL="http://de.wikipedia.org/wiki/Inkrement_und_Dekrement";
Blockly.LANG_MATH_CHANGE_TITLE_CHANGE="erh\u00f6he";Blockly.LANG_MATH_CHANGE_TITLE_ITEM="Variable";Blockly.LANG_MATH_CHANGE_INPUT_BY="um";Blockly.LANG_MATH_CHANGE_TOOLTIP='Addiert einen Wert zur Variable "%1" hinzu.';Blockly.LANG_MATH_ROUND_HELPURL="http://de.wikipedia.org/wiki/Runden";Blockly.LANG_MATH_ROUND_TOOLTIP="Eine Zahl auf oder ab runden.";Blockly.LANG_MATH_ROUND_OPERATOR_ROUND="runden";Blockly.LANG_MATH_ROUND_OPERATOR_ROUNDUP="auf runden";Blockly.LANG_MATH_ROUND_OPERATOR_ROUNDDOWN="ab runden";
Blockly.LANG_MATH_ONLIST_HELPURL="http://www.sysplus.ch/einstieg.php?links=menu&seite=4125&grad=Crash&prog=Excel";Blockly.LANG_MATH_ONLIST_OPERATOR_SUM="Summme einer Liste";Blockly.LANG_MATH_ONLIST_OPERATOR_MIN="Minimalwert einer Liste";Blockly.LANG_MATH_ONLIST_OPERATOR_MAX="Maximalwert einer Liste";Blockly.LANG_MATH_ONLIST_OPERATOR_AVERAGE="Mittelwert einer Liste";Blockly.LANG_MATH_ONLIST_OPERATOR_MEDIAN="Median einer Liste";Blockly.LANG_MATH_ONLIST_OPERATOR_MODE="Modulo / Restwert einer Liste";
Blockly.LANG_MATH_ONLIST_OPERATOR_STD_DEV="Standart Abweichung einer Liste";Blockly.LANG_MATH_ONLIST_OPERATOR_RANDOM="Zufallswert einer Liste";Blockly.LANG_MATH_ONLIST_TOOLTIP_SUM="Ist die Summe aller Werte in einer Liste.";Blockly.LANG_MATH_ONLIST_TOOLTIP_MIN="Ist der kleinste Wert in einer Liste.";Blockly.LANG_MATH_ONLIST_TOOLTIP_MAX="Ist der gr\u00f6sste Wert in einer Liste.";Blockly.LANG_MATH_ONLIST_TOOLTIP_AVERAGE="Ist der Durchschnittswert aller Werte in einer Liste.";
Blockly.LANG_MATH_ONLIST_TOOLTIP_MEDIAN="Ist der Zentralwert aller Werte in einer Liste.";Blockly.LANG_MATH_ONLIST_TOOLTIP_MODE="Findet den am h\u00e4ufigsten vorkommenden Wert in einer Liste.\nFalls kein Wert \u00f6fter vorkomme als alle anderen,\nwird die originale Liste zur\u00fcckgegen";Blockly.LANG_MATH_ONLIST_TOOLTIP_STD_DEV="Ist die standartiesierte Standartabweichung aller Werte in der Liste";Blockly.LANG_MATH_ONLIST_TOOLTIP_RANDOM="Gebe einen Zufallswert aus der Liste zur\u00fcck.";
Blockly.LANG_MATH_MODULO_HELPURL="http://de.wikipedia.org/wiki/Modulo";Blockly.LANG_MATH_MODULO_INPUT_DIVIDEND="Rest von";Blockly.LANG_MATH_MODULO_TOOLTIP="Der Rest nach einer Division.";Blockly.LANG_MATH_CONSTRAIN_HELPURL="http://en.wikipedia.org/wiki/Clamping_%28graphics%29";Blockly.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN="begrenzen";Blockly.LANG_MATH_CONSTRAIN_INPUT_LOW="von";Blockly.LANG_MATH_CONSTRAIN_INPUT_HIGH="bis";Blockly.LANG_MATH_CONSTRAIN_TOOLTIP="Begrenzt den Wertebereich mittels von / bis Werte. (inklusiv)";
Blockly.LANG_MATH_RANDOM_INT_HELPURL="http://de.wikipedia.org/wiki/Zufallszahlen";Blockly.LANG_MATH_RANDOM_INT_INPUT_FROM="ganzahliger Zufallswerte zwischen";Blockly.LANG_MATH_RANDOM_INT_INPUT_TO="und";Blockly.LANG_MATH_RANDOM_INT_TOOLTIP="Erzeuge eine ganzahligen Zufallswert zwischen\nzwei Werten (inklusiv).";Blockly.LANG_MATH_RANDOM_FLOAT_HELPURL="http://de.wikipedia.org/wiki/Zufallszahlen";Blockly.LANG_MATH_RANDOM_FLOAT_TITLE_RANDOM="Zufallszahl (0.0 -1.0)";
Blockly.LANG_MATH_RANDOM_FLOAT_TOOLTIP="Erzeuge eine Zufallszahl\nzwischen 0.0 (inklusiv) und 1.0 (exklusiv).";Blockly.LANG_TEXT_TEXT_HELPURL="http://de.wikipedia.org/wiki/Zeichenkette";Blockly.LANG_TEXT_TEXT_TOOLTIP="Ein Buchstabe, Text oder Satz.";Blockly.LANG_TEXT_JOIN_HELPURL="";Blockly.LANG_TEXT_JOIN_TITLE_CREATEWITH="Erstelle Text aus";Blockly.LANG_TEXT_JOIN_TOOLTIP="Erstellt einen Text durch das verbinden\nvon mehreren Textelementen.";Blockly.LANG_TEXT_CREATE_JOIN_TITLE_JOIN="verbinden";
Blockly.LANG_TEXT_CREATE_JOIN_TOOLTIP="Hinzuf\u00fcgen, entfernen und sortieren von Elementen.";Blockly.LANG_TEXT_CREATE_JOIN_ITEM_TITLE_ITEM="Element";Blockly.LANG_TEXT_CREATE_JOIN_ITEM_TOOLTIP="Ein Element zum Text hinzuf\u00fcgen.";Blockly.LANG_TEXT_APPEND_HELPURL="http://www.liv.ac.uk/HPC/HTMLF90Course/HTMLF90CourseNotesnode91.html";Blockly.LANG_TEXT_APPEND_TO="An";Blockly.LANG_TEXT_APPEND_APPENDTEXT="Text anh\u00e4ngen";Blockly.LANG_TEXT_APPEND_VARIABLE="Variable";
Blockly.LANG_TEXT_APPEND_TOOLTIP='Text an die Variable "%1" anh\u00e4ngen.';Blockly.LANG_TEXT_LENGTH_HELPURL="http://www.liv.ac.uk/HPC/HTMLF90Course/HTMLF90CourseNotesnode91.html";Blockly.LANG_TEXT_LENGTH_INPUT_LENGTH="l\u00e4nge";Blockly.LANG_TEXT_LENGTH_TOOLTIP="Die Anzahl von Zeichen in einem Textes. (inkl. Leerzeichen)";Blockly.LANG_TEXT_ISEMPTY_HELPURL="http://www.liv.ac.uk/HPC/HTMLF90Course/HTMLF90CourseNotesnode91.html";Blockly.LANG_TEXT_ISEMPTY_INPUT_ISEMPTY="ist leer?";
Blockly.LANG_TEXT_ISEMPTY_TOOLTIP="Ist wahr (true), wenn der Text leer ist.";Blockly.LANG_TEXT_INDEXOF_HELPURL="http://publib.boulder.ibm.com/infocenter/lnxpcomp/v8v101/index.jsp?topic=%2Fcom.ibm.xlcpp8l.doc%2Flanguage%2Fref%2Farsubex.htm";Blockly.LANG_TEXT_INDEXOF_INPUT_INTEXT="im Text";Blockly.LANG_TEXT_INDEXOF_OPERATOR_FIRST="Suche erstes Vorkommniss des Begriff";Blockly.LANG_TEXT_INDEXOF_OPERATOR_LAST="Suche letztes Vorkommniss des Begriff";Blockly.LANG_TEXT_INDEXOF_TOOLTIP="Findest das erste / letzte Vorkommniss\neines cuchbegriffes in einem Text.\nGibt die Position des Begriffes oder 0 zur\u00fcck.";
Blockly.LANG_TEXT_CHARAT_HELPURL="http://publib.boulder.ibm.com/infocenter/lnxpcomp/v8v101/index.jsp?topic=%2Fcom.ibm.xlcpp8l.doc%2Flanguage%2Fref%2Farsubex.htm";Blockly.LANG_TEXT_CHARAT_INPUT_INTEXT="vom Text";Blockly.LANG_TEXT_CHARAT_FROM_START="Nehme Buchstabe #ten";Blockly.LANG_TEXT_CHARAT_FROM_END="Nehme #te Buchstabe von hinten";Blockly.LANG_TEXT_CHARAT_FIRST="Nehme ersten Buchstabe";Blockly.LANG_TEXT_CHARAT_LAST="Nehme letzten Buchstabe";Blockly.LANG_TEXT_CHARAT_RANDOM="Nehme zuf\u00e4lligen Buchstabe";
Blockly.LANG_TEXT_CHARAT_TOOLTIP="Extrahiere einen Buchstaben von einer spezifizierten Position.";Blockly.LANG_TEXT_SUBSTRING_HELPURL="http://publib.boulder.ibm.com/infocenter/lnxpcomp/v8v101/index.jsp?topic=%2Fcom.ibm.xlcpp8l.doc%2Flanguage%2Fref%2Farsubex.htm";Blockly.LANG_TEXT_SUBSTRING_INPUT_IN_TEXT="in text";Blockly.LANG_TEXT_SUBSTRING_INPUT_AT1="get substring from";Blockly.LANG_TEXT_SUBSTRING_INPUT_AT2="to";Blockly.LANG_TEXT_SUBSTRING_FROM_START="Buchstabe #ten";
Blockly.LANG_TEXT_SUBSTRING_FROM_END="#te Buchstabe von hinten";Blockly.LANG_TEXT_SUBSTRING_FIRST="ersten Buchstabe";Blockly.LANG_TEXT_SUBSTRING_LAST="letzten Buchstabe";Blockly.LANG_TEXT_SUBSTRING_TOOLTIP="Returns a specified portion of the text.";Blockly.LANG_TEXT_CHANGECASE_HELPURL="http://www.liv.ac.uk/HPC/HTMLF90Course/HTMLF90CourseNotesnode91.html";Blockly.LANG_TEXT_CHANGECASE_OPERATOR_UPPERCASE="umwandeln in GROSSBUCHSTABEN";Blockly.LANG_TEXT_CHANGECASE_OPERATOR_LOWERCASE="umwandeln in kleinbuchstaben";
Blockly.LANG_TEXT_CHANGECASE_OPERATOR_TITLECASE="umwandeln in W\u00f6rter";Blockly.LANG_TEXT_CHANGECASE_TOOLTIP="Wandelt Schreibweise von Texten um,\nin Grossbuchstaben, Kleinbuchstaben oder\nden ersten Buchstaben jedes Wortes gross und die anderen klein.";Blockly.LANG_TEXT_TRIM_HELPURL="http://www.liv.ac.uk/HPC/HTMLF90Course/HTMLF90CourseNotesnode91.html";Blockly.LANG_TEXT_TRIM_OPERATOR_BOTH="entferne Leerzeichen von Anfang und Ende Seiten";Blockly.LANG_TEXT_TRIM_OPERATOR_LEFT="entferne Leerzeichen von Anfang Seite";
Blockly.LANG_TEXT_TRIM_OPERATOR_RIGHT="entferne Leerzeichen von Ende Seite";Blockly.LANG_TEXT_TRIM_TOOLTIP="Entfernt Leerzeichen vom Anfang und / oder Ende\neines Textes.";Blockly.LANG_TEXT_PRINT_HELPURL="http://www.liv.ac.uk/HPC/HTMLF90Course/HTMLF90CourseNotesnode91.html";Blockly.LANG_TEXT_PRINT_TITLE_PRINT="Ausgabe";Blockly.LANG_TEXT_PRINT_TOOLTIP="Gib den Inhalt einer Variable aus.";Blockly.LANG_TEXT_PROMPT_HELPURL="http://www.liv.ac.uk/HPC/HTMLF90Course/HTMLF90CourseNotesnode92.html";
Blockly.LANG_TEXT_PROMPT_TYPE_TEXT="Fragt nach Text mit Hinweis";Blockly.LANG_TEXT_PROMPT_TYPE_NUMBER="Fragt nach Zahl mit Hinweis";Blockly.LANG_TEXT_PROMPT_TOOLTIP_NUMBER="Fragt den Benutzer nach ein Zahl.";Blockly.LANG_TEXT_PROMPT_TOOLTIP_TEXT="Fragt den Benutzer nach einem Text.";Blockly.LANG_LISTS_CREATE_EMPTY_HELPURL="http://en.wikipedia.org/wiki/Linked_list#Empty_lists";Blockly.LANG_LISTS_CREATE_EMPTY_TITLE="Erzeuge eine leere Liste";Blockly.LANG_LISTS_CREATE_EMPTY_TOOLTIP="Erzeugt eine leere Liste ohne Inhalt.";
Blockly.LANG_LISTS_CREATE_WITH_INPUT_WITH="Erzeuge Liste mit";Blockly.LANG_LISTS_CREATE_WITH_TOOLTIP="Erzeugt eine List mit konfigurierten Elementen.";Blockly.LANG_LISTS_CREATE_WITH_CONTAINER_TITLE_ADD="Liste";Blockly.LANG_LISTS_CREATE_WITH_CONTAINER_TOOLTIP="Hinzuf\u00fcgen, entfernen und sortieren von Elementen.";Blockly.LANG_LISTS_CREATE_WITH_ITEM_TITLE="Element";Blockly.LANG_LISTS_CREATE_WITH_ITEM_TOOLTIP="Ein Element zur Liste hinzuf\u00fcgen.";Blockly.LANG_LISTS_REPEAT_HELPURL="http://publib.boulder.ibm.com/infocenter/lnxpcomp/v8v101/index.jsp?topic=%2Fcom.ibm.xlcpp8l.doc%2Flanguage%2Fref%2Farsubex.htm";
Blockly.LANG_LISTS_REPEAT_INPUT_WITH="Erzeuge Liste mit Element";Blockly.LANG_LISTS_REPEAT_INPUT_REPEATED="wiederhole es";Blockly.LANG_LISTS_REPEAT_INPUT_TIMES="mal";Blockly.LANG_LISTS_REPEAT_TOOLTIP="Erzeugt eine Liste mit einer variablen\nAnzahl von Elementen";Blockly.LANG_LISTS_LENGTH_HELPURL="http://www.liv.ac.uk/HPC/HTMLF90Course/HTMLF90CourseNotesnode91.html";Blockly.LANG_LISTS_LENGTH_INPUT_LENGTH="l\u00e4nge";Blockly.LANG_LISTS_LENGTH_TOOLTIP="Die Anzahl von Elementen in der Liste.";
Blockly.LANG_LISTS_IS_EMPTY_HELPURL="http://www.liv.ac.uk/HPC/HTMLF90Course/HTMLF90CourseNotesnode91.html";Blockly.LANG_LISTS_INPUT_IS_EMPTY="ist leer?";Blockly.LANG_LISTS_TOOLTIP="Ist wahr (true), wenn die Liste leer ist.";Blockly.LANG_LISTS_INDEX_OF_HELPURL="http://publib.boulder.ibm.com/infocenter/lnxpcomp/v8v101/index.jsp?topic=%2Fcom.ibm.xlcpp8l.doc%2Flanguage%2Fref%2Farsubex.htm";Blockly.LANG_LISTS_INDEX_OF_INPUT_IN_LIST="in der Liste";Blockly.LANG_LISTS_INDEX_OF_FIRST="Suche erstes Vorkommniss";
Blockly.LANG_LISTS_INDEX_OF_LAST="Suche letztes Vorkommniss";Blockly.LANG_LISTS_INDEX_OF_TOOLTIP="Sucht die Position (index) eines Elementes in der Liste\nGibt 0 zur\u00fcck wenn nichts gefunden wurde.";Blockly.LANG_LISTS_GET_INDEX_HELPURL="http://publib.boulder.ibm.com/infocenter/lnxpcomp/v8v101/index.jsp?topic=%2Fcom.ibm.xlcpp8l.doc%2Flanguage%2Fref%2Farsubex.htm";Blockly.LANG_LISTS_GET_INDEX_GET="Nehme";Blockly.LANG_LISTS_GET_INDEX_GET_REMOVE="Nehme und entferne";
Blockly.LANG_LISTS_GET_INDEX_REMOVE="Entferne";Blockly.LANG_LISTS_GET_INDEX_FROM_START="#te";Blockly.LANG_LISTS_GET_INDEX_FROM_END="#te von hinten";Blockly.LANG_LISTS_GET_INDEX_FIRST="erste";Blockly.LANG_LISTS_GET_INDEX_LAST="letzte";Blockly.LANG_LISTS_GET_INDEX_RANDOM="zuf\u00e4lliges";Blockly.LANG_LISTS_GET_INDEX_INPUT_IN_LIST="Element von der Liste";Blockly.LANG_LISTS_GET_INDEX_TOOLTIP_GET_FROM_START="Extrahiere das #1te Element von der Liste.";
Blockly.LANG_LISTS_GET_INDEX_TOOLTIP_GET_FROM_END="Extrahiere das #1te Element vom Ende der Liste.";Blockly.LANG_LISTS_GET_INDEX_TOOLTIP_GET_FIRST="Extrahiere das erste Element von der Liste.";Blockly.LANG_LISTS_GET_INDEX_TOOLTIP_GET_LAST="Extrahiere das letzte Element von der Liste.";Blockly.LANG_LISTS_GET_INDEX_TOOLTIP_GET_RANDOM="Extrahiere ein zuf\u00e4lliges Element von der Liste.";Blockly.LANG_LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM_START="Extrahiere und entfernt das #1te Element von der Liste.";
Blockly.LANG_LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM_END="Extrahiere und entfernt das #1te Element vom Ende der Liste.";Blockly.LANG_LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST="Extrahiere und entfernt das erste Element von der Liste.";Blockly.LANG_LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST="Extrahiere und entfernt das letzte Element von der Liste.";Blockly.LANG_LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM="Extrahiere und entfernt ein zuf\u00e4lliges Element von der Liste.";
Blockly.LANG_LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM_START="Entfernt das #1te Element von der Liste.";Blockly.LANG_LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM_END="Entfernt das #1te Element vom Ende der Liste.";Blockly.LANG_LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST="Entfernt das erste Element von der Liste.";Blockly.LANG_LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST="Entfernt das letzte Element von der Liste.";Blockly.LANG_LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM="Entfernt ein zuf\u00e4lliges Element von der Liste.";
Blockly.LANG_LISTS_SET_INDEX_HELPURL="http://publib.boulder.ibm.com/infocenter/lnxpcomp/v8v101/index.jsp?topic=%2Fcom.ibm.xlcpp8l.doc%2Flanguage%2Fref%2Farsubex.htm";Blockly.LANG_LISTS_SET_INDEX_INPUT_IN_LIST="in list";Blockly.LANG_LISTS_SET_INDEX_SET="set";Blockly.LANG_LISTS_SET_INDEX_INSERT="insert";Blockly.LANG_LISTS_SET_INDEX_INPUT_TO="auf";Blockly.LANG_LISTS_SET_INDEX_TOOLTIP_SET_FROM_START="Sets the item at the specified position in a list.\n#1 is the first item.";
Blockly.LANG_LISTS_SET_INDEX_TOOLTIP_SET_FROM_END="Sets the item at the specified position in a list.\n#1 is the last item.";Blockly.LANG_LISTS_SET_INDEX_TOOLTIP_SET_FIRST="Sets the first item in a list.";Blockly.LANG_LISTS_SET_INDEX_TOOLTIP_SET_LAST="Sets the last item in a list.";Blockly.LANG_LISTS_SET_INDEX_TOOLTIP_SET_RANDOM="Sets a random item in a list.";Blockly.LANG_LISTS_SET_INDEX_TOOLTIP_INSERT_FROM_START="Inserts the item at the specified position in a list.\n#1 is the first item.";
Blockly.LANG_LISTS_SET_INDEX_TOOLTIP_INSERT_FROM_END="Inserts the item at the specified position in a list.\n#1 is the last item.";Blockly.LANG_LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST="Inserts the item at the start of a list.";Blockly.LANG_LISTS_SET_INDEX_TOOLTIP_INSERT_LAST="Append the item to the end of a list.";Blockly.LANG_LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM="Inserts the item randomly in a list.";Blockly.LANG_LISTS_GET_SUBLIST_HELPURL="http://publib.boulder.ibm.com/infocenter/lnxpcomp/v8v101/index.jsp?topic=%2Fcom.ibm.xlcpp8l.doc%2Flanguage%2Fref%2Farsubex.htm";
Blockly.LANG_LISTS_GET_SUBLIST_INPUT_IN_LIST="in list";Blockly.LANG_LISTS_GET_SUBLIST_INPUT_AT1="get sub-list from";Blockly.LANG_LISTS_GET_SUBLIST_INPUT_AT2="to";Blockly.LANG_LISTS_GET_SUBLIST_TOOLTIP="Creates a copy of the specified portion of a list.";Blockly.LANG_VARIABLES_GET_HELPURL="http://de.wikipedia.org/wiki/Variable_%28Programmierung%29";Blockly.LANG_VARIABLES_GET_TITLE="Lese";Blockly.LANG_VARIABLES_GET_ITEM="Variable";Blockly.LANG_VARIABLES_GET_TOOLTIP="Gibt den Wert der Variable zur\u00fcck.";
Blockly.LANG_VARIABLES_GET_CREATE_SET='Erzeuge "Schreibe %1"';Blockly.LANG_VARIABLES_SET_HELPURL="http://de.wikipedia.org/wiki/Variable_%28Programmierung%29";Blockly.LANG_VARIABLES_SET_TITLE="Schreibe";Blockly.LANG_VARIABLES_SET_ITEM="Variable";Blockly.LANG_VARIABLES_SET_TOOLTIP="Setzt den Wert einer Variable.";Blockly.LANG_VARIABLES_SET_CREATE_GET='Erzeuge "Lese %1"';Blockly.LANG_PROCEDURES_DEFNORETURN_HELPURL="http://de.wikipedia.org/wiki/Prozedur_%28Programmierung%29";
Blockly.LANG_PROCEDURES_DEFNORETURN_PROCEDURE="Funktionsblock";Blockly.LANG_PROCEDURES_DEFNORETURN_DO="mache";Blockly.LANG_PROCEDURES_DEFNORETURN_TOOLTIP="Ein Funktionsblock ohne R\u00fcckgabewert.";Blockly.LANG_PROCEDURES_DEFRETURN_HELPURL="http://de.wikipedia.org/wiki/Prozedur_%28Programmierung%29";Blockly.LANG_PROCEDURES_DEFRETURN_PROCEDURE=Blockly.LANG_PROCEDURES_DEFNORETURN_PROCEDURE;Blockly.LANG_PROCEDURES_DEFRETURN_DO=Blockly.LANG_PROCEDURES_DEFNORETURN_DO;
Blockly.LANG_PROCEDURES_DEFRETURN_RETURN="gebe zur\u00fcck";Blockly.LANG_PROCEDURES_DEFRETURN_TOOLTIP="Ein Funktionsblock mit R\u00fcckgabewert.";Blockly.LANG_PROCEDURES_DEF_DUPLICATE_WARNING="Warnung:\ndieser Funktionsblock\nhat doppelte Parameter.";Blockly.LANG_PROCEDURES_CALLNORETURN_HELPURL="http://de.wikipedia.org/wiki/Prozedur_%28Programmierung%29";Blockly.LANG_PROCEDURES_CALLNORETURN_CALL="Aufruf";Blockly.LANG_PROCEDURES_CALLNORETURN_PROCEDURE="Funktionsblock";
Blockly.LANG_PROCEDURES_CALLNORETURN_TOOLTIP="Rufe einen Funktionsblock ohne R\u00fcckgabewert auf.";Blockly.LANG_PROCEDURES_CALLRETURN_HELPURL="http://de.wikipedia.org/wiki/Prozedur_%28Programmierung%29";Blockly.LANG_PROCEDURES_CALLRETURN_CALL=Blockly.LANG_PROCEDURES_CALLNORETURN_CALL;Blockly.LANG_PROCEDURES_CALLRETURN_PROCEDURE=Blockly.LANG_PROCEDURES_CALLNORETURN_PROCEDURE;Blockly.LANG_PROCEDURES_CALLRETURN_TOOLTIP="Rufe einen Funktionsblock mit R\u00fcckgabewert auf.";
Blockly.LANG_PROCEDURES_MUTATORCONTAINER_TITLE="Parameter";Blockly.LANG_PROCEDURES_MUTATORARG_TITLE="Variable:";Blockly.LANG_PROCEDURES_HIGHLIGHT_DEF="Markiere Funktionsblock";Blockly.LANG_PROCEDURES_CREATE_DO='Erzeuge "Aufruf %1"';Blockly.LANG_PROCEDURES_IFRETURN_TOOLTIP="Wenn der erste Wert wahr (true) ist,\nGebe den zweiten Wert zur\u00fcck.";Blockly.LANG_PROCEDURES_IFRETURN_WARNING="Warnung:\nDieser Block darf nur\ninnerhalb eines Funktionsblock\ngenutzt werden.";Blockly.Language.colour_picker={helpUrl:Blockly.LANG_COLOUR_PICKER_HELPURL,init:function(){this.setColour(20);this.appendDummyInput().appendTitle(new Blockly.FieldColour("#ff0000"),"COLOUR");this.setOutput(!0,"Colour");this.setTooltip(Blockly.LANG_COLOUR_PICKER_TOOLTIP)}};Blockly.Language.colour_random={helpUrl:Blockly.LANG_COLOUR_RANDOM_HELPURL,init:function(){this.setColour(20);this.appendDummyInput().appendTitle(Blockly.LANG_COLOUR_RANDOM_TITLE);this.setOutput(!0,"Colour");this.setTooltip(Blockly.LANG_COLOUR_RANDOM_TOOLTIP)}};
Blockly.Language.colour_rgb={helpUrl:Blockly.LANG_COLOUR_RGB_HELPURL,init:function(){this.setColour(20);this.appendValueInput("RED").setCheck(Number).setAlign(Blockly.ALIGN_RIGHT).appendTitle(Blockly.LANG_COLOUR_RGB_TITLE).appendTitle(Blockly.LANG_COLOUR_RGB_RED);this.appendValueInput("GREEN").setCheck(Number).setAlign(Blockly.ALIGN_RIGHT).appendTitle(Blockly.LANG_COLOUR_RGB_GREEN);this.appendValueInput("BLUE").setCheck(Number).setAlign(Blockly.ALIGN_RIGHT).appendTitle(Blockly.LANG_COLOUR_RGB_BLUE);
this.setOutput(!0,"Colour");this.setTooltip(Blockly.LANG_COLOUR_RGB_TOOLTIP)}};
Blockly.Language.colour_blend={helpUrl:Blockly.LANG_COLOUR_BLEND_HELPURL,init:function(){this.setColour(20);this.appendValueInput("COLOUR1").setCheck("Colour").setAlign(Blockly.ALIGN_RIGHT).appendTitle(Blockly.LANG_COLOUR_BLEND_TITLE).appendTitle(Blockly.LANG_COLOUR_BLEND_COLOUR1);this.appendValueInput("COLOUR2").setCheck("Colour").setAlign(Blockly.ALIGN_RIGHT).appendTitle(Blockly.LANG_COLOUR_BLEND_COLOUR2);this.appendValueInput("RATIO").setCheck(Number).setAlign(Blockly.ALIGN_RIGHT).appendTitle(Blockly.LANG_COLOUR_BLEND_RATIO);this.setOutput(!0,
"Colour");this.setTooltip(Blockly.LANG_COLOUR_BLEND_TOOLTIP)}};Blockly.Language.controls_if={helpUrl:Blockly.LANG_CONTROLS_IF_HELPURL,init:function(){this.setColour(120);this.appendValueInput("IF0").setCheck(Boolean).appendTitle(Blockly.LANG_CONTROLS_IF_MSG_IF);this.appendStatementInput("DO0").appendTitle(Blockly.LANG_CONTROLS_IF_MSG_THEN);this.setPreviousStatement(!0);this.setNextStatement(!0);this.setMutator(new Blockly.Mutator(["controls_if_elseif","controls_if_else"]));var a=this;this.setTooltip(function(){return!a.elseifCount_&&!a.elseCount_?Blockly.LANG_CONTROLS_IF_TOOLTIP_1:
!a.elseifCount_&&a.elseCount_?Blockly.LANG_CONTROLS_IF_TOOLTIP_2:a.elseifCount_&&!a.elseCount_?Blockly.LANG_CONTROLS_IF_TOOLTIP_3:a.elseifCount_&&a.elseCount_?Blockly.LANG_CONTROLS_IF_TOOLTIP_4:""});this.elseCount_=this.elseifCount_=0},mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var a=document.createElement("mutation");this.elseifCount_&&a.setAttribute("elseif",this.elseifCount_);this.elseCount_&&a.setAttribute("else",1);return a},domToMutation:function(a){this.elseifCount_=
window.parseInt(a.getAttribute("elseif"),10);this.elseCount_=window.parseInt(a.getAttribute("else"),10);for(a=1;a<=this.elseifCount_;a++)this.appendValueInput("IF"+a).setCheck(Boolean).appendTitle(Blockly.LANG_CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+a).appendTitle(Blockly.LANG_CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendTitle(Blockly.LANG_CONTROLS_IF_MSG_ELSE)},decompose:function(a){var b=new Blockly.Block(a,"controls_if_if");b.initSvg();for(var c=
b.getInput("STACK").connection,d=1;d<=this.elseifCount_;d++){var e=new Blockly.Block(a,"controls_if_elseif");e.initSvg();c.connect(e.previousConnection);c=e.nextConnection}this.elseCount_&&(a=new Blockly.Block(a,"controls_if_else"),a.initSvg(),c.connect(a.previousConnection));return b},compose:function(a){this.elseCount_&&this.removeInput("ELSE");this.elseCount_=0;for(var b=this.elseifCount_;0<b;b--)this.removeInput("IF"+b),this.removeInput("DO"+b);this.elseifCount_=0;for(a=a.getInputTargetBlock("STACK");a;){switch(a.type){case "controls_if_elseif":this.elseifCount_++;
var b=this.appendValueInput("IF"+this.elseifCount_).setCheck(Boolean).appendTitle(Blockly.LANG_CONTROLS_IF_MSG_ELSEIF),c=this.appendStatementInput("DO"+this.elseifCount_);c.appendTitle(Blockly.LANG_CONTROLS_IF_MSG_THEN);a.valueConnection_&&b.connection.connect(a.valueConnection_);a.statementConnection_&&c.connection.connect(a.statementConnection_);break;case "controls_if_else":this.elseCount_++;b=this.appendStatementInput("ELSE");b.appendTitle(Blockly.LANG_CONTROLS_IF_MSG_ELSE);a.statementConnection_&&
b.connection.connect(a.statementConnection_);break;default:throw"Unknown block type.";}a=a.nextConnection&&a.nextConnection.targetBlock()}},saveConnections:function(a){a=a.getInputTargetBlock("STACK");for(var b=1;a;){switch(a.type){case "controls_if_elseif":var c=this.getInput("IF"+b),d=this.getInput("DO"+b);a.valueConnection_=c&&c.connection.targetConnection;a.statementConnection_=d&&d.connection.targetConnection;b++;break;case "controls_if_else":d=this.getInput("ELSE");a.statementConnection_=d&&
d.connection.targetConnection;break;default:throw"Unknown block type.";}a=a.nextConnection&&a.nextConnection.targetBlock()}}};Blockly.Language.controls_if_if={init:function(){this.setColour(120);this.appendDummyInput().appendTitle(Blockly.LANG_CONTROLS_IF_IF_TITLE_IF);this.appendStatementInput("STACK");this.setTooltip(Blockly.LANG_CONTROLS_IF_IF_TOOLTIP);this.contextMenu=!1}};
Blockly.Language.controls_if_elseif={init:function(){this.setColour(120);this.appendDummyInput().appendTitle(Blockly.LANG_CONTROLS_IF_ELSEIF_TITLE_ELSEIF);this.setPreviousStatement(!0);this.setNextStatement(!0);this.setTooltip(Blockly.LANG_CONTROLS_IF_ELSEIF_TOOLTIP);this.contextMenu=!1}};
Blockly.Language.controls_if_else={init:function(){this.setColour(120);this.appendDummyInput().appendTitle(Blockly.LANG_CONTROLS_IF_ELSE_TITLE_ELSE);this.setPreviousStatement(!0);this.setTooltip(Blockly.LANG_CONTROLS_IF_ELSE_TOOLTIP);this.contextMenu=!1}};
Blockly.Language.controls_repeat={helpUrl:Blockly.LANG_CONTROLS_REPEAT_HELPURL,init:function(){this.setColour(120);this.appendDummyInput().appendTitle(Blockly.LANG_CONTROLS_REPEAT_TITLE_REPEAT).appendTitle(new Blockly.FieldTextInput("10",Blockly.FieldTextInput.nonnegativeIntegerValidator),"TIMES").appendTitle(Blockly.LANG_CONTROLS_REPEAT_TITLE_TIMES);this.appendStatementInput("DO").appendTitle(Blockly.LANG_CONTROLS_REPEAT_INPUT_DO);this.setPreviousStatement(!0);this.setNextStatement(!0);this.setTooltip(Blockly.LANG_CONTROLS_REPEAT_TOOLTIP)}};
Blockly.Language.controls_whileUntil={helpUrl:Blockly.LANG_CONTROLS_WHILEUNTIL_HELPURL,init:function(){this.setColour(120);this.appendValueInput("BOOL").setCheck(Boolean).appendTitle(new Blockly.FieldDropdown(this.OPERATORS),"MODE");this.appendStatementInput("DO").appendTitle(Blockly.LANG_CONTROLS_WHILEUNTIL_INPUT_DO);this.setPreviousStatement(!0);this.setNextStatement(!0);var a=this;this.setTooltip(function(){var b=a.getTitleValue("MODE");return a.TOOLTIPS[b]})}};
Blockly.Language.controls_whileUntil.OPERATORS=[[Blockly.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[Blockly.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]];Blockly.Language.controls_whileUntil.TOOLTIPS={WHILE:Blockly.LANG_CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:Blockly.LANG_CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL};
Blockly.Language.controls_for={helpUrl:Blockly.LANG_CONTROLS_FOR_HELPURL,init:function(){this.setColour(120);this.appendDummyInput().appendTitle(Blockly.LANG_CONTROLS_FOR_INPUT_WITH).appendTitle(new Blockly.FieldVariable(null),"VAR");this.appendValueInput("FROM").setCheck(Number).setAlign(Blockly.ALIGN_RIGHT).appendTitle(Blockly.LANG_CONTROLS_FOR_INPUT_FROM);this.appendValueInput("TO").setCheck(Number).setAlign(Blockly.ALIGN_RIGHT).appendTitle(Blockly.LANG_CONTROLS_FOR_INPUT_TO);Blockly.LANG_CONTROLS_FOR_TAIL&&
this.appendDummyInput().appendTitle(Blockly.LANG_CONTROLS_FOR_TAIL);this.appendStatementInput("DO").appendTitle(Blockly.LANG_CONTROLS_FOR_INPUT_DO);this.setPreviousStatement(!0);this.setNextStatement(!0);this.setInputsInline(!0);var a=this;this.setTooltip(function(){return Blockly.LANG_CONTROLS_FOR_TOOLTIP.replace("%1",a.getTitleValue("VAR"))})},getVars:function(){return[this.getTitleValue("VAR")]},renameVar:function(a,b){Blockly.Names.equals(a,this.getTitleValue("VAR"))&&this.setTitleValue(b,"VAR")},
customContextMenu:function(a){var b={enabled:!0},c=this.getTitleValue("VAR");b.text=Blockly.LANG_VARIABLES_SET_CREATE_GET.replace("%1",c);c=goog.dom.createDom("title",null,c);c.setAttribute("name","VAR");c=goog.dom.createDom("block",null,c);c.setAttribute("type","variables_get");b.callback=Blockly.ContextMenu.callbackFactory(this,c);a.push(b)}};
Blockly.Language.controls_forEach={helpUrl:Blockly.LANG_CONTROLS_FOREACH_HELPURL,init:function(){this.setColour(120);this.appendValueInput("LIST").setCheck(Array).appendTitle(Blockly.LANG_CONTROLS_FOREACH_INPUT_ITEM).appendTitle(new Blockly.FieldVariable(null),"VAR").appendTitle(Blockly.LANG_CONTROLS_FOREACH_INPUT_INLIST);Blockly.LANG_CONTROLS_FOREACH_INPUT_INLIST_TAIL&&(this.appendDummyInput().appendTitle(Blockly.LANG_CONTROLS_FOREACH_INPUT_INLIST_TAIL),this.setInputsInline(!0));this.appendStatementInput("DO").appendTitle(Blockly.LANG_CONTROLS_FOREACH_INPUT_DO);
this.setPreviousStatement(!0);this.setNextStatement(!0);var a=this;this.setTooltip(function(){return Blockly.LANG_CONTROLS_FOREACH_TOOLTIP.replace("%1",a.getTitleValue("VAR"))})},getVars:function(){return[this.getTitleValue("VAR")]},renameVar:function(a,b){Blockly.Names.equals(a,this.getTitleValue("VAR"))&&this.setTitleValue(b,"VAR")},customContextMenu:Blockly.Language.controls_for.customContextMenu};
Blockly.Language.controls_flow_statements={helpUrl:Blockly.LANG_CONTROLS_FLOW_STATEMENTS_HELPURL,init:function(){this.setColour(120);this.appendDummyInput().appendTitle(new Blockly.FieldDropdown(this.OPERATORS),"FLOW");this.setPreviousStatement(!0);var a=this;this.setTooltip(function(){var b=a.getTitleValue("FLOW");return a.TOOLTIPS[b]})},onchange:function(){if(this.workspace){var a=!1,b=this;do{if("controls_repeat"==b.type||"controls_forEach"==b.type||"controls_for"==b.type||"controls_whileUntil"==
b.type){a=!0;break}b=b.getSurroundParent()}while(b);a?this.setWarningText(null):this.setWarningText(Blockly.LANG_CONTROLS_FLOW_STATEMENTS_WARNING)}}};Blockly.Language.controls_flow_statements.OPERATORS=[[Blockly.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[Blockly.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];Blockly.Language.controls_flow_statements.TOOLTIPS={BREAK:Blockly.LANG_CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK,CONTINUE:Blockly.LANG_CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE};Blockly.Language.lists_create_empty={helpUrl:Blockly.LANG_LISTS_CREATE_EMPTY_HELPURL,init:function(){this.setColour(210);this.setOutput(!0,Array);this.appendDummyInput().appendTitle(Blockly.LANG_LISTS_CREATE_EMPTY_TITLE);this.setTooltip(Blockly.LANG_LISTS_CREATE_EMPTY_TOOLTIP)}};
Blockly.Language.lists_create_with={helpUrl:"",init:function(){this.setColour(210);this.appendValueInput("ADD0").appendTitle(Blockly.LANG_LISTS_CREATE_WITH_INPUT_WITH);this.appendValueInput("ADD1");this.appendValueInput("ADD2");this.setOutput(!0,Array);this.setMutator(new Blockly.Mutator(["lists_create_with_item"]));this.setTooltip(Blockly.LANG_LISTS_CREATE_WITH_TOOLTIP);this.itemCount_=3},mutationToDom:function(){var a=document.createElement("mutation");a.setAttribute("items",this.itemCount_);return a},
domToMutation:function(a){for(var b=0;b<this.itemCount_;b++)this.removeInput("ADD"+b);this.itemCount_=window.parseInt(a.getAttribute("items"),10);for(b=0;b<this.itemCount_;b++)a=this.appendValueInput("ADD"+b),0==b&&a.appendTitle(Blockly.LANG_LISTS_CREATE_WITH_INPUT_WITH);0==this.itemCount_&&this.appendDummyInput("EMPTY").appendTitle(Blockly.LANG_LISTS_CREATE_EMPTY_TITLE)},decompose:function(a){var b=new Blockly.Block(a,"lists_create_with_container");b.initSvg();for(var c=b.getInput("STACK").connection,
d=0;d<this.itemCount_;d++){var e=new Blockly.Block(a,"lists_create_with_item");e.initSvg();c.connect(e.previousConnection);c=e.nextConnection}return b},compose:function(a){if(0==this.itemCount_)this.removeInput("EMPTY");else for(var b=this.itemCount_-1;0<=b;b--)this.removeInput("ADD"+b);this.itemCount_=0;for(a=a.getInputTargetBlock("STACK");a;)b=this.appendValueInput("ADD"+this.itemCount_),0==this.itemCount_&&b.appendTitle(Blockly.LANG_LISTS_CREATE_WITH_INPUT_WITH),a.valueConnection_&&b.connection.connect(a.valueConnection_),
this.itemCount_++,a=a.nextConnection&&a.nextConnection.targetBlock();0==this.itemCount_&&this.appendDummyInput("EMPTY").appendTitle(Blockly.LANG_LISTS_CREATE_EMPTY_TITLE)},saveConnections:function(a){a=a.getInputTargetBlock("STACK");for(var b=0;a;){var c=this.getInput("ADD"+b);a.valueConnection_=c&&c.connection.targetConnection;b++;a=a.nextConnection&&a.nextConnection.targetBlock()}}};
Blockly.Language.lists_create_with_container={init:function(){this.setColour(210);this.appendDummyInput().appendTitle(Blockly.LANG_LISTS_CREATE_WITH_CONTAINER_TITLE_ADD);this.appendStatementInput("STACK");this.setTooltip(Blockly.LANG_LISTS_CREATE_WITH_CONTAINER_TOOLTIP);this.contextMenu=!1}};
Blockly.Language.lists_create_with_item={init:function(){this.setColour(210);this.appendDummyInput().appendTitle(Blockly.LANG_LISTS_CREATE_WITH_ITEM_TITLE);this.setPreviousStatement(!0);this.setNextStatement(!0);this.setTooltip(Blockly.LANG_LISTS_CREATE_WITH_ITEM_TOOLTIP);this.contextMenu=!1}};
Blockly.Language.lists_repeat={helpUrl:Blockly.LANG_LISTS_REPEAT_HELPURL,init:function(){this.setColour(210);this.setOutput(!0,Array);this.appendValueInput("ITEM").appendTitle(Blockly.LANG_LISTS_REPEAT_INPUT_WITH);this.appendValueInput("NUM").setCheck(Number).appendTitle(Blockly.LANG_LISTS_REPEAT_INPUT_REPEATED);this.appendDummyInput().appendTitle(Blockly.LANG_LISTS_REPEAT_INPUT_TIMES);this.setInputsInline(!0);this.setTooltip(Blockly.LANG_LISTS_REPEAT_TOOLTIP)}};
Blockly.Language.lists_length={helpUrl:Blockly.LANG_LISTS_LENGTH_HELPURL,init:function(){this.setColour(210);this.appendValueInput("VALUE").setCheck([Array,String]).appendTitle(Blockly.LANG_LISTS_LENGTH_INPUT_LENGTH);this.setOutput(!0,Number);this.setTooltip(Blockly.LANG_LISTS_LENGTH_TOOLTIP)}};
Blockly.Language.lists_isEmpty={helpUrl:Blockly.LANG_LISTS_IS_EMPTY_HELPURL,init:function(){this.setColour(210);this.appendValueInput("VALUE").setCheck([Array,String]);this.appendDummyInput().appendTitle(Blockly.LANG_LISTS_INPUT_IS_EMPTY);this.setInputsInline(!0);this.setOutput(!0,Boolean);this.setTooltip(Blockly.LANG_LISTS_TOOLTIP)}};
Blockly.Language.lists_indexOf={helpUrl:Blockly.LANG_LISTS_INDEX_OF_HELPURL,init:function(){this.setColour(210);this.setOutput(!0,Number);this.appendValueInput("VALUE").setCheck(Array).appendTitle(Blockly.LANG_LISTS_INDEX_OF_INPUT_IN_LIST);this.appendValueInput("FIND").appendTitle(new Blockly.FieldDropdown(this.OPERATORS),"END");this.setInputsInline(!0);this.setTooltip(Blockly.LANG_LISTS_INDEX_OF_TOOLTIP)}};
Blockly.Language.lists_indexOf.OPERATORS=[[Blockly.LANG_LISTS_INDEX_OF_FIRST,"FIRST"],[Blockly.LANG_LISTS_INDEX_OF_LAST,"LAST"]];
Blockly.Language.lists_getIndex={helpUrl:Blockly.LANG_LISTS_GET_INDEX_HELPURL,init:function(){this.setColour(210);var a=new Blockly.FieldDropdown(this.MODE,function(a){this.sourceBlock_.updateStatement("REMOVE"==a)});this.appendValueInput("VALUE").setCheck(Array).appendTitle(Blockly.LANG_LISTS_GET_INDEX_INPUT_IN_LIST);this.appendDummyInput().appendTitle(a,"MODE").appendTitle("");this.appendDummyInput("AT");this.setInputsInline(!0);this.setOutput(!0,null);this.updateAt(!0);var b=this;this.setTooltip(function(){var a=
b.getTitleValue("MODE")+"_"+b.getTitleValue("WHERE");return Blockly["LANG_LISTS_GET_INDEX_TOOLTIP_"+a]})},mutationToDom:function(){var a=document.createElement("mutation");a.setAttribute("statement",!this.outputConnection);var b=this.getInput("AT").type==Blockly.INPUT_VALUE;a.setAttribute("at",b);return a},domToMutation:function(a){var b="true"==a.getAttribute("statement");this.updateStatement(b);a="false"!=a.getAttribute("at");this.updateAt(a)},updateStatement:function(a){a!=!this.outputConnection&&
(this.unplug(!0,!0),a?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt:function(a){this.removeInput("AT");a?this.appendValueInput("AT").setCheck(Number):this.appendDummyInput("AT");var b=new Blockly.FieldDropdown(this.WHERE,function(b){var d="FROM_START"==b||"FROM_END"==b;if(d!=a){var e=this.sourceBlock_;e.updateAt(d);e.setTitleValue(b,"WHERE");return null}});this.getInput("AT").appendTitle(b,
"WHERE")}};Blockly.Language.lists_getIndex.MODE=[[Blockly.LANG_LISTS_GET_INDEX_GET,"GET"],[Blockly.LANG_LISTS_GET_INDEX_GET_REMOVE,"GET_REMOVE"],[Blockly.LANG_LISTS_GET_INDEX_REMOVE,"REMOVE"]];Blockly.Language.lists_getIndex.WHERE=[[Blockly.LANG_LISTS_GET_INDEX_FROM_START,"FROM_START"],[Blockly.LANG_LISTS_GET_INDEX_FROM_END,"FROM_END"],[Blockly.LANG_LISTS_GET_INDEX_FIRST,"FIRST"],[Blockly.LANG_LISTS_GET_INDEX_LAST,"LAST"],[Blockly.LANG_LISTS_GET_INDEX_RANDOM,"RANDOM"]];
Blockly.Language.lists_setIndex={helpUrl:Blockly.LANG_LISTS_SET_INDEX_HELPURL,init:function(){this.setColour(210);this.appendValueInput("LIST").setCheck(Array).appendTitle(Blockly.LANG_LISTS_SET_INDEX_INPUT_IN_LIST);this.appendDummyInput().appendTitle(new Blockly.FieldDropdown(this.MODE),"MODE").appendTitle("");this.appendDummyInput("AT");this.appendValueInput("TO").appendTitle(Blockly.LANG_LISTS_SET_INDEX_INPUT_TO);this.setInputsInline(!0);this.setPreviousStatement(!0);this.setNextStatement(!0);
this.setTooltip(Blockly.LANG_LISTS_SET_INDEX_TOOLTIP);this.updateAt(!0);var a=this;this.setTooltip(function(){var b=a.getTitleValue("MODE")+"_"+a.getTitleValue("WHERE");return Blockly["LANG_LISTS_SET_INDEX_TOOLTIP_"+b]})},mutationToDom:function(){var a=document.createElement("mutation"),b=this.getInput("AT").type==Blockly.INPUT_VALUE;a.setAttribute("at",b);return a},domToMutation:function(a){a="false"!=a.getAttribute("at");this.updateAt(a)},updateAt:function(a){this.removeInput("AT");a?this.appendValueInput("AT").setCheck(Number):
this.appendDummyInput("AT");var b=new Blockly.FieldDropdown(this.WHERE,function(b){var d="FROM_START"==b||"FROM_END"==b;if(d!=a){var e=this.sourceBlock_;e.updateAt(d);e.setTitleValue(b,"WHERE");return null}});this.moveInputBefore("AT","TO");this.getInput("AT").appendTitle(b,"WHERE")}};Blockly.Language.lists_setIndex.MODE=[[Blockly.LANG_LISTS_SET_INDEX_SET,"SET"],[Blockly.LANG_LISTS_SET_INDEX_INSERT,"INSERT"]];Blockly.Language.lists_setIndex.WHERE=Blockly.Language.lists_getIndex.WHERE;
Blockly.Language.lists_getSublist={helpUrl:Blockly.LANG_LISTS_GET_SUBLIST_HELPURL,init:function(){this.setColour(210);this.appendValueInput("LIST").setCheck(Array).appendTitle(Blockly.LANG_LISTS_GET_SUBLIST_INPUT_IN_LIST);this.appendDummyInput("AT1");this.appendDummyInput("AT2");this.setInputsInline(!0);this.setOutput(!0,Array);this.updateAt(1,!0);this.updateAt(2,!0);this.setTooltip(Blockly.LANG_LISTS_GET_SUBLIST_TOOLTIP)},mutationToDom:function(){var a=document.createElement("mutation"),b=this.getInput("AT1").type==
Blockly.INPUT_VALUE;a.setAttribute("at1",b);b=this.getInput("AT2").type==Blockly.INPUT_VALUE;a.setAttribute("at2",b);return a},domToMutation:function(a){var b="true"==a.getAttribute("at1");a="true"==a.getAttribute("at1");this.updateAt(1,b);this.updateAt(2,a)},updateAt:function(a,b){this.removeInput("AT"+a);b?this.appendValueInput("AT"+a).setCheck(Number):this.appendDummyInput("AT"+a);var c=new Blockly.FieldDropdown(this["WHERE"+a],function(c){var e="FROM_START"==c||"FROM_END"==c;if(e!=b){var f=this.sourceBlock_;
f.updateAt(a,e);f.setTitleValue(c,"WHERE"+a);return null}});this.getInput("AT"+a).appendTitle(Blockly["LANG_LISTS_GET_SUBLIST_INPUT_AT"+a]).appendTitle(c,"WHERE"+a);1==a&&this.moveInputBefore("AT1","AT2")}};Blockly.Language.lists_getSublist.WHERE1=Blockly.Language.lists_getIndex.WHERE.filter(function(a){return"FROM_START"==a[1]||"FROM_END"==a[1]||"FIRST"==a[1]});
Blockly.Language.lists_getSublist.WHERE2=Blockly.Language.lists_getIndex.WHERE.filter(function(a){return"FROM_START"==a[1]||"FROM_END"==a[1]||"LAST"==a[1]});Blockly.Language.logic_compare={helpUrl:Blockly.LANG_LOGIC_COMPARE_HELPURL,init:function(){this.setColour(120);this.setOutput(!0,Boolean);this.appendValueInput("A");this.appendValueInput("B").appendTitle(new Blockly.FieldDropdown(this.OPERATORS),"OP");this.setInputsInline(!0);var a=this;this.setTooltip(function(){var b=a.getTitleValue("OP");return a.TOOLTIPS[b]})}};Blockly.Language.logic_compare.OPERATORS=[["=","EQ"],["\u2260","NEQ"],["<","LT"],["\u2264","LTE"],[">","GT"],["\u2265","GTE"]];
Blockly.Language.logic_compare.TOOLTIPS={EQ:Blockly.LANG_LOGIC_COMPARE_TOOLTIP_EQ,NEQ:Blockly.LANG_LOGIC_COMPARE_TOOLTIP_NEQ,LT:Blockly.LANG_LOGIC_COMPARE_TOOLTIP_LT,LTE:Blockly.LANG_LOGIC_COMPARE_TOOLTIP_LTE,GT:Blockly.LANG_LOGIC_COMPARE_TOOLTIP_GT,GTE:Blockly.LANG_LOGIC_COMPARE_TOOLTIP_GTE};
Blockly.Language.logic_operation={helpUrl:Blockly.LANG_LOGIC_OPERATION_HELPURL,init:function(){this.setColour(120);this.setOutput(!0,Boolean);this.appendValueInput("A").setCheck(Boolean);this.appendValueInput("B").setCheck(Boolean).appendTitle(new Blockly.FieldDropdown(this.OPERATORS),"OP");this.setInputsInline(!0);var a=this;this.setTooltip(function(){var b=a.getTitleValue("OP");return a.TOOLTIPS[b]})}};
Blockly.Language.logic_operation.OPERATORS=[[Blockly.LANG_LOGIC_OPERATION_AND,"AND"],[Blockly.LANG_LOGIC_OPERATION_OR,"OR"]];Blockly.Language.logic_operation.TOOLTIPS={AND:Blockly.LANG_LOGIC_OPERATION_TOOLTIP_AND,OR:Blockly.LANG_LOGIC_OPERATION_TOOLTIP_OR};Blockly.Language.logic_negate={helpUrl:Blockly.LANG_LOGIC_NEGATE_HELPURL,init:function(){this.setColour(120);this.setOutput(!0,Boolean);this.appendValueInput("BOOL").setCheck(Boolean).appendTitle(Blockly.LANG_LOGIC_NEGATE_INPUT_NOT);this.setTooltip(Blockly.LANG_LOGIC_NEGATE_TOOLTIP)}};
Blockly.Language.logic_boolean={helpUrl:Blockly.LANG_LOGIC_BOOLEAN_HELPURL,init:function(){this.setColour(120);this.setOutput(!0,Boolean);this.appendDummyInput().appendTitle(new Blockly.FieldDropdown(this.BOOLEANS),"BOOL");this.setTooltip(Blockly.LANG_LOGIC_BOOLEAN_TOOLTIP)}};Blockly.Language.logic_boolean.BOOLEANS=[[Blockly.LANG_LOGIC_BOOLEAN_TRUE,"TRUE"],[Blockly.LANG_LOGIC_BOOLEAN_FALSE,"FALSE"]];
Blockly.Language.logic_null={helpUrl:Blockly.LANG_LOGIC_NULL_HELPURL,init:function(){this.setColour(120);this.setOutput(!0,null);this.appendDummyInput().appendTitle(Blockly.LANG_LOGIC_NULL);this.setTooltip(Blockly.LANG_LOGIC_NULL_TOOLTIP)}};
Blockly.Language.logic_ternary={helpUrl:Blockly.LANG_LOGIC_TERNARY_HELPURL,init:function(){this.setColour(120);this.appendValueInput("IF").setCheck(Boolean).appendTitle(Blockly.LANG_LOGIC_TERNARY_CONDITION);this.appendValueInput("THEN").setCheck(null).appendTitle(Blockly.LANG_LOGIC_TERNARY_IF_TRUE);this.appendValueInput("ELSE").setCheck(null).appendTitle(Blockly.LANG_LOGIC_TERNARY_IF_FALSE);this.setOutput(!0,null);this.setTooltip(Blockly.LANG_LOGIC_TERNARY_TOOLTIP)}};Blockly.Language.math_number={helpUrl:Blockly.LANG_MATH_NUMBER_HELPURL,init:function(){this.setColour(230);this.appendDummyInput().appendTitle(new Blockly.FieldTextInput("0",Blockly.FieldTextInput.numberValidator),"NUM");this.setOutput(!0,Number);this.setTooltip(Blockly.LANG_MATH_NUMBER_TOOLTIP)}};
Blockly.Language.math_arithmetic={helpUrl:Blockly.LANG_MATH_ARITHMETIC_HELPURL,init:function(){this.setColour(230);this.setOutput(!0,Number);this.appendValueInput("A").setCheck(Number);this.appendValueInput("B").setCheck(Number).appendTitle(new Blockly.FieldDropdown(this.OPERATORS),"OP");this.setInputsInline(!0);var a=this;this.setTooltip(function(){var b=a.getTitleValue("OP");return a.TOOLTIPS[b]})}};
Blockly.Language.math_arithmetic.OPERATORS=[["+","ADD"],["-","MINUS"],["\u00d7","MULTIPLY"],["\u00f7","DIVIDE"],["^","POWER"]];Blockly.Language.math_arithmetic.TOOLTIPS={ADD:Blockly.LANG_MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Blockly.LANG_MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Blockly.LANG_MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Blockly.LANG_MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Blockly.LANG_MATH_ARITHMETIC_TOOLTIP_POWER};
Blockly.Language.math_single={helpUrl:Blockly.LANG_MATH_SINGLE_HELPURL,init:function(){this.setColour(230);this.setOutput(!0,Number);this.appendValueInput("NUM").setCheck(Number).appendTitle(new Blockly.FieldDropdown(this.OPERATORS),"OP");var a=this;this.setTooltip(function(){var b=a.getTitleValue("OP");return a.TOOLTIPS[b]})}};
Blockly.Language.math_single.OPERATORS=[[Blockly.LANG_MATH_SINGLE_OP_ROOT,"ROOT"],[Blockly.LANG_MATH_SINGLE_OP_ABSOLUTE,"ABS"],["-","NEG"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]];Blockly.Language.math_single.TOOLTIPS={ROOT:Blockly.LANG_MATH_SINGLE_TOOLTIP_ROOT,ABS:Blockly.LANG_MATH_SINGLE_TOOLTIP_ABS,NEG:Blockly.LANG_MATH_SINGLE_TOOLTIP_NEG,LN:Blockly.LANG_MATH_SINGLE_TOOLTIP_LN,LOG10:Blockly.LANG_MATH_SINGLE_TOOLTIP_LOG10,EXP:Blockly.LANG_MATH_SINGLE_TOOLTIP_EXP,POW10:Blockly.LANG_MATH_SINGLE_TOOLTIP_POW10};
Blockly.Language.math_trig={helpUrl:Blockly.LANG_MATH_TRIG_HELPURL,init:function(){this.setColour(230);this.setOutput(!0,Number);this.appendValueInput("NUM").setCheck(Number).appendTitle(new Blockly.FieldDropdown(this.OPERATORS),"OP");var a=this;this.setTooltip(function(){var b=a.getTitleValue("OP");return a.TOOLTIPS[b]})}};Blockly.Language.math_trig.OPERATORS=[["sin","SIN"],["cos","COS"],["tan","TAN"],["asin","ASIN"],["acos","ACOS"],["atan","ATAN"]];
Blockly.Language.math_trig.TOOLTIPS={SIN:Blockly.LANG_MATH_TRIG_TOOLTIP_SIN,COS:Blockly.LANG_MATH_TRIG_TOOLTIP_COS,TAN:Blockly.LANG_MATH_TRIG_TOOLTIP_TAN,ASIN:Blockly.LANG_MATH_TRIG_TOOLTIP_ASIN,ACOS:Blockly.LANG_MATH_TRIG_TOOLTIP_ACOS,ATAN:Blockly.LANG_MATH_TRIG_TOOLTIP_ATAN};
Blockly.Language.math_constant={helpUrl:Blockly.LANG_MATH_CONSTANT_HELPURL,init:function(){this.setColour(230);this.setOutput(!0,Number);this.appendDummyInput().appendTitle(new Blockly.FieldDropdown(this.CONSTANTS),"CONSTANT");this.setTooltip(Blockly.LANG_MATH_CONSTANT_TOOLTIP)}};Blockly.Language.math_constant.CONSTANTS=[["\u03c0","PI"],["e","E"],["\u03c6","GOLDEN_RATIO"],["sqrt(2)","SQRT2"],["sqrt(\u00bd)","SQRT1_2"],["\u221e","INFINITY"]];
Blockly.Language.math_number_property={helpUrl:"",init:function(){this.setColour(230);this.appendValueInput("NUMBER_TO_CHECK").setCheck(Number);var a=new Blockly.FieldDropdown(this.PROPERTIES,function(a){this.sourceBlock_.updateShape("DIVISIBLE_BY"==a)});this.appendDummyInput().appendTitle(a,"PROPERTY");this.setInputsInline(!0);this.setOutput(!0,Boolean);this.setTooltip(Blockly.LANG_MATH_IS_TOOLTIP)},mutationToDom:function(){var a=document.createElement("mutation"),b="DIVISIBLE_BY"==this.getTitleValue("PROPERTY");
a.setAttribute("divisor_input",b);return a},domToMutation:function(a){a="true"==a.getAttribute("divisor_input");this.updateShape(a)},updateShape:function(a){var b=this.getInput("DIVISOR");a?b||this.appendValueInput("DIVISOR").setCheck(Number):b&&this.removeInput("DIVISOR")}};
Blockly.Language.math_number_property.PROPERTIES=[[Blockly.LANG_MATH_IS_EVEN,"EVEN"],[Blockly.LANG_MATH_IS_ODD,"ODD"],[Blockly.LANG_MATH_IS_PRIME,"PRIME"],[Blockly.LANG_MATH_IS_WHOLE,"WHOLE"],[Blockly.LANG_MATH_IS_POSITIVE,"POSITIVE"],[Blockly.LANG_MATH_IS_NEGATIVE,"NEGATIVE"],[Blockly.LANG_MATH_IS_DIVISIBLE_BY,"DIVISIBLE_BY"]];
Blockly.Language.math_change={helpUrl:Blockly.LANG_MATH_CHANGE_HELPURL,init:function(){this.setColour(230);this.appendValueInput("DELTA").setCheck(Number).appendTitle(Blockly.LANG_MATH_CHANGE_TITLE_CHANGE).appendTitle(new Blockly.FieldVariable(Blockly.LANG_MATH_CHANGE_TITLE_ITEM),"VAR").appendTitle(Blockly.LANG_MATH_CHANGE_INPUT_BY);this.setPreviousStatement(!0);this.setNextStatement(!0);var a=this;this.setTooltip(function(){return Blockly.LANG_MATH_CHANGE_TOOLTIP.replace("%1",a.getTitleValue("VAR"))})},
getVars:function(){return[this.getTitleValue("VAR")]},renameVar:function(a,b){Blockly.Names.equals(a,this.getTitleValue("VAR"))&&this.setTitleValue(b,"VAR")}};Blockly.Language.math_round={helpUrl:Blockly.LANG_MATH_ROUND_HELPURL,init:function(){this.setColour(230);this.setOutput(!0,Number);this.appendValueInput("NUM").setCheck(Number).appendTitle(new Blockly.FieldDropdown(this.OPERATORS),"OP");this.setTooltip(Blockly.LANG_MATH_ROUND_TOOLTIP)}};
Blockly.Language.math_round.OPERATORS=[[Blockly.LANG_MATH_ROUND_OPERATOR_ROUND,"ROUND"],[Blockly.LANG_MATH_ROUND_OPERATOR_ROUNDUP,"ROUNDUP"],[Blockly.LANG_MATH_ROUND_OPERATOR_ROUNDDOWN,"ROUNDDOWN"]];
Blockly.Language.math_on_list={helpUrl:Blockly.LANG_MATH_ONLIST_HELPURL,init:function(){var a=this;this.setColour(230);this.setOutput(!0,Number);var b=new Blockly.FieldDropdown(this.OPERATORS,function(b){"MODE"==b?a.outputConnection.setCheck(Array):a.outputConnection.setCheck(Number)});this.appendValueInput("LIST").setCheck(Array).appendTitle(b,"OP");this.setTooltip(function(){var b=a.getTitleValue("OP");return a.TOOLTIPS[b]})}};
Blockly.Language.math_on_list.OPERATORS=[[Blockly.LANG_MATH_ONLIST_OPERATOR_SUM,"SUM"],[Blockly.LANG_MATH_ONLIST_OPERATOR_MIN,"MIN"],[Blockly.LANG_MATH_ONLIST_OPERATOR_MAX,"MAX"],[Blockly.LANG_MATH_ONLIST_OPERATOR_AVERAGE,"AVERAGE"],[Blockly.LANG_MATH_ONLIST_OPERATOR_MEDIAN,"MEDIAN"],[Blockly.LANG_MATH_ONLIST_OPERATOR_MODE,"MODE"],[Blockly.LANG_MATH_ONLIST_OPERATOR_STD_DEV,"STD_DEV"],[Blockly.LANG_MATH_ONLIST_OPERATOR_RANDOM,"RANDOM"]];
Blockly.Language.math_on_list.TOOLTIPS={SUM:Blockly.LANG_MATH_ONLIST_TOOLTIP_SUM,MIN:Blockly.LANG_MATH_ONLIST_TOOLTIP_MIN,MAX:Blockly.LANG_MATH_ONLIST_TOOLTIP_MAX,AVERAGE:Blockly.LANG_MATH_ONLIST_TOOLTIP_AVERAGE,MEDIAN:Blockly.LANG_MATH_ONLIST_TOOLTIP_MEDIAN,MODE:Blockly.LANG_MATH_ONLIST_TOOLTIP_MODE,STD_DEV:Blockly.LANG_MATH_ONLIST_TOOLTIP_STD_DEV,RANDOM:Blockly.LANG_MATH_ONLIST_TOOLTIP_RANDOM};
Blockly.Language.math_modulo={helpUrl:Blockly.LANG_MATH_MODULO_HELPURL,init:function(){this.setColour(230);this.setOutput(!0,Number);this.appendValueInput("DIVIDEND").setCheck(Number).appendTitle(Blockly.LANG_MATH_MODULO_INPUT_DIVIDEND);this.appendValueInput("DIVISOR").setCheck(Number).setAlign(Blockly.ALIGN_RIGHT).appendTitle("\u00f7");this.setInputsInline(!0);this.setTooltip(Blockly.LANG_MATH_MODULO_TOOLTIP)}};
Blockly.Language.math_constrain={helpUrl:Blockly.LANG_MATH_CONSTRAIN_HELPURL,init:function(){this.setColour(230);this.setOutput(!0,Number);this.appendValueInput("VALUE").setCheck(Number).appendTitle(Blockly.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN);this.appendValueInput("LOW").setCheck(Number).appendTitle(Blockly.LANG_MATH_CONSTRAIN_INPUT_LOW);this.appendValueInput("HIGH").setCheck(Number).appendTitle(Blockly.LANG_MATH_CONSTRAIN_INPUT_HIGH);this.setInputsInline(!0);this.setTooltip(Blockly.LANG_MATH_CONSTRAIN_TOOLTIP)}};
Blockly.Language.math_random_int={helpUrl:Blockly.LANG_MATH_RANDOM_INT_HELPURL,init:function(){this.setColour(230);this.setOutput(!0,Number);this.appendValueInput("FROM").setCheck(Number).appendTitle(Blockly.LANG_MATH_RANDOM_INT_INPUT_FROM);this.appendValueInput("TO").setCheck(Number).setAlign(Blockly.ALIGN_RIGHT).appendTitle(Blockly.LANG_MATH_RANDOM_INT_INPUT_TO);this.setInputsInline(!0);this.setTooltip(Blockly.LANG_MATH_RANDOM_INT_TOOLTIP)}};
Blockly.Language.math_random_float={helpUrl:Blockly.LANG_MATH_RANDOM_FLOAT_HELPURL,init:function(){this.setColour(230);this.setOutput(!0,Number);this.appendDummyInput().appendTitle(Blockly.LANG_MATH_RANDOM_FLOAT_TITLE_RANDOM);this.setTooltip(Blockly.LANG_MATH_RANDOM_FLOAT_TOOLTIP)}};Blockly.Language.procedures_defnoreturn={category:null,helpUrl:Blockly.LANG_PROCEDURES_DEFNORETURN_HELPURL,init:function(){this.setColour(290);var a=Blockly.Procedures.findLegalName(Blockly.LANG_PROCEDURES_DEFNORETURN_PROCEDURE,this);this.appendDummyInput().appendTitle(new Blockly.FieldTextInput(a,Blockly.Procedures.rename),"NAME").appendTitle("","PARAMS");this.appendStatementInput("STACK").appendTitle(Blockly.LANG_PROCEDURES_DEFNORETURN_DO);this.setMutator(new Blockly.Mutator(["procedures_mutatorarg"]));
this.setTooltip(Blockly.LANG_PROCEDURES_DEFNORETURN_TOOLTIP);this.arguments_=[]},updateParams_:function(){for(var a=!1,b={},c=0;c<this.arguments_.length;c++){if(b["arg_"+this.arguments_[c].toLowerCase()]){a=!0;break}b["arg_"+this.arguments_[c].toLowerCase()]=!0}a?this.setWarningText(Blockly.LANG_PROCEDURES_DEF_DUPLICATE_WARNING):this.setWarningText(null);a=this.arguments_.join(", ");this.setTitleValue(a,"PARAMS")},mutationToDom:function(){for(var a=document.createElement("mutation"),b=0;b<this.arguments_.length;b++){var c=
document.createElement("arg");c.setAttribute("name",this.arguments_[b]);a.appendChild(c)}return a},domToMutation:function(a){this.arguments_=[];for(var b=0,c;c=a.childNodes[b];b++)"arg"==c.nodeName.toLowerCase()&&this.arguments_.push(c.getAttribute("name"));this.updateParams_()},decompose:function(a){var b=new Blockly.Block(a,"procedures_mutatorcontainer");b.initSvg();for(var c=b.getInput("STACK").connection,d=0;d<this.arguments_.length;d++){var e=new Blockly.Block(a,"procedures_mutatorarg");e.initSvg();
e.setTitleValue(this.arguments_[d],"NAME");e.oldLocation=d;c.connect(e.previousConnection);c=e.nextConnection}Blockly.Procedures.mutateCallers(this.getTitleValue("NAME"),this.workspace,this.arguments_,null);return b},compose:function(a){this.arguments_=[];this.paramIds_=[];for(a=a.getInputTargetBlock("STACK");a;)this.arguments_.push(a.getTitleValue("NAME")),this.paramIds_.push(a.id),a=a.nextConnection&&a.nextConnection.targetBlock();this.updateParams_();Blockly.Procedures.mutateCallers(this.getTitleValue("NAME"),
this.workspace,this.arguments_,this.paramIds_)},dispose:function(){var a=this.getTitleValue("NAME"),b=this.editable,c=this.workspace;Blockly.Block.prototype.dispose.apply(this,arguments);b&&Blockly.Procedures.disposeCallers(a,c)},getProcedureDef:function(){return[this.getTitleValue("NAME"),this.arguments_,!1]},getVars:function(){return this.arguments_},renameVar:function(a,b){for(var c=!1,d=0;d<this.arguments_.length;d++)Blockly.Names.equals(a,this.arguments_[d])&&(this.arguments_[d]=b,c=!0);if(c&&
(this.updateParams_(),this.mutator.isVisible_()))for(var c=this.mutator.workspace_.getAllBlocks(),d=0,e;e=c[d];d++)"procedures_mutatorarg"==e.type&&Blockly.Names.equals(a,e.getTitleValue("NAME"))&&e.setTitleValue(b,"NAME")},customContextMenu:function(a){var b={enabled:!0},c=this.getTitleValue("NAME");b.text=Blockly.LANG_PROCEDURES_CREATE_DO.replace("%1",c);var d=goog.dom.createDom("mutation");d.setAttribute("name",c);for(var e=0;e<this.arguments_.length;e++)c=goog.dom.createDom("arg"),c.setAttribute("name",
this.arguments_[e]),d.appendChild(c);d=goog.dom.createDom("block",null,d);d.setAttribute("type",this.callType_);b.callback=Blockly.ContextMenu.callbackFactory(this,d);a.push(b);for(e=0;e<this.arguments_.length;e++)b={enabled:!0},c=this.arguments_[e],b.text=Blockly.LANG_VARIABLES_SET_CREATE_GET.replace("%1",c),d=goog.dom.createDom("title",null,c),d.setAttribute("name","VAR"),d=goog.dom.createDom("block",null,d),d.setAttribute("type","variables_get"),b.callback=Blockly.ContextMenu.callbackFactory(this,
d),a.push(b)},callType_:"procedures_callnoreturn"};
Blockly.Language.procedures_defreturn={category:null,helpUrl:Blockly.LANG_PROCEDURES_DEFRETURN_HELPURL,init:function(){this.setColour(290);var a=Blockly.Procedures.findLegalName(Blockly.LANG_PROCEDURES_DEFRETURN_PROCEDURE,this);this.appendDummyInput().appendTitle(new Blockly.FieldTextInput(a,Blockly.Procedures.rename),"NAME").appendTitle("","PARAMS");this.appendStatementInput("STACK").appendTitle(Blockly.LANG_PROCEDURES_DEFRETURN_DO);this.appendValueInput("RETURN").setAlign(Blockly.ALIGN_RIGHT).appendTitle(Blockly.LANG_PROCEDURES_DEFRETURN_RETURN);this.setMutator(new Blockly.Mutator(["procedures_mutatorarg"]));
this.setTooltip(Blockly.LANG_PROCEDURES_DEFRETURN_TOOLTIP);this.arguments_=[]},updateParams_:Blockly.Language.procedures_defnoreturn.updateParams_,mutationToDom:Blockly.Language.procedures_defnoreturn.mutationToDom,domToMutation:Blockly.Language.procedures_defnoreturn.domToMutation,decompose:Blockly.Language.procedures_defnoreturn.decompose,compose:Blockly.Language.procedures_defnoreturn.compose,dispose:Blockly.Language.procedures_defnoreturn.dispose,getProcedureDef:function(){return[this.getTitleValue("NAME"),
this.arguments_,!0]},getVars:Blockly.Language.procedures_defnoreturn.getVars,renameVar:Blockly.Language.procedures_defnoreturn.renameVar,customContextMenu:Blockly.Language.procedures_defnoreturn.customContextMenu,callType_:"procedures_callreturn"};Blockly.Language.procedures_mutatorcontainer={init:function(){this.setColour(290);this.appendDummyInput().appendTitle(Blockly.LANG_PROCEDURES_MUTATORCONTAINER_TITLE);this.appendStatementInput("STACK");this.setTooltip("");this.contextMenu=!1}};
Blockly.Language.procedures_mutatorarg={init:function(){this.setColour(290);this.appendDummyInput().appendTitle(Blockly.LANG_PROCEDURES_MUTATORARG_TITLE).appendTitle(new Blockly.FieldTextInput("x",this.validator),"NAME");this.setPreviousStatement(!0);this.setNextStatement(!0);this.setTooltip("");this.contextMenu=!1}};Blockly.Language.procedures_mutatorarg.validator=function(a){return(a=a.replace(/[\s\xa0]+/g," ").replace(/^ | $/g,""))||null};
Blockly.Language.procedures_callnoreturn={category:null,helpUrl:Blockly.LANG_PROCEDURES_CALLNORETURN_HELPURL,init:function(){this.setColour(290);this.appendDummyInput().appendTitle(Blockly.LANG_PROCEDURES_CALLNORETURN_CALL).appendTitle(Blockly.LANG_PROCEDURES_CALLNORETURN_PROCEDURE,"NAME");this.setPreviousStatement(!0);this.setNextStatement(!0);this.setTooltip(Blockly.LANG_PROCEDURES_CALLNORETURN_TOOLTIP);this.arguments_=[];this.quarkArguments_=this.quarkConnections_=null},getProcedureCall:function(){return this.getTitleValue("NAME")},
renameProcedure:function(a,b){Blockly.Names.equals(a,this.getTitleValue("NAME"))&&this.setTitleValue(b,"NAME")},setProcedureParameters:function(a,b){if(b){if(b.length!=a.length)throw"Error: paramNames and paramIds must be the same length.";this.quarkArguments_||(this.quarkConnections_={},this.quarkArguments_=a.join("\n")==this.arguments_.join("\n")?b:[]);var c=this.rendered;this.rendered=!1;for(var d=this.arguments_.length-1;0<=d;d--){var e=this.getInput("ARG"+d);if(e){var f=e.connection.targetConnection;
this.quarkConnections_[this.quarkArguments_[d]]=f;this.removeInput("ARG"+d)}}this.arguments_=[].concat(a);this.quarkArguments_=b;for(d=0;d<this.arguments_.length;d++)if(e=this.appendValueInput("ARG"+d).setAlign(Blockly.ALIGN_RIGHT).appendTitle(this.arguments_[d]),this.quarkArguments_){var g=this.quarkArguments_[d];g in this.quarkConnections_&&(f=this.quarkConnections_[g],!f||f.targetConnection||f.sourceBlock_.workspace!=this.workspace?delete this.quarkConnections_[g]:e.connection.connect(f))}(this.rendered=
c)&&this.render()}else this.quarkConnections_={},this.quarkArguments_=null},mutationToDom:function(){var a=document.createElement("mutation");a.setAttribute("name",this.getTitleValue("NAME"));for(var b=0;b<this.arguments_.length;b++){var c=document.createElement("arg");c.setAttribute("name",this.arguments_[b]);a.appendChild(c)}return a},domToMutation:function(a){var b=a.getAttribute("name");this.setTitleValue(b,"NAME");if((b=Blockly.Procedures.getDefinition(b,this.workspace))&&b.mutator.isVisible())this.setProcedureParameters(b.arguments_,
b.paramIds_);else{this.arguments_=[];for(var b=0,c;c=a.childNodes[b];b++)"arg"==c.nodeName.toLowerCase()&&this.arguments_.push(c.getAttribute("name"));this.setProcedureParameters(this.arguments_,this.arguments_)}},renameVar:function(a,b){for(var c=0;c<this.arguments_.length;c++)Blockly.Names.equals(a,this.arguments_[c])&&(this.arguments_[c]=b,this.getInput("ARG"+c).titleRow[0].setText(b))},customContextMenu:function(a){var b={enabled:!0};b.text=Blockly.LANG_PROCEDURES_HIGHLIGHT_DEF;var c=this.getTitleValue("NAME"),
d=this.workspace;b.callback=function(){var a=Blockly.Procedures.getDefinition(c,d);a&&a.select()};a.push(b)}};
Blockly.Language.procedures_callreturn={category:null,helpUrl:Blockly.LANG_PROCEDURES_CALLRETURN_HELPURL,init:function(){this.setColour(290);this.appendDummyInput().appendTitle(Blockly.LANG_PROCEDURES_CALLRETURN_CALL).appendTitle(Blockly.LANG_PROCEDURES_CALLRETURN_PROCEDURE,"NAME");this.setOutput(!0,null);this.setTooltip(Blockly.LANG_PROCEDURES_CALLRETURN_TOOLTIP);this.arguments_=[];this.quarkArguments_=this.quarkConnections_=null},getProcedureCall:Blockly.Language.procedures_callnoreturn.getProcedureCall,
renameProcedure:Blockly.Language.procedures_callnoreturn.renameProcedure,setProcedureParameters:Blockly.Language.procedures_callnoreturn.setProcedureParameters,mutationToDom:Blockly.Language.procedures_callnoreturn.mutationToDom,domToMutation:Blockly.Language.procedures_callnoreturn.domToMutation,renameVar:Blockly.Language.procedures_callnoreturn.renameVar,customContextMenu:Blockly.Language.procedures_callnoreturn.customContextMenu};
Blockly.Language.procedures_ifreturn={helpUrl:"http://c2.com/cgi/wiki?GuardClause",init:function(){this.setColour(290);this.appendValueInput("CONDITION").setCheck(Boolean).appendTitle(Blockly.LANG_CONTROLS_IF_MSG_IF);this.appendValueInput("VALUE").appendTitle(Blockly.LANG_PROCEDURES_DEFRETURN_RETURN);this.setInputsInline(!0);this.setPreviousStatement(!0);this.setNextStatement(!0);this.setTooltip(Blockly.LANG_PROCEDURES_IFRETURN_TOOLTIP);this.hasReturnValue_=!0},mutationToDom:function(){var a=document.createElement("mutation");
a.setAttribute("value",Number(this.hasReturnValue_));return a},domToMutation:function(a){this.hasReturnValue_=1==a.getAttribute("value");this.hasReturnValue_||(this.removeInput("VALUE"),this.appendDummyInput("VALUE").appendTitle(Blockly.LANG_PROCEDURES_DEFRETURN_RETURN))},onchange:function(){if(this.workspace){var a=!1,b=this;do{if("procedures_defnoreturn"==b.type||"procedures_defreturn"==b.type){a=!0;break}b=b.getSurroundParent()}while(b);a?("procedures_defnoreturn"==b.type&&this.hasReturnValue_?
(this.removeInput("VALUE"),this.appendDummyInput("VALUE").appendTitle(Blockly.LANG_PROCEDURES_DEFRETURN_RETURN),this.hasReturnValue_=!1):"procedures_defreturn"==b.type&&!this.hasReturnValue_&&(this.removeInput("VALUE"),this.appendValueInput("VALUE").appendTitle(Blockly.LANG_PROCEDURES_DEFRETURN_RETURN),this.hasReturnValue_=!0),this.setWarningText(null)):this.setWarningText(Blockly.LANG_PROCEDURES_IFRETURN_WARNING)}}};Blockly.Language.text={helpUrl:Blockly.LANG_TEXT_TEXT_HELPURL,init:function(){this.setColour(160);this.appendDummyInput().appendTitle(new Blockly.FieldImage(Blockly.pathToBlockly+"media/quote0.png",12,12)).appendTitle(new Blockly.FieldTextInput(""),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.pathToBlockly+"media/quote1.png",12,12));this.setOutput(!0,String);this.setTooltip(Blockly.LANG_TEXT_TEXT_TOOLTIP)}};
Blockly.Language.text_join={helpUrl:Blockly.LANG_TEXT_JOIN_HELPURL,init:function(){this.setColour(160);this.appendValueInput("ADD0").appendTitle(Blockly.LANG_TEXT_JOIN_TITLE_CREATEWITH);this.appendValueInput("ADD1");this.setOutput(!0,String);this.setMutator(new Blockly.Mutator(["text_create_join_item"]));this.setTooltip(Blockly.LANG_TEXT_JOIN_TOOLTIP);this.itemCount_=2},mutationToDom:function(){var a=document.createElement("mutation");a.setAttribute("items",this.itemCount_);return a},domToMutation:function(a){for(var b=
0;b<this.itemCount_;b++)this.removeInput("ADD"+b);this.itemCount_=window.parseInt(a.getAttribute("items"),10);for(b=0;b<this.itemCount_;b++)a=this.appendValueInput("ADD"+b),0==b&&a.appendTitle(Blockly.LANG_TEXT_JOIN_TITLE_CREATEWITH);0==this.itemCount_&&this.appendDummyInput("EMPTY").appendTitle(new Blockly.FieldImage(Blockly.pathToBlockly+"media/quote0.png",12,12)).appendTitle(new Blockly.FieldImage(Blockly.pathToBlockly+"media/quote1.png",12,12))},decompose:function(a){var b=new Blockly.Block(a,
"text_create_join_container");b.initSvg();for(var c=b.getInput("STACK").connection,d=0;d<this.itemCount_;d++){var e=new Blockly.Block(a,"text_create_join_item");e.initSvg();c.connect(e.previousConnection);c=e.nextConnection}return b},compose:function(a){if(0==this.itemCount_)this.removeInput("EMPTY");else for(var b=this.itemCount_-1;0<=b;b--)this.removeInput("ADD"+b);this.itemCount_=0;for(a=a.getInputTargetBlock("STACK");a;)b=this.appendValueInput("ADD"+this.itemCount_),0==this.itemCount_&&b.appendTitle(Blockly.LANG_TEXT_JOIN_TITLE_CREATEWITH),
a.valueConnection_&&b.connection.connect(a.valueConnection_),this.itemCount_++,a=a.nextConnection&&a.nextConnection.targetBlock();0==this.itemCount_&&this.appendDummyInput("EMPTY").appendTitle(new Blockly.FieldImage(Blockly.pathToBlockly+"media/quote0.png",12,12)).appendTitle(new Blockly.FieldImage(Blockly.pathToBlockly+"media/quote1.png",12,12))},saveConnections:function(a){a=a.getInputTargetBlock("STACK");for(var b=0;a;){var c=this.getInput("ADD"+b);a.valueConnection_=c&&c.connection.targetConnection;
b++;a=a.nextConnection&&a.nextConnection.targetBlock()}}};Blockly.Language.text_create_join_container={init:function(){this.setColour(160);this.appendDummyInput().appendTitle(Blockly.LANG_TEXT_CREATE_JOIN_TITLE_JOIN);this.appendStatementInput("STACK");this.setTooltip(Blockly.LANG_TEXT_CREATE_JOIN_TOOLTIP);this.contextMenu=!1}};
Blockly.Language.text_create_join_item={init:function(){this.setColour(160);this.appendDummyInput().appendTitle(Blockly.LANG_TEXT_CREATE_JOIN_ITEM_TITLE_ITEM);this.setPreviousStatement(!0);this.setNextStatement(!0);this.setTooltip(Blockly.LANG_TEXT_CREATE_JOIN_ITEM_TOOLTIP);this.contextMenu=!1}};
Blockly.Language.text_append={helpUrl:Blockly.LANG_TEXT_APPEND_HELPURL,init:function(){this.setColour(160);this.appendValueInput("TEXT").appendTitle(Blockly.LANG_TEXT_APPEND_TO).appendTitle(new Blockly.FieldVariable(Blockly.LANG_TEXT_APPEND_VARIABLE),"VAR").appendTitle(Blockly.LANG_TEXT_APPEND_APPENDTEXT);this.setPreviousStatement(!0);this.setNextStatement(!0);var a=this;this.setTooltip(function(){return Blockly.LANG_TEXT_APPEND_TOOLTIP.replace("%1",a.getTitleValue("VAR"))})},getVars:function(){return[this.getTitleValue("VAR")]},
renameVar:function(a,b){Blockly.Names.equals(a,this.getTitleValue("VAR"))&&this.setTitleValue(b,"VAR")}};Blockly.Language.text_length={helpUrl:Blockly.LANG_TEXT_LENGTH_HELPURL,init:function(){this.setColour(160);this.appendValueInput("VALUE").setCheck([String,Array]).appendTitle(Blockly.LANG_TEXT_LENGTH_INPUT_LENGTH);this.setOutput(!0,Number);this.setTooltip(Blockly.LANG_TEXT_LENGTH_TOOLTIP)}};
Blockly.Language.text_isEmpty={helpUrl:Blockly.LANG_TEXT_ISEMPTY_HELPURL,init:function(){this.setColour(160);this.appendValueInput("VALUE").setCheck([String,Array]);this.appendDummyInput().appendTitle(Blockly.LANG_TEXT_ISEMPTY_INPUT_ISEMPTY);this.setInputsInline(!0);this.setOutput(!0,Boolean);this.setTooltip(Blockly.LANG_TEXT_ISEMPTY_TOOLTIP)}};
Blockly.Language.text_indexOf={helpUrl:Blockly.LANG_TEXT_INDEXOF_HELPURL,init:function(){this.setColour(160);this.setOutput(!0,Number);this.appendValueInput("VALUE").setCheck(String).appendTitle(Blockly.LANG_TEXT_INDEXOF_INPUT_INTEXT);this.appendValueInput("FIND").setCheck(String).appendTitle(new Blockly.FieldDropdown(this.OPERATORS),"END");this.setInputsInline(!0);this.setTooltip(Blockly.LANG_TEXT_INDEXOF_TOOLTIP)}};
Blockly.Language.text_indexOf.OPERATORS=[[Blockly.LANG_TEXT_INDEXOF_OPERATOR_FIRST,"FIRST"],[Blockly.LANG_TEXT_INDEXOF_OPERATOR_LAST,"LAST"]];
Blockly.Language.text_charAt={helpUrl:Blockly.LANG_TEXT_CHARAT_HELPURL,init:function(){this.setColour(160);this.setOutput(!0,String);this.appendValueInput("VALUE").setCheck(String).appendTitle(Blockly.LANG_TEXT_CHARAT_INPUT_INTEXT);this.appendDummyInput("AT");this.setInputsInline(!0);this.updateAt(!0);this.setTooltip(Blockly.LANG_TEXT_CHARAT_TOOLTIP)},mutationToDom:function(){var a=document.createElement("mutation"),b=this.getInput("AT").type==Blockly.INPUT_VALUE;a.setAttribute("at",b);return a},
domToMutation:function(a){a="false"!=a.getAttribute("at");this.updateAt(a)},updateAt:function(a){this.removeInput("AT");a?this.appendValueInput("AT").setCheck(Number):this.appendDummyInput("AT");var b=new Blockly.FieldDropdown(this.WHERE,function(b){var d="FROM_START"==b||"FROM_END"==b;if(d!=a){var e=this.sourceBlock_;e.updateAt(d);e.setTitleValue(b,"WHERE");return null}});this.getInput("AT").appendTitle(b,"WHERE")}};
Blockly.Language.text_charAt.WHERE=[[Blockly.LANG_TEXT_CHARAT_FROM_START,"FROM_START"],[Blockly.LANG_TEXT_CHARAT_FROM_END,"FROM_END"],[Blockly.LANG_TEXT_CHARAT_FIRST,"FIRST"],[Blockly.LANG_TEXT_CHARAT_LAST,"LAST"],[Blockly.LANG_TEXT_CHARAT_RANDOM,"RANDOM"]];
Blockly.Language.text_getSubstring={helpUrl:Blockly.LANG_TEXT_SUBSTRING_HELPURL,init:function(){this.setColour(160);this.appendValueInput("STRING").setCheck(String).appendTitle(Blockly.LANG_TEXT_SUBSTRING_INPUT_IN_TEXT);this.appendDummyInput("AT1");this.appendDummyInput("AT2");this.setInputsInline(!0);this.setOutput(!0,String);this.updateAt(1,!0);this.updateAt(2,!0);this.setTooltip(Blockly.LANG_TEXT_SUBSTRING_TOOLTIP)},mutationToDom:function(){var a=document.createElement("mutation"),b=this.getInput("AT1").type==
Blockly.INPUT_VALUE;a.setAttribute("at1",b);b=this.getInput("AT2").type==Blockly.INPUT_VALUE;a.setAttribute("at2",b);return a},domToMutation:function(a){var b="true"==a.getAttribute("at1");a="true"==a.getAttribute("at1");this.updateAt(1,b);this.updateAt(2,a)},updateAt:function(a,b){this.removeInput("AT"+a);b?this.appendValueInput("AT"+a).setCheck(Number):this.appendDummyInput("AT"+a);var c=new Blockly.FieldDropdown(this["WHERE"+a],function(c){var e="FROM_START"==c||"FROM_END"==c;if(e!=b){var f=this.sourceBlock_;
f.updateAt(a,e);f.setTitleValue(c,"WHERE"+a);return null}});this.getInput("AT"+a).appendTitle(Blockly["LANG_TEXT_SUBSTRING_INPUT_AT"+a]).appendTitle(c,"WHERE"+a);1==a&&this.moveInputBefore("AT1","AT2")}};Blockly.Language.text_getSubstring.WHERE1=[[Blockly.LANG_TEXT_SUBSTRING_FROM_START,"FROM_START"],[Blockly.LANG_TEXT_SUBSTRING_FROM_END,"FROM_END"],[Blockly.LANG_TEXT_SUBSTRING_FIRST,"FIRST"]];
Blockly.Language.text_getSubstring.WHERE2=[[Blockly.LANG_TEXT_SUBSTRING_FROM_START,"FROM_START"],[Blockly.LANG_TEXT_SUBSTRING_FROM_END,"FROM_END"],[Blockly.LANG_TEXT_SUBSTRING_LAST,"LAST"]];Blockly.Language.text_changeCase={helpUrl:Blockly.LANG_TEXT_CHANGECASE_HELPURL,init:function(){this.setColour(160);this.appendValueInput("TEXT").setCheck(String).appendTitle(new Blockly.FieldDropdown(this.OPERATORS),"CASE");this.setOutput(!0,String);this.setTooltip(Blockly.LANG_TEXT_CHANGECASE_TOOLTIP)}};
Blockly.Language.text_changeCase.OPERATORS=[[Blockly.LANG_TEXT_CHANGECASE_OPERATOR_UPPERCASE,"UPPERCASE"],[Blockly.LANG_TEXT_CHANGECASE_OPERATOR_LOWERCASE,"LOWERCASE"],[Blockly.LANG_TEXT_CHANGECASE_OPERATOR_TITLECASE,"TITLECASE"]];Blockly.Language.text_trim={helpUrl:Blockly.LANG_TEXT_TRIM_HELPURL,init:function(){this.setColour(160);this.appendValueInput("TEXT").setCheck(String).appendTitle(new Blockly.FieldDropdown(this.OPERATORS),"MODE");this.setOutput(!0,String);this.setTooltip(Blockly.LANG_TEXT_TRIM_TOOLTIP)}};
Blockly.Language.text_trim.OPERATORS=[[Blockly.LANG_TEXT_TRIM_OPERATOR_BOTH,"BOTH"],[Blockly.LANG_TEXT_TRIM_OPERATOR_LEFT,"LEFT"],[Blockly.LANG_TEXT_TRIM_OPERATOR_RIGHT,"RIGHT"]];Blockly.Language.text_print={helpUrl:Blockly.LANG_TEXT_PRINT_HELPURL,init:function(){this.setColour(160);this.appendValueInput("TEXT").appendTitle(Blockly.LANG_TEXT_PRINT_TITLE_PRINT);this.setPreviousStatement(!0);this.setNextStatement(!0);this.setTooltip(Blockly.LANG_TEXT_PRINT_TOOLTIP)}};
Blockly.Language.text_prompt={helpUrl:Blockly.LANG_TEXT_PROMPT_HELPURL,init:function(){this.setColour(160);this.appendDummyInput().appendTitle(new Blockly.FieldDropdown(this.TYPES),"TYPE").appendTitle(new Blockly.FieldImage(Blockly.pathToBlockly+"media/quote0.png",12,12)).appendTitle(new Blockly.FieldTextInput(""),"TEXT").appendTitle(new Blockly.FieldImage(Blockly.pathToBlockly+"media/quote1.png",12,12));this.setOutput(!0,[Number,String]);var a=this;this.setTooltip(function(){return"TEXT"==a.getTitleValue("TYPE")?
Blockly.LANG_TEXT_PROMPT_TOOLTIP_TEXT:Blockly.LANG_TEXT_PROMPT_TOOLTIP_NUMBER})}};Blockly.Language.text_prompt.TYPES=[[Blockly.LANG_TEXT_PROMPT_TYPE_TEXT,"TEXT"],[Blockly.LANG_TEXT_PROMPT_TYPE_NUMBER,"NUMBER"]];Blockly.Language.variables_get={category:null,helpUrl:Blockly.LANG_VARIABLES_GET_HELPURL,init:function(){this.setColour(330);this.appendDummyInput().appendTitle(Blockly.LANG_VARIABLES_GET_TITLE).appendTitle(new Blockly.FieldVariable(Blockly.LANG_VARIABLES_GET_ITEM),"VAR");this.setOutput(!0,null);this.setTooltip(Blockly.LANG_VARIABLES_GET_TOOLTIP)},getVars:function(){return[this.getTitleValue("VAR")]},renameVar:function(a,b){Blockly.Names.equals(a,this.getTitleValue("VAR"))&&this.setTitleValue(b,"VAR")},
contextMenuMsg_:Blockly.LANG_VARIABLES_GET_CREATE_SET,contextMenuType_:"variables_set",customContextMenu:function(a){var b={enabled:!0},c=this.getTitleValue("VAR");b.text=this.contextMenuMsg_.replace("%1",c);c=goog.dom.createDom("title",null,c);c.setAttribute("name","VAR");c=goog.dom.createDom("block",null,c);c.setAttribute("type",this.contextMenuType_);b.callback=Blockly.ContextMenu.callbackFactory(this,c);a.push(b)}};
Blockly.Language.variables_set={category:null,helpUrl:Blockly.LANG_VARIABLES_SET_HELPURL,init:function(){this.setColour(330);this.appendValueInput("VALUE").appendTitle(Blockly.LANG_VARIABLES_SET_TITLE).appendTitle(new Blockly.FieldVariable(Blockly.LANG_VARIABLES_SET_ITEM),"VAR");this.setPreviousStatement(!0);this.setNextStatement(!0);this.setTooltip(Blockly.LANG_VARIABLES_SET_TOOLTIP)},getVars:function(){return[this.getTitleValue("VAR")]},renameVar:function(a,b){Blockly.Names.equals(a,this.getTitleValue("VAR"))&&
this.setTitleValue(b,"VAR")},contextMenuMsg_:Blockly.LANG_VARIABLES_SET_CREATE_GET,contextMenuType_:"variables_get",customContextMenu:Blockly.Language.variables_get.customContextMenu};