@designliquido/delegua 1.14.0 → 1.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/analisador-documentario/index.d.ts +1 -1
  2. package/analisador-semantico/analisador-semantico.d.ts.map +1 -1
  3. package/analisador-semantico/analisador-semantico.js +12 -2
  4. package/analisador-semantico/analisador-semantico.js.map +1 -1
  5. package/avaliador-sintatico/avaliador-sintatico.d.ts.map +1 -1
  6. package/avaliador-sintatico/avaliador-sintatico.js +10 -0
  7. package/avaliador-sintatico/avaliador-sintatico.js.map +1 -1
  8. package/avaliador-sintatico/dialetos/avaliador-sintatico-calango.d.ts +25 -5
  9. package/avaliador-sintatico/dialetos/avaliador-sintatico-calango.d.ts.map +1 -1
  10. package/avaliador-sintatico/dialetos/avaliador-sintatico-calango.js +301 -25
  11. package/avaliador-sintatico/dialetos/avaliador-sintatico-calango.js.map +1 -1
  12. package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.d.ts.map +1 -1
  13. package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.js +4 -10
  14. package/avaliador-sintatico/dialetos/avaliador-sintatico-pitugues.js.map +1 -1
  15. package/avaliador-sintatico/dialetos/avaliador-sintatico-tenda.d.ts.map +1 -1
  16. package/avaliador-sintatico/dialetos/avaliador-sintatico-tenda.js +33 -2
  17. package/avaliador-sintatico/dialetos/avaliador-sintatico-tenda.js.map +1 -1
  18. package/bibliotecas/biblioteca-global.d.ts.map +1 -1
  19. package/bibliotecas/biblioteca-global.js +3 -7
  20. package/bibliotecas/biblioteca-global.js.map +1 -1
  21. package/bibliotecas/dialetos/tenda/biblioteca-global.d.ts +3 -0
  22. package/bibliotecas/dialetos/tenda/biblioteca-global.d.ts.map +1 -0
  23. package/bibliotecas/dialetos/tenda/biblioteca-global.js +365 -0
  24. package/bibliotecas/dialetos/tenda/biblioteca-global.js.map +1 -0
  25. package/bin/package.json +1 -1
  26. package/construtos/vetor.d.ts.map +1 -1
  27. package/construtos/vetor.js.map +1 -1
  28. package/interfaces/documentario/documentario-analisado.d.ts +2 -2
  29. package/interfaces/documentario/index.d.ts +3 -3
  30. package/interpretador/depuracao/interpretador-com-depuracao.d.ts.map +1 -1
  31. package/interpretador/depuracao/interpretador-com-depuracao.js +8 -0
  32. package/interpretador/depuracao/interpretador-com-depuracao.js.map +1 -1
  33. package/interpretador/dialetos/calango/interpretador-calango.d.ts +2 -0
  34. package/interpretador/dialetos/calango/interpretador-calango.d.ts.map +1 -1
  35. package/interpretador/dialetos/calango/interpretador-calango.js +15 -0
  36. package/interpretador/dialetos/calango/interpretador-calango.js.map +1 -1
  37. package/interpretador/dialetos/index.d.ts +1 -0
  38. package/interpretador/dialetos/index.d.ts.map +1 -1
  39. package/interpretador/dialetos/index.js +1 -0
  40. package/interpretador/dialetos/index.js.map +1 -1
  41. package/interpretador/dialetos/pitugues/interpretador-pitugues.d.ts.map +1 -1
  42. package/interpretador/dialetos/pitugues/interpretador-pitugues.js.map +1 -1
  43. package/interpretador/dialetos/tenda/index.d.ts +2 -0
  44. package/interpretador/dialetos/tenda/index.d.ts.map +1 -0
  45. package/interpretador/dialetos/tenda/index.js +18 -0
  46. package/interpretador/dialetos/tenda/index.js.map +1 -0
  47. package/interpretador/dialetos/tenda/interpretador-tenda.d.ts +13 -0
  48. package/interpretador/dialetos/tenda/interpretador-tenda.d.ts.map +1 -0
  49. package/interpretador/dialetos/tenda/interpretador-tenda.js +31 -0
  50. package/interpretador/dialetos/tenda/interpretador-tenda.js.map +1 -0
  51. package/interpretador/interpretador.d.ts +2 -1
  52. package/interpretador/interpretador.d.ts.map +1 -1
  53. package/interpretador/interpretador.js +24 -1
  54. package/interpretador/interpretador.js.map +1 -1
  55. package/interpretador/pilha-escopos-execucao.d.ts.map +1 -1
  56. package/interpretador/pilha-escopos-execucao.js +3 -0
  57. package/interpretador/pilha-escopos-execucao.js.map +1 -1
  58. package/lexador/dialetos/lexador-calango.d.ts +1 -0
  59. package/lexador/dialetos/lexador-calango.d.ts.map +1 -1
  60. package/lexador/dialetos/lexador-calango.js +77 -0
  61. package/lexador/dialetos/lexador-calango.js.map +1 -1
  62. package/lexador/dialetos/lexador-pitugues.d.ts.map +1 -1
  63. package/lexador/dialetos/lexador-pitugues.js +2 -4
  64. package/lexador/dialetos/lexador-pitugues.js.map +1 -1
  65. package/lexador/dialetos/palavras-reservadas/calango.d.ts +31 -4
  66. package/lexador/dialetos/palavras-reservadas/calango.d.ts.map +1 -1
  67. package/lexador/dialetos/palavras-reservadas/calango.js +31 -4
  68. package/lexador/dialetos/palavras-reservadas/calango.js.map +1 -1
  69. package/package.json +1 -1
  70. package/tipos-de-simbolos/calango.d.ts +28 -0
  71. package/tipos-de-simbolos/calango.d.ts.map +1 -1
  72. package/tipos-de-simbolos/calango.js +28 -0
  73. package/tipos-de-simbolos/calango.js.map +1 -1
  74. package/tradutores/tradutor-assembly-risc-v.d.ts.map +1 -1
  75. package/tradutores/tradutor-assembly-risc-v.js +85 -85
  76. package/tradutores/tradutor-assembly-risc-v.js.map +1 -1
  77. package/tradutores/tradutor-assemblyscript.js +1 -1
  78. package/tradutores/tradutor-assemblyscript.js.map +1 -1
  79. package/tradutores/tradutor-webassembly.d.ts.map +1 -1
  80. package/tradutores/tradutor-webassembly.js +52 -46
  81. package/tradutores/tradutor-webassembly.js.map +1 -1
  82. package/umd/delegua.js +365 -162
