File: /home/mmtprep/public_html/mathzen.mmtprep.com/assets/4C33-1-1zZ3FEMD.js.map
{"version":3,"file":"4C33-1-1zZ3FEMD.js","sources":["../../src/exercices/4e/4C33-1.js"],"sourcesContent":["import { choice, combinaisonListes } from '../../lib/outils/arrayOutils'\nimport { modalPdf } from '../../lib/outils/modales.js'\nimport { lettreDepuisChiffre } from '../../lib/outils/outilString.js'\nimport { eclatePuissance, simpNotPuissance } from '../../lib/outils/puissance.js'\nimport { texteGras } from '../../lib/format/style'\nimport { context } from '../../modules/context.js'\n\nimport { ajouteChampTexteMathLive } from '../../lib/interactif/questionMathLive.js'\nimport { gestionnaireFormulaireTexte, listeQuestionsToContenuSansNumero, randint } from '../../modules/outils.js'\nimport Exercice from '../Exercice.js'\nimport { setReponse } from '../../lib/interactif/gestionInteractif.js'\nimport { miseEnEvidence } from '../../lib/outils/embellissements'\n\nexport const titre = 'Perform calculations with powers'\nexport const interactifReady = true\nexport const interactifType = 'mathLive'\nexport const amcReady = true\nexport const amcType = 'AMCNum'\nexport const dateDeModifImportante = '14/09/2023'\n/**\n * Puissances d'un relatif (1)\n * * L\\'objectif est de travailler le sens des règles de calcul sur les puissances plutôt que les formules magiques\n *\n * Paramétrages possibles :\n * * 1 : produit de puissances de même base\n * * 2 : quotient de puissances de même base\n * * 3 : puissance de puissance\n * * 4 : produit de puissances de même exposant\n * * 5 : mélange des trois autres niveaux\n * @author Sébastien Lozano\n * 4C33-1\n */\nexport const uuid = 'bae57'\nexport const ref = '4C33-1'\n\n/**\n * Fonction pour écrire avec deux couleurs la forme éclatée d'un produit de puissances de même exposant\n * @param b1 base1\n * @param b2 base2\n * @param e exposant\n * @param couleur1\n * @param couleur2\n * @author Sébastien Lozano\n */\nexport function reorganiseProduitPuissance (b1, b2, e, couleur1, couleur2) {\n let str\n switch (e) {\n case 0:\n return '1'\n case 1:\n return `\\\\mathbf{\\\\color{${couleur1}}{${b1}}} \\\\times \\\\mathbf{\\\\color{${couleur2}}{${b2}}}`\n default:\n str = `\\\\mathbf{(\\\\color{${couleur1}}{${b1}}} \\\\times \\\\mathbf{\\\\color{${couleur2}}{${b2}}})`\n for (let i = 1; i < e; i++) {\n str = str + `\\\\times (\\\\mathbf{\\\\color{${couleur1}}{${b1}}} \\\\times \\\\mathbf{\\\\color{${couleur2}}{${b2}}})`\n }\n return str\n }\n}\n\nexport default function PuissancesDunRelatif1 () {\n Exercice.call(this) // Héritage de la classe Exercice()\n context.isHtml\n ? (this.consigne = 'Write in the form $\\\\mathbf{a^n}$.')\n : (this.consigne = 'Write in the form $a^n$.')\n context.isHtml ? (this.spacing = 3) : (this.spacing = 2)\n context.isHtml ? (this.spacingCorr = 2) : (this.spacingCorr = 1)\n this.nbQuestions = 5\n this.correctionDetailleeDisponible = true\n this.nbColsCorr = 1\n this.sup = 5\n this.sup2 = 1\n this.classe = 4\n\n this.listePackages = 'bclogo'\n\n // a function for additional information on exponents\n function remarquesPuissances (base, baseUtile, exposant) {\n let sortie = ''\n if (base < 0 && exposant % 2 === 0) {\n sortie += '<br>'\n sortie += `${texteGras('Noticed :')} In this case, as the even exponent powers of two opposite numbers are equal, we can write $${simpNotPuissance(base, exposant)}$ instead of $${baseUtile}^{${exposant}}$.`\n }\n if (base < 0 && exposant % 2 === 1) {\n sortie += '<br>'\n sortie += `${texteGras('Noticed :')} In this case, as the odd exponent powers of two negative numbers are opposite, we could write $${simpNotPuissance(base, exposant)}$ instead of $${baseUtile}^{${exposant}}$.`\n }\n\n return sortie\n }\n\n this.nouvelleVersion = function (numeroExercice) {\n this.boutonAide = modalPdf(\n numeroExercice,\n 'assets/pdf/FichePuissances-4N21.pdf',\n 'Memory aid on powers (Sébastien Lozano)',\n 'Memory aid'\n )\n\n this.listeQuestions = [] // Liste de questions\n this.listeCorrections = [] // Liste de questions corrigées\n this.autoCorrection = []\n // const AvailableQuestionTypes = this.sup < 5 ? [this.sup]: [1, 2, 3, 4]\n const typesDeQuestionsDisponibles = gestionnaireFormulaireTexte({\n saisie: this.sup,\n min: 1,\n max: 4,\n melange: 5,\n defaut: 5,\n nbQuestions: this.nbQuestions,\n shuffle: true\n })\n\n const listeTypeDeQuestions = combinaisonListes(\n typesDeQuestionsDisponibles,\n this.nbQuestions\n )\n\n // to be able to adapt the colors if necessary\n const coul0 = 'red'\n const coul1 = 'blue'\n\n for (\n let i = 0,\n base0,\n base1,\n base,\n baseUtile,\n baseUtileBisAMC,\n exp0,\n exp1,\n exp,\n couleurExp0,\n couleurExp1,\n lettre,\n texte,\n texteCorr,\n reponseInteractive,\n exposantInteractif,\n cpt = 0;\n i < this.nbQuestions && cpt < 50;\n ) {\n base = randint(2, 9)\n base = base * (this.sup2 === 1 ? 1 : this.sup2 === 2 ? -1 : choice([-1, 1])) // on choisit une base sauf 1 ... penser à gérer le cas des bases qui sont des puissances\n exp0 = randint(3, 5)\n exp1 = this.classe === 4 ? randint(2, exp0 - 1) : randint(2, 5, exp0)\n exp = [exp0, exp1] // on choisit deux exposants différents c'est mieux\n lettre = lettreDepuisChiffre(i + 1) // on utilise des lettres pour les calculs\n\n if (base < 0) {\n baseUtile = '(' + base + ')' // on définit une base avec des parenthèses pour l'affichage du cas negatif\n } else {\n baseUtile = base\n }\n\n texteCorr = ''\n\n switch (listeTypeDeQuestions[i]) {\n case 1: // produit de puissances de même base\n texte = `$${lettre}=${baseUtile}^${exp[0]}\\\\times ${baseUtile}^${exp[1]}$`\n\n // textCorr += `$${lettre}=${baseUtile}^${exp[0]}\\\\times ${baseUtile}^${exp[1]}$`\n if (this.correctionDetaillee) {\n texteCorr += `$${lettre}=${eclatePuissance(baseUtile, exp[0], coul0)} \\\\times ${eclatePuissance(baseUtile, exp[1], coul1)}$`\n texteCorr += '<br>'\n texteCorr += `So there are $\\\\mathbf{\\\\color{${coul0}}{${exp[0]}}~\\\\color{black}{+}~\\\\color{${coul1}}{${exp[1]}}}$ factors all equal to $${baseUtile}$.`\n texteCorr += '<br>'\n }\n if ((base < 0) && ((exp[1] + exp[0]) % 2 === 0)) {\n texteCorr += `$${lettre}=${baseUtile}^{${exp[0]}+${exp[1]}} = ${baseUtile}^{${exp[0] + exp[1]}}=${miseEnEvidence(simpNotPuissance(base, exp[1] + exp[0]))}$`\n } else {\n texteCorr += `$${lettre}=${baseUtile}^{${exp[0]}+${exp[1]}} = ${miseEnEvidence(`${baseUtile}^{${exp[0] + exp[1]}}`)}$`\n }\n texteCorr += remarquesPuissances(base, baseUtile, exp[1] + exp[0])\n if (base < 0 && ((exp[0] + exp[1]) % 2) === 0) {\n reponseInteractive = [`${baseUtile}^${exp[1] + exp[0]}`, `${-base}^${exp[1] + exp[0]}`]\n baseUtileBisAMC = -base\n } else {\n reponseInteractive = `${baseUtile}^${exp[1] + exp[0]}`\n }\n exposantInteractif = exp[1] + exp[0]\n break\n case 2: // quotient de puissances de même base\n // So that the color of the base associated with the max exponent is always red.\n if (Math.max(exp[0], exp[1]) === exp[0]) {\n couleurExp0 = coul0\n couleurExp1 = coul1\n } else {\n couleurExp0 = coul1\n couleurExp1 = coul0\n }\n\n texte = `$${lettre}=\\\\dfrac{${baseUtile}^${exp[0]}}{${baseUtile}^${exp[1]}}$`\n\n if (this.correctionDetaillee) {\n texteCorr += `$${lettre}=\\\\dfrac{${eclatePuissance(baseUtile, exp[0], couleurExp0)}}{${eclatePuissance(baseUtile, exp[1], couleurExp1)}}$`\n texteCorr += '<br>'\n texteCorr += `There are therefore $\\\\mathbf{\\\\color{${coul1}}{${Math.min(exp[0], exp[1])}}}$ simplification${Math.min(exp[0], exp[1]) === 1 ? '' : 's'} by $${baseUtile}$ possible.`\n texteCorr += '<br>'\n }\n if (exp[0] - exp[1] === 0) {\n if (this.correctionDetaillee) {\n texteCorr += `$${lettre}=\\\\dfrac{${eclatePuissance(`\\\\cancel{${baseUtile}}`, exp[0], couleurExp0)}}{${eclatePuissance(`\\\\cancel{${baseUtile}}`, exp[0], couleurExp1)}}$`\n texteCorr += '<br>'\n }\n texteCorr += `$${lettre}=1$`\n } else if (exp[0] - exp[1] < 0) {\n if (this.correctionDetaillee) {\n texteCorr += `$${lettre}=\\\\dfrac{${eclatePuissance(`\\\\cancel{${baseUtile}}`, exp[0], couleurExp0)}}{${eclatePuissance(`\\\\cancel{${baseUtile}}`, exp[0], couleurExp1)}\\\\times${eclatePuissance(baseUtile, exp[1] - exp[0], couleurExp1)}}$`\n texteCorr += '<br>'\n }\n texteCorr += `$${lettre}=\\\\dfrac{1}{${baseUtile}^{${exp[1]}-${exp[0]}}}=\\\\dfrac{1}{${baseUtile}^{${exp[1] - exp[0]}}}`\n if ((base < 0) && ((exp[1] - exp[0]) % 2 === 0)) {\n texteCorr += `=\\\\dfrac{1}{${simpNotPuissance(base, exp[1] - exp[0])}}=${miseEnEvidence(`${simpNotPuissance(base, exp[0] - exp[1])}`)}$`\n } else {\n texteCorr += `=${miseEnEvidence(`${baseUtile}^{${exp[0] - exp[1]}}`)}$`\n }\n } else {\n if (this.correctionDetaillee) {\n texteCorr += `$${lettre}=\\\\dfrac{${eclatePuissance(`\\\\cancel{${baseUtile}}`, exp[1], couleurExp0)}\\\\times${eclatePuissance(baseUtile, exp[0] - exp[1], couleurExp0)}}{${eclatePuissance(`\\\\cancel{${baseUtile}}`, exp[1], couleurExp1)}}$`\n texteCorr += '<br>'\n }\n texteCorr += `$${lettre}=${baseUtile}^{${exp[0]}-${exp[1]}}`\n if ((base < 0) && ((exp[0] - exp[1]) % 2 === 0)) {\n texteCorr += `=${baseUtile}^{${exp[0] - exp[1]}}=${miseEnEvidence(simpNotPuissance(base, exp[0] - exp[1]))}$`\n } else {\n texteCorr += `=${miseEnEvidence(`${baseUtile}^{${exp[0] - exp[1]}}`)}$`\n }\n }\n texteCorr += remarquesPuissances(base, baseUtile, exp[0] - exp[1])\n if (base < 0 && ((exp[0] - exp[1]) % 2) === 0) {\n reponseInteractive = [`${baseUtile}^${exp[0] - exp[1]}`, `${-base}^${exp[0] - exp[1]}`]\n baseUtileBisAMC = -base\n } else {\n reponseInteractive = `${baseUtile}^${exp[0] - exp[1]}`\n }\n exposantInteractif = exp[0] - exp[1]\n break\n case 3: // exponentiation\n exp = [randint(2, 4), randint(2, 4)] // on redéfinit les deux exposants pour ne pas avoir d'écritures trop longues et pour éviter 1\n texte = `$${lettre}=(${baseUtile}^${exp[0]})^{${exp[1]}}$`\n\n if (this.correctionDetaillee) {\n texteCorr += `$${lettre}=\\\\color{${coul0}}{\\\\underbrace{${eclatePuissance(`(${baseUtile}^${exp[0]})`, exp[1], coul0)}}_{${exp[1]}\\\\thickspace\\\\text{factors}}}$`\n texteCorr += '<br>'\n texteCorr += `$${lettre}=\\\\color{${coul0}}{\\\\underbrace{${eclatePuissance(`(\\\\color{${coul1}}{\\\\underbrace{${eclatePuissance(baseUtile, exp[0], coul1)}}_{${exp[0]}\\\\thickspace\\\\text{factors}}}\\\\color{${coul0}})`, exp[1], coul0)}}_{${exp[1]}\\\\times\\\\color{${coul1}}{${exp[0]}}\\\\thickspace\\\\color{black}{\\\\text{factors}}}}$`\n texteCorr += '<br>'\n }\n texteCorr += `So there are $\\\\mathbf{\\\\color{${coul0}}{${exp[1]}}~\\\\color{black}{\\\\times}~\\\\color{${coul1}}{${exp[0]}}}$ factors all equal to $${baseUtile}$.`\n texteCorr += '<br>'\n texteCorr += `$${lettre}=${baseUtile}^{${exp[0]}\\\\times${exp[1]}}`\n if ((base < 0) && ((exp[1] * exp[0]) % 2 === 0)) {\n texteCorr += `= ${baseUtile}^{${exp[0] * exp[1]}} = ${miseEnEvidence(simpNotPuissance(base, exp[0] * exp[1]))}$`\n } else {\n texteCorr += `= ${miseEnEvidence(`${baseUtile}^{${exp[0] * exp[1]}}`)}$`\n }\n texteCorr += remarquesPuissances(base, baseUtile, exp[0] * exp[1])\n if (base < 0 && (exp[0] * exp[1] % 2) === 0) {\n reponseInteractive = [`${baseUtile}^${exp[0] * exp[1]}`, `${-base}^${exp[0] * exp[1]}`]\n baseUtileBisAMC = -base\n } else {\n reponseInteractive = `${baseUtile}^${exp[0] * exp[1]}`\n }\n exposantInteractif = exp[0] * exp[1]\n break\n case 4: // produit de puissances de même exposant\n base0 = randint(2, 8, [4, 6])\n base1 = randint(2, 8, [4, 6, base0])\n base = [base0, base1] // on choisit 2 bases différentes c'est mieux\n exp = randint(2, 5, 6) // on choisit un exposant\n texte = `$${lettre}=${base[0]}^${exp}\\\\times ${base[1]}^${exp}$`\n texteCorr += `$${lettre}=${base[0]}^${exp}\\\\times ${base[1]}^${exp}$`\n\n if (this.correctionDetaillee) {\n texteCorr += '<br>'\n texteCorr += `$${lettre}=${eclatePuissance(base[0], exp, coul0)} \\\\times ${eclatePuissance(base[1], exp, coul1)}$`\n texteCorr += '<br>'\n texteCorr += `$${lettre}=${reorganiseProduitPuissance(base[0], base[1], exp, coul0, coul1)}$`\n }\n texteCorr += '<br>'\n texteCorr += `$${lettre}= (\\\\color{${coul0}}{\\\\mathbf{${base[0]}}} \\\\color{black}{\\\\times} \\\\color{${coul1}}{\\\\mathbf{${base[1]}}}\\\\color{black}{ )^{${exp}}}=${miseEnEvidence(`${base[0] * base[1]}^${exp}`)}$`\n // Here the base can never be negative\n reponseInteractive = `${base[0] * base[1]}^${exp}`\n baseUtile = base[0] * base[1]\n baseUtileBisAMC = base[0] * base[1] // juste pour ne pas avoir à ajouter une batterie de lignes spécifiques pour ce cas, je mets deux fois la même chose\n base = baseUtile\n exposantInteractif = exp\n break\n }\n if (this.interactif && !context.isAmc) {\n setReponse(this, i, reponseInteractive, { formatInteractif: 'power' })\n texte += ajouteChampTexteMathLive(this, i, 'width25 inline', { texteAvant: ' $=$' })\n }\n if (context.isAmc) {\n setReponse(this, i, reponseInteractive, {\n formatInteractif: 'power',\n basePuissance: base,\n exposantPuissance: exposantInteractif,\n exposantNbChiffres: 2,\n signe: true,\n aussiCorrect: baseUtileBisAMC\n })\n }\n if (this.listeQuestions.indexOf(texte) === -1) {\n // If the question has never been asked, we create another one\n this.listeQuestions.push(texte)\n this.listeCorrections.push(texteCorr)\n i++\n }\n cpt++\n }\n listeQuestionsToContenuSansNumero(this)\n }\n /* this.besoinFormulaireNumerique = [\n 'Rule to work',\n 5,\n '1: Product of two powers of the same base\\n2: Quotient of two powers of the same base\\n3: Power of powers\\n4: Product of positive powers of the same exponent\\n5: Mixture'\n ] */\n this.besoinFormulaireTexte = ['Rule to work', 'Numbers separated by hyphens\\n1: Product of two powers of the same base\\n2: Quotient of two powers of the same base\\n3: Power of powers\\n4: Product of positive powers of the same exponent\\n5: Mixture']\n\n this.besoinFormulaire2Numerique = [\n 'Mantissa sign',\n 3,\n '1: Positive\\n2: Negative\\n3: Mixture'\n ]\n}\n"],"names":["titre","interactifReady","interactifType","amcReady","amcType","dateDeModifImportante","uuid","ref","reorganiseProduitPuissance","b1","b2","e","couleur1","couleur2","str","i","PuissancesDunRelatif1","Exercice","context","remarquesPuissances","base","baseUtile","exposant","sortie","texteGras","simpNotPuissance","numeroExercice","modalPdf","typesDeQuestionsDisponibles","gestionnaireFormulaireTexte","listeTypeDeQuestions","combinaisonListes","coul0","coul1","base0","base1","baseUtileBisAMC","exp0","exp1","exp","couleurExp0","couleurExp1","lettre","texte","texteCorr","reponseInteractive","exposantInteractif","cpt","randint","choice","lettreDepuisChiffre","eclatePuissance","miseEnEvidence","setReponse","ajouteChampTexteMathLive","listeQuestionsToContenuSansNumero"],"mappings":"uPAaY,MAACA,EAAQ,mCACRC,EAAkB,GAClBC,EAAiB,WACjBC,EAAW,GACXC,EAAU,SACVC,EAAwB,aAcxBC,EAAO,QACPC,EAAM,SAWZ,SAASC,EAA4BC,EAAIC,EAAIC,EAAGC,EAAUC,EAAU,CACzE,IAAIC,EACJ,OAAQH,EAAC,CACP,IAAK,GACH,MAAO,IACT,IAAK,GACH,MAAO,oBAAoBC,CAAQ,KAAKH,CAAE,+BAA+BI,CAAQ,KAAKH,CAAE,KAC1F,QACEI,EAAM,qBAAqBF,CAAQ,KAAKH,CAAE,+BAA+BI,CAAQ,KAAKH,CAAE,MACxF,QAASK,EAAI,EAAGA,EAAIJ,EAAGI,IACrBD,EAAMA,EAAM,6BAA6BF,CAAQ,KAAKH,CAAE,+BAA+BI,CAAQ,KAAKH,CAAE,MAExG,OAAOI,CACV,CACH,CAEe,SAASE,GAAyB,CAC/CC,EAAS,KAAK,IAAI,EAClBC,EAAQ,OACH,KAAK,SAAW,qCAChB,KAAK,SAAW,2BACrBA,EAAQ,OAAU,KAAK,QAAU,EAAM,KAAK,QAAU,EACtDA,EAAQ,OAAU,KAAK,YAAc,EAAM,KAAK,YAAc,EAC9D,KAAK,YAAc,EACnB,KAAK,8BAAgC,GACrC,KAAK,WAAa,EAClB,KAAK,IAAM,EACX,KAAK,KAAO,EACZ,KAAK,OAAS,EAEd,KAAK,cAAgB,SAGrB,SAASC,EAAqBC,EAAMC,EAAWC,EAAU,CACvD,IAAIC,EAAS,GACb,OAAIH,EAAO,GAAKE,EAAW,IAAM,IAC/BC,GAAU,OACVA,GAAU,GAAGC,EAAU,WAAW,CAAC,+FAA+FC,EAAiBL,EAAME,CAAQ,CAAC,iBAAiBD,CAAS,KAAKC,CAAQ,OAEvMF,EAAO,GAAKE,EAAW,IAAM,IAC/BC,GAAU,OACVA,GAAU,GAAGC,EAAU,WAAW,CAAC,mGAAmGC,EAAiBL,EAAME,CAAQ,CAAC,iBAAiBD,CAAS,KAAKC,CAAQ,OAGxMC,CACR,CAED,KAAK,gBAAkB,SAAUG,EAAgB,CAC/C,KAAK,WAAaC,EAChBD,EACA,sCACA,0CACA,YACD,EAED,KAAK,eAAiB,CAAE,EACxB,KAAK,iBAAmB,CAAE,EAC1B,KAAK,eAAiB,CAAE,EAExB,MAAME,EAA8BC,EAA4B,CAC9D,OAAQ,KAAK,IACb,IAAK,EACL,IAAK,EACL,QAAS,EACT,OAAQ,EACR,YAAa,KAAK,YAClB,QAAS,EACf,CAAK,EAEKC,EAAuBC,EAC3BH,EACA,KAAK,WACN,EAGKI,EAAQ,MACRC,EAAQ,OAEd,QACMlB,EAAI,EACNmB,EACAC,EACAf,EACAC,EACAe,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAAM,EACRhC,EAAI,KAAK,aAAegC,EAAM,IAC9B,CAgBA,OAfA3B,EAAO4B,EAAQ,EAAG,CAAC,EACnB5B,EAAOA,GAAQ,KAAK,OAAS,EAAI,EAAI,KAAK,OAAS,EAAI,GAAK6B,EAAO,CAAC,GAAI,CAAC,CAAC,GAC1EZ,EAAOW,EAAQ,EAAG,CAAC,EACnBV,EAAO,KAAK,SAAW,EAAIU,EAAQ,EAAGX,EAAO,CAAC,EAAIW,EAAQ,EAAG,EAAGX,CAAI,EACpEE,EAAM,CAACF,EAAMC,CAAI,EACjBI,EAASQ,EAAoBnC,EAAI,CAAC,EAE9BK,EAAO,EACTC,EAAY,IAAMD,EAAO,IAEzBC,EAAYD,EAGdwB,EAAY,GAEJd,EAAqBf,CAAC,EAAC,CAC7B,IAAK,GACH4B,EAAQ,IAAID,CAAM,IAAIrB,CAAS,IAAIkB,EAAI,CAAC,CAAC,WAAWlB,CAAS,IAAIkB,EAAI,CAAC,CAAC,IAGnE,KAAK,sBACPK,GAAa,IAAIF,CAAM,IAAIS,EAAgB9B,EAAWkB,EAAI,CAAC,EAAGP,CAAK,CAAC,YAAYmB,EAAgB9B,EAAWkB,EAAI,CAAC,EAAGN,CAAK,CAAC,IACzHW,GAAa,OACbA,GAAa,kCAAkCZ,CAAK,KAAKO,EAAI,CAAC,CAAC,+BAA+BN,CAAK,KAAKM,EAAI,CAAC,CAAC,6BAA6BlB,CAAS,KACpJuB,GAAa,QAEVxB,EAAO,IAAQmB,EAAI,CAAC,EAAIA,EAAI,CAAC,GAAK,IAAM,EAC3CK,GAAa,IAAIF,CAAM,IAAIrB,CAAS,KAAKkB,EAAI,CAAC,CAAC,IAAIA,EAAI,CAAC,CAAC,OAAOlB,CAAS,KAAKkB,EAAI,CAAC,EAAIA,EAAI,CAAC,CAAC,KAAKa,EAAe3B,EAAiBL,EAAMmB,EAAI,CAAC,EAAIA,EAAI,CAAC,CAAC,CAAC,CAAC,IAEzJK,GAAa,IAAIF,CAAM,IAAIrB,CAAS,KAAKkB,EAAI,CAAC,CAAC,IAAIA,EAAI,CAAC,CAAC,OAAOa,EAAe,GAAG/B,CAAS,KAAKkB,EAAI,CAAC,EAAIA,EAAI,CAAC,CAAC,GAAG,CAAC,IAErHK,GAAazB,EAAoBC,EAAMC,EAAWkB,EAAI,CAAC,EAAIA,EAAI,CAAC,CAAC,EAC7DnB,EAAO,IAAOmB,EAAI,CAAC,EAAIA,EAAI,CAAC,GAAK,IAAO,GAC1CM,EAAqB,CAAC,GAAGxB,CAAS,IAAIkB,EAAI,CAAC,EAAIA,EAAI,CAAC,CAAC,GAAI,GAAG,CAACnB,CAAI,IAAImB,EAAI,CAAC,EAAIA,EAAI,CAAC,CAAC,EAAE,EACtFH,EAAkB,CAAChB,GAEnByB,EAAqB,GAAGxB,CAAS,IAAIkB,EAAI,CAAC,EAAIA,EAAI,CAAC,CAAC,GAEtDO,EAAqBP,EAAI,CAAC,EAAIA,EAAI,CAAC,EACnC,MACF,IAAK,GAEC,KAAK,IAAIA,EAAI,CAAC,EAAGA,EAAI,CAAC,CAAC,IAAMA,EAAI,CAAC,GACpCC,EAAcR,EACdS,EAAcR,IAEdO,EAAcP,EACdQ,EAAcT,GAGhBW,EAAQ,IAAID,CAAM,YAAYrB,CAAS,IAAIkB,EAAI,CAAC,CAAC,KAAKlB,CAAS,IAAIkB,EAAI,CAAC,CAAC,KAErE,KAAK,sBACPK,GAAa,IAAIF,CAAM,YAAYS,EAAgB9B,EAAWkB,EAAI,CAAC,EAAGC,CAAW,CAAC,KAAKW,EAAgB9B,EAAWkB,EAAI,CAAC,EAAGE,CAAW,CAAC,KACtIG,GAAa,OACbA,GAAa,yCAAyCX,CAAK,KAAK,KAAK,IAAIM,EAAI,CAAC,EAAGA,EAAI,CAAC,CAAC,CAAC,qBAAqB,KAAK,IAAIA,EAAI,CAAC,EAAGA,EAAI,CAAC,CAAC,IAAM,EAAI,GAAK,GAAG,QAAQlB,CAAS,cACvKuB,GAAa,QAEXL,EAAI,CAAC,EAAIA,EAAI,CAAC,IAAM,GAClB,KAAK,sBACPK,GAAa,IAAIF,CAAM,YAAYS,EAAgB,YAAY9B,CAAS,IAAKkB,EAAI,CAAC,EAAGC,CAAW,CAAC,KAAKW,EAAgB,YAAY9B,CAAS,IAAKkB,EAAI,CAAC,EAAGE,CAAW,CAAC,KACpKG,GAAa,QAEfA,GAAa,IAAIF,CAAM,OACdH,EAAI,CAAC,EAAIA,EAAI,CAAC,EAAI,GACvB,KAAK,sBACPK,GAAa,IAAIF,CAAM,YAAYS,EAAgB,YAAY9B,CAAS,IAAKkB,EAAI,CAAC,EAAGC,CAAW,CAAC,KAAKW,EAAgB,YAAY9B,CAAS,IAAKkB,EAAI,CAAC,EAAGE,CAAW,CAAC,UAAUU,EAAgB9B,EAAWkB,EAAI,CAAC,EAAIA,EAAI,CAAC,EAAGE,CAAW,CAAC,KACtOG,GAAa,QAEfA,GAAa,IAAIF,CAAM,eAAerB,CAAS,KAAKkB,EAAI,CAAC,CAAC,IAAIA,EAAI,CAAC,CAAC,iBAAiBlB,CAAS,KAAKkB,EAAI,CAAC,EAAIA,EAAI,CAAC,CAAC,KAC7GnB,EAAO,IAAQmB,EAAI,CAAC,EAAIA,EAAI,CAAC,GAAK,IAAM,EAC3CK,GAAa,eAAenB,EAAiBL,EAAMmB,EAAI,CAAC,EAAIA,EAAI,CAAC,CAAC,CAAC,KAAKa,EAAe,GAAG3B,EAAiBL,EAAMmB,EAAI,CAAC,EAAIA,EAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAEpIK,GAAa,IAAIQ,EAAe,GAAG/B,CAAS,KAAKkB,EAAI,CAAC,EAAIA,EAAI,CAAC,CAAC,GAAG,CAAC,MAGlE,KAAK,sBACPK,GAAa,IAAIF,CAAM,YAAYS,EAAgB,YAAY9B,CAAS,IAAKkB,EAAI,CAAC,EAAGC,CAAW,CAAC,UAAUW,EAAgB9B,EAAWkB,EAAI,CAAC,EAAIA,EAAI,CAAC,EAAGC,CAAW,CAAC,KAAKW,EAAgB,YAAY9B,CAAS,IAAKkB,EAAI,CAAC,EAAGE,CAAW,CAAC,KACtOG,GAAa,QAEfA,GAAa,IAAIF,CAAM,IAAIrB,CAAS,KAAKkB,EAAI,CAAC,CAAC,IAAIA,EAAI,CAAC,CAAC,IACpDnB,EAAO,IAAQmB,EAAI,CAAC,EAAIA,EAAI,CAAC,GAAK,IAAM,EAC3CK,GAAa,IAAIvB,CAAS,KAAKkB,EAAI,CAAC,EAAIA,EAAI,CAAC,CAAC,KAAKa,EAAe3B,EAAiBL,EAAMmB,EAAI,CAAC,EAAIA,EAAI,CAAC,CAAC,CAAC,CAAC,IAE1GK,GAAa,IAAIQ,EAAe,GAAG/B,CAAS,KAAKkB,EAAI,CAAC,EAAIA,EAAI,CAAC,CAAC,GAAG,CAAC,KAGxEK,GAAazB,EAAoBC,EAAMC,EAAWkB,EAAI,CAAC,EAAIA,EAAI,CAAC,CAAC,EAC7DnB,EAAO,IAAOmB,EAAI,CAAC,EAAIA,EAAI,CAAC,GAAK,IAAO,GAC1CM,EAAqB,CAAC,GAAGxB,CAAS,IAAIkB,EAAI,CAAC,EAAIA,EAAI,CAAC,CAAC,GAAI,GAAG,CAACnB,CAAI,IAAImB,EAAI,CAAC,EAAIA,EAAI,CAAC,CAAC,EAAE,EACtFH,EAAkB,CAAChB,GAEnByB,EAAqB,GAAGxB,CAAS,IAAIkB,EAAI,CAAC,EAAIA,EAAI,CAAC,CAAC,GAEtDO,EAAqBP,EAAI,CAAC,EAAIA,EAAI,CAAC,EACnC,MACF,IAAK,GACHA,EAAM,CAACS,EAAQ,EAAG,CAAC,EAAGA,EAAQ,EAAG,CAAC,CAAC,EACnCL,EAAQ,IAAID,CAAM,KAAKrB,CAAS,IAAIkB,EAAI,CAAC,CAAC,MAAMA,EAAI,CAAC,CAAC,KAElD,KAAK,sBACPK,GAAa,IAAIF,CAAM,YAAYV,CAAK,kBAAkBmB,EAAgB,IAAI9B,CAAS,IAAIkB,EAAI,CAAC,CAAC,IAAKA,EAAI,CAAC,EAAGP,CAAK,CAAC,MAAMO,EAAI,CAAC,CAAC,iCAChIK,GAAa,OACbA,GAAa,IAAIF,CAAM,YAAYV,CAAK,kBAAkBmB,EAAgB,YAAYlB,CAAK,kBAAkBkB,EAAgB9B,EAAWkB,EAAI,CAAC,EAAGN,CAAK,CAAC,MAAMM,EAAI,CAAC,CAAC,wCAAwCP,CAAK,KAAMO,EAAI,CAAC,EAAGP,CAAK,CAAC,MAAMO,EAAI,CAAC,CAAC,kBAAkBN,CAAK,KAAKM,EAAI,CAAC,CAAC,kDACjRK,GAAa,QAEfA,GAAa,kCAAkCZ,CAAK,KAAKO,EAAI,CAAC,CAAC,qCAAqCN,CAAK,KAAKM,EAAI,CAAC,CAAC,6BAA6BlB,CAAS,KAC1JuB,GAAa,OACbA,GAAa,IAAIF,CAAM,IAAIrB,CAAS,KAAKkB,EAAI,CAAC,CAAC,UAAUA,EAAI,CAAC,CAAC,IAC1DnB,EAAO,GAAQmB,EAAI,CAAC,EAAIA,EAAI,CAAC,EAAK,IAAM,EAC3CK,GAAa,KAAKvB,CAAS,KAAKkB,EAAI,CAAC,EAAIA,EAAI,CAAC,CAAC,OAAOa,EAAe3B,EAAiBL,EAAMmB,EAAI,CAAC,EAAIA,EAAI,CAAC,CAAC,CAAC,CAAC,IAE7GK,GAAa,KAAKQ,EAAe,GAAG/B,CAAS,KAAKkB,EAAI,CAAC,EAAIA,EAAI,CAAC,CAAC,GAAG,CAAC,IAEvEK,GAAazB,EAAoBC,EAAMC,EAAWkB,EAAI,CAAC,EAAIA,EAAI,CAAC,CAAC,EAC7DnB,EAAO,GAAMmB,EAAI,CAAC,EAAIA,EAAI,CAAC,EAAI,IAAO,GACxCM,EAAqB,CAAC,GAAGxB,CAAS,IAAIkB,EAAI,CAAC,EAAIA,EAAI,CAAC,CAAC,GAAI,GAAG,CAACnB,CAAI,IAAImB,EAAI,CAAC,EAAIA,EAAI,CAAC,CAAC,EAAE,EACtFH,EAAkB,CAAChB,GAEnByB,EAAqB,GAAGxB,CAAS,IAAIkB,EAAI,CAAC,EAAIA,EAAI,CAAC,CAAC,GAEtDO,EAAqBP,EAAI,CAAC,EAAIA,EAAI,CAAC,EACnC,MACF,IAAK,GACHL,EAAQc,EAAQ,EAAG,EAAG,CAAC,EAAG,CAAC,CAAC,EAC5Bb,EAAQa,EAAQ,EAAG,EAAG,CAAC,EAAG,EAAGd,CAAK,CAAC,EACnCd,EAAO,CAACc,EAAOC,CAAK,EACpBI,EAAMS,EAAQ,EAAG,EAAG,CAAC,EACrBL,EAAQ,IAAID,CAAM,IAAItB,EAAK,CAAC,CAAC,IAAImB,CAAG,WAAWnB,EAAK,CAAC,CAAC,IAAImB,CAAG,IAC7DK,GAAa,IAAIF,CAAM,IAAItB,EAAK,CAAC,CAAC,IAAImB,CAAG,WAAWnB,EAAK,CAAC,CAAC,IAAImB,CAAG,IAE9D,KAAK,sBACPK,GAAa,OACbA,GAAa,IAAIF,CAAM,IAAIS,EAAgB/B,EAAK,CAAC,EAAGmB,EAAKP,CAAK,CAAC,YAAYmB,EAAgB/B,EAAK,CAAC,EAAGmB,EAAKN,CAAK,CAAC,IAC/GW,GAAa,OACbA,GAAa,IAAIF,CAAM,IAAIlC,EAA2BY,EAAK,CAAC,EAAGA,EAAK,CAAC,EAAGmB,EAAKP,EAAOC,CAAK,CAAC,KAE5FW,GAAa,OACbA,GAAa,IAAIF,CAAM,cAAcV,CAAK,cAAcZ,EAAK,CAAC,CAAC,sCAAsCa,CAAK,cAAcb,EAAK,CAAC,CAAC,wBAAwBmB,CAAG,MAAMa,EAAe,GAAGhC,EAAK,CAAC,EAAIA,EAAK,CAAC,CAAC,IAAImB,CAAG,EAAE,CAAC,IAE7MM,EAAqB,GAAGzB,EAAK,CAAC,EAAIA,EAAK,CAAC,CAAC,IAAImB,CAAG,GAChDlB,EAAYD,EAAK,CAAC,EAAIA,EAAK,CAAC,EAC5BgB,EAAkBhB,EAAK,CAAC,EAAIA,EAAK,CAAC,EAClCA,EAAOC,EACPyB,EAAqBP,EACrB,KACH,CACG,KAAK,YAAc,CAACrB,EAAQ,QAC9BmC,EAAW,KAAMtC,EAAG8B,EAAoB,CAAE,iBAAkB,QAAS,EACrEF,GAASW,EAAyB,KAAMvC,EAAG,iBAAkB,CAAE,WAAY,OAAQ,GAEjFG,EAAQ,OACVmC,EAAW,KAAMtC,EAAG8B,EAAoB,CACtC,iBAAkB,QAClB,cAAezB,EACf,kBAAmB0B,EACnB,mBAAoB,EACpB,MAAO,GACP,aAAcV,CACxB,CAAS,EAEC,KAAK,eAAe,QAAQO,CAAK,IAAM,KAEzC,KAAK,eAAe,KAAKA,CAAK,EAC9B,KAAK,iBAAiB,KAAKC,CAAS,EACpC7B,KAEFgC,GACD,CACDQ,EAAkC,IAAI,CACvC,EAMD,KAAK,sBAAwB,CAAC,eAAgB;AAAA;AAAA;AAAA;AAAA;AAAA,WAAyM,EAEvP,KAAK,2BAA6B,CAChC,gBACA,EACA;AAAA;AAAA,WACD,CACH"}