@designliquido/lincones-sqlite 0.1.1 → 0.1.2

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 (58) hide show
  1. package/fontes/comum/babel.config.d.ts +5 -0
  2. package/fontes/comum/babel.config.js +7 -0
  3. package/fontes/comum/babel.config.js.map +1 -0
  4. package/fontes/comum/fontes/avaliador-sintatico/avaliador-sintatico-base.d.ts +2 -2
  5. package/fontes/comum/fontes/avaliador-sintatico/avaliador-sintatico-base.js +24 -13
  6. package/fontes/comum/fontes/avaliador-sintatico/avaliador-sintatico-base.js.map +1 -1
  7. package/fontes/comum/fontes/comandos/atualizar.d.ts +3 -9
  8. package/fontes/comum/fontes/comandos/atualizar.js.map +1 -1
  9. package/fontes/comum/fontes/comandos/excluir.d.ts +3 -2
  10. package/fontes/comum/fontes/comandos/excluir.js.map +1 -1
  11. package/fontes/comum/fontes/comandos/inserir.d.ts +3 -3
  12. package/fontes/comum/fontes/comandos/inserir.js.map +1 -1
  13. package/fontes/comum/fontes/construtos/coluna-e-valor.d.ts +8 -0
  14. package/fontes/comum/fontes/construtos/coluna-e-valor.js +16 -0
  15. package/fontes/comum/fontes/construtos/coluna-e-valor.js.map +1 -0
  16. package/fontes/comum/fontes/construtos/coluna.d.ts +3 -1
  17. package/fontes/comum/fontes/construtos/coluna.js +21 -1
  18. package/fontes/comum/fontes/construtos/coluna.js.map +1 -1
  19. package/fontes/comum/fontes/construtos/condicao.d.ts +6 -4
  20. package/fontes/comum/fontes/construtos/condicao.js +11 -1
  21. package/fontes/comum/fontes/construtos/condicao.js.map +1 -1
  22. package/fontes/comum/fontes/construtos/construto.d.ts +3 -0
  23. package/fontes/comum/fontes/construtos/construto.js +7 -0
  24. package/fontes/comum/fontes/construtos/construto.js.map +1 -0
  25. package/fontes/comum/fontes/construtos/index.d.ts +6 -0
  26. package/fontes/comum/fontes/construtos/index.js +6 -0
  27. package/fontes/comum/fontes/construtos/index.js.map +1 -1
  28. package/fontes/comum/fontes/construtos/literal.d.ts +7 -0
  29. package/fontes/comum/fontes/construtos/literal.js +16 -0
  30. package/fontes/comum/fontes/construtos/literal.js.map +1 -0
  31. package/fontes/comum/fontes/construtos/operacao-alteracao-tabela.d.ts +3 -1
  32. package/fontes/comum/fontes/construtos/operacao-alteracao-tabela.js +6 -1
  33. package/fontes/comum/fontes/construtos/operacao-alteracao-tabela.js.map +1 -1
  34. package/fontes/comum/fontes/construtos/referencia-coluna.d.ts +6 -0
  35. package/fontes/comum/fontes/construtos/referencia-coluna.js +15 -0
  36. package/fontes/comum/fontes/construtos/referencia-coluna.js.map +1 -0
  37. package/fontes/comum/fontes/construtos/restricao.d.ts +3 -1
  38. package/fontes/comum/fontes/construtos/restricao.js +24 -1
  39. package/fontes/comum/fontes/construtos/restricao.js.map +1 -1
  40. package/fontes/comum/fontes/index.d.ts +8 -0
  41. package/fontes/comum/{index.js → fontes/index.js} +8 -8
  42. package/fontes/comum/fontes/index.js.map +1 -0
  43. package/fontes/comum/fontes/tradutor/index.d.ts +1 -32
  44. package/fontes/comum/fontes/tradutor/index.js +14 -235
  45. package/fontes/comum/fontes/tradutor/index.js.map +1 -1
  46. package/fontes/comum/fontes/tradutor/tradutor-sql-ansi.d.ts +33 -0
  47. package/fontes/comum/fontes/tradutor/tradutor-sql-ansi.js +241 -0
  48. package/fontes/comum/fontes/tradutor/tradutor-sql-ansi.js.map +1 -0
  49. package/fontes/comum/testes/{tradutor.test.js → tradutor-sql-ansi.test.js} +7 -4
  50. package/fontes/comum/testes/tradutor-sql-ansi.test.js.map +1 -0
  51. package/fontes/tradutor/index.d.ts +2 -6
  52. package/fontes/tradutor/index.js +2 -87
  53. package/fontes/tradutor/index.js.map +1 -1
  54. package/package.json +1 -1
  55. package/fontes/comum/index.d.ts +0 -8
  56. package/fontes/comum/index.js.map +0 -1
  57. package/fontes/comum/testes/tradutor.test.js.map +0 -1
  58. /package/fontes/comum/testes/{tradutor.test.d.ts → tradutor-sql-ansi.test.d.ts} +0 -0