@@ -55,10 +55,10 @@ class TradutorAssemblyRISCV {
55
55
  Var: this.traduzirDeclaracaoVar.bind(this),
56
56
  };
57
57
  this.indentacao = 0;
58
- this.text = `
59
- .text
60
- .global _start
61
-
58
+ this.text = `
59
+ .text
60
+ .global _start
61
+
62
62
  _start:`;
63
63
  }
64
64
  gerarDigitoAleatorio() {
@@ -125,9 +125,9 @@ _start:`;
125
125
  const reg = this.obterRegistrador();
126
126
  this.text += `\n la ${reg}, ${nomeVar}`;
127
127
  this.emitirCarga('a0', indice);
128
- this.text += `
129
- slli a0, a0, 3 # multiplicar índice por 8 (palavra de 64 bits)
130
- add ${reg}, ${reg}, a0
128
+ this.text += `
129
+ slli a0, a0, 3 # multiplicar índice por 8 (palavra de 64 bits)
130
+ add ${reg}, ${reg}, a0
131
131
  ld a0, 0(${reg})`;
132
132
  this.liberarRegistrador(reg);
133
133
  return 'a0';
@@ -152,8 +152,8 @@ _start:`;
152
152
  const reg = this.obterRegistrador();
153
153
  this.text += `\n la ${reg}, ${nomeVar}`;
154
154
  this.emitirCarga('a1', indice);
155
- this.text += `
156
- slli a1, a1, 3 # multiplicar índice por 8
155
+ this.text += `
156
+ slli a1, a1, 3 # multiplicar índice por 8
157
157
  add ${reg}, ${reg}, a1`;
158
158
  this.emitirCarga('a1', valor);
159
159
  this.text += `\n sd a1, 0(${reg})`;
@@ -174,8 +174,8 @@ _start:`;
174
174
  this.variaveis.set(nomeVar, varLabel);
175
175
  }
176
176
  this.emitirCarga('a0', valor);
177
- this.text += `
178
- la a1, ${this.variaveis.get(nomeVar)}
177
+ this.text += `
178
+ la a1, ${this.variaveis.get(nomeVar)}
179
179
  sd a0, 0(a1)`;
180
180
  }
181
181
  traduzirConstrutoBinario(construto) {
@@ -260,18 +260,18 @@ _start:`;
260
260
  const objeto = this.dicionarioConstrutos[construto.objeto.constructor.name](construto.objeto);
261
261
  const valor = this.dicionarioConstrutos[construto.valor.constructor.name](construto.valor);
262
262
  this.emitirCarga('a0', valor);
263
- this.text += `
264
- la a1, ${objeto}
263
+ this.text += `
264
+ la a1, ${objeto}
265
265
  sd a0, 0(a1)`;
266
266
  }
267
267
  traduzirFuncaoConstruto(construto) {
268
268
  const labelFuncao = `func_${this.gerarDigitoAleatorio()}`;
269
- this.text += `
270
-
271
- ${labelFuncao}:
272
- addi sp, sp, -16
273
- sd ra, 8(sp)
274
- sd s0, 0(sp)
269
+ this.text += `
270
+
271
+ ${labelFuncao}:
272
+ addi sp, sp, -16
273
+ sd ra, 8(sp)
274
+ sd s0, 0(sp)
275
275
  addi s0, sp, 16`;
276
276
  if (construto.corpo && Array.isArray(construto.corpo)) {
277
277
  construto.corpo.forEach((declaracao) => {
@@ -280,10 +280,10 @@ ${labelFuncao}:
280
280
  }
281
281
  });
282
282
  }
283
- this.text += `
284
- ld ra, 8(sp)
285
- ld s0, 0(sp)
286
- addi sp, sp, 16
283
+ this.text += `
284
+ ld ra, 8(sp)
285
+ ld s0, 0(sp)
286
+ addi sp, sp, 16
287
287
  ret`;
288
288
  }
289
289
  traduzirConstrutoLiteral(construto) {
@@ -302,21 +302,21 @@ ${labelFuncao}:
302
302
  if (operador === 'e' || operador === '&&') {
303
303
  this.text += `\n beqz a0, ${labelFim}`;
304
304
  this.emitirCarga('a0', direita);
305
- this.text += `
306
- beqz a0, ${labelFim}
307
- ${labelVerdadeiro}:
308
- li a0, 1
305
+ this.text += `
306
+ beqz a0, ${labelFim}
307
+ ${labelVerdadeiro}:
308
+ li a0, 1
309
309
  ${labelFim}:`;
310
310
  }
311
311
  else if (operador === 'ou' || operador === '||') {
312
312
  this.text += `\n bnez a0, ${labelVerdadeiro}`;
313
313
  this.emitirCarga('a0', direita);
314
- this.text += `
315
- bnez a0, ${labelVerdadeiro}
316
- li a0, 0
317
- j ${labelFim}
318
- ${labelVerdadeiro}:
319
- li a0, 1
314
+ this.text += `
315
+ bnez a0, ${labelVerdadeiro}
316
+ li a0, 0
317
+ j ${labelFim}
318
+ ${labelVerdadeiro}:
319
+ li a0, 1
320
320
  ${labelFim}:`;
321
321
  }
322
322
  return 'a0';
@@ -342,8 +342,8 @@ ${labelFim}:`;
342
342
  const nomeVar = (_a = construto.simbolo) === null || _a === void 0 ? void 0 : _a.lexema;
343
343
  if (nomeVar && this.variaveis.has(nomeVar)) {
344
344
  const varLabel = this.variaveis.get(nomeVar);
345
- this.text += `
346
- la a0, ${varLabel}
345
+ this.text += `
346
+ la a0, ${varLabel}
347
347
  ld a0, 0(a0)`;
348
348
  return 'a0';
349
349
  }
@@ -359,8 +359,8 @@ ${labelFim}:`;
359
359
  if (this.dicionarioConstrutos[valor.constructor.name]) {
360
360
  const valorTraduzido = this.dicionarioConstrutos[valor.constructor.name](valor);
361
361
  this.emitirCarga('a0', valorTraduzido);
362
- this.text += `
363
- la a1, ${labelVetor}
362
+ this.text += `
363
+ la a1, ${labelVetor}
364
364
  sd a0, ${index * 8}(a1)`;
365
365
  }
366
366
  });
@@ -388,8 +388,8 @@ ${labelFim}:`;
388
388
  if (this.dicionarioDeclaracoes[declaracao.corpo.constructor.name]) {
389
389
  this.dicionarioDeclaracoes[declaracao.corpo.constructor.name](declaracao.corpo);
390
390
  }
391
- this.text += `
392
- j ${labelInicio}
391
+ this.text += `
392
+ j ${labelInicio}
393
393
  ${labelFim}:`;
394
394
  }
395
395
  traduzirDeclaracaoEscolha(declaracao) {
@@ -410,8 +410,8 @@ ${labelFim}:`;
410
410
  }
411
411
  });
