-
Notifications
You must be signed in to change notification settings - Fork 3
/
pt_br_compressed.js
179 lines (178 loc) · 81.6 KB
/
pt_br_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
176
177
178
179
// Do not edit this file; automatically generated by build.py.
"use strict";
Blockly.MSG_DUPLICATE_BLOCK="Duplicado";Blockly.MSG_REMOVE_COMMENT="Remover Coment\u00e1rio";Blockly.MSG_ADD_COMMENT="Criar Coment\u00e1rio";Blockly.MSG_EXTERNAL_INPUTS="Entradas Externas";Blockly.MSG_INLINE_INPUTS="Entradas Internas";Blockly.MSG_DELETE_BLOCK="Excluir Bloco";Blockly.MSG_DELETE_X_BLOCKS="Excluir %1 Blocos";Blockly.MSG_COLLAPSE_BLOCK="Recolher Bloco";Blockly.MSG_EXPAND_BLOCK="Expandir Bloco";Blockly.MSG_DISABLE_BLOCK="Desabilitar Bloco";Blockly.MSG_ENABLE_BLOCK="Habilitar Bloco";
Blockly.MSG_HELP="Ajuda";Blockly.MSG_COLLAPSE_ALL="Recolher Blocos";Blockly.MSG_EXPAND_ALL="Expandir Blocos";Blockly.MSG_CHANGE_VALUE_TITLE="Alterar valor:";Blockly.MSG_NEW_VARIABLE="Nova vari\u00e1vel...";Blockly.MSG_NEW_VARIABLE_TITLE="Novo nome de vari\u00e1vel:";Blockly.MSG_RENAME_VARIABLE="Renomear vari\u00e1vel...";Blockly.MSG_RENAME_VARIABLE_TITLE='Renomear todas as "%1" vari\u00e1veis para:';Blockly.LANG_COLOUR_PICKER_HELPURL="http://pt.wikipedia.org/wiki/Cor";
Blockly.LANG_COLOUR_PICKER_TOOLTIP="Escolha uma cor da palheta de cores.";Blockly.LANG_COLOUR_RANDOM_HELPURL="http://randomcolour.com";Blockly.LANG_COLOUR_RANDOM_TITLE="cor aleat\u00f3ria";Blockly.LANG_COLOUR_RANDOM_TOOLTIP="Escolher uma cor aleatoriamente.";Blockly.LANG_COLOUR_RGB_HELPURL="http://www.december.com/html/spec/colorper.html";Blockly.LANG_COLOUR_RGB_TITLE="cor com";Blockly.LANG_COLOUR_RGB_RED="vermelho";Blockly.LANG_COLOUR_RGB_GREEN="verde";Blockly.LANG_COLOUR_RGB_BLUE="azul";
Blockly.LANG_COLOUR_RGB_TOOLTIP="Crie uma cor com os valores especificados de vermelho,\nverde e azul. Todos os valores devem estar entre 0 e 100.";Blockly.LANG_COLOUR_BLEND_HELPURL="http://meyerweb.com/eric/tools/color-blend/";Blockly.LANG_COLOUR_BLEND_TITLE="misturar";Blockly.LANG_COLOUR_BLEND_COLOUR1="cor 1";Blockly.LANG_COLOUR_BLEND_COLOUR2="cor 2";Blockly.LANG_COLOUR_BLEND_RATIO="raz\u00e3o";Blockly.LANG_COLOUR_BLEND_TOOLTIP="Mistura duas cores usando uma raz\u00e3o dada (0.0 - 1.0).";
Blockly.LANG_CONTROLS_REPEAT_HELPURL="http://en.wikipedia.org/wiki/For_loop";Blockly.LANG_CONTROLS_REPEAT_TITLE_REPEAT="repetir";Blockly.LANG_CONTROLS_REPEAT_TITLE_TIMES="vezes";Blockly.LANG_CONTROLS_REPEAT_INPUT_DO="fa\u00e7a";Blockly.LANG_CONTROLS_REPEAT_TOOLTIP="Realiza os passos v\u00e1rias vezes.";Blockly.LANG_CONTROLS_WHILEUNTIL_HELPURL="http://code.google.com/p/blockly/wiki/Repeat";Blockly.LANG_CONTROLS_WHILEUNTIL_INPUT_DO="fa\u00e7a";Blockly.LANG_CONTROLS_WHILEUNTIL_OPERATOR_WHILE="repita enquanto";
Blockly.LANG_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL="repita at\u00e9";Blockly.LANG_CONTROLS_WHILEUNTIL_TOOLTIP_WHILE="Enquanto um valor \u00e9 verdadeiro, ent\u00e3o realize alguns passos.";Blockly.LANG_CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL="Enquanto um valor \u00e9 falso, ent\u00e3o realize alguns passos.";Blockly.LANG_CONTROLS_FOR_HELPURL="http://en.wikipedia.org/wiki/For_loop";Blockly.LANG_CONTROLS_FOR_INPUT_WITH="contar com";Blockly.LANG_CONTROLS_FOR_INPUT_VAR="x";
Blockly.LANG_CONTROLS_FOR_INPUT_FROM="de";Blockly.LANG_CONTROLS_FOR_INPUT_TO="ate";Blockly.LANG_CONTROLS_FOR_INPUT_BY="por";Blockly.LANG_CONTROLS_FOR_INPUT_DO="fa\u00e7a";Blockly.LANG_CONTROLS_FOR_TAIL="";Blockly.LANG_CONTROLS_FOR_TOOLTIP='Conta de um n\u00famero inicial at\u00e9 um n\u00famero final pelo intervalo especificado.\nPara cada contagem, define o contador atual para\na vari\u00e1vel "%1", e ent\u00e3o realiza alguns passos.';Blockly.LANG_CONTROLS_FOREACH_HELPURL="http://en.wikipedia.org/wiki/For_loop";
Blockly.LANG_CONTROLS_FOREACH_INPUT_ITEM="para cada item";Blockly.LANG_CONTROLS_FOREACH_INPUT_VAR="x";Blockly.LANG_CONTROLS_FOREACH_INPUT_INLIST="na lista";Blockly.LANG_CONTROLS_FOREACH_INPUT_INLIST_TAIL="";Blockly.LANG_CONTROLS_FOREACH_INPUT_DO="fa\u00e7a";Blockly.LANG_CONTROLS_FOREACH_TOOLTIP='Para cada item em uma lista, define o item\npara a vari\u00e1vel "%1", e ent\u00e3o realiza alguns passos.';Blockly.LANG_CONTROLS_FLOW_STATEMENTS_HELPURL="http://en.wikipedia.org/wiki/Control_flow";
Blockly.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK="encerra o la\u00e7o";Blockly.LANG_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE="continua com a pr\u00f3xima itera\u00e7\u00e3o do la\u00e7o";Blockly.LANG_CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK="Encerra o la\u00e7o.";Blockly.LANG_CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE="Ignora o resto deste la\u00e7o, e\ncontinua com a pr\u00f3xima itera\u00e7\u00e3o.";Blockly.LANG_CONTROLS_FLOW_STATEMENTS_WARNING="Aten\u00e7\u00e3o:\nEste bloco s\u00f3 pode ser\nusado dentro de um la\u00e7o.";
Blockly.LANG_CONTROLS_IF_HELPURL="http://code.google.com/p/blockly/wiki/If_Then";Blockly.LANG_CONTROLS_IF_TOOLTIP_1="Se um valor \u00e9 verdadeiro, ent\u00e3o realize alguns passos.";Blockly.LANG_CONTROLS_IF_TOOLTIP_2="Se um valor \u00e9 verdadeiro, ent\u00e3o realize o primeiro bloco de passos.\nSen\u00e3o, realize o segundo bloco de passos.";Blockly.LANG_CONTROLS_IF_TOOLTIP_3="Se o primeiro valor \u00e9 verdadeiro, ent\u00e3o realize o primeiro bloco de passos.\nSen\u00e3o, se o segundo valor \u00e9 verdadeiro, realize o segundo bloco de passos.";
Blockly.LANG_CONTROLS_IF_TOOLTIP_4="Se o primeiro valor \u00e9 verdadeiro, ent\u00e3o realize o primeiro bloco de passos.\nSen\u00e3o, se o segundo valor \u00e9 verdadeiro, realize o segundo bloco de passos.\nSe nenhum dos blocos for verdadeiro, realize o \u00faltimo bloco de passos.";Blockly.LANG_CONTROLS_IF_MSG_IF="se";Blockly.LANG_CONTROLS_IF_MSG_ELSEIF="sen\u00e3o se";Blockly.LANG_CONTROLS_IF_MSG_ELSE="sen\u00e3o";Blockly.LANG_CONTROLS_IF_MSG_THEN="fa\u00e7a";
Blockly.LANG_CONTROLS_IF_IF_TITLE_IF="se";Blockly.LANG_CONTROLS_IF_IF_TOOLTIP="Acrescente, remova ou reordene se\u00e7\u00f5es\npara reconfigurar este bloco.";Blockly.LANG_CONTROLS_IF_ELSEIF_TITLE_ELSEIF="sen\u00e3o se";Blockly.LANG_CONTROLS_IF_ELSEIF_TOOLTIP="Acrescente uma condi\u00e7\u00e3o para o bloco se.";Blockly.LANG_CONTROLS_IF_ELSE_TITLE_ELSE="sen\u00e3o";Blockly.LANG_CONTROLS_IF_ELSE_TOOLTIP="Acrescente uma condi\u00e7\u00e3o final para o bloco se.";Blockly.LANG_LOGIC_COMPARE_HELPURL="http://en.wikipedia.org/wiki/Inequality_(mathematics)";
Blockly.LANG_LOGIC_COMPARE_TOOLTIP_EQ="Retorna verdadeiro se ambas as entradas forem iguais.";Blockly.LANG_LOGIC_COMPARE_TOOLTIP_NEQ="Retorna verdadeiro se ambas as entradas forem diferentes.";Blockly.LANG_LOGIC_COMPARE_TOOLTIP_LT="Retorna verdadeiro se a primeira entrada for menor\nque a segunda entrada.";Blockly.LANG_LOGIC_COMPARE_TOOLTIP_LTE="Retorna verdadeiro se a primeira entrada for menor\nou igual \u00e0 segunda entrada.";Blockly.LANG_LOGIC_COMPARE_TOOLTIP_GT="Retorna verdadeiro se a primeira entrada for maior\nque a segunda entrada.";
Blockly.LANG_LOGIC_COMPARE_TOOLTIP_GTE="Retorna verdadeiro se a primeira entrada for maior\nou igual \u00e0 segunda entrada.";Blockly.LANG_LOGIC_OPERATION_HELPURL="http://code.google.com/p/blockly/wiki/And_Or";Blockly.LANG_LOGIC_OPERATION_AND="e";Blockly.LANG_LOGIC_OPERATION_OR="ou";Blockly.LANG_LOGIC_OPERATION_TOOLTIP_AND="Retorna verdadeiro se ambas as entradas forem verdadeiras.";Blockly.LANG_LOGIC_OPERATION_TOOLTIP_OR="Retorna verdadeiro se uma das estradas for verdadeira.";
Blockly.LANG_LOGIC_NEGATE_HELPURL="http://code.google.com/p/blockly/wiki/Not";Blockly.LANG_LOGIC_NEGATE_INPUT_NOT="n\u00e3o";Blockly.LANG_LOGIC_NEGATE_TOOLTIP="Retorna verdadeiro se a entrada for falsa.\nRetorna false se a entrada for verdadeira.";Blockly.LANG_LOGIC_BOOLEAN_HELPURL="http://code.google.com/p/blockly/wiki/True_False";Blockly.LANG_LOGIC_BOOLEAN_TRUE="verdadeiro";Blockly.LANG_LOGIC_BOOLEAN_FALSE="falso";Blockly.LANG_LOGIC_BOOLEAN_TOOLTIP="Retorna verdadeiro ou falso.";
Blockly.LANG_LOGIC_NULL_HELPURL="http://en.wikipedia.org/wiki/Nullable_type";Blockly.LANG_LOGIC_NULL="nulo";Blockly.LANG_LOGIC_NULL_TOOLTIP="Retorna nulo.";Blockly.LANG_LOGIC_TERNARY_HELPURL="http://en.wikipedia.org/wiki/%3F:";Blockly.LANG_LOGIC_TERNARY_CONDITION="teste";Blockly.LANG_LOGIC_TERNARY_IF_TRUE="se verdadeiro";Blockly.LANG_LOGIC_TERNARY_IF_FALSE="se falso";Blockly.LANG_LOGIC_TERNARY_TOOLTIP='Avalia a condi\u00e7\u00e3o em "teste". Se a condi\u00e7\u00e3o for verdadeira\nretorna o valor "se verdadeiro", sen\u00e3o retorna o valor "se falso".';
Blockly.LANG_MATH_NUMBER_HELPURL="http://en.wikipedia.org/wiki/Number";Blockly.LANG_MATH_NUMBER_TOOLTIP="Um n\u00famero.";Blockly.LANG_MATH_ARITHMETIC_HELPURL="http://en.wikipedia.org/wiki/Arithmetic";Blockly.LANG_MATH_ARITHMETIC_TOOLTIP_ADD="Retorna a soma de dois n\u00fameros.";Blockly.LANG_MATH_ARITHMETIC_TOOLTIP_MINUS="Retorna a diferen\u00e7a de dois n\u00fameros.";Blockly.LANG_MATH_ARITHMETIC_TOOLTIP_MULTIPLY="Retorna o produto de dois n\u00fameros.";
Blockly.LANG_MATH_ARITHMETIC_TOOLTIP_DIVIDE="Retorna o quociente da divis\u00e3o de dois n\u00fameros.";Blockly.LANG_MATH_ARITHMETIC_TOOLTIP_POWER="Retorna o primeiro n\u00famero elevado\n\u00e0 pot\u00eancia do segundo n\u00famero.";Blockly.LANG_MATH_SINGLE_HELPURL="http://en.wikipedia.org/wiki/Square_root";Blockly.LANG_MATH_SINGLE_OP_ROOT="ra\u00edz quadrada";Blockly.LANG_MATH_SINGLE_OP_ABSOLUTE="absoluto";Blockly.LANG_MATH_SINGLE_TOOLTIP_ROOT="Retorna a raiz quadrada de um n\u00famero.";
Blockly.LANG_MATH_SINGLE_TOOLTIP_ABS="Retorna o valor absoluto de um n\u00famero.";Blockly.LANG_MATH_SINGLE_TOOLTIP_NEG="Retorna o oposto de um n\u00famero.";Blockly.LANG_MATH_SINGLE_TOOLTIP_LN="Retorna o logar\u00edtmo natural de um n\u00famero.";Blockly.LANG_MATH_SINGLE_TOOLTIP_LOG10="Retorna o logar\u00edtmo em base 10 de um n\u00famero.";Blockly.LANG_MATH_SINGLE_TOOLTIP_EXP="Retorna o n\u00famero e elevado \u00e0 pot\u00eancia de um n\u00famero.";Blockly.LANG_MATH_SINGLE_TOOLTIP_POW10="Retorna 10 elevado \u00e0 pot\u00eancia de um n\u00famero.";
Blockly.LANG_MATH_TRIG_HELPURL="http://en.wikipedia.org/wiki/Trigonometric_functions";Blockly.LANG_MATH_TRIG_TOOLTIP_SIN="Retorna o seno de um grau (n\u00e3o radiano).";Blockly.LANG_MATH_TRIG_TOOLTIP_COS="Retorna o cosseno de um grau (n\u00e3o radiano).";Blockly.LANG_MATH_TRIG_TOOLTIP_TAN="Retorna a tangente de um grau (n\u00e3o radiano).";Blockly.LANG_MATH_TRIG_TOOLTIP_ASIN="Retorna o arco seno de um n\u00famero.";Blockly.LANG_MATH_TRIG_TOOLTIP_ACOS="Retorna o arco cosseno de um n\u00famero.";
Blockly.LANG_MATH_TRIG_TOOLTIP_ATAN="Retorna o arco tangente de um n\u00famero.";Blockly.LANG_MATH_CONSTANT_HELPURL="http://en.wikipedia.org/wiki/Mathematical_constant";Blockly.LANG_MATH_CONSTANT_TOOLTIP="Retorna uma das constantes comuns: \u03c0 (3.141\u2026), e (2.718\u2026), \u03c6 (1.618\u2026),\nsqrt(2) (1.414\u2026), sqrt(\u00bd) (0.707\u2026), ou \u221e (infinito).";Blockly.LANG_MATH_IS_EVEN="\u00e9 par";Blockly.LANG_MATH_IS_ODD="\u00e9 impar";Blockly.LANG_MATH_IS_PRIME="\u00e9 primo";
Blockly.LANG_MATH_IS_WHOLE="\u00e9 inteiro";Blockly.LANG_MATH_IS_POSITIVE="\u00e9 positivo";Blockly.LANG_MATH_IS_NEGATIVE="\u00e9 negativo";Blockly.LANG_MATH_IS_DIVISIBLE_BY="\u00e9 divis\u00edvel por";Blockly.LANG_MATH_IS_TOOLTIP="Verifica se um n\u00famero \u00e9 par, impar, inteiro, positivo, negativo,\nou se \u00e9 divis\u00edvel por outro n\u00famero. Retorna verdadeiro ou falso.";Blockly.LANG_MATH_CHANGE_HELPURL="http://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter";
Blockly.LANG_MATH_CHANGE_TITLE_CHANGE="alterar";Blockly.LANG_MATH_CHANGE_TITLE_ITEM="item";Blockly.LANG_MATH_CHANGE_INPUT_BY="por";Blockly.LANG_MATH_CHANGE_TOOLTIP='Soma um n\u00famero \u00e0 vari\u00e1vel "%1".';Blockly.LANG_MATH_ROUND_HELPURL="http://en.wikipedia.org/wiki/Rounding";Blockly.LANG_MATH_ROUND_TOOLTIP="Arredonda um n\u00famero para cima ou para baixo.";Blockly.LANG_MATH_ROUND_OPERATOR_ROUND="arredonda";Blockly.LANG_MATH_ROUND_OPERATOR_ROUNDUP="arredonda para cima";
Blockly.LANG_MATH_ROUND_OPERATOR_ROUNDDOWN="arredonda para baixo";Blockly.LANG_MATH_ONLIST_HELPURL="";Blockly.LANG_MATH_ONLIST_OPERATOR_SUM="soma de uma lista";Blockly.LANG_MATH_ONLIST_OPERATOR_MIN="menor de uma lista";Blockly.LANG_MATH_ONLIST_OPERATOR_MAX="maior de uma lista";Blockly.LANG_MATH_ONLIST_OPERATOR_AVERAGE="m\u00e9dia de uma lista";Blockly.LANG_MATH_ONLIST_OPERATOR_MEDIAN="mediana de uma lista";Blockly.LANG_MATH_ONLIST_OPERATOR_MODE="modo de uma lista";
Blockly.LANG_MATH_ONLIST_OPERATOR_STD_DEV="desvio padr\u00e3o de uma lista";Blockly.LANG_MATH_ONLIST_OPERATOR_RANDOM="item aleat\u00f3rio de uma lista";Blockly.LANG_MATH_ONLIST_TOOLTIP_SUM="Retorna a soma de todos os n\u00fameros em uma lista.";Blockly.LANG_MATH_ONLIST_TOOLTIP_MIN="Retorna o menor n\u00famero de uma lista.";Blockly.LANG_MATH_ONLIST_TOOLTIP_MAX="Retorna o maior n\u00famero de uma lista.";Blockly.LANG_MATH_ONLIST_TOOLTIP_AVERAGE="Retorna a m\u00e9dia aritm\u00e9tica de os n\u00fameros de uma lista.";
Blockly.LANG_MATH_ONLIST_TOOLTIP_MEDIAN="Retorna a mediana de os n\u00fameros em uma lista.";Blockly.LANG_MATH_ONLIST_TOOLTIP_MODE="Retorna a lista de item(ns) mais comum(ns) de uma lista.";Blockly.LANG_MATH_ONLIST_TOOLTIP_STD_DEV="Retorna o desvio padr\u00e3o de os n\u00fameros de uma lista.";Blockly.LANG_MATH_ONLIST_TOOLTIP_RANDOM="Retorna um elemento aleat\u00f3rio de uma lista.";Blockly.LANG_MATH_MODULO_HELPURL="http://en.wikipedia.org/wiki/Modulo_operation";
Blockly.LANG_MATH_MODULO_INPUT_DIVIDEND="resto da divis\u00e3o de";Blockly.LANG_MATH_MODULO_TOOLTIP="Retorna o resto da divis\u00e3o de dois n\u00fameros.";Blockly.LANG_MATH_CONSTRAIN_HELPURL="http://en.wikipedia.org/wiki/Clamping_%28graphics%29";Blockly.LANG_MATH_CONSTRAIN_INPUT_CONSTRAIN="restringe";Blockly.LANG_MATH_CONSTRAIN_INPUT_LOW="inferior";Blockly.LANG_MATH_CONSTRAIN_INPUT_HIGH="superior";Blockly.LANG_MATH_CONSTRAIN_TOOLTIP="Restringe um n\u00famero entre os limites especificados (inclusive).";
Blockly.LANG_MATH_RANDOM_INT_HELPURL="http://en.wikipedia.org/wiki/Random_number_generation";Blockly.LANG_MATH_RANDOM_INT_INPUT_FROM="inteiro aleat\u00f3rio entre";Blockly.LANG_MATH_RANDOM_INT_INPUT_TO="e";Blockly.LANG_MATH_RANDOM_INT_TOOLTIP="Retorna um n\u00famero inteiro entre os dois limites\ninformados, inclusive.";Blockly.LANG_MATH_RANDOM_FLOAT_HELPURL="http://en.wikipedia.org/wiki/Random_number_generation";Blockly.LANG_MATH_RANDOM_FLOAT_TITLE_RANDOM="random fraction";
Blockly.LANG_MATH_RANDOM_FLOAT_TOOLTIP="Return a random fraction between\n0.0 (inclusive) and 1.0 (exclusive).";Blockly.LANG_TEXT_TEXT_HELPURL="http://en.wikipedia.org/wiki/String_(computer_science)";Blockly.LANG_TEXT_TEXT_TOOLTIP="Uma letra, palavra ou linha de texto.";Blockly.LANG_TEXT_JOIN_HELPURL="";Blockly.LANG_TEXT_JOIN_TITLE_CREATEWITH="criar texto com";Blockly.LANG_TEXT_JOIN_TOOLTIP="Criar um peda\u00e7o de texto juntando\nqualquer n\u00famero de itens.";
Blockly.LANG_TEXT_CREATE_JOIN_TITLE_JOIN="unir";Blockly.LANG_TEXT_CREATE_JOIN_TOOLTIP="Acrescenta, remove ou reordena se\u00e7\u00f5es para reconfigurar este bloco de texto.";Blockly.LANG_TEXT_CREATE_JOIN_ITEM_TITLE_ITEM="item";Blockly.LANG_TEXT_CREATE_JOIN_ITEM_TOOLTIP="Acrescentar um item ao texto.";Blockly.LANG_TEXT_APPEND_HELPURL="http://www.liv.ac.uk/HPC/HTMLF90Course/HTMLF90CourseNotesnode91.html";Blockly.LANG_TEXT_APPEND_TO="para";Blockly.LANG_TEXT_APPEND_APPENDTEXT="acrescentar texto";
Blockly.LANG_TEXT_APPEND_VARIABLE="item";Blockly.LANG_TEXT_APPEND_TOOLTIP='Acrescentar um peda\u00e7o de texto \u00e0 vari\u00e1vel "%1".';Blockly.LANG_TEXT_LENGTH_HELPURL="http://www.liv.ac.uk/HPC/HTMLF90Course/HTMLF90CourseNotesnode91.html";Blockly.LANG_TEXT_LENGTH_INPUT_LENGTH="tamanho de";Blockly.LANG_TEXT_LENGTH_TOOLTIP="Conta o n\u00famero de letras (incluindo espa\u00e7os)\nno texto fornecido.";Blockly.LANG_TEXT_ISEMPTY_HELPURL="http://www.liv.ac.uk/HPC/HTMLF90Course/HTMLF90CourseNotesnode91.html";
Blockly.LANG_TEXT_ISEMPTY_INPUT_ISEMPTY="\u00e9 vazio";Blockly.LANG_TEXT_ISEMPTY_TOOLTIP="Retorna verdadeiro se o texto fornecido for vazio.";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="no texto";Blockly.LANG_TEXT_INDEXOF_OPERATOR_FIRST="primeira ocorr\u00eancia do texto";Blockly.LANG_TEXT_INDEXOF_OPERATOR_LAST="\u00faltima ocorr\u00eancia do texto";
Blockly.LANG_TEXT_INDEXOF_TOOLTIP="Retorna a posi\u00e7\u00e3o da primeira/\u00faltima ocorr\u00eancia\ndo primeiro texto no segundo texto.\nRetorna 0 se o texto n\u00e3o for encontrado.";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="no texto";Blockly.LANG_TEXT_CHARAT_FROM_START="obter letra n\u00ba";Blockly.LANG_TEXT_CHARAT_FROM_END="obter letra n\u00ba a partir do final";
Blockly.LANG_TEXT_CHARAT_FIRST="obter primeira letra";Blockly.LANG_TEXT_CHARAT_LAST="obter \u00faltima letra";Blockly.LANG_TEXT_CHARAT_RANDOM="obter letra aleat\u00f3ria";Blockly.LANG_TEXT_CHARAT_TOOLTIP="Retorna a letra na posi\u00e7\u00e3o especificada.";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="no texto";
Blockly.LANG_TEXT_SUBSTRING_INPUT_AT1="obter trecho de";Blockly.LANG_TEXT_SUBSTRING_INPUT_AT2="at\u00e9";Blockly.LANG_TEXT_SUBSTRING_FROM_START="letra n\u00ba";Blockly.LANG_TEXT_SUBSTRING_FROM_END="letra n\u00ba a partir do final";Blockly.LANG_TEXT_SUBSTRING_FIRST="primeira letra";Blockly.LANG_TEXT_SUBSTRING_LAST="\u00faltima letra";Blockly.LANG_TEXT_SUBSTRING_TOOLTIP="Retorna o trecho de texto especificado.";Blockly.LANG_TEXT_CHANGECASE_HELPURL="http://www.liv.ac.uk/HPC/HTMLF90Course/HTMLF90CourseNotesnode91.html";
Blockly.LANG_TEXT_CHANGECASE_OPERATOR_UPPERCASE="para MAI\u00daSCULAS";Blockly.LANG_TEXT_CHANGECASE_OPERATOR_LOWERCASE="para min\u00fasculas";Blockly.LANG_TEXT_CHANGECASE_OPERATOR_TITLECASE="para Nomes Pr\u00f3prios";Blockly.LANG_TEXT_CHANGECASE_TOOLTIP="Retorna uma c\u00f3pia do texto em um formato diferente.";Blockly.LANG_TEXT_TRIM_HELPURL="http://www.liv.ac.uk/HPC/HTMLF90Course/HTMLF90CourseNotesnode91.html";Blockly.LANG_TEXT_TRIM_OPERATOR_BOTH="remover espa\u00e7os de ambos os lados";
Blockly.LANG_TEXT_TRIM_OPERATOR_LEFT="remover espa\u00e7os \u00e0 esquerda";Blockly.LANG_TEXT_TRIM_OPERATOR_RIGHT="remover espa\u00e7os \u00e0 direita";Blockly.LANG_TEXT_TRIM_TOOLTIP="Retorna uma c\u00f3pia do texto com os espa\u00e7os\nremovidos de uma ou ambas extremidades.";Blockly.LANG_TEXT_PRINT_HELPURL="http://www.liv.ac.uk/HPC/HTMLF90Course/HTMLF90CourseNotesnode91.html";Blockly.LANG_TEXT_PRINT_TITLE_PRINT="imprime";Blockly.LANG_TEXT_PRINT_TOOLTIP="Imprime o texto, n\u00famero ou valor especificado.";
Blockly.LANG_TEXT_PROMPT_HELPURL="http://www.liv.ac.uk/HPC/HTMLF90Course/HTMLF90CourseNotesnode92.html";Blockly.LANG_TEXT_PROMPT_TYPE_TEXT="Pede um texto com uma mensagem";Blockly.LANG_TEXT_PROMPT_TYPE_NUMBER="Pede um n\u00famero com uma mensagem";Blockly.LANG_TEXT_PROMPT_TOOLTIP_NUMBER="Pede ao usu\u00e1rio um n\u00famero.";Blockly.LANG_TEXT_PROMPT_TOOLTIP_TEXT="Pede ao usu\u00e1rio um texto.";Blockly.LANG_LISTS_CREATE_EMPTY_HELPURL="http://en.wikipedia.org/wiki/Linked_list#Empty_lists";
Blockly.LANG_LISTS_CREATE_EMPTY_TITLE="criar lista vazia";Blockly.LANG_LISTS_CREATE_EMPTY_TOOLTIP="Retorna uma lista, de tamanho 0, contendo nenhum registro";Blockly.LANG_LISTS_CREATE_WITH_INPUT_WITH="criar lista com";Blockly.LANG_LISTS_CREATE_WITH_TOOLTIP="Cria uma lista com a quantidade de itens informada.";Blockly.LANG_LISTS_CREATE_WITH_CONTAINER_TITLE_ADD="lista";Blockly.LANG_LISTS_CREATE_WITH_CONTAINER_TOOLTIP="Acrescente, remova ou reordene as se\u00e7\u00f5es para reconfigurar este bloco.";
Blockly.LANG_LISTS_CREATE_WITH_ITEM_TITLE="item";Blockly.LANG_LISTS_CREATE_WITH_ITEM_TOOLTIP="Acrescenta um item \u00e0 lista.";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="criar lista com item";Blockly.LANG_LISTS_REPEAT_INPUT_REPEATED="repetido";Blockly.LANG_LISTS_REPEAT_INPUT_TIMES="vezes";Blockly.LANG_LISTS_REPEAT_TOOLTIP="Cria uma lista consistida pelo valor informado\nrepetido o n\u00famero de vezes especificado.";
Blockly.LANG_LISTS_LENGTH_HELPURL="http://www.liv.ac.uk/HPC/HTMLF90Course/HTMLF90CourseNotesnode91.html";Blockly.LANG_LISTS_LENGTH_INPUT_LENGTH="tamanho de";Blockly.LANG_LISTS_LENGTH_TOOLTIP="Retorna o tamanho de uma lista.";Blockly.LANG_LISTS_IS_EMPTY_HELPURL="http://www.liv.ac.uk/HPC/HTMLF90Course/HTMLF90CourseNotesnode91.html";Blockly.LANG_LISTS_INPUT_IS_EMPTY="\u00e9 vazia";Blockly.LANG_LISTS_TOOLTIP="Retona verdadeiro se a lista estiver vazia.";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="na lista";Blockly.LANG_LISTS_INDEX_OF_FIRST="encontre a primeira ocorr\u00eancia do item";Blockly.LANG_LISTS_INDEX_OF_LAST="encontre a \u00faltima ocorr\u00eancia do item";Blockly.LANG_LISTS_INDEX_OF_TOOLTIP="Retorna a posi\u00e7\u00e3o da primeira/\u00faltima ocorr\u00eancia\ndo item na lista.\nRetorna 0 se o texto n\u00e3o for encontrado.";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="obter";Blockly.LANG_LISTS_GET_INDEX_GET_REMOVE="obter e remover";Blockly.LANG_LISTS_GET_INDEX_REMOVE="remover";Blockly.LANG_LISTS_GET_INDEX_FROM_START="n\u00ba";Blockly.LANG_LISTS_GET_INDEX_FROM_END="n\u00ba a partir do final";Blockly.LANG_LISTS_GET_INDEX_FIRST="primeiro";Blockly.LANG_LISTS_GET_INDEX_LAST="\u00faltimo";Blockly.LANG_LISTS_GET_INDEX_RANDOM="aleat\u00f3rio";Blockly.LANG_LISTS_GET_INDEX_INPUT_IN_LIST="na lista";
Blockly.LANG_LISTS_GET_INDEX_TOOLTIP_GET_FROM_START="Retorna o item da lista na posi\u00e7\u00e3o especificada.\n#1 \u00e9 o primeiro item.";Blockly.LANG_LISTS_GET_INDEX_TOOLTIP_GET_FROM_END="Retorna o item da lista na posi\u00e7\u00e3o especificada.\n#1 \u00e9 o \u00faltimo item.";Blockly.LANG_LISTS_GET_INDEX_TOOLTIP_GET_FIRST="Retorna o primeiro item em uma lista.";Blockly.LANG_LISTS_GET_INDEX_TOOLTIP_GET_LAST="Retorna o \u00faltimo item em uma lista.";
Blockly.LANG_LISTS_GET_INDEX_TOOLTIP_GET_RANDOM="Retorna um item aleat\u00f3rio de uma lista.";Blockly.LANG_LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM_START="Remove and retorna o item na posi\u00e7\u00e3o especificada\n em uma lista. #1 \u00e9 o primeiro item.";Blockly.LANG_LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM_END="Remove and retorna o item na posi\u00e7\u00e3o especificada\n em uma lista. #1 \u00e9 o \u00faltimo item.";Blockly.LANG_LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST="Remove e retorna o primeiro item de uma lista.";
Blockly.LANG_LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST="Remove e retorna o \u00faltimo item de uma lista.";Blockly.LANG_LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM="Remove e retorna um item aleat\u00f3rio de uma lista.";Blockly.LANG_LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM_START="Remove e retorna o item na posi\u00e7\u00e3o especificada\n em uma lista. #1 \u00e9 o primeiro item.";Blockly.LANG_LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM_END="Removes the item at the specified position\n em uma lista. #1 \u00e9 o \u00faltimo item.";
Blockly.LANG_LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST="Remove o primeiro item de uma lista.";Blockly.LANG_LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST="Remove o \u00faltimo item de uma lista.";Blockly.LANG_LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM="Remove um item aleat\u00f3rio de uma lista.";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="na lista";
Blockly.LANG_LISTS_SET_INDEX_SET="definir";Blockly.LANG_LISTS_SET_INDEX_INSERT="inserir em";Blockly.LANG_LISTS_SET_INDEX_INPUT_TO="como";Blockly.LANG_LISTS_SET_INDEX_TOOLTIP_SET_FROM_START="Define o item da posi\u00e7\u00e3o especificada de uma lista.\n#1 \u00e9 o primeiro item.";Blockly.LANG_LISTS_SET_INDEX_TOOLTIP_SET_FROM_END="Define o item da posi\u00e7\u00e3o especificada de uma lista.\n#1 \u00e9 o \u00faltimo item.";Blockly.LANG_LISTS_SET_INDEX_TOOLTIP_SET_FIRST="Define o primeiro item de uma lista.";
Blockly.LANG_LISTS_SET_INDEX_TOOLTIP_SET_LAST="Define o \u00faltimo item de uma lista.";Blockly.LANG_LISTS_SET_INDEX_TOOLTIP_SET_RANDOM="Define um item aleat\u00f3rio de uma lista.";Blockly.LANG_LISTS_SET_INDEX_TOOLTIP_INSERT_FROM_START="Insere o item na posi\u00e7\u00e3o especificada em uma lista.\n#1 \u00e9 o primeiro item.";Blockly.LANG_LISTS_SET_INDEX_TOOLTIP_INSERT_FROM_END="Insere o item na posi\u00e7\u00e3o especificada em uma lista.\n#1 \u00e9 o \u00faltimo item.";
Blockly.LANG_LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST="Insere o item no in\u00edcio da lista.";Blockly.LANG_LISTS_SET_INDEX_TOOLTIP_INSERT_LAST="Insere o item no final da lista.";Blockly.LANG_LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM="Insere o item em uma posi\u00e7\u00e3o qualquer da lista.";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="na lista";
Blockly.LANG_LISTS_GET_SUBLIST_INPUT_AT1="obtem sublista de";Blockly.LANG_LISTS_GET_SUBLIST_INPUT_AT2="at\u00e9";Blockly.LANG_LISTS_GET_SUBLIST_TOOLTIP="Cria uma c\u00f3pia da por\u00e7\u00e3o especificada de uma lista.";Blockly.LANG_VARIABLES_GET_HELPURL="http://en.wikipedia.org/wiki/Variable_(computer_science)";Blockly.LANG_VARIABLES_GET_TITLE=null;Blockly.LANG_VARIABLES_GET_ITEM="item";Blockly.LANG_VARIABLES_GET_TAIL=null;Blockly.LANG_VARIABLES_GET_TOOLTIP="Retorna o valor desta vari\u00e1vel.";
Blockly.LANG_VARIABLES_GET_CREATE_SET='Criar "definir %1"';Blockly.LANG_VARIABLES_SET_HELPURL="http://en.wikipedia.org/wiki/Variable_(computer_science)";Blockly.LANG_VARIABLES_SET_TITLE="definir";Blockly.LANG_VARIABLES_SET_ITEM="item";Blockly.LANG_VARIABLES_SET_TAIL="para";Blockly.LANG_VARIABLES_SET_TOOLTIP="Define esta vari\u00e1vel para o valor informado.";Blockly.LANG_VARIABLES_SET_CREATE_GET='Criar "obter %1"';Blockly.LANG_PROCEDURES_DEFNORETURN_HELPURL="http://en.wikipedia.org/wiki/Procedure_%28computer_science%29";
Blockly.LANG_PROCEDURES_DEFNORETURN_TITLE="para";Blockly.LANG_PROCEDURES_DEFNORETURN_PROCEDURE="fa\u00e7a algo";Blockly.LANG_PROCEDURES_BEFORE_PARAMS="com:";Blockly.LANG_PROCEDURES_DEFNORETURN_DO="";Blockly.LANG_PROCEDURES_DEFNORETURN_TOOLTIP="Cria uma fun\u00e7\u00e3o que n\u00e3o tem retorno.";Blockly.LANG_PROCEDURES_DEFRETURN_HELPURL="http://en.wikipedia.org/wiki/Procedure_%28computer_science%29";Blockly.LANG_PROCEDURES_DEFRETURN_TITLE=Blockly.LANG_PROCEDURES_DEFNORETURN_TITLE;
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="retorna";Blockly.LANG_PROCEDURES_DEFRETURN_TOOLTIP="Cria uma fun\u00e7\u00e3o que possui um valor de retorno.";Blockly.LANG_PROCEDURES_DEF_DUPLICATE_WARNING="Aten\u00e7\u00e3o:\nEsta fun\u00e7\u00e3o tem\npar\u00e2metros duplicados.";Blockly.LANG_PROCEDURES_CALLNORETURN_HELPURL="http://en.wikipedia.org/wiki/Procedure_%28computer_science%29";
Blockly.LANG_PROCEDURES_CALLNORETURN_CALL="";Blockly.LANG_PROCEDURES_CALLNORETURN_TOOLTIP='Executa a fun\u00e7\u00e3o "%1".';Blockly.LANG_PROCEDURES_CALLRETURN_HELPURL="http://en.wikipedia.org/wiki/Procedure_%28computer_science%29";Blockly.LANG_PROCEDURES_CALLRETURN_CALL=Blockly.LANG_PROCEDURES_CALLNORETURN_CALL;Blockly.LANG_PROCEDURES_CALLRETURN_TOOLTIP='Executa a fun\u00e7\u00e3o "%1" e usa seu retorno.';Blockly.LANG_PROCEDURES_MUTATORCONTAINER_TITLE="entradas";
Blockly.LANG_PROCEDURES_MUTATORARG_TITLE="nome da entrada:";Blockly.LANG_PROCEDURES_HIGHLIGHT_DEF="Destacar defini\u00e7\u00e3o de procedimento";Blockly.LANG_PROCEDURES_CREATE_DO='Criar "%1"';Blockly.LANG_PROCEDURES_IFRETURN_TOOLTIP="Se o valor \u00e9 verdadeiro, ent\u00e3o retorna um valor.";Blockly.LANG_PROCEDURES_IFRETURN_WARNING="Aten\u00e7\u00e3o:\nEste bloco s\u00f3 pode ser\nutilizado dentro da defini\u00e7\u00e3o de uma fun\u00e7\u00e3o.";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.lists_create_empty={helpUrl:Blockly.LANG_LISTS_CREATE_EMPTY_HELPURL,init:function(){this.setColour(260);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(260);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(a){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(260);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(260);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(260);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(260);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(260);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(260);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(260);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,"Number");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(260);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(260);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.controls_if={helpUrl:Blockly.LANG_CONTROLS_IF_HELPURL,init:function(){this.setColour(210);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(){if(a.elseifCount_||a.elseCount_){if(!a.elseifCount_&&
a.elseCount_)return Blockly.LANG_CONTROLS_IF_TOOLTIP_2;if(a.elseifCount_&&!a.elseCount_)return Blockly.LANG_CONTROLS_IF_TOOLTIP_3;if(a.elseifCount_&&a.elseCount_)return Blockly.LANG_CONTROLS_IF_TOOLTIP_4}else return Blockly.LANG_CONTROLS_IF_TOOLTIP_1;return""});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(210);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(210);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(210);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.logic_compare={helpUrl:Blockly.LANG_LOGIC_COMPARE_HELPURL,init:function(){this.setColour(210);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(210);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(210);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(210);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(210);this.setOutput(!0);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(210);this.appendValueInput("IF").setCheck("Boolean").appendTitle(Blockly.LANG_LOGIC_TERNARY_CONDITION);this.appendValueInput("THEN").appendTitle(Blockly.LANG_LOGIC_TERNARY_IF_TRUE);this.appendValueInput("ELSE").appendTitle(Blockly.LANG_LOGIC_TERNARY_IF_FALSE);this.setOutput(!0);this.setTooltip(Blockly.LANG_LOGIC_TERNARY_TOOLTIP)}};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_repeat_ext={helpUrl:Blockly.LANG_CONTROLS_REPEAT_HELPURL,init:function(){this.setColour(120);this.appendValueInput("TIMES").setCheck("Number").appendTitle(Blockly.LANG_CONTROLS_REPEAT_TITLE_REPEAT);Blockly.LANG_CONTROLS_REPEAT_TITLE_TIMES&&this.appendDummyInput().appendTitle(Blockly.LANG_CONTROLS_REPEAT_TITLE_TIMES);this.appendStatementInput("DO").appendTitle(Blockly.LANG_CONTROLS_REPEAT_INPUT_DO);this.setPreviousStatement(!0);this.setNextStatement(!0);this.setInputsInline(!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);this.appendValueInput("BY").setCheck("Number").setAlign(Blockly.ALIGN_RIGHT).appendTitle(Blockly.LANG_CONTROLS_FOR_INPUT_BY);
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.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(Blockly.LANG_PROCEDURES_DEFNORETURN_TITLE).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_.length&&(a=Blockly.LANG_PROCEDURES_BEFORE_PARAMS+" "+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");Blockly.Procedures.disposeCallers(a,this.workspace);Blockly.Block.prototype.dispose.apply(this,arguments)},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(Blockly.LANG_PROCEDURES_DEFRETURN_TITLE).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("","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"),this.setTooltip((this.outputConnection?Blockly.LANG_PROCEDURES_CALLRETURN_TOOLTIP:Blockly.LANG_PROCEDURES_CALLNORETURN_TOOLTIP).replace("%1",b)))},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_={},a.join("\n")==this.arguments_.join("\n")?this.quarkArguments_=b:this.quarkArguments_=[]);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");this.setTooltip((this.outputConnection?Blockly.LANG_PROCEDURES_CALLRETURN_TOOLTIP:Blockly.LANG_PROCEDURES_CALLNORETURN_TOOLTIP).replace("%1",b));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("","NAME");this.setOutput(!0);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(){var a=this;this.setColour(160);var b=new Blockly.FieldDropdown(this.TYPES,function(b){"NUMBER"==b?a.outputConnection.setCheck("Number"):a.outputConnection.setCheck("String")});this.appendDummyInput().appendTitle(b,"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,"String");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").appendTitle(Blockly.LANG_VARIABLES_GET_TAIL);this.setOutput(!0);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").appendTitle(Blockly.LANG_VARIABLES_SET_TAIL);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};