@@ -81,9 +81,9 @@ describe('Tradutor (SQL ANSI)', () => {
81
81
  expect(resultado).toContain('IDADE');
82
82
  expect(resultado).toContain('18');
83
83
  expect(resultado).toContain('ATIVO');
84
- expect(resultado).toContain('true');
84
+ expect(resultado).toContain('TRUE');
85
85
  expect(resultado).toContain('CASADO');
86
- expect(resultado).toContain('false');
86
+ expect(resultado).toContain('FALSE');
87
87
  expect(resultado).toContain('WHERE');
88
88
  expect(resultado).toContain('ID');
89
89
  expect(resultado).toContain('=');
@@ -91,7 +91,7 @@ describe('Tradutor (SQL ANSI)', () => {
91
91
  });
92
92
  it('Inserir', () => {
93
93
  const codigo = [
94
- 'INSERIR EM clientes (NOME) VALORES ("Pernalonga")'
94
+ 'INSERIR EM clientes (NOME, IDADE, ATIVO, EMAIL) VALORES ("Pernalonga", 18, verdadeiro, "pernalonga@warnerbros.com")'
95
95
  ];
96
96
  const retornoLexador = lexador.mapear(codigo);
97
97
  const retornoAvaliadorSintatico = avaliadorSintatico.analisar(retornoLexador);
@@ -100,6 +100,9 @@ describe('Tradutor (SQL ANSI)', () => {
100
100
  expect(resultado).toContain('INSERT');
101
101
  expect(resultado).toContain('INTO');
102
102
  expect(resultado).toContain('VALUES');
103
+ expect(resultado).toContain('Pernalonga');
104
+ expect(resultado).toContain('18');
105
+ expect(resultado).toContain('TRUE');
103
106
  });
104
107
  it('Excluir', () => {
105
108
  const codigo = [
@@ -130,4 +133,4 @@ describe('Tradutor (SQL ANSI)', () => {
130
133
  });
131
134
  });
132
135
  });
133
- //# sourceMappingURL=tradutor.test.js.map
136
+ //# sourceMappingURL=tradutor-sql-ansi.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tradutor-sql-ansi.test.js","sourceRoot":"","sources":["../../../../fontes/comum/testes/tradutor-sql-ansi.test.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,10 @@
1
1
  import { Coluna } from '../comum/fontes/construtos';
2
- import { Atualizar, Comando, Criar, Excluir, Inserir, Selecionar } from '../comum/fontes/comandos';
3
- import { TradutorSqlAnsi } from '../comum';
2
+ import { Comando, Criar } from '../comum/fontes/comandos';
3
+ import { TradutorSqlAnsi } from '../comum/fontes/tradutor/tradutor-sql-ansi';
4
4
  export declare class TradutorSqLite extends TradutorSqlAnsi {
5
5
  traduzirOperador(operador: string): boolean | "=";
6
- traduzirComandoAtualizar(comandoAtualizar: Atualizar): string;
7
6
  traduzirColuna(coluna: Coluna): string;
8
7
  traduzirComandoCriar(comandoCriar: Criar): string;
9
- traduzirComandoExcluir(comandoExcluir: Excluir): string;
10
- traduzirComandoInserir(comandoInserir: Inserir): string;
11
- traduzirComandoSelecionar(comandoSelecionar: Selecionar): string;
12
8
  dicionarioComandos: {
13
9
  Alterar: any;
14
10
  Atualizar: any;
@@ -4,9 +4,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.TradutorSqLite = void 0;
7
- const comum_1 = require("../comum");
7
+ const tradutor_sql_ansi_1 = require("../comum/fontes/tradutor/tradutor-sql-ansi");
8
8
  const tipos_de_simbolos_1 = __importDefault(require("../comum/fontes/tipos-de-simbolos"));
9
- class TradutorSqLite extends comum_1.TradutorSqlAnsi {
9
+ class TradutorSqLite extends tradutor_sql_ansi_1.TradutorSqlAnsi {
10
10
  constructor() {
11
11
  super(...arguments);
12
12
  this.dicionarioComandos = {
@@ -28,30 +28,6 @@ class TradutorSqLite extends comum_1.TradutorSqlAnsi {
28
28
  return false;
29
29
  }
30
30
  }
31
- traduzirComandoAtualizar(comandoAtualizar) {
32
- let resultado = 'UPDATE ';
33
- resultado += `${comandoAtualizar.tabela}\nSET `;
34
- for (const valorAtualizacao of comandoAtualizar.colunasEValores) {
35
- if (valorAtualizacao.direita.tipo === tipos_de_simbolos_1.default.TEXTO) {
36
- resultado += `${valorAtualizacao.esquerda.lexema} = '${valorAtualizacao.direita.lexema}', `;
37
- continue;
38
- }
39
- if ([tipos_de_simbolos_1.default.VERDADEIRO, tipos_de_simbolos_1.default.FALSO].includes(valorAtualizacao.direita.tipo)) {
40
- resultado += `${valorAtualizacao.esquerda.lexema} = ${this.traduzirOperador(valorAtualizacao.direita.tipo)}, `;
41
- continue;
42
- }
43
- resultado += `${valorAtualizacao.esquerda.lexema} = ${valorAtualizacao.direita.lexema}, `;
44
- }
45
- resultado = resultado.slice(0, -2);
46
- if (comandoAtualizar.condicoes.length > 0) {
47
- resultado += `\nWHERE `;
48
- for (const condicao of comandoAtualizar.condicoes) {
49
- resultado += `${condicao.esquerda.lexema} ${this.traduzirOperador(condicao.operador)} ${condicao.direita} AND `;
50
- }
51
- resultado = resultado.slice(0, -5);
52
- }
53
- return resultado;
54
- }
55
31
  traduzirColuna(coluna) {
56
32
  let traduzir = '';
57
33
  if (tipos_de_simbolos_1.default.INTEIRO === coluna.tipo) {
@@ -80,67 +56,6 @@ class TradutorSqLite extends comum_1.TradutorSqlAnsi {
80
56
  resultado += ')';
81
57
  return resultado;
82
58
  }
83
- traduzirComandoExcluir(comandoExcluir) {
84
- let resultado = 'DELETE FROM ';
85
- resultado += `${comandoExcluir.tabela} `;
86
- resultado = resultado.slice(0, -1);
87
- if (comandoExcluir.condicoes.length > 0) {
88
- resultado += `\nWHERE `;
89
- for (const condicao of comandoExcluir.condicoes) {
90
- resultado += `${condicao.esquerda.lexema} ${this.traduzirOperador(condicao.operador)} ${condicao.direita} AND `;
91
- }
92
- resultado = resultado.slice(0, -5);
93
- }
94
- return resultado;
95
- }
96
- traduzirComandoInserir(comandoInserir) {
97
- let resultado = 'INSERT INTO ';
98
- resultado += `${comandoInserir.tabela} (`;
99
- for (const coluna of comandoInserir.colunas) {
100
- resultado += `${coluna}, `;
101
- }
102
- resultado = resultado.slice(0, -2);
103
- resultado += `)\nVALUES (`;
104
- for (const valor of comandoInserir.valores) {
105
- if (typeof valor.literal === 'string') {
106
- resultado += `"${valor.literal}", `;
107
- continue;
108
- }
109
- else if ([tipos_de_simbolos_1.default.VERDADEIRO, tipos_de_simbolos_1.default.FALSO].includes(valor.tipo)) {
110
- resultado += `${this.traduzirOperador(valor.tipo)}, `;
111
- continue;
112
- }
113
- else {
114
- resultado += `${valor.literal}, `;
115
- }
116
- }
117
- resultado = resultado.slice(0, -2);
118
- resultado += `)`;
119
- return resultado;
120
- }
121
- traduzirComandoSelecionar(comandoSelecionar) {
122
- let resultado = 'SELECT ';
123
- // Colunas
124
- if (comandoSelecionar.tudo) {
125
- resultado += '*';
126
- }
127
- else {
128
- for (const coluna of comandoSelecionar.colunas) {
129
- resultado += coluna + ', ';
130
- }
131
- resultado = resultado.slice(0, -2);
132
- }
133
- resultado += `\nFROM ${comandoSelecionar.tabela}`;
134
- // Condições
135
- if (comandoSelecionar.condicoes.length > 0) {
136
- resultado += '\n WHERE ';
137
- for (const condicao of comandoSelecionar.condicoes) {
138
- resultado += `${condicao.esquerda.lexema} ${this.traduzirOperador(condicao.operador)} ${condicao.direita} AND `;
139
- }
140
- resultado = resultado.slice(0, -5);
141
- }
142
- return resultado;
143
- }
144
59
  traduzir(comandos) {
145
60
  let resultado = '';
146
61
  for (const comando of comandos.filter((c) => c)) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../fontes/tradutor/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../fontes/tradutor/index.ts"],"names":[],"mappings":";;;;;;AAUA,kFAA6E;AAE7E,0FAAgE;AAEhE,MAAa,cAAe,SAAQ,mCAAe;IAAnD;;QA4CI,uBAAkB,GAAG;YACjB,OAAO,EAAE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC;YAC/C,SAAS,EAAE,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC;YACnD,KAAK,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC;YAC3C,OAAO,EAAE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC;YAC/C,OAAO,EAAE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC;YAC/C,UAAU,EAAE,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,IAAI,CAAC;SACxD,CAAC;IAaN,CAAC;IA/DG,gBAAgB,CAAC,QAAgB;QAC7B,QAAQ,QAAQ,EAAE,CAAC;YACf,KAAK,2BAAe,CAAC,KAAK;gBACtB,OAAO,GAAG,CAAC;YACf,KAAK,2BAAe,CAAC,UAAU;gBAC3B,OAAO,IAAI,CAAC;YAChB,KAAK,2BAAe,CAAC,KAAK;gBACtB,OAAO,KAAK,CAAC;QACrB,CAAC;IACL,CAAC;IAED,cAAc,CAAC,MAAc;QACzB,IAAI,QAAQ,GAAG,EAAE,CAAC;QAElB,IAAI,2BAAe,CAAC,OAAO,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC;YAC1C,QAAQ,IAAI,UAAU,CAAC;QAC3B,CAAC;aAAM,IAAI,2BAAe,CAAC,KAAK,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC;YAC/C,MAAM,OAAO,GAAG,MAAM,CAAC,OAAkB,CAAC;YAC1C,QAAQ,IAAI,WAAW,OAAO,CAAC,OAAO,IAAI,CAAC;QAC/C,CAAC;aAAM,IAAI,2BAAe,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI;YAC7C,QAAQ,IAAI,UAAU,CAAC;QAC3B,IAAI,MAAM,CAAC,aAAa;YAAE,QAAQ,IAAI,cAAc,CAAC;QACrD,IAAI,MAAM,CAAC,IAAI;YAAE,QAAQ,IAAI,MAAM,CAAC;;YAC/B,QAAQ,IAAI,UAAU,CAAC;QAE5B,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,oBAAoB,CAAC,YAAmB;QACpC,IAAI,SAAS,GAAG,gBAAgB,YAAY,CAAC,YAAY,IAAI,CAAC;QAE9D,KAAK,MAAM,MAAM,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;YACxC,SAAS,IAAI,GAAG,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,cAAc,CACpD,MAAM,CACT,IAAI,CAAC;QACV,CAAC;QAED,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACnC,SAAS,IAAI,GAAG,CAAC;QAEjB,OAAO,SAAS,CAAC;IACrB,CAAC;IAWD,QAAQ,CAAC,QAAmB;QACxB,IAAI,SAAS,GAAG,EAAE,CAAC;QAEnB,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9C,SAAS,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAC7D,OAAO,CACV,KAAK,CAAC;QACX,CAAC;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;CACJ;AAhED,wCAgEC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@designliquido/lincones-sqlite",
3
3
  "description": "Implementação de LinConEs para SQLite.",
4
- "version": "0.1.1",
4
+ "version": "0.1.2",
5
5
  "main": "index.js",
6
6
  "author": "Leonel Sanches da Silva",
7
7
  "contributors": [
@@ -1,8 +0,0 @@
1
- export * from './fontes/avaliador-sintatico';
2
- export * from './fontes/comandos';
3
- export * from './fontes/construtos';
4
- export * from './fontes/interfaces';
5
- export * from './fontes/lexador';
6
- export * from './fontes/palavras-reservadas';
7
- export * from './fontes/tipos-de-simbolos';
8
- export * from './fontes/tradutor';
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../fontes/comum/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+DAA6C;AAC7C,oDAAkC;AAClC,sDAAoC;AACpC,sDAAoC;AACpC,mDAAiC;AACjC,+DAA6C;AAC7C,6DAA2C;AAC3C,oDAAkC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"tradutor.test.js","sourceRoot":"","sources":["../../../../fontes/comum/testes/tradutor.test.ts"],"names":[],"mappings":";;AAAA,uEAAmE;AACnE,+CAA4C;AAC5C,iDAAqD;AAErD,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACjC,IAAI,OAAgB,CAAC;IACrB,IAAI,kBAAsC,CAAC;IAC3C,IAAI,QAAyB,CAAC;IAE9B,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;QACxB,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;YAChC,UAAU,CAAC,GAAG,EAAE;gBACZ,OAAO,GAAG,IAAI,iBAAO,EAAE,CAAC;gBACxB,kBAAkB,GAAG,IAAI,wCAAkB,EAAE,CAAC;gBAC9C,QAAQ,GAAG,IAAI,0BAAe,EAAE,CAAC;YACrC,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBACb,MAAM,MAAM,GAAG;oBACX,qEAAqE;iBACxE,CAAC;gBACF,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC9C,MAAM,yBAAyB,GAC3B,kBAAkB,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;gBAChD,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAC;gBAExE,MAAM,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,CAAC;gBAC/B,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;gBACtC,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;gBACrC,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;gBACxC,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;gBACrC,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YAC3C,CAAC,CAAC,CAAC;YAEH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;gBAC5B,EAAE,CAAC,kBAAkB,EAAE,GAAG,EAAE;oBACxB,MAAM,MAAM,GAAG;wBACX,2DAA2D;qBAC9D,CAAC;oBACF,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBAC9C,MAAM,yBAAyB,GAC3B,kBAAkB,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;oBAChD,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAC;oBACxE,MAAM,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,CAAC;oBAC/B,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;oBACrC,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;oBACrC,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;oBACxC,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;oBACnC,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;oBACtC,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;oBACrC,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;gBAChD,CAAC,CAAC,CAAC;gBAEH,EAAE,CAAC,qBAAqB,EAAE,GAAG,EAAE;oBAC3B,MAAM,MAAM,GAAG;wBACX,yBAAyB;wBACzB,oCAAoC;wBACpC,iCAAiC;wBACjC,2BAA2B;qBAC9B,CAAC;oBACF,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBAC9C,MAAM,yBAAyB,GAC3B,kBAAkB,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;oBAChD,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAC;oBACxE,MAAM,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,CAAC;oBAC/B,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;oBACrC,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;oBACrC,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;oBACvC,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;oBACnC,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;oBAC1C,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;oBAC7C,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;gBAC/C,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE;gBACjB,MAAM,MAAM,GAAG;oBACX,8GAA8G;iBACjH,CAAC;gBACF,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC9C,MAAM,yBAAyB,GAC3B,kBAAkB,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;gBAChD,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAC;gBACxE,MAAM,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,CAAC;gBAC/B,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;gBACtC,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;gBACxC,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;gBACnC,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBACpC,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;gBAC1C,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;gBACrC,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBAClC,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;gBACrC,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBACpC,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;gBACtC,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;gBACrC,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;gBACrC,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBAClC,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;gBACjC,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACtC,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;gBACf,MAAM,MAAM,GAAG;oBACX,mDAAmD;iBACtD,CAAC;gBACF,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC9C,MAAM,yBAAyB,GAC3B,kBAAkB,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;gBAChD,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAC;gBACxE,MAAM,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,CAAC;gBAC/B,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;gBACtC,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBACpC,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YAC1C,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;gBACf,MAAM,MAAM,GAAG;oBACX,8BAA8B;iBACjC,CAAC;gBACF,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC9C,MAAM,yBAAyB,GAC3B,kBAAkB,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;gBAChD,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAC;gBACxE,MAAM,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,CAAC;gBAC/B,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;gBACtC,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBACpC,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;gBACxC,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;gBACrC,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YAC1C,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE;gBAClB,MAAM,MAAM,GAAG;oBACX,qDAAqD;iBACxD,CAAC;gBACF,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC9C,MAAM,yBAAyB,GAC3B,kBAAkB,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;gBAChD,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAC;gBACxE,MAAM,CAAC,SAAS,CAAC,CAAC,UAAU,EAAE,CAAC;gBAC/B,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;gBACtC,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBACpC,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACzC,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}