412
412
  }
413
- this.text += `
414
- j ${labelFim}
413
+ this.text += `
414
+ j ${labelFim}
415
415
  ${labelProximo}:`;
416
416
  }
417
417
  });
@@ -452,21 +452,21 @@ ${labelProximo}:`;
452
452
  mensagem = this.dicionarioConstrutos[explicacao.constructor.name](explicacao);
453
453
  }
454
454
  }
455
- this.text += `
456
- # Falhar com mensagem: ${mensagem}
457
- li a0, 1
458
- li a7, 93 # sys_exit
455
+ this.text += `
456
+ # Falhar com mensagem: ${mensagem}
457
+ li a0, 1
458
+ li a7, 93 # sys_exit
459
459
  ecall`;
460
460
  }
461
461
  traduzirDeclaracaoFuncao(declaracao) {
462
462
  var _a;
463
463
  const nomeFuncao = ((_a = declaracao.simbolo) === null || _a === void 0 ? void 0 : _a.lexema) || 'funcao';
464
- this.text += `
465
-
466
- ${nomeFuncao}:
467
- addi sp, sp, -16
468
- sd ra, 8(sp)
469
- sd s0, 0(sp)
464
+ this.text += `
465
+
466
+ ${nomeFuncao}:
467
+ addi sp, sp, -16
468
+ sd ra, 8(sp)
469
+ sd s0, 0(sp)
470
470
  addi s0, sp, 16`;
471
471
  if (declaracao.funcao &&
472
472
  declaracao.funcao.corpo &&
@@ -477,10 +477,10 @@ ${nomeFuncao}:
477
477
  }
478
478
  });
479
479
  }
480
- this.text += `
481
- ld ra, 8(sp)
482
- ld s0, 0(sp)
483
- addi sp, sp, 16
480
+ this.text += `
481
+ ld ra, 8(sp)
482
+ ld s0, 0(sp)
483
+ addi sp, sp, 16
484
484
  ret`;
485
485
  }
486
486
  traduzirDeclaracaoImportar(declaracao) {
@@ -501,11 +501,11 @@ ${nomeFuncao}:
501
501
  this.bss += ` ${varLabel}: .space 256\n`;
502
502
  this.variaveis.set(nomeVar, varLabel);
503
503
  }
504
- this.text += `
505
- li a0, 0 # fd stdin
506
- la a1, ${this.variaveis.get(nomeVar)}
507
- li a2, 256
508
- li a7, 63 # sys_read
504
+ this.text += `
505
+ li a0, 0 # fd stdin
506
+ la a1, ${this.variaveis.get(nomeVar)}
507
+ li a2, 256
508
+ li a7, 63 # sys_read
509
509
  ecall`;
510
510
  }
511
511
  traduzirDeclaracaoPara(declaracao) {
@@ -536,8 +536,8 @@ ${nomeFuncao}:
536
536
  this.dicionarioConstrutos[declaracao.incrementar.constructor.name](declaracao.incrementar);
537
537
  }
538
538
  }
539
- this.text += `
540
- j ${labelInicio}
539
+ this.text += `
540
+ j ${labelInicio}
541
541
  ${labelFim}:`;
542
542
  }
543
543
  traduzirDeclaracaoParaCada(declaracao) {
@@ -549,17 +549,17 @@ ${labelFim}:`;
549
549
  tamanhoVetor = vetor.tamanho || 0;
550
550
  }
551
551
  // t0: contador; t1: limite (caller-saved, seguros aqui)
552
- this.text += `
553
- li t0, 0 # contador
554
- li t1, ${tamanhoVetor}
555
- ${labelInicio}:
552
+ this.text += `
553
+ li t0, 0 # contador
554
+ li t1, ${tamanhoVetor}
555
+ ${labelInicio}:
556
556
  bge t0, t1, ${labelFim}`;
557
557
  if (this.dicionarioDeclaracoes[declaracao.corpo.constructor.name]) {
558
558
  this.dicionarioDeclaracoes[declaracao.corpo.constructor.name](declaracao.corpo);
559
559
  }
560
- this.text += `
561
- addi t0, t0, 1
562
- j ${labelInicio}
560
+ this.text += `
561
+ addi t0, t0, 1
562
+ j ${labelInicio}
563
563
  ${labelFim}:`;
564
564
  }
565
565
  traduzirDeclaracaoRetorna(declaracao) {
@@ -567,10 +567,10 @@ ${labelFim}:`;
567
567
  const valor = this.dicionarioConstrutos[declaracao.valor.constructor.name](declaracao.valor);
568
568
  this.emitirCarga('a0', valor);
569
569
  }
570
- this.text += `
571
- ld ra, 8(sp)
572
- ld s0, 0(sp)
573
- addi sp, sp, 16
570
+ this.text += `
571
+ ld ra, 8(sp)
572
+ ld s0, 0(sp)
573
+ addi sp, sp, 16
574
574
  ret`;
575
575
  }
576
576
  traduzirDeclaracaoSe(declaracao) {
@@ -584,8 +584,8 @@ ${labelFim}:`;
584
584
  if (this.dicionarioDeclaracoes[declaracao.caminhoEntao.constructor.name]) {
585
585
  this.dicionarioDeclaracoes[declaracao.caminhoEntao.constructor.name](declaracao.caminhoEntao);
586
586
  }
587
- this.text += `
588
- j ${labelFim}
587
+ this.text += `
588
+ j ${labelFim}
589
589
  ${labelSenao}:`;
590
590
  if (declaracao.caminhoSenao &&
591
591
  this.dicionarioDeclaracoes[declaracao.caminhoSenao.constructor.name]) {
@@ -634,8 +634,8 @@ ${labelSenao}:`;
634
634
  else if (this.dicionarioConstrutos[tipoInicializador]) {
635
635
  const valor = this.dicionarioConstrutos[tipoInicializador](declaracao.inicializador);
636
636
  this.emitirCarga('a0', valor);
637
- this.text += `
638
- la a1, ${varLabel}
637
+ this.text += `
638
+ la a1, ${varLabel}
639
639
  sd a0, 0(a1)`;
640
640
  }
641
641
  }
@@ -657,17 +657,17 @@ ${labelSenao}:`;
657
657
  tamanhoString = String(stringValue.length);
658
658
  }
659
659
  // sys_write(fd=1, buf, count): a7=64, a0=fd, a1=buf, a2=count
660
- this.text += `
661
- la a1, ${nomeStringLiteral}
662
- li a2, ${tamanhoString}
663
- li a0, 1 # fd stdout
664
- li a7, 64 # sys_write
660
+ this.text += `
661
+ la a1, ${nomeStringLiteral}
662
+ li a2, ${tamanhoString}
663
+ li a0, 1 # fd stdout
664
+ li a7, 64 # sys_write
665
665
  ecall`;
666
666
  }
667
667
  saidaSistema() {
668
- this.text += `
669
- li a0, 0 # código de saída
670
- li a7, 93 # sys_exit
668
+ this.text += `
669
+ li a0, 0 # código de saída
670
+ li a7, 93 # sys_exit
671
671
  ecall`;
672
672
  }
673
673
  traduzir(declaracoes) {
@@ -1 +1 @@
1
- {"version":3,"file":"tradutor-assembly-risc-v.js","sourceRoot":"","sources":["../../fontes/tradutores/tradutor-assembly-risc-v.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tradutor-assembly-risc-v.js","sourceRoot":"","sources":["../../fontes/tradutores/tradutor-assembly-risc-v.ts"],"names":[],"mappings":";;;AAAA,8CAkBuB;AACvB,gDAmBwB;AAKxB,MAAa,qBAAqB;IAa9B,YAAmB,OAA4B,YAAY;QAAxC,SAAI,GAAJ,IAAI,CAAoC;QAZ3D,eAAU,GAAW,CAAC,CAAC;QAEvB,mBAAc,GAAW,CAAC,CAAC;QAC3B,cAAS,GAAwB,IAAI,GAAG,EAAE,CAAC;QAC3C,yEAAyE;QACzE,6BAAwB,GAAa,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACtF,uBAAkB,GAAa,EAAE,CAAC;QAElC,QAAG,GAAG,QAAQ,CAAC;QACf,SAAI,GAAG,SAAS,CAAC;QAgEjB,yBAAoB,GAAG;YACnB,oBAAoB,EAAE,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC;YAClE,yBAAyB,EAAE,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC;YACxE,WAAW,EAAE,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC;YACzD,mBAAmB,EAAE,IAAI,CAAC,oCAAoC,CAAC,IAAI,CAAC,IAAI,CAAC;YACzE,QAAQ,EAAE,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC;YACnD,OAAO,EAAE,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC;YACjD,OAAO,EAAE,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC;YACjD,YAAY,EAAE,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC;YAC3D,eAAe,EAAE,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC;YACxD,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM;YAClB,OAAO,EAAE,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC;YACjD,MAAM,EAAE,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC;YAC/C,MAAM,EAAE,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC;YAC/C,MAAM,EAAE,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC;YAC/C,QAAQ,EAAE,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC;YACnD,KAAK,EAAE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC;SAChD,CAAC;QAEF,0BAAqB,GAAG;YACpB,KAAK,EAAE,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC;YAC9C,QAAQ,EAAE,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC;YACpD,QAAQ,EAAE,GAAG,EAAE,CAAC,mBAAmB;YACnC,OAAO,EAAE,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC;YAClD,OAAO,EAAE,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC;YAClD,SAAS,EAAE,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC;YACtD,KAAK,EAAE,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC;YAC9C,MAAM,EAAE,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC;YAChD,gBAAgB,EAAE,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC;YAC1D,QAAQ,EAAE,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC;YACpD,IAAI,EAAE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC;YAC5C,IAAI,EAAE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC;YAC5C,QAAQ,EAAE,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC;YACpD,OAAO,EAAE,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC;YAClD,EAAE,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC;YACxC,MAAM,EAAE,GAAG,EAAE,CAAC,gBAAgB;YAC9B,MAAM,EAAE,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC;YAChD,KAAK,EAAE,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC;YAC9C,KAAK,EAAE,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC;YAC9C,GAAG,EAAE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC;SAC7C,CAAC;QApGE,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,IAAI,GAAG;;;;QAIZ,CAAC;IACL,CAAC;IAED,oBAAoB;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,MAAM,MAAM,GAAG,YAAY,CAAC;QAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACzB,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;YAC9D,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,UAAU;QACN,OAAO,KAAK,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;IACxC,CAAC;IAED,gBAAgB;QACZ,IAAI,IAAI,CAAC,wBAAwB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,wBAAwB,CAAC,GAAG,EAAG,CAAC;YACjD,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAClC,OAAO,GAAG,CAAC;QACf,CAAC;QACD,OAAO,IAAI,CAAC,CAAC,WAAW;IAC5B,CAAC;IAED,kBAAkB,CAAC,GAAW;QAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACnD,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;YACb,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACzC,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC5C,CAAC;IACL,CAAC;IAED,iEAAiE;IACjE,6DAA6D;IAC7D,4DAA4D;IACpD,WAAW,CAAC,WAAmB,EAAE,KAAa;QAClD,IAAI,KAAK,KAAK,WAAW;YAAE,OAAO;QAClC,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;YACnB,IAAI,CAAC,IAAI,IAAI,YAAY,WAAW,KAAK,CAAC;QAC9C,CAAC;aAAM,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;YACxE,MAAM,MAAM,GAAG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;YACxE,IAAI,CAAC,IAAI,IAAI,YAAY,WAAW,KAAK,MAAM,EAAE,CAAC;QACtD,CAAC;aAAM,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACpC,2DAA2D;YAC3D,kEAAkE;YAClE,MAAM,UAAU,GAAG,SAAS,IAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC;YAC1D,IAAI,CAAC,IAAI,IAAI,OAAO,UAAU,aAAa,KAAK,IAAI,CAAC;YACrD,IAAI,CAAC,IAAI,IAAI,YAAY,WAAW,KAAK,UAAU,EAAE,CAAC;QAC1D,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,IAAI,IAAI,YAAY,WAAW,KAAK,KAAK,EAAE,CAAC;QACrD,CAAC;IACL,CAAC;IA4CD,+BAA+B;IAE/B,4BAA4B,CAAC,SAA+B;;QACxD,IAAI,OAA2B,CAAC;QAChC,IAAI,SAAS,CAAC,eAAe,YAAY,qBAAQ,EAAE,CAAC;YAChD,OAAO,GAAG,MAAA,SAAS,CAAC,eAAe,CAAC,OAAO,0CAAE,MAAM,CAAC;QACxD,CAAC;QACD,IAAI,CAAC,OAAO;YAAE,OAAO,GAAG,SAAS,CAAC;QAElC,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CACvE,SAAS,CAAC,MAAM,CACnB,CAAC;QAEF,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACpC,IAAI,CAAC,IAAI,IAAI,YAAY,GAAG,KAAK,OAAO,EAAE,CAAC;QAC3C,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC/B,IAAI,CAAC,IAAI,IAAI;;UAEX,GAAG,KAAK,GAAG;eACN,GAAG,GAAG,CAAC;QACd,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAC7B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,6BAA6B,CAAC,SAAuB;QACjD,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CACvE,SAAS,CAAC,MAAM,CACnB,CAAC;QACF,OAAO,GAAG,MAAM,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC;IAC/C,CAAC;IAED,4BAA4B,CAAC,SAAsB;QAC/C,OAAO,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAChG,CAAC;IAED,oCAAoC,CAAC,SAA8B;;QAC/D,IAAI,OAA2B,CAAC;QAChC,IAAI,SAAS,CAAC,MAAM,YAAY,qBAAQ,EAAE,CAAC;YACvC,OAAO,GAAG,MAAA,SAAS,CAAC,MAAM,CAAC,OAAO,0CAAE,MAAM,CAAC;QAC/C,CAAC;QACD,IAAI,CAAC,OAAO;YAAE,OAAO,GAAG,SAAS,CAAC;QAElC,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CACvE,SAAS,CAAC,MAAM,CACnB,CAAC;QACF,MAAM,KAAK,GAAG,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAE3F,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACpC,IAAI,CAAC,IAAI,IAAI,YAAY,GAAG,KAAK,OAAO,EAAE,CAAC;QAC3C,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC/B,IAAI,CAAC,IAAI,IAAI;;UAEX,GAAG,KAAK,GAAG,MAAM,CAAC;QACpB,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC9B,IAAI,CAAC,IAAI,IAAI,kBAAkB,GAAG,GAAG,CAAC;QACtC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACjC,CAAC;IAED,yBAAyB,CAAC,SAAmB;;QACzC,IAAI,OAA2B,CAAC;QAChC,IAAI,SAAS,CAAC,IAAI,YAAY,qBAAQ,EAAE,CAAC;YACrC,OAAO,GAAG,MAAA,SAAS,CAAC,IAAI,CAAC,OAAO,0CAAE,MAAM,CAAC;QAC7C,CAAC;QACD,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,MAAM,KAAK,GAAG,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAE3F,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/B,MAAM,QAAQ,GAAG,OAAO,OAAO,EAAE,CAAC;YAClC,IAAI,CAAC,GAAG,IAAI,OAAO,QAAQ,cAAc,CAAC;YAC1C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC9B,IAAI,CAAC,IAAI,IAAI;aACR,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC;iBACvB,CAAC;IACd,CAAC;IAED,wBAAwB,CAAC,SAAkB;QACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAC3E,SAAS,CAAC,QAAQ,CACrB,CAAC;QACF,MAAM,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CACzE,SAAS,CAAC,OAAO,CACpB,CAAC;QACF,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC;QAE3C,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAEpC,mCAAmC;QACnC,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACpB,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACrC,CAAC;QAED,mDAAmD;QACnD,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAE/B,QAAQ,QAAQ,EAAE,CAAC;YACf,KAAK,GAAG;gBACJ,IAAI,CAAC,IAAI,IAAI,qBAAqB,GAAG,EAAE,CAAC;gBACxC,MAAM;YACV,KAAK,GAAG;gBACJ,IAAI,CAAC,IAAI,IAAI,qBAAqB,GAAG,EAAE,CAAC;gBACxC,MAAM;YACV,KAAK,GAAG;gBACJ,IAAI,CAAC,IAAI,IAAI,qBAAqB,GAAG,EAAE,CAAC;gBACxC,MAAM;YACV,KAAK,GAAG;gBACJ,IAAI,CAAC,IAAI,IAAI,qBAAqB,GAAG,EAAE,CAAC;gBACxC,MAAM;YACV,KAAK,GAAG;gBACJ,kEAAkE;gBAClE,IAAI,CAAC,IAAI,IAAI,qBAAqB,GAAG,EAAE,CAAC;gBACxC,MAAM;YACV,KAAK,GAAG;gBACJ,0BAA0B;gBAC1B,IAAI,CAAC,IAAI,IAAI,qBAAqB,GAAG,EAAE,CAAC;gBACxC,MAAM;YACV,KAAK,GAAG;gBACJ,iEAAiE;gBACjE,IAAI,CAAC,IAAI,IAAI,iBAAiB,GAAG,MAAM,CAAC;gBACxC,MAAM;YACV,KAAK,IAAI;gBACL,gCAAgC;gBAChC,IAAI,CAAC,IAAI,IAAI,iBAAiB,GAAG,0BAA0B,CAAC;gBAC5D,MAAM;YACV,KAAK,IAAI;gBACL,gBAAgB;gBAChB,IAAI,CAAC,IAAI,IAAI,qBAAqB,GAAG,sBAAsB,CAAC;gBAC5D,MAAM;YACV,KAAK,IAAI,CAAC;YACV,KAAK,KAAK;gBACN,sCAAsC;gBACtC,IAAI,CAAC,IAAI,IAAI,qBAAqB,GAAG,mBAAmB,CAAC;gBACzD,MAAM;YACV,KAAK,IAAI,CAAC;YACV,KAAK,KAAK;gBACN,sCAAsC;gBACtC,IAAI,CAAC,IAAI,IAAI,qBAAqB,GAAG,mBAAmB,CAAC;gBACzD,MAAM;YACV;gBACI,IAAI,CAAC,IAAI,IAAI,oBAAoB,QAAQ,mBAAmB,CAAC;QACrE,CAAC;QAED,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;QAC7B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,wBAAwB,CAAC,SAAkB;;QACvC,IAAI,UAAU,GAAW,QAAQ,CAAC;QAClC,IAAI,SAAS,CAAC,eAAe,YAAY,qBAAQ,EAAE,CAAC;YAChD,UAAU,GAAG,CAAA,MAAA,SAAS,CAAC,eAAe,CAAC,OAAO,0CAAE,MAAM,KAAI,QAAQ,CAAC;QACvE,CAAC;QAED,gDAAgD;QAChD,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAEvE,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,GAAc,EAAE,KAAa,EAAE,EAAE;YAC3D,IAAI,KAAK,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC;gBAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBACtE,IAAI,QAAQ,KAAK,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;oBACpC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC;gBACrD,CAAC;YACL,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,IAAI,cAAc,UAAU,EAAE,CAAC;IAC5C,CAAC;IAED,6BAA6B,CAAC,SAAuB;QACjD,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CACvE,SAAS,CAAC,MAAM,CACnB,CAAC;QACF,MAAM,KAAK,GAAG,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAE3F,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC9B,IAAI,CAAC,IAAI,IAAI;aACR,MAAM;iBACF,CAAC;IACd,CAAC;IAED,uBAAuB,CAAC,SAA0B;QAC9C,MAAM,WAAW,GAAG,QAAQ,IAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC;QAE1D,IAAI,CAAC,IAAI,IAAI;;EAEnB,WAAW;;;;oBAIO,CAAC;QAEb,IAAI,SAAS,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YACpD,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,UAAsB,EAAE,EAAE;gBAC/C,IAAI,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC1D,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC;gBACxE,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC;QAED,IAAI,CAAC,IAAI,IAAI;;;;QAIb,CAAC;IACL,CAAC;IAED,wBAAwB,CAAC,SAAkB;QACvC,IAAI,OAAO,SAAS,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YACtC,OAAO,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAC7C,CAAC;QACD,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAED,uBAAuB,CAAC,SAAiB;QACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAC3E,SAAS,CAAC,QAAQ,CACrB,CAAC;QACF,MAAM,OAAO,GAAG,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CACzE,SAAS,CAAC,OAAO,CACpB,CAAC;QACF,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC;QAE3C,MAAM,eAAe,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAEnC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAEjC,IAAI,QAAQ,KAAK,GAAG,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACxC,IAAI,CAAC,IAAI,IAAI,kBAAkB,QAAQ,EAAE,CAAC;YAC1C,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAChC,IAAI,CAAC,IAAI,IAAI;eACV,QAAQ;EACrB,eAAe;;EAEf,QAAQ,GAAG,CAAC;QACN,CAAC;aAAM,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YAChD,IAAI,CAAC,IAAI,IAAI,kBAAkB,eAAe,EAAE,CAAC;YACjD,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAChC,IAAI,CAAC,IAAI,IAAI;eACV,eAAe;;QAEtB,QAAQ;EACd,eAAe;;EAEf,QAAQ,GAAG,CAAC;QACN,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,uBAAuB,CAAC,SAAiB;QACrC,OAAO,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACxF,CAAC;IAED,uBAAuB,CAAC,SAAiB;QACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAC3E,SAAS,CAAC,QAAQ,CACrB,CAAC;QACF,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC;QAE3C,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAEjC,IAAI,QAAQ,KAAK,GAAG,EAAE,CAAC;YACnB,IAAI,CAAC,IAAI,IAAI,kBAAkB,CAAC;QACpC,CAAC;aAAM,IAAI,QAAQ,KAAK,GAAG,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;YAChD,kCAAkC;YAClC,IAAI,CAAC,IAAI,IAAI,mBAAmB,CAAC;QACrC,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,yBAAyB,CAAC,SAAmB;;QACzC,MAAM,OAAO,GAAG,MAAA,SAAS,CAAC,OAAO,0CAAE,MAAM,CAAC;QAC1C,IAAI,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC;YAC9C,IAAI,CAAC,IAAI,IAAI;aACZ,QAAQ;iBACJ,CAAC;YACN,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAO,OAAO,IAAI,SAAS,CAAC;IAChC,CAAC;IAED,sBAAsB,CAAC,SAAgB;QACnC,MAAM,UAAU,GAAG,SAAS,IAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC;QAC1D,yEAAyE;QACzE,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC;QAEtC,sCAAsC;QACtC,IAAI,CAAC,GAAG,IAAI,OAAO,UAAU,YAAY,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC;QAElE,SAAS,CAAC,OAAO,CAAC,CAAC,KAAgB,EAAE,KAAa,EAAE,EAAE;YAClD,IAAI,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpD,MAAM,cAAc,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;gBAChF,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;gBACvC,IAAI,CAAC,IAAI,IAAI;aAChB,UAAU;aACV,KAAK,GAAG,CAAC,MAAM,CAAC;YACjB,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,UAAU,CAAC;IACtB,CAAC;IAED,gCAAgC;IAEhC,uBAAuB,CAAC,UAAiB;QACrC,IAAI,UAAU,CAAC,WAAW,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAClE,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,IAAgB,EAAE,EAAE;gBAChD,IAAI,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;oBACpD,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC5D,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED,0BAA0B,CAAC,UAAoB;QAC3C,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAEnC,IAAI,CAAC,IAAI,IAAI,KAAK,WAAW,GAAG,CAAC;QAEjC,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAC5E,UAAU,CAAC,QAAQ,CACtB,CAAC;QAEF,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACpB,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACrC,CAAC;QACD,IAAI,CAAC,IAAI,IAAI,kBAAkB,QAAQ,EAAE,CAAC;QAE1C,IAAI,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;YAChE,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACpF,CAAC;QAED,IAAI,CAAC,IAAI,IAAI;QACb,WAAW;EACjB,QAAQ,GAAG,CAAC;IACV,CAAC;IAED,yBAAyB,CAAC,UAAmB;QACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QACnC,MAAM,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAC1C,UAAU,CAAC,sBAAsB,CAAC,WAAW,CAAC,IAAI,CACrD,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;QAErC,IAAI,UAAU,CAAC,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5D,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAuB,EAAE,EAAE;gBACpD,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;gBACvC,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,oBAAoB,CACvC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CACxC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;oBAExB,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;oBACrC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;oBAClC,IAAI,CAAC,IAAI,IAAI,qBAAqB,YAAY,EAAE,CAAC;oBAEjD,IAAI,OAAO,CAAC,WAAW,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;wBAC5D,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,IAAgB,EAAE,EAAE;4BAC7C,IAAI,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;gCACpD,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;4BAC5D,CAAC;wBACL,CAAC,CAAC,CAAC;oBACP,CAAC;oBAED,IAAI,CAAC,IAAI,IAAI;QACzB,QAAQ;EACd,YAAY,GAAG,CAAC;gBACF,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC;QAED,IAAI,CAAC,IAAI,IAAI,KAAK,QAAQ,GAAG,CAAC;IAClC,CAAC;IAED,2BAA2B,CAAC,UAAqB;QAC7C,IACI,UAAU,CAAC,SAAS;YACpB,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,EAClE,CAAC;YACC,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAC3F,CAAC;IACL,CAAC;IAED,uBAAuB,CAAC,UAAiB;QACrC,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAEtC,IAAI,CAAC,IAAI,IAAI,KAAK,WAAW,GAAG,CAAC;QAEjC,IAAI,UAAU,CAAC,YAAY,IAAI,UAAU,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;YACjE,UAAU,CAAC,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,IAAgB,EAAE,EAAE;gBAC7D,IAAI,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;oBACpD,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC5D,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC;QAED,IAAI,UAAU,CAAC,gBAAgB,EAAE,CAAC;YAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CACtC,UAAU,CAAC,gBAAgB,CAAC,WAAW,CAAC,IAAI,CAC/C,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;YAC/B,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;gBACpB,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YACrC,CAAC;YACD,IAAI,CAAC,IAAI,IAAI,kBAAkB,WAAW,EAAE,CAAC;QACjD,CAAC;IACL,CAAC;IAED,wBAAwB,CAAC,UAAkB;QACvC,IAAI,QAAQ,GAAW,QAAQ,CAAC;QAChC,IACI,UAAU,CAAC,UAAU;YACrB,OAAO,UAAU,CAAC,UAAU,KAAK,QAAQ;YACzC,aAAa,IAAI,UAAU,CAAC,UAAU,EACxC,CAAC;YACC,MAAM,UAAU,GAAG,UAAU,CAAC,UAAuB,CAAC;YACtD,IAAI,UAAU,CAAC,WAAW,IAAI,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnF,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC;YAClF,CAAC;QACL,CAAC;QAED,IAAI,CAAC,IAAI,IAAI;6BACQ,QAAQ;;;UAG3B,CAAC;IACP,CAAC;IAED,wBAAwB,CAAC,UAA4B;;QACjD,MAAM,UAAU,GAAG,CAAA,MAAA,UAAU,CAAC,OAAO,0CAAE,MAAM,KAAI,QAAQ,CAAC;QAE1D,IAAI,CAAC,IAAI,IAAI;;EAEnB,UAAU;;;;oBAIQ,CAAC;QAEb,IACI,UAAU,CAAC,MAAM;YACjB,UAAU,CAAC,MAAM,CAAC,KAAK;YACvB,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,EACxC,CAAC;YACC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAgB,EAAE,EAAE;gBACjD,IAAI,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;oBACpD,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC5D,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC;QAED,IAAI,CAAC,IAAI,IAAI;;;;QAIb,CAAC;IACL,CAAC;IAED,0BAA0B,CAAC,UAAoB;QAC3C,IAAI,CAAC,IAAI,IAAI,qBAAqB,UAAU,CAAC,OAAO,IAAI,SAAS,EAAE,CAAC;IACxE,CAAC;IAED,sBAAsB,CAAC,UAAgB;;QACnC,IAAI,OAA2B,CAAC;QAChC,IACI,UAAU,CAAC,UAAU;YACrB,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC;YACxB,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,qBAAQ,EAC9C,CAAC;YACC,OAAO,GAAG,MAAA,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,0CAAE,MAAM,CAAC;QACvD,CAAC;QACD,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/B,MAAM,QAAQ,GAAG,OAAO,OAAO,EAAE,CAAC;YAClC,IAAI,CAAC,GAAG,IAAI,OAAO,QAAQ,gBAAgB,CAAC;YAC5C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,CAAC,IAAI,IAAI;;aAER,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC;;;UAG9B,CAAC;IACP,CAAC;IAED,sBAAsB,CAAC,UAAgB;QACnC,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAEnC,IAAI,UAAU,CAAC,aAAa,EAAE,CAAC;YAC3B,MAAM,iBAAiB,GAAG,UAAU,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC;YACpE,IAAI,IAAI,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBAChD,IAAI,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;YAC5E,CAAC;iBAAM,IAAI,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBACtD,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;YAC3E,CAAC;QACL,CAAC;QAED,IAAI,CAAC,IAAI,IAAI,KAAK,WAAW,GAAG,CAAC;QAEjC,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;YACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAC5E,UAAU,CAAC,QAAQ,CACtB,CAAC;YACF,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;gBACpB,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YACrC,CAAC;YACD,IAAI,CAAC,IAAI,IAAI,kBAAkB,QAAQ,EAAE,CAAC;QAC9C,CAAC;QAED,IAAI,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;YAChE,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACpF,CAAC;QAED,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrE,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,CAC9D,UAAU,CAAC,WAAW,CACzB,CAAC;YACN,CAAC;QACL,CAAC;QAED,IAAI,CAAC,IAAI,IAAI;QACb,WAAW;EACjB,QAAQ,GAAG,CAAC;IACV,CAAC;IAED,0BAA0B,CAAC,UAAoB;QAC3C,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,UAAU,CAAC,iBAAiB,CAAC;QAE3C,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,IAAI,KAAK,YAAY,kBAAK,EAAE,CAAC;YACzB,YAAY,GAAG,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;QACtC,CAAC;QAED,wDAAwD;QACxD,IAAI,CAAC,IAAI,IAAI;;aAER,YAAY;EACvB,WAAW;kBACK,QAAQ,EAAE,CAAC;QAErB,IAAI,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;YAChE,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACpF,CAAC;QAED,IAAI,CAAC,IAAI,IAAI;;QAEb,WAAW;EACjB,QAAQ,GAAG,CAAC;IACV,CAAC;IAED,yBAAyB,CAAC,UAAmB;QACzC,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;YACnB,MAAM,KAAK,GAAG,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CACtE,UAAU,CAAC,KAAK,CACnB,CAAC;YACF,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAClC,CAAC;QACD,IAAI,CAAC,IAAI,IAAI;;;;QAIb,CAAC;IACL,CAAC;IAED,oBAAoB,CAAC,UAAc;QAC/B,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAEnC,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAC5E,UAAU,CAAC,QAAQ,CACtB,CAAC;QAEF,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACpB,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACrC,CAAC;QACD,IAAI,CAAC,IAAI,IAAI,kBAAkB,UAAU,EAAE,CAAC;QAE5C,IAAI,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;YACvE,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,CAChE,UAAU,CAAC,YAAY,CAC1B,CAAC;QACN,CAAC;QAED,IAAI,CAAC,IAAI,IAAI;QACb,QAAQ;EACd,UAAU,GAAG,CAAC;QAER,IACI,UAAU,CAAC,YAAY;YACvB,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,EACtE,CAAC;YACC,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,CAChE,UAAU,CAAC,YAAY,CAC1B,CAAC;QACN,CAAC;QAED,IAAI,CAAC,IAAI,IAAI,KAAK,QAAQ,GAAG,CAAC;IAClC,CAAC;IAED,wBAAwB,CAAC,UAAkB;;QACvC,IAAI,CAAC,IAAI,IAAI,mBAAmB,CAAA,MAAA,UAAU,CAAC,OAAO,0CAAE,MAAM,KAAI,SAAS,EAAE,CAAC;IAC9E,CAAC;IAED,uBAAuB,CAAC,UAAiB;QACrC,IAAI,CAAC,IAAI,IAAI,qBAAqB,CAAC;QAEnC,IAAI,UAAU,CAAC,YAAY,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YACpE,UAAU,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,IAAgB,EAAE,EAAE;gBACjD,IAAI,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;oBACpD,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC5D,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED,uBAAuB,CAAC,UAAiB;;QACrC,MAAM,OAAO,GAAG,MAAA,UAAU,CAAC,OAAO,0CAAE,MAAM,CAAC;QAC3C,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,MAAM,KAAK,GAAG,IAAI,CAAC,oBAAoB,CAAC,UAAU,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,CAC9E,UAAU,CAAC,aAAa,CAC3B,CAAC;QAEF,MAAM,QAAQ,GAAG,SAAS,OAAO,EAAE,CAAC;QACpC,IAAI,CAAC,IAAI,IAAI,OAAO,QAAQ,YAAY,KAAK,IAAI,CAAC;QAClD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAED,qBAAqB,CAAC,UAAe;;QACjC,MAAM,OAAO,GAAG,MAAA,UAAU,CAAC,OAAO,0CAAE,MAAM,CAAC;QAC3C,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,MAAM,QAAQ,GAAG,OAAO,OAAO,EAAE,CAAC;QAClC,IAAI,CAAC,GAAG,IAAI,OAAO,QAAQ,cAAc,CAAC;QAC1C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAEtC,IAAI,UAAU,CAAC,aAAa,IAAI,UAAU,CAAC,aAAa,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YACtE,MAAM,iBAAiB,GAAG,UAAU,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC;YAEpE,IAAI,UAAU,CAAC,aAAa,YAAY,kBAAK,EAAE,CAAC;gBAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;gBACzE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YAC5C,CAAC;iBAAM,IAAI,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBACtD,MAAM,KAAK,GAAG,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,CACtD,UAAU,CAAC,aAAa,CAC3B,CAAC;gBACF,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBAC9B,IAAI,CAAC,IAAI,IAAI;aAChB,QAAQ;iBACJ,CAAC;YACN,CAAC;QACL,CAAC;IACL,CAAC;IAED,iBAAiB,CAAC,OAAgB;QAC9B,MAAM,UAAU,GAAG,WAAW,IAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC;QAC5D,IAAI,CAAC,IAAI,IAAI,OAAO,UAAU,aAAa,OAAO,CAAC,KAAK,KAAK,CAAC;QAC9D,OAAO,UAAU,CAAC;IACtB,CAAC;IAED,iCAAiC,CAAC,iBAAyB;QACvD,OAAO,OAAO,iBAAiB,EAAE,CAAC;IACtC,CAAC;IAED,yBAAyB,CAAC,iBAA0B;QAChD,IAAI,iBAAiB,GAAG,EAAE,CAAC;QAC3B,IAAI,aAAa,GAAG,EAAE,CAAC;QAEvB,IAAI,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,oBAAO,EAAE,CAAC;YACrD,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5E,MAAM,WAAW,GAAI,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAa,CAAC,KAAe,CAAC;YACjF,aAAa,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC/C,CAAC;QAED,8DAA8D;QAC9D,IAAI,CAAC,IAAI,IAAI;aACR,iBAAiB;aACjB,aAAa;;;UAGhB,CAAC;IACP,CAAC;IAED,YAAY;QACR,IAAI,CAAC,IAAI,IAAI;;;UAGX,CAAC;IACP,CAAC;IAED,QAAQ,CAAC,WAAyB;QAC9B,IAAI,CAAC,oBAAoB,GAAG,WAAW,CAAC,MAAM,CAC1C,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,YAAY,oBAAM,CACnC,CAAC;QAEd,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;YACnC,IAAI,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1D,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC;YACxE,CAAC;QACL,CAAC;QACD,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpB,OAAO,IAAI,CAAC,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IAC1D,CAAC;CACJ;AA9zBD,sDA8zBC"}
@@ -765,7 +765,7 @@ class TradutorAssemblyScript {
765
765
  let resultado = '';
766
766
  this.indentacao += 4;
767
767
  resultado += ' '.repeat(this.indentacao);
768
- for (let condicao of (caminho.condicoes || [])) {
768
+ for (let condicao of caminho.condicoes || []) {
769
769
  resultado +=
770
770
  'case ' + this.dicionarioConstrutos[condicao.constructor.name](condicao) + ':\n';
771
771
  resultado += ' '.repeat(this.indentacao);