[{"data":1,"prerenderedAt":110516},["ShallowReactive",2],{"app-menu-posts":3,"blog-vue-3-props-emits-component-communication.en-en":57619,"blog-slug-sidebar-posts":59627},[4,976,1646,3275,5423,6203,7729,9170,11139,13457,15019,16589,17847,18996,21610,23668,26471,27758,30420,31694,33933,36748,39766,42745,46092,47959,51349,52136,54080,54750,55616,56596,56789,57441],{"id":5,"title":6,"body":7,"cover":936,"coverAlt":937,"date":938,"description":939,"draft":208,"extension":940,"lab":941,"locale":942,"meta":943,"navigation":208,"path":954,"schemaOrg":955,"seo":960,"series":941,"seriesDescription":941,"seriesOrder":941,"seriesTitle":941,"slug":941,"stem":961,"tags":962,"__hash__":975},"blog\u002Fblog\u002Fpinia-in-vue-3-when-to-use-global-state-and-when-not-to.es.md","Pinia en Vue 3: cuándo usar estado global y cuándo no",{"type":8,"value":9,"toc":927},"minimark",[10,14,18,21,26,29,32,48,51,55,140,143,147,150,153,348,519,522,526,533,540,789,798,801,805,811,896,903,907,910,913,917,920,923],[11,12,6],"h1",{"id":13},"pinia-en-vue-3-cuándo-usar-estado-global-y-cuándo-no",[15,16,17],"p",{},"Pinia no vuelve escalable una aplicación por sí sola. Una store mal elegida puede ocultar quién posee un dato y convertir una relación sencilla entre componentes en una dependencia global.",[15,19,20],{},"La decisión empieza antes de escoger una herramienta: identifica quién consume el estado, quién lo modifica y cuánto tiempo debe vivir. Con esos criterios, Pinia se convierte en una frontera útil cuando el alcance realmente es global.",[22,23,25],"h2",{"id":24},"antes-de-elegir-pinia-define-el-alcance-del-estado","Antes de elegir Pinia: define el alcance del estado",[15,27,28],{},"Cada instancia de componente ya tiene estado reactivo propio. El estado compartido importa cuando varios componentes o vistas dependen del mismo dato, o cuando distintas acciones deben coordinar sus cambios.",[15,30,31],{},"Antes de crear una store, pregunta:",[33,34,35,39,42,45],"ul",{},[36,37,38],"li",{},"¿Un único componente posee este dato?",[36,40,41],{},"¿Solo lo coordinan componentes de una pantalla o subárbol?",[36,43,44],{},"¿Debe sobrevivir a una navegación?",[36,46,47],{},"¿Su cambio representa una operación de negocio reconocible?",[15,49,50],{},"Pinia es consecuencia de esas respuestas, no el punto de partida.",[22,52,54],{"id":53},"mapa-de-decisión-local-subárbol-o-global","Mapa de decisión: local, subárbol o global",[56,57,58,74],"table",{},[59,60,61],"thead",{},[62,63,64,68,71],"tr",{},[65,66,67],"th",{},"Situación",[65,69,70],{},"Alcance recomendado",[65,72,73],{},"Ejemplo",[75,76,77,97,108,119,130],"tbody",{},[62,78,79,83,94],{},[80,81,82],"td",{},"Un control visual de un componente",[80,84,85,86,90,91],{},"Estado local con ",[87,88,89],"code",{},"ref()"," o ",[87,92,93],{},"reactive()",[80,95,96],{},"Abrir un modal de una página",[62,98,99,102,105],{},[80,100,101],{},"Varios descendientes de una pantalla",[80,103,104],{},"Ancestro común con props y eventos",[80,106,107],{},"Filtros de catálogo",[62,109,110,113,116],{},[80,111,112],{},"Comportamiento reutilizable por instancia",[80,114,115],{},"Composable con estado local por uso",[80,117,118],{},"Lógica de búsqueda",[62,120,121,124,127],{},[80,122,123],{},"Datos y lógica entre componentes o páginas",[80,125,126],{},"Store de Pinia",[80,128,129],{},"Sesión en la navegación",[62,131,132,135,137],{},[80,133,134],{},"Proceso que continúa entre rutas",[80,136,126],{},[80,138,139],{},"Checkout multipágina",[15,141,142],{},"Un composable concentra comportamiento reutilizable, pero no vuelve global su estado automáticamente. Decide por separado si cada uso necesita una instancia propia o si la aplicación requiere una fuente compartida.",[22,144,146],{"id":145},"cuándo-props-y-eventos-son-más-claros-que-una-store","Cuándo props y eventos son más claros que una store",[15,148,149],{},"En una relación padre-hijo, los props y eventos mantienen el flujo explícito: el padre entrega datos y el hijo comunica una intención. El hijo no debe mutar un prop.",[15,151,152],{},"Aquí los filtros pertenecen a la pantalla de catálogo. El ancestro conserva el estado y el control descendiente solicita el cambio; ninguna otra ruta necesita conocerlo.",[154,155,164],"pre",{"className":156,"code":157,"filename":158,"highlights":159,"language":162,"meta":163,"style":163},"language-vue shiki shiki-themes github-light github-dark","\u003Cscript setup>\nimport { ref } from 'vue'\n\nconst selectedCategory = ref('all')\n\nfunction selectCategory(category) {\n  selectedCategory.value = category\n}\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003CCategoryFilters\n    :selected-category=\"selectedCategory\"\n    @select-category=\"selectCategory\"\n  \u002F>\n\u003C\u002Ftemplate>\n","CatalogPage.vue",[160,161],4,14,"vue","",[87,165,166,186,203,210,236,241,259,271,277,287,292,302,311,322,333,339],{"__ignoreMap":163},[167,168,171,175,179,183],"span",{"class":169,"line":170},"line",1,[167,172,174],{"class":173},"sVt8B","\u003C",[167,176,178],{"class":177},"s9eBZ","script",[167,180,182],{"class":181},"sScJk"," setup",[167,184,185],{"class":173},">\n",[167,187,189,193,196,199],{"class":169,"line":188},2,[167,190,192],{"class":191},"szBVR","import",[167,194,195],{"class":173}," { ref } ",[167,197,198],{"class":191},"from",[167,200,202],{"class":201},"sZZnC"," 'vue'\n",[167,204,206],{"class":169,"line":205},3,[167,207,209],{"emptyLinePlaceholder":208},true,"\n",[167,211,214,217,221,224,227,230,233],{"class":212,"line":160},[169,213],"highlight",[167,215,216],{"class":191},"const",[167,218,220],{"class":219},"sj4cs"," selectedCategory",[167,222,223],{"class":191}," =",[167,225,226],{"class":181}," ref",[167,228,229],{"class":173},"(",[167,231,232],{"class":201},"'all'",[167,234,235],{"class":173},")\n",[167,237,239],{"class":169,"line":238},5,[167,240,209],{"emptyLinePlaceholder":208},[167,242,244,247,250,252,256],{"class":169,"line":243},6,[167,245,246],{"class":191},"function",[167,248,249],{"class":181}," selectCategory",[167,251,229],{"class":173},[167,253,255],{"class":254},"s4XuR","category",[167,257,258],{"class":173},") {\n",[167,260,262,265,268],{"class":169,"line":261},7,[167,263,264],{"class":173},"  selectedCategory.value ",[167,266,267],{"class":191},"=",[167,269,270],{"class":173}," category\n",[167,272,274],{"class":169,"line":273},8,[167,275,276],{"class":173},"}\n",[167,278,280,283,285],{"class":169,"line":279},9,[167,281,282],{"class":173},"\u003C\u002F",[167,284,178],{"class":177},[167,286,185],{"class":173},[167,288,290],{"class":169,"line":289},10,[167,291,209],{"emptyLinePlaceholder":208},[167,293,295,297,300],{"class":169,"line":294},11,[167,296,174],{"class":173},[167,298,299],{"class":177},"template",[167,301,185],{"class":173},[167,303,305,308],{"class":169,"line":304},12,[167,306,307],{"class":173},"  \u003C",[167,309,310],{"class":177},"CategoryFilters\n",[167,312,314,317,319],{"class":169,"line":313},13,[167,315,316],{"class":181},"    :selected-category",[167,318,267],{"class":173},[167,320,321],{"class":201},"\"selectedCategory\"\n",[167,323,325,328,330],{"class":324,"line":161},[169,213],[167,326,327],{"class":181},"    @select-category",[167,329,267],{"class":173},[167,331,332],{"class":201},"\"selectCategory\"\n",[167,334,336],{"class":169,"line":335},15,[167,337,338],{"class":173},"  \u002F>\n",[167,340,342,344,346],{"class":169,"line":341},16,[167,343,282],{"class":173},[167,345,299],{"class":177},[167,347,185],{"class":173},[154,349,353],{"className":156,"code":350,"filename":351,"highlights":352,"language":162,"meta":163,"style":163},"\u003Cscript setup>\ndefineProps({\n  selectedCategory: {\n    type: String,\n    required: true,\n  },\n})\n\nconst emit = defineEmits(['select-category'])\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cbutton\n    type=\"button\"\n    :aria-pressed=\"selectedCategory === 'books'\"\n    @click=\"emit('select-category', 'books')\"\n  >\n    Books\n  \u003C\u002Fbutton>\n\u003C\u002Ftemplate>\n","CategoryFilters.vue",[279],[87,354,355,365,373,378,383,394,399,404,408,430,438,442,450,457,467,477,487,493,499,510],{"__ignoreMap":163},[167,356,357,359,361,363],{"class":169,"line":170},[167,358,174],{"class":173},[167,360,178],{"class":177},[167,362,182],{"class":181},[167,364,185],{"class":173},[167,366,367,370],{"class":169,"line":188},[167,368,369],{"class":181},"defineProps",[167,371,372],{"class":173},"({\n",[167,374,375],{"class":169,"line":205},[167,376,377],{"class":173},"  selectedCategory: {\n",[167,379,380],{"class":169,"line":160},[167,381,382],{"class":173},"    type: String,\n",[167,384,385,388,391],{"class":169,"line":238},[167,386,387],{"class":173},"    required: ",[167,389,390],{"class":219},"true",[167,392,393],{"class":173},",\n",[167,395,396],{"class":169,"line":243},[167,397,398],{"class":173},"  },\n",[167,400,401],{"class":169,"line":261},[167,402,403],{"class":173},"})\n",[167,405,406],{"class":169,"line":273},[167,407,209],{"emptyLinePlaceholder":208},[167,409,411,413,416,418,421,424,427],{"class":410,"line":279},[169,213],[167,412,216],{"class":191},[167,414,415],{"class":219}," emit",[167,417,223],{"class":191},[167,419,420],{"class":181}," defineEmits",[167,422,423],{"class":173},"([",[167,425,426],{"class":201},"'select-category'",[167,428,429],{"class":173},"])\n",[167,431,432,434,436],{"class":169,"line":289},[167,433,282],{"class":173},[167,435,178],{"class":177},[167,437,185],{"class":173},[167,439,440],{"class":169,"line":294},[167,441,209],{"emptyLinePlaceholder":208},[167,443,444,446,448],{"class":169,"line":304},[167,445,174],{"class":173},[167,447,299],{"class":177},[167,449,185],{"class":173},[167,451,452,454],{"class":169,"line":313},[167,453,307],{"class":173},[167,455,456],{"class":177},"button\n",[167,458,459,462,464],{"class":169,"line":161},[167,460,461],{"class":181},"    type",[167,463,267],{"class":173},[167,465,466],{"class":201},"\"button\"\n",[167,468,469,472,474],{"class":169,"line":335},[167,470,471],{"class":181},"    :aria-pressed",[167,473,267],{"class":173},[167,475,476],{"class":201},"\"selectedCategory === 'books'\"\n",[167,478,479,482,484],{"class":169,"line":341},[167,480,481],{"class":181},"    @click",[167,483,267],{"class":173},[167,485,486],{"class":201},"\"emit('select-category', 'books')\"\n",[167,488,490],{"class":169,"line":489},17,[167,491,492],{"class":173},"  >\n",[167,494,496],{"class":169,"line":495},18,[167,497,498],{"class":173},"    Books\n",[167,500,502,505,508],{"class":169,"line":501},19,[167,503,504],{"class":173},"  \u003C\u002F",[167,506,507],{"class":177},"button",[167,509,185],{"class":173},[167,511,513,515,517],{"class":169,"line":512},20,[167,514,282],{"class":173},[167,516,299],{"class":177},[167,518,185],{"class":173},[15,520,521],{},"El padre declara el propietario real del estado y el hijo emite una intención sin modificar el prop. Si demasiados niveles intermedios vuelven incómodo el árbol, revisa el diseño y el alcance: el prop drilling es una señal para evaluar alternativas, no una orden automática de globalizar.",[22,523,525],{"id":524},"cuándo-pinia-sí-gana-su-lugar","Cuándo Pinia sí gana su lugar",[15,527,528,529,532],{},"Una store de Pinia organiza estado y lógica de negocio fuera del árbol de componentes mediante ",[87,530,531],{},"state",", getters y actions. Encaja cuando varias partes de la aplicación necesitan la misma fuente de verdad, como una sesión visible en navegación y páginas protegidas, o un formulario complejo que continúa entre páginas.",[15,534,535,536,539],{},"Una store pequeña debe tener una responsabilidad concreta. En una Option Store, declara todas las propiedades desde ",[87,537,538],{},"state()","; no las agregues después.",[154,541,547],{"className":542,"code":543,"filename":544,"highlights":545,"language":546,"meta":163,"style":163},"language-ts shiki shiki-themes github-light github-dark","import { defineStore } from 'pinia'\n\ntype SessionUser = { id: string; name: string }\n\nexport const useSessionStore = defineStore('session', {\n  state: () => ({\n    user: undefined as SessionUser | undefined,\n  }),\n\n  getters: {\n    isAuthenticated: (state) => state.user !== undefined,\n  },\n\n  actions: {\n    setUser(user: SessionUser) {\n      this.user = user\n    },\n    clearSession() {\n      this.user = undefined\n    },\n  },\n})\n","stores\u002Fsession.ts",[243,261,273,294,335,341,489],"ts",[87,548,549,561,565,600,604,628,643,665,671,675,680,706,710,714,719,736,750,756,764,775,779,784],{"__ignoreMap":163},[167,550,551,553,556,558],{"class":169,"line":170},[167,552,192],{"class":191},[167,554,555],{"class":173}," { defineStore } ",[167,557,198],{"class":191},[167,559,560],{"class":201}," 'pinia'\n",[167,562,563],{"class":169,"line":188},[167,564,209],{"emptyLinePlaceholder":208},[167,566,567,570,573,575,578,581,584,587,590,593,595,597],{"class":169,"line":205},[167,568,569],{"class":191},"type",[167,571,572],{"class":181}," SessionUser",[167,574,223],{"class":191},[167,576,577],{"class":173}," { ",[167,579,580],{"class":254},"id",[167,582,583],{"class":191},":",[167,585,586],{"class":219}," string",[167,588,589],{"class":173},"; ",[167,591,592],{"class":254},"name",[167,594,583],{"class":191},[167,596,586],{"class":219},[167,598,599],{"class":173}," }\n",[167,601,602],{"class":169,"line":160},[167,603,209],{"emptyLinePlaceholder":208},[167,605,606,609,612,615,617,620,622,625],{"class":169,"line":238},[167,607,608],{"class":191},"export",[167,610,611],{"class":191}," const",[167,613,614],{"class":219}," useSessionStore",[167,616,223],{"class":191},[167,618,619],{"class":181}," defineStore",[167,621,229],{"class":173},[167,623,624],{"class":201},"'session'",[167,626,627],{"class":173},", {\n",[167,629,631,634,637,640],{"class":630,"line":243},[169,213],[167,632,633],{"class":181},"  state",[167,635,636],{"class":173},": () ",[167,638,639],{"class":191},"=>",[167,641,642],{"class":173}," ({\n",[167,644,646,649,652,655,657,660,663],{"class":645,"line":261},[169,213],[167,647,648],{"class":173},"    user: ",[167,650,651],{"class":219},"undefined",[167,653,654],{"class":191}," as",[167,656,572],{"class":181},[167,658,659],{"class":191}," |",[167,661,662],{"class":219}," undefined",[167,664,393],{"class":173},[167,666,668],{"class":667,"line":273},[169,213],[167,669,670],{"class":173},"  }),\n",[167,672,673],{"class":169,"line":279},[167,674,209],{"emptyLinePlaceholder":208},[167,676,677],{"class":169,"line":289},[167,678,679],{"class":173},"  getters: {\n",[167,681,683,686,689,691,694,696,699,702,704],{"class":682,"line":294},[169,213],[167,684,685],{"class":181},"    isAuthenticated",[167,687,688],{"class":173},": (",[167,690,531],{"class":254},[167,692,693],{"class":173},") ",[167,695,639],{"class":191},[167,697,698],{"class":173}," state.user ",[167,700,701],{"class":191},"!==",[167,703,662],{"class":219},[167,705,393],{"class":173},[167,707,708],{"class":169,"line":304},[167,709,398],{"class":173},[167,711,712],{"class":169,"line":313},[167,713,209],{"emptyLinePlaceholder":208},[167,715,716],{"class":169,"line":161},[167,717,718],{"class":173},"  actions: {\n",[167,720,722,725,727,730,732,734],{"class":721,"line":335},[169,213],[167,723,724],{"class":181},"    setUser",[167,726,229],{"class":173},[167,728,729],{"class":254},"user",[167,731,583],{"class":191},[167,733,572],{"class":181},[167,735,258],{"class":173},[167,737,739,742,745,747],{"class":738,"line":341},[169,213],[167,740,741],{"class":219},"      this",[167,743,744],{"class":173},".user ",[167,746,267],{"class":191},[167,748,749],{"class":173}," user\n",[167,751,753],{"class":752,"line":489},[169,213],[167,754,755],{"class":173},"    },\n",[167,757,758,761],{"class":169,"line":495},[167,759,760],{"class":181},"    clearSession",[167,762,763],{"class":173},"() {\n",[167,765,766,768,770,772],{"class":169,"line":501},[167,767,741],{"class":219},[167,769,744],{"class":173},[167,771,267],{"class":191},[167,773,774],{"class":219}," undefined\n",[167,776,777],{"class":169,"line":512},[167,778,755],{"class":173},[167,780,782],{"class":169,"line":781},21,[167,783,398],{"class":173},[167,785,787],{"class":169,"line":786},22,[167,788,403],{"class":173},[15,790,791,793,794,797],{},[87,792,729],{}," es estado almacenado e ",[87,795,796],{},"isAuthenticated"," es estado derivado, por lo que no se duplica como dato mutable. Las actions nombran operaciones de sesión y hacen más fácil localizar por qué cambia el estado compartido. Esto no implica que una action prohíba por sí misma toda mutación directa: la claridad proviene de aplicar y respetar esa frontera.",[15,799,800],{},"No uses esta store para la visibilidad de un tooltip o de un modal que solo existe en una página. Ese detalle pertenece al componente o, como máximo, a su pantalla.",[22,802,804],{"id":803},"estado-compartido-simple-y-composables-alternativas-con-límites","Estado compartido simple y composables: alternativas con límites",[15,806,807,808,810],{},"Para un caso sencillo de una SPA, Vue permite compartir un objeto ",[87,809,93],{}," importado por varios componentes. El límite importante es el de modificación: si cualquier consumidor escribe cualquier propiedad, el diseño pierde trazabilidad.",[154,812,816],{"className":542,"code":813,"filename":814,"highlights":815,"language":546,"meta":163,"style":163},"import { reactive } from 'vue'\n\nexport const catalogFilters = reactive({\n  category: 'all',\n  setCategory(category: string) {\n    this.category = category\n  },\n})\n","catalogFilters.ts",[238,243,261],[87,817,818,829,833,849,858,874,887,892],{"__ignoreMap":163},[167,819,820,822,825,827],{"class":169,"line":170},[167,821,192],{"class":191},[167,823,824],{"class":173}," { reactive } ",[167,826,198],{"class":191},[167,828,202],{"class":201},[167,830,831],{"class":169,"line":188},[167,832,209],{"emptyLinePlaceholder":208},[167,834,835,837,839,842,844,847],{"class":169,"line":205},[167,836,608],{"class":191},[167,838,611],{"class":191},[167,840,841],{"class":219}," catalogFilters",[167,843,223],{"class":191},[167,845,846],{"class":181}," reactive",[167,848,372],{"class":173},[167,850,851,854,856],{"class":169,"line":160},[167,852,853],{"class":173},"  category: ",[167,855,232],{"class":201},[167,857,393],{"class":173},[167,859,861,864,866,868,870,872],{"class":860,"line":238},[169,213],[167,862,863],{"class":181},"  setCategory",[167,865,229],{"class":173},[167,867,255],{"class":254},[167,869,583],{"class":191},[167,871,586],{"class":219},[167,873,258],{"class":173},[167,875,877,880,883,885],{"class":876,"line":243},[169,213],[167,878,879],{"class":219},"    this",[167,881,882],{"class":173},".category ",[167,884,267],{"class":191},[167,886,270],{"class":173},[167,888,890],{"class":889,"line":261},[169,213],[167,891,398],{"class":173},[167,893,894],{"class":169,"line":273},[167,895,403],{"class":173},[15,897,898,899,902],{},"Centralizar el cambio en ",[87,900,901],{},"setCategory()"," comunica qué operación ocurre. Evalúa Pinia cuando el estado crece o cuando necesitas convenciones de colaboración, integración con DevTools, HMR o una frontera SSR más robusta.",[22,904,906],{"id":905},"ssr-no-compartas-estado-entre-solicitudes","SSR: no compartas estado entre solicitudes",[15,908,909],{},"En renderizado del lado del servidor, un singleton reactivo creado en ámbito de módulo puede compartir estado entre solicitudes. El aislamiento debe respetar la instancia de cada aplicación.",[15,911,912],{},"Pinia trabaja con la instancia de Pinia correspondiente. Si utilizas una store fuera de un componente, hazlo cuando esa instancia esté disponible y usa la asociada a la aplicación actual. Es una regla de aislamiento, no una receta de un framework concreto.",[22,914,916],{"id":915},"errores-comunes-y-una-regla-práctica","Errores comunes y una regla práctica",[15,918,919],{},"Evita globalizar cada variable reactiva, sustituir props y eventos en una relación padre-hijo sencilla, guardar detalles visuales efímeros de una página en una store, permitir mutaciones compartidas sin una operación con intención clara y crear un singleton manual para SSR.",[15,921,922],{},"La regla práctica es empezar con el alcance más pequeño que represente honestamente la propiedad del dato. Amplíalo cuando los consumidores, la duración entre páginas o la lógica de coordinación lo exijan. Pinia aporta valor cuando hace explícita una frontera global real.",[924,925,926],"style",{},"html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .s9eBZ, html code.shiki .s9eBZ{--shiki-default:#22863A;--shiki-dark:#85E89D}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .s4XuR, html code.shiki .s4XuR{--shiki-default:#E36209;--shiki-dark:#FFAB70}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":163,"searchDepth":188,"depth":188,"links":928},[929,930,931,932,933,934,935],{"id":24,"depth":188,"text":25},{"id":53,"depth":188,"text":54},{"id":145,"depth":188,"text":146},{"id":524,"depth":188,"text":525},{"id":803,"depth":188,"text":804},{"id":905,"depth":188,"text":906},{"id":915,"depth":188,"text":916},"https:\u002F\u002Fres.cloudinary.com\u002Fdenj4fg7f\u002Fimage\u002Fupload\u002Fv1784941922\u002Fpinia-in-vue-3-when-to-use-global-state-and-when-not-to_aztyma.png","Diagrama de decisión para elegir entre estado local, props y eventos, composables o Pinia en Vue 3.","2026-07-25","Aprende a decidir si un dato debe vivir en un componente, un subárbol o una store de Pinia según sus consumidores, duración y lógica compartida.","md",null,"es",{"updatedAt":944,"author":945,"coverCaption":946,"keywords":947},"2026-07-24T23:20:00-05:00","TODOvue","Referencia visual para decidir el alcance del estado en Vue 3.",[948,949,950,951,952,953],"State","Pinia","Vue 3","Gestión de Estado","Arquitectura","Composables","\u002Fblog\u002Fpinia-in-vue-3-when-to-use-global-state-and-when-not-to.es",[956],{"headline":6,"author":957,"datePublished":944,"@type":959},{"name":945,"@type":958},"Person","BlogPosting",{"title":6,"description":939},"blog\u002Fpinia-in-vue-3-when-to-use-global-state-and-when-not-to.es",[963,965,967,970,972],{"tag":951,"color":964},"#FF9800",{"tag":952,"color":966},"#4CAF50",{"tag":968,"color":969},"Buenas Prácticas","#2196F3",{"tag":953,"color":971},"#14B8A6",{"tag":973,"color":974},"SSR","#0E9AA7","rP0-afAweT9m30OeHXpMaEqSV_JUOiHq0nKaR-T1zms",{"id":977,"title":978,"body":979,"cover":1613,"coverAlt":1614,"date":1615,"description":1616,"draft":1617,"extension":940,"lab":941,"locale":942,"meta":1618,"navigation":208,"path":1627,"schemaOrg":1628,"seo":1631,"series":941,"seriesDescription":941,"seriesOrder":941,"seriesTitle":941,"slug":941,"stem":1632,"tags":1633,"__hash__":1645},"blog\u002Fblog\u002Fvue-3-component-architecture.es.md","Arquitectura de componentes en Vue 3: comunicación, reutilización y dependencias",{"type":8,"value":980,"toc":1605},[981,984,987,994,998,1005,1008,1012,1015,1028,1206,1209,1213,1216,1375,1378,1392,1396,1399,1542,1545,1548,1552,1557,1560,1564,1596,1602],[11,982,978],{"id":983},"arquitectura-de-componentes-en-vue-3-comunicación-reutilización-y-dependencias",[15,985,986],{},"Cuando un componente crece, el problema no suele ser la sintaxis: es decidir dónde viven los datos, cómo se comunican las piezas y qué lógica merece reutilizarse. Una arquitectura útil separa estructura visual, entradas, eventos, contenido y dependencias sin crear abstracciones innecesarias.",[15,988,989,990,993],{},"En Vue 3, puedes pensar en una jerarquía de componentes conectados mediante contratos explícitos. Las props llevan datos hacia abajo, los eventos comunican intenciones hacia arriba, los slots permiten composición visual, los composables extraen lógica y ",[87,991,992],{},"provide\u002Finject"," resuelve dependencias profundas.",[22,995,997],{"id":996},"un-modelo-mental-componentes-como-árbol-de-responsabilidades","Un modelo mental: componentes como árbol de responsabilidades",[15,999,1000,1001,1004],{},"Los componentes encapsulan piezas independientes y reutilizables organizadas como un árbol. Cada uso de un componente crea una instancia independiente con su propio estado. En un Single-File Component con ",[87,1002,1003],{},"\u003Cscript setup>",", los componentes importados quedan disponibles automáticamente en la plantilla.",[15,1006,1007],{},"Empieza por una responsabilidad concreta. Un componente puede coordinar otros componentes, pero no debería acumular sin criterio la presentación, la obtención de datos, la validación y la configuración transversal.",[22,1009,1011],{"id":1010},"comunicación-explícita-props-y-eventos","Comunicación explícita: props y eventos",[15,1013,1014],{},"Las props representan entradas. Decláralas explícitamente para que el contrato sea visible y Vue pueda validar tipos y advertir durante el desarrollo cuando un valor no cumple las reglas declaradas. Trátalas como datos de entrada: el hijo no debe mutarlas directamente.",[15,1016,1017,1018,1020,1021,1023,1024,1027],{},"Los eventos personalizados permiten que el hijo comunique una intención al padre. En ",[87,1019,1003],{},", ",[87,1022,369],{}," y ",[87,1025,1026],{},"defineEmits"," hacen visible ese contrato:",[154,1029,1033],{"className":156,"code":1030,"filename":1031,"highlights":1032,"language":162,"meta":163,"style":163},"\u003Cscript setup lang=\"ts\">\nconst props = defineProps\u003C{ userName: string }>()\nconst emit = defineEmits\u003C{ select: [userName: string] }>()\n\nfunction selectUser() {\n  emit('select', props.userName)\n}\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cbutton type=\"button\" @click=\"selectUser\">\n    {{ props.userName }}\n  \u003C\u002Fbutton>\n\u003C\u002Ftemplate>\n","UserCard.vue",[188,243],[87,1034,1035,1053,1079,1110,1114,1123,1137,1141,1149,1153,1161,1185,1190,1198],{"__ignoreMap":163},[167,1036,1037,1039,1041,1043,1046,1048,1051],{"class":169,"line":170},[167,1038,174],{"class":173},[167,1040,178],{"class":177},[167,1042,182],{"class":181},[167,1044,1045],{"class":181}," lang",[167,1047,267],{"class":173},[167,1049,1050],{"class":201},"\"ts\"",[167,1052,185],{"class":173},[167,1054,1056,1058,1061,1063,1066,1069,1072,1074,1076],{"class":1055,"line":188},[169,213],[167,1057,216],{"class":191},[167,1059,1060],{"class":219}," props",[167,1062,223],{"class":191},[167,1064,1065],{"class":181}," defineProps",[167,1067,1068],{"class":173},"\u003C{ ",[167,1070,1071],{"class":254},"userName",[167,1073,583],{"class":191},[167,1075,586],{"class":219},[167,1077,1078],{"class":173}," }>()\n",[167,1080,1081,1083,1085,1087,1089,1091,1094,1096,1099,1101,1104,1107],{"class":169,"line":205},[167,1082,216],{"class":191},[167,1084,415],{"class":219},[167,1086,223],{"class":191},[167,1088,420],{"class":181},[167,1090,1068],{"class":173},[167,1092,1093],{"class":254},"select",[167,1095,583],{"class":191},[167,1097,1098],{"class":173}," [",[167,1100,1071],{"class":181},[167,1102,1103],{"class":173},": ",[167,1105,1106],{"class":219},"string",[167,1108,1109],{"class":173},"] }>()\n",[167,1111,1112],{"class":169,"line":160},[167,1113,209],{"emptyLinePlaceholder":208},[167,1115,1116,1118,1121],{"class":169,"line":238},[167,1117,246],{"class":191},[167,1119,1120],{"class":181}," selectUser",[167,1122,763],{"class":173},[167,1124,1126,1129,1131,1134],{"class":1125,"line":243},[169,213],[167,1127,1128],{"class":181},"  emit",[167,1130,229],{"class":173},[167,1132,1133],{"class":201},"'select'",[167,1135,1136],{"class":173},", props.userName)\n",[167,1138,1139],{"class":169,"line":261},[167,1140,276],{"class":173},[167,1142,1143,1145,1147],{"class":169,"line":273},[167,1144,282],{"class":173},[167,1146,178],{"class":177},[167,1148,185],{"class":173},[167,1150,1151],{"class":169,"line":279},[167,1152,209],{"emptyLinePlaceholder":208},[167,1154,1155,1157,1159],{"class":169,"line":289},[167,1156,174],{"class":173},[167,1158,299],{"class":177},[167,1160,185],{"class":173},[167,1162,1163,1165,1167,1170,1172,1175,1178,1180,1183],{"class":169,"line":294},[167,1164,307],{"class":173},[167,1166,507],{"class":177},[167,1168,1169],{"class":181}," type",[167,1171,267],{"class":173},[167,1173,1174],{"class":201},"\"button\"",[167,1176,1177],{"class":181}," @click",[167,1179,267],{"class":173},[167,1181,1182],{"class":201},"\"selectUser\"",[167,1184,185],{"class":173},[167,1186,1187],{"class":169,"line":304},[167,1188,1189],{"class":173},"    {{ props.userName }}\n",[167,1191,1192,1194,1196],{"class":169,"line":313},[167,1193,504],{"class":173},[167,1195,507],{"class":177},[167,1197,185],{"class":173},[167,1199,1200,1202,1204],{"class":169,"line":161},[167,1201,282],{"class":173},[167,1203,299],{"class":177},[167,1205,185],{"class":173},[15,1207,1208],{},"Las líneas resaltadas declaran la entrada y comunican el cambio. Si el padre necesita actualizar un valor, el hijo emite el evento y el padre decide cómo modificar su estado.",[22,1210,1212],{"id":1211},"composición-visual-con-slots-y-atributos-heredados","Composición visual con slots y atributos heredados",[15,1214,1215],{},"Usa slots cuando la variación principal sea el contenido o la estructura visual. El padre proporciona fragmentos de plantilla y el hijo define los puntos donde se renderizan:",[154,1217,1221],{"className":156,"code":1218,"filename":1219,"highlights":1220,"language":162,"meta":163,"style":163},"\u003Ctemplate>\n  \u003Cdiv class=\"layout\">\n    \u003Cheader>\n      \u003Cslot name=\"header\">\u003C\u002Fslot>\n    \u003C\u002Fheader>\n    \u003Cmain>\n      \u003Cslot>\u003C\u002Fslot>\n    \u003C\u002Fmain>\n    \u003Cfooter>\n      \u003Cslot name=\"footer\">\u003C\u002Fslot>\n    \u003C\u002Ffooter>\n  \u003C\u002Fdiv>\n\u003C\u002Ftemplate>\n","BaseLayout.vue",[160,238,243,261],[87,1222,1223,1231,1248,1258,1282,1292,1302,1315,1323,1332,1351,1359,1367],{"__ignoreMap":163},[167,1224,1225,1227,1229],{"class":169,"line":170},[167,1226,174],{"class":173},[167,1228,299],{"class":177},[167,1230,185],{"class":173},[167,1232,1233,1235,1238,1241,1243,1246],{"class":169,"line":188},[167,1234,307],{"class":173},[167,1236,1237],{"class":177},"div",[167,1239,1240],{"class":181}," class",[167,1242,267],{"class":173},[167,1244,1245],{"class":201},"\"layout\"",[167,1247,185],{"class":173},[167,1249,1250,1253,1256],{"class":169,"line":205},[167,1251,1252],{"class":173},"    \u003C",[167,1254,1255],{"class":177},"header",[167,1257,185],{"class":173},[167,1259,1261,1264,1267,1270,1272,1275,1278,1280],{"class":1260,"line":160},[169,213],[167,1262,1263],{"class":173},"      \u003C",[167,1265,1266],{"class":177},"slot",[167,1268,1269],{"class":181}," name",[167,1271,267],{"class":173},[167,1273,1274],{"class":201},"\"header\"",[167,1276,1277],{"class":173},">\u003C\u002F",[167,1279,1266],{"class":177},[167,1281,185],{"class":173},[167,1283,1285,1288,1290],{"class":1284,"line":238},[169,213],[167,1286,1287],{"class":173},"    \u003C\u002F",[167,1289,1255],{"class":177},[167,1291,185],{"class":173},[167,1293,1295,1297,1300],{"class":1294,"line":243},[169,213],[167,1296,1252],{"class":173},[167,1298,1299],{"class":177},"main",[167,1301,185],{"class":173},[167,1303,1305,1307,1309,1311,1313],{"class":1304,"line":261},[169,213],[167,1306,1263],{"class":173},[167,1308,1266],{"class":177},[167,1310,1277],{"class":173},[167,1312,1266],{"class":177},[167,1314,185],{"class":173},[167,1316,1317,1319,1321],{"class":169,"line":273},[167,1318,1287],{"class":173},[167,1320,1299],{"class":177},[167,1322,185],{"class":173},[167,1324,1325,1327,1330],{"class":169,"line":279},[167,1326,1252],{"class":173},[167,1328,1329],{"class":177},"footer",[167,1331,185],{"class":173},[167,1333,1334,1336,1338,1340,1342,1345,1347,1349],{"class":169,"line":289},[167,1335,1263],{"class":173},[167,1337,1266],{"class":177},[167,1339,1269],{"class":181},[167,1341,267],{"class":173},[167,1343,1344],{"class":201},"\"footer\"",[167,1346,1277],{"class":173},[167,1348,1266],{"class":177},[167,1350,185],{"class":173},[167,1352,1353,1355,1357],{"class":169,"line":294},[167,1354,1287],{"class":173},[167,1356,1329],{"class":177},[167,1358,185],{"class":173},[167,1360,1361,1363,1365],{"class":169,"line":304},[167,1362,504],{"class":173},[167,1364,1237],{"class":177},[167,1366,185],{"class":173},[167,1368,1369,1371,1373],{"class":169,"line":313},[167,1370,282],{"class":173},[167,1372,299],{"class":177},[167,1374,185],{"class":173},[15,1376,1377],{},"Los slots con nombre distribuyen contenido en varias regiones. Un scoped slot permite que el hijo exponga datos al contenido proporcionado por el padre. Ese contenido conserva el alcance del padre; no obtiene acceso automático al estado privado del hijo.",[15,1379,1380,1381,1384,1385,1388,1389,1391],{},"Los atributos y listeners que no se declaran como props o emits pueden heredarse en el elemento raíz. Si el componente tiene múltiples nodos raíz, esa herencia automática no existe: enlaza explícitamente ",[87,1382,1383],{},"$attrs"," en el elemento adecuado cuando corresponda. Si desactivas ",[87,1386,1387],{},"inheritAttrs",", recuerda reenlazar ",[87,1390,1383],{}," de forma intencional.",[22,1393,1395],{"id":1394},"separar-lógica-y-presentación-con-composables","Separar lógica y presentación con composables",[15,1397,1398],{},"Un composable es una función basada en Composition API que encapsula y reutiliza lógica con estado. Es una buena opción cuando varios componentes necesitan la misma lógica, pero no comparten una estructura visual.",[154,1400,1404],{"className":542,"code":1401,"filename":1402,"highlights":1403,"language":546,"meta":163,"style":163},"import { onMounted, onUnmounted, ref } from 'vue'\n\nexport function useOnlineStatus() {\n  const isOnline = ref(true)\n  const updateStatus = () => { isOnline.value = navigator.onLine }\n\n  onMounted(() => window.addEventListener('online', updateStatus))\n  onUnmounted(() => window.removeEventListener('online', updateStatus))\n\n  return { isOnline }\n}\n","useOnlineStatus.ts",[160,238,243,261,273],[87,1405,1406,1417,1421,1433,1452,1475,1480,1505,1526,1530,1538],{"__ignoreMap":163},[167,1407,1408,1410,1413,1415],{"class":169,"line":170},[167,1409,192],{"class":191},[167,1411,1412],{"class":173}," { onMounted, onUnmounted, ref } ",[167,1414,198],{"class":191},[167,1416,202],{"class":201},[167,1418,1419],{"class":169,"line":188},[167,1420,209],{"emptyLinePlaceholder":208},[167,1422,1423,1425,1428,1431],{"class":169,"line":205},[167,1424,608],{"class":191},[167,1426,1427],{"class":191}," function",[167,1429,1430],{"class":181}," useOnlineStatus",[167,1432,763],{"class":173},[167,1434,1436,1439,1442,1444,1446,1448,1450],{"class":1435,"line":160},[169,213],[167,1437,1438],{"class":191},"  const",[167,1440,1441],{"class":219}," isOnline",[167,1443,223],{"class":191},[167,1445,226],{"class":181},[167,1447,229],{"class":173},[167,1449,390],{"class":219},[167,1451,235],{"class":173},[167,1453,1455,1457,1460,1462,1465,1467,1470,1472],{"class":1454,"line":238},[169,213],[167,1456,1438],{"class":191},[167,1458,1459],{"class":181}," updateStatus",[167,1461,223],{"class":191},[167,1463,1464],{"class":173}," () ",[167,1466,639],{"class":191},[167,1468,1469],{"class":173}," { isOnline.value ",[167,1471,267],{"class":191},[167,1473,1474],{"class":173}," navigator.onLine }\n",[167,1476,1478],{"class":1477,"line":243},[169,213],[167,1479,209],{"emptyLinePlaceholder":208},[167,1481,1483,1486,1489,1491,1494,1497,1499,1502],{"class":1482,"line":261},[169,213],[167,1484,1485],{"class":181},"  onMounted",[167,1487,1488],{"class":173},"(() ",[167,1490,639],{"class":191},[167,1492,1493],{"class":173}," window.",[167,1495,1496],{"class":181},"addEventListener",[167,1498,229],{"class":173},[167,1500,1501],{"class":201},"'online'",[167,1503,1504],{"class":173},", updateStatus))\n",[167,1506,1508,1511,1513,1515,1517,1520,1522,1524],{"class":1507,"line":273},[169,213],[167,1509,1510],{"class":181},"  onUnmounted",[167,1512,1488],{"class":173},[167,1514,639],{"class":191},[167,1516,1493],{"class":173},[167,1518,1519],{"class":181},"removeEventListener",[167,1521,229],{"class":173},[167,1523,1501],{"class":201},[167,1525,1504],{"class":173},[167,1527,1528],{"class":169,"line":279},[167,1529,209],{"emptyLinePlaceholder":208},[167,1531,1532,1535],{"class":169,"line":289},[167,1533,1534],{"class":191},"  return",[167,1536,1537],{"class":173}," { isOnline }\n",[167,1539,1540],{"class":169,"line":294},[167,1541,276],{"class":173},[15,1543,1544],{},"La limpieza del listener forma parte del contrato del composable. Vue recomienda composables frente a mixins porque el origen de las propiedades es más claro, hay menos riesgo de colisiones de nombres y se reduce la comunicación implícita.",[15,1546,1547],{},"Usa un componente cuando lógica y presentación formen una unidad reutilizable. Usa un composable cuando quieras reutilizar lógica sin imponer una interfaz visual.",[22,1549,1551],{"id":1550},"provideinject-para-dependencias-profundas","Provide\u002Finject para dependencias profundas",[15,1553,1554,1556],{},[87,1555,992],{}," evita pasar props por cada nivel intermedio cuando una dependencia pertenece a un contexto profundo, como un tema o la configuración de un formulario. La dependencia proporcionada más cercana puede ocultar otra definida más arriba.",[15,1558,1559],{},"Este mecanismo no debe convertirse automáticamente en un sustituto del estado compartido de aplicación. Documenta la clave, el contrato y el ciclo de vida de la dependencia para que la relación siga siendo comprensible.",[22,1561,1563],{"id":1562},"criterios-de-decisión-y-errores-frecuentes","Criterios de decisión y errores frecuentes",[33,1565,1566,1569,1572,1575,1581,1584,1587,1590,1593],{},[36,1567,1568],{},"Usa props y eventos para contratos directos entre padre e hijo.",[36,1570,1571],{},"Usa slots cuando la variación sea contenido o estructura visual.",[36,1573,1574],{},"Usa composables para lógica reutilizable sin estructura visual compartida.",[36,1576,1577,1578,1580],{},"Usa ",[87,1579,992],{}," para dependencias profundas o configuración contextual.",[36,1582,1583],{},"No transportes contenido visual complejo mediante eventos si un slot expresa mejor la composición.",[36,1585,1586],{},"No mutes las props directamente en el hijo.",[36,1588,1589],{},"No dependas de la herencia automática de atributos en componentes con múltiples raíces.",[36,1591,1592],{},"No elijas un componente renderless cuando un composable resuelve de forma más directa la lógica pura.",[36,1594,1595],{},"No presentes mixins ni un event bus global heredado de Vue 2 como estrategia principal para código nuevo.",[15,1597,1598,1599,1601],{},"La decisión central es escoger el mecanismo más pequeño que represente la relación: datos con props, intención con eventos, composición visual con slots, lógica con composables y dependencias profundas con ",[87,1600,992],{},". Esa separación mantiene los contratos visibles y facilita evolucionar cada componente sin arrastrar responsabilidades ajenas.",[924,1603,1604],{},"html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .s9eBZ, html code.shiki .s9eBZ{--shiki-default:#22863A;--shiki-dark:#85E89D}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .s4XuR, html code.shiki .s4XuR{--shiki-default:#E36209;--shiki-dark:#FFAB70}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":163,"searchDepth":188,"depth":188,"links":1606},[1607,1608,1609,1610,1611,1612],{"id":996,"depth":188,"text":997},{"id":1010,"depth":188,"text":1011},{"id":1211,"depth":188,"text":1212},{"id":1394,"depth":188,"text":1395},{"id":1550,"depth":188,"text":1551},{"id":1562,"depth":188,"text":1563},"https:\u002F\u002Fres.cloudinary.com\u002Fdenj4fg7f\u002Fimage\u002Fupload\u002Fv1783729357\u002Fvue-3-component-architecture_ecetna.png","Guía de Vue.js sobre arquitectura y componentes reutilizables","2026-07-10","Aprende a elegir entre props, eventos, slots, atributos heredados, composables y provide\u002Finject para diseñar componentes Vue 3 claros y mantenibles.",false,{"updatedAt":1619,"author":945,"coverCaption":1620,"keywords":1621},"2026-07-10T17:19:30-05:00","Referencia oficial de Vue.js sobre componentes",[1622,1623,1624,1625,1626,992],"Componentes","arquitectura de componentes en Vue 3","props y eventos","slots en Vue 3","composables","\u002Fblog\u002Fvue-3-component-architecture.es",[1629],{"headline":978,"author":1630,"datePublished":1619,"@type":959},{"name":945,"@type":958},{"title":978,"description":1616},"blog\u002Fvue-3-component-architecture.es",[1634,1636,1637,1638,1639,1642],{"tag":1622,"color":1635},"#41B883",{"tag":952,"color":966},{"tag":968,"color":969},{"tag":953,"color":971},{"tag":1640,"color":1641},"Eventos","#2D98DA",{"tag":1643,"color":1644},"Slots","#8E44AD","lgttiqZNlB6OpZoRHXgBtRa5TJVF30cqcT9EBjZ0LSs",{"id":1647,"title":1648,"body":1649,"cover":3236,"coverAlt":3237,"date":3238,"description":3239,"draft":1617,"extension":940,"lab":3240,"locale":942,"meta":3250,"navigation":208,"path":3257,"schemaOrg":3258,"seo":3261,"series":941,"seriesDescription":941,"seriesOrder":941,"seriesTitle":941,"slug":941,"stem":3262,"tags":3263,"__hash__":3274},"blog\u002Fblog\u002Fvue-computed-watch-watcheffect-guide.es.md","Vue computed vs watch vs watchEffect: cuándo usar cada uno",{"type":8,"value":1650,"toc":3214},[1651,1666,1676,1679,1682,1685,1689,1694,1699,1704,1766,1773,1776,1779,2047,2056,2062,2076,2088,2095,2098,2247,2254,2258,2367,2372,2378,2381,2384,2404,2407,2695,2704,2707,2713,2718,2721,2845,2855,2858,2865,2870,2873,2918,2925,2965,2971,3020,3023,3027,3030,3036,3040,3045,3049,3054,3058,3063,3068,3073,3078,3082,3089,3092,3136,3142,3146,3149,3166,3173,3180,3185,3190,3194,3199,3204,3209,3212],[11,1652,1654,1655,1658,1659,1658,1662,1665],{"id":1653},"vue-computed-vs-watch-vs-watcheffect-cuándo-usar-cada-uno","Vue ",[87,1656,1657],{},"computed"," vs ",[87,1660,1661],{},"watch",[87,1663,1664],{},"watchEffect",": cuándo usar cada uno",[15,1667,1668,1669,1020,1671,1023,1673,1675],{},"Vue te da tres herramientas que suelen aparecer en la misma conversación: ",[87,1670,1657],{},[87,1672,1661],{},[87,1674,1664],{},".",[15,1677,1678],{},"Las tres reaccionan al estado, pero no resuelven el mismo problema.",[15,1680,1681],{},"Si las mezclas sin criterio, los componentes empiezan a sentirse impredecibles. Los valores se actualizan desde demasiados lugares, las llamadas a APIs se disparan más de lo esperado y una lógica que debería ser simple se vuelve difícil de depurar. Si eliges bien la herramienta, el código casi se explica solo.",[15,1683,1684],{},"Esta guía es un mapa práctico de decisión.",[22,1686,1688],{"id":1687},"la-versión-corta","La versión corta",[15,1690,1577,1691,1693],{},[87,1692,1657],{}," cuando necesitas un valor.",[15,1695,1577,1696,1698],{},[87,1697,1661],{}," cuando necesitas hacer algo porque un valor específico cambió.",[15,1700,1577,1701,1703],{},[87,1702,1664],{}," cuando el efecto debe rastrear automáticamente todo lo que lee.",[56,1705,1706,1722],{},[59,1707,1708],{},[62,1709,1710,1713,1716,1719],{},[65,1711,1712],{},"Herramienta",[65,1714,1715],{},"Ideal para",[65,1717,1718],{},"¿Debe devolver un valor?",[65,1720,1721],{},"¿Debe causar efectos secundarios?",[75,1723,1724,1739,1752],{},[62,1725,1726,1730,1733,1736],{},[80,1727,1728],{},[87,1729,1657],{},[80,1731,1732],{},"Estado derivado",[80,1734,1735],{},"Sí",[80,1737,1738],{},"No",[62,1740,1741,1745,1748,1750],{},[80,1742,1743],{},[87,1744,1661],{},[80,1746,1747],{},"Reacciones explícitas",[80,1749,1738],{},[80,1751,1735],{},[62,1753,1754,1758,1761,1763],{},[80,1755,1756],{},[87,1757,1664],{},[80,1759,1760],{},"Efectos con rastreo automático",[80,1762,1738],{},[80,1764,1765],{},"Sí, con cuidado",[22,1767,1769,1770,1772],{"id":1768},"empieza-con-computed-cuando-necesitas-estado-derivado","Empieza con ",[87,1771,1657],{}," cuando necesitas estado derivado",[15,1774,1775],{},"Un computed responde esta pregunta: \"¿Qué valor puedo derivar del estado que ya existe?\"",[15,1777,1778],{},"Por ejemplo, imagina el resumen de un carrito:",[154,1780,1783],{"className":156,"code":1781,"filename":1782,"language":162,"meta":163,"style":163},"\u003Cscript setup>\nimport { computed, ref } from 'vue'\n\nconst items = ref([\n  { id: 1, name: 'Stickers de Vue', price: 6, quantity: 2 },\n  { id: 2, name: 'Cuaderno de Nuxt', price: 14, quantity: 1 }\n])\n\nconst subtotal = computed(() => {\n  return items.value.reduce((total, item) => {\n    return total + item.price * item.quantity\n  }, 0)\n})\n\nconst hasFreeShipping = computed(() => subtotal.value >= 30)\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cp>Subtotal: {{ subtotal }}\u003C\u002Fp>\n  \u003Cp>{{ hasFreeShipping ? 'Envío gratis desbloqueado' : 'El envío se calcula al pagar' }}\u003C\u002Fp>\n\u003C\u002Ftemplate>\n","CartSummary.vue",[87,1784,1785,1795,1806,1810,1824,1853,1875,1879,1883,1902,1929,1949,1959,1963,1967,1993,2001,2005,2013,2026,2039],{"__ignoreMap":163},[167,1786,1787,1789,1791,1793],{"class":169,"line":170},[167,1788,174],{"class":173},[167,1790,178],{"class":177},[167,1792,182],{"class":181},[167,1794,185],{"class":173},[167,1796,1797,1799,1802,1804],{"class":169,"line":188},[167,1798,192],{"class":191},[167,1800,1801],{"class":173}," { computed, ref } ",[167,1803,198],{"class":191},[167,1805,202],{"class":201},[167,1807,1808],{"class":169,"line":205},[167,1809,209],{"emptyLinePlaceholder":208},[167,1811,1812,1814,1817,1819,1821],{"class":169,"line":160},[167,1813,216],{"class":191},[167,1815,1816],{"class":219}," items",[167,1818,223],{"class":191},[167,1820,226],{"class":181},[167,1822,1823],{"class":173},"([\n",[167,1825,1826,1829,1832,1835,1838,1841,1844,1847,1850],{"class":169,"line":238},[167,1827,1828],{"class":173},"  { id: ",[167,1830,1831],{"class":219},"1",[167,1833,1834],{"class":173},", name: ",[167,1836,1837],{"class":201},"'Stickers de Vue'",[167,1839,1840],{"class":173},", price: ",[167,1842,1843],{"class":219},"6",[167,1845,1846],{"class":173},", quantity: ",[167,1848,1849],{"class":219},"2",[167,1851,1852],{"class":173}," },\n",[167,1854,1855,1857,1859,1861,1864,1866,1869,1871,1873],{"class":169,"line":243},[167,1856,1828],{"class":173},[167,1858,1849],{"class":219},[167,1860,1834],{"class":173},[167,1862,1863],{"class":201},"'Cuaderno de Nuxt'",[167,1865,1840],{"class":173},[167,1867,1868],{"class":219},"14",[167,1870,1846],{"class":173},[167,1872,1831],{"class":219},[167,1874,599],{"class":173},[167,1876,1877],{"class":169,"line":261},[167,1878,429],{"class":173},[167,1880,1881],{"class":169,"line":273},[167,1882,209],{"emptyLinePlaceholder":208},[167,1884,1885,1887,1890,1892,1895,1897,1899],{"class":169,"line":279},[167,1886,216],{"class":191},[167,1888,1889],{"class":219}," subtotal",[167,1891,223],{"class":191},[167,1893,1894],{"class":181}," computed",[167,1896,1488],{"class":173},[167,1898,639],{"class":191},[167,1900,1901],{"class":173}," {\n",[167,1903,1904,1906,1909,1912,1915,1918,1920,1923,1925,1927],{"class":169,"line":289},[167,1905,1534],{"class":191},[167,1907,1908],{"class":173}," items.value.",[167,1910,1911],{"class":181},"reduce",[167,1913,1914],{"class":173},"((",[167,1916,1917],{"class":254},"total",[167,1919,1020],{"class":173},[167,1921,1922],{"class":254},"item",[167,1924,693],{"class":173},[167,1926,639],{"class":191},[167,1928,1901],{"class":173},[167,1930,1931,1934,1937,1940,1943,1946],{"class":169,"line":294},[167,1932,1933],{"class":191},"    return",[167,1935,1936],{"class":173}," total ",[167,1938,1939],{"class":191},"+",[167,1941,1942],{"class":173}," item.price ",[167,1944,1945],{"class":191},"*",[167,1947,1948],{"class":173}," item.quantity\n",[167,1950,1951,1954,1957],{"class":169,"line":304},[167,1952,1953],{"class":173},"  }, ",[167,1955,1956],{"class":219},"0",[167,1958,235],{"class":173},[167,1960,1961],{"class":169,"line":313},[167,1962,403],{"class":173},[167,1964,1965],{"class":169,"line":161},[167,1966,209],{"emptyLinePlaceholder":208},[167,1968,1969,1971,1974,1976,1978,1980,1982,1985,1988,1991],{"class":169,"line":335},[167,1970,216],{"class":191},[167,1972,1973],{"class":219}," hasFreeShipping",[167,1975,223],{"class":191},[167,1977,1894],{"class":181},[167,1979,1488],{"class":173},[167,1981,639],{"class":191},[167,1983,1984],{"class":173}," subtotal.value ",[167,1986,1987],{"class":191},">=",[167,1989,1990],{"class":219}," 30",[167,1992,235],{"class":173},[167,1994,1995,1997,1999],{"class":169,"line":341},[167,1996,282],{"class":173},[167,1998,178],{"class":177},[167,2000,185],{"class":173},[167,2002,2003],{"class":169,"line":489},[167,2004,209],{"emptyLinePlaceholder":208},[167,2006,2007,2009,2011],{"class":169,"line":495},[167,2008,174],{"class":173},[167,2010,299],{"class":177},[167,2012,185],{"class":173},[167,2014,2015,2017,2019,2022,2024],{"class":169,"line":501},[167,2016,307],{"class":173},[167,2018,15],{"class":177},[167,2020,2021],{"class":173},">Subtotal: {{ subtotal }}\u003C\u002F",[167,2023,15],{"class":177},[167,2025,185],{"class":173},[167,2027,2028,2030,2032,2035,2037],{"class":169,"line":512},[167,2029,307],{"class":173},[167,2031,15],{"class":177},[167,2033,2034],{"class":173},">{{ hasFreeShipping ? 'Envío gratis desbloqueado' : 'El envío se calcula al pagar' }}\u003C\u002F",[167,2036,15],{"class":177},[167,2038,185],{"class":173},[167,2040,2041,2043,2045],{"class":169,"line":781},[167,2042,282],{"class":173},[167,2044,299],{"class":177},[167,2046,185],{"class":173},[15,2048,2049,2052,2053,1675],{},[87,2050,2051],{},"subtotal"," no es una segunda fuente de verdad. Es un valor derivado de ",[87,2054,2055],{},"items",[15,2057,2058,2059,2061],{},"Ahí es exactamente donde ",[87,2060,1657],{}," brilla:",[33,2063,2064,2067,2070,2073],{},[36,2065,2066],{},"Se cachea.",[36,2068,2069],{},"Se actualiza cuando cambian sus dependencias.",[36,2071,2072],{},"Mantiene el template legible.",[36,2074,2075],{},"Evita duplicar estado.",[15,2077,2078,2079,2082,2083,2085,2086,1675],{},"Si tienes la tentación de crear un ",[87,2080,2081],{},"ref"," y mantenerlo sincronizado manualmente con otro ",[87,2084,2081],{},", pausa. La mayoría de las veces, ese valor sincronizado debería ser un ",[87,2087,1657],{},[22,2089,2091,2092,2094],{"id":2090},"no-uses-watch-para-crear-un-valor-derivado","No uses ",[87,2093,1661],{}," para crear un valor derivado",[15,2096,2097],{},"Este es un error común:",[154,2099,2102],{"className":156,"code":2100,"filename":2101,"language":162,"meta":163,"style":163},"\u003Cscript setup>\nimport { ref, watch } from 'vue'\n\nconst firstName = ref('Ada')\nconst lastName = ref('Lovelace')\nconst fullName = ref('')\n\nwatch([firstName, lastName], () => {\n  fullName.value = `${firstName.value} ${lastName.value}`\n}, { immediate: true })\n\u003C\u002Fscript>\n","AvoidThis.vue",[87,2103,2104,2114,2125,2129,2147,2165,2183,2187,2198,2229,2239],{"__ignoreMap":163},[167,2105,2106,2108,2110,2112],{"class":169,"line":170},[167,2107,174],{"class":173},[167,2109,178],{"class":177},[167,2111,182],{"class":181},[167,2113,185],{"class":173},[167,2115,2116,2118,2121,2123],{"class":169,"line":188},[167,2117,192],{"class":191},[167,2119,2120],{"class":173}," { ref, watch } ",[167,2122,198],{"class":191},[167,2124,202],{"class":201},[167,2126,2127],{"class":169,"line":205},[167,2128,209],{"emptyLinePlaceholder":208},[167,2130,2131,2133,2136,2138,2140,2142,2145],{"class":169,"line":160},[167,2132,216],{"class":191},[167,2134,2135],{"class":219}," firstName",[167,2137,223],{"class":191},[167,2139,226],{"class":181},[167,2141,229],{"class":173},[167,2143,2144],{"class":201},"'Ada'",[167,2146,235],{"class":173},[167,2148,2149,2151,2154,2156,2158,2160,2163],{"class":169,"line":238},[167,2150,216],{"class":191},[167,2152,2153],{"class":219}," lastName",[167,2155,223],{"class":191},[167,2157,226],{"class":181},[167,2159,229],{"class":173},[167,2161,2162],{"class":201},"'Lovelace'",[167,2164,235],{"class":173},[167,2166,2167,2169,2172,2174,2176,2178,2181],{"class":169,"line":243},[167,2168,216],{"class":191},[167,2170,2171],{"class":219}," fullName",[167,2173,223],{"class":191},[167,2175,226],{"class":181},[167,2177,229],{"class":173},[167,2179,2180],{"class":201},"''",[167,2182,235],{"class":173},[167,2184,2185],{"class":169,"line":261},[167,2186,209],{"emptyLinePlaceholder":208},[167,2188,2189,2191,2194,2196],{"class":169,"line":273},[167,2190,1661],{"class":181},[167,2192,2193],{"class":173},"([firstName, lastName], () ",[167,2195,639],{"class":191},[167,2197,1901],{"class":173},[167,2199,2200,2203,2205,2208,2211,2213,2216,2219,2222,2224,2226],{"class":169,"line":279},[167,2201,2202],{"class":173},"  fullName.value ",[167,2204,267],{"class":191},[167,2206,2207],{"class":201}," `${",[167,2209,2210],{"class":173},"firstName",[167,2212,1675],{"class":201},[167,2214,2215],{"class":173},"value",[167,2217,2218],{"class":201},"} ${",[167,2220,2221],{"class":173},"lastName",[167,2223,1675],{"class":201},[167,2225,2215],{"class":173},[167,2227,2228],{"class":201},"}`\n",[167,2230,2231,2234,2236],{"class":169,"line":289},[167,2232,2233],{"class":173},"}, { immediate: ",[167,2235,390],{"class":219},[167,2237,2238],{"class":173}," })\n",[167,2240,2241,2243,2245],{"class":169,"line":294},[167,2242,282],{"class":173},[167,2244,178],{"class":177},[167,2246,185],{"class":173},[15,2248,2249,2250,2253],{},"Funciona, pero hace que el componente sea más difícil de lo necesario. Ahora ",[87,2251,2252],{},"fullName"," es un estado escribible que debe mantenerse sincronizado para siempre.",[15,2255,1577,2256,583],{},[87,2257,1657],{},[154,2259,2262],{"className":156,"code":2260,"filename":2261,"language":162,"meta":163,"style":163},"\u003Cscript setup>\nimport { computed, ref } from 'vue'\n\nconst firstName = ref('Ada')\nconst lastName = ref('Lovelace')\n\nconst fullName = computed(() => `${firstName.value} ${lastName.value}`)\n\u003C\u002Fscript>\n","UseComputed.vue",[87,2263,2264,2274,2284,2288,2304,2320,2324,2359],{"__ignoreMap":163},[167,2265,2266,2268,2270,2272],{"class":169,"line":170},[167,2267,174],{"class":173},[167,2269,178],{"class":177},[167,2271,182],{"class":181},[167,2273,185],{"class":173},[167,2275,2276,2278,2280,2282],{"class":169,"line":188},[167,2277,192],{"class":191},[167,2279,1801],{"class":173},[167,2281,198],{"class":191},[167,2283,202],{"class":201},[167,2285,2286],{"class":169,"line":205},[167,2287,209],{"emptyLinePlaceholder":208},[167,2289,2290,2292,2294,2296,2298,2300,2302],{"class":169,"line":160},[167,2291,216],{"class":191},[167,2293,2135],{"class":219},[167,2295,223],{"class":191},[167,2297,226],{"class":181},[167,2299,229],{"class":173},[167,2301,2144],{"class":201},[167,2303,235],{"class":173},[167,2305,2306,2308,2310,2312,2314,2316,2318],{"class":169,"line":238},[167,2307,216],{"class":191},[167,2309,2153],{"class":219},[167,2311,223],{"class":191},[167,2313,226],{"class":181},[167,2315,229],{"class":173},[167,2317,2162],{"class":201},[167,2319,235],{"class":173},[167,2321,2322],{"class":169,"line":243},[167,2323,209],{"emptyLinePlaceholder":208},[167,2325,2326,2328,2330,2332,2334,2336,2338,2340,2342,2344,2346,2348,2350,2352,2354,2357],{"class":169,"line":261},[167,2327,216],{"class":191},[167,2329,2171],{"class":219},[167,2331,223],{"class":191},[167,2333,1894],{"class":181},[167,2335,1488],{"class":173},[167,2337,639],{"class":191},[167,2339,2207],{"class":201},[167,2341,2210],{"class":173},[167,2343,1675],{"class":201},[167,2345,2215],{"class":173},[167,2347,2218],{"class":201},[167,2349,2221],{"class":173},[167,2351,1675],{"class":201},[167,2353,2215],{"class":173},[167,2355,2356],{"class":201},"}`",[167,2358,235],{"class":173},[167,2360,2361,2363,2365],{"class":169,"line":273},[167,2362,282],{"class":173},[167,2364,178],{"class":177},[167,2366,185],{"class":173},[15,2368,2369,2370,1675],{},"La regla es simple: si el resultado puede calcularse desde estado reactivo, prefiere ",[87,2371,1657],{},[22,2373,1577,2375,2377],{"id":2374},"usa-watch-para-efectos-secundarios-explícitos",[87,2376,1661],{}," para efectos secundarios explícitos",[15,2379,2380],{},"Un watcher responde otra pregunta: \"Cuando esta cosa específica cambie, ¿qué debe pasar?\"",[15,2382,2383],{},"Ese \"pasar\" normalmente es un efecto secundario:",[33,2385,2386,2389,2395,2398,2401],{},[36,2387,2388],{},"Pedir datos.",[36,2390,2391,2392,1675],{},"Escribir en ",[87,2393,2394],{},"localStorage",[36,2396,2397],{},"Reiniciar paginación.",[36,2399,2400],{},"Sincronizar la URL.",[36,2402,2403],{},"Llamar una API del navegador.",[15,2405,2406],{},"Aquí tienes un ejemplo de búsqueda:",[154,2408,2411],{"className":156,"code":2409,"filename":2410,"language":162,"meta":163,"style":163},"\u003Cscript setup>\nimport { computed, ref, watch } from 'vue'\n\nconst query = ref('')\nconst page = ref(1)\n\nconst normalizedQuery = computed(() => query.value.trim().toLowerCase())\n\nwatch(normalizedQuery, async (value, previousValue) => {\n  if (value === previousValue) return\n\n  page.value = 1\n  await fetchResults(value)\n})\n\nasync function fetchResults(value) {\n  console.log('Buscando resultados para:', value)\n}\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cinput v-model=\"query\" type=\"search\" placeholder=\"Buscar\">\n  \u003Cp>Página: {{ page }}\u003C\u002Fp>\n\u003C\u002Ftemplate>\n","SearchResults.vue",[87,2412,2413,2423,2434,2438,2455,2472,2476,2506,2510,2536,2553,2557,2567,2578,2582,2586,2600,2616,2620,2628,2632,2640,2672,2686],{"__ignoreMap":163},[167,2414,2415,2417,2419,2421],{"class":169,"line":170},[167,2416,174],{"class":173},[167,2418,178],{"class":177},[167,2420,182],{"class":181},[167,2422,185],{"class":173},[167,2424,2425,2427,2430,2432],{"class":169,"line":188},[167,2426,192],{"class":191},[167,2428,2429],{"class":173}," { computed, ref, watch } ",[167,2431,198],{"class":191},[167,2433,202],{"class":201},[167,2435,2436],{"class":169,"line":205},[167,2437,209],{"emptyLinePlaceholder":208},[167,2439,2440,2442,2445,2447,2449,2451,2453],{"class":169,"line":160},[167,2441,216],{"class":191},[167,2443,2444],{"class":219}," query",[167,2446,223],{"class":191},[167,2448,226],{"class":181},[167,2450,229],{"class":173},[167,2452,2180],{"class":201},[167,2454,235],{"class":173},[167,2456,2457,2459,2462,2464,2466,2468,2470],{"class":169,"line":238},[167,2458,216],{"class":191},[167,2460,2461],{"class":219}," page",[167,2463,223],{"class":191},[167,2465,226],{"class":181},[167,2467,229],{"class":173},[167,2469,1831],{"class":219},[167,2471,235],{"class":173},[167,2473,2474],{"class":169,"line":243},[167,2475,209],{"emptyLinePlaceholder":208},[167,2477,2478,2480,2483,2485,2487,2489,2491,2494,2497,2500,2503],{"class":169,"line":261},[167,2479,216],{"class":191},[167,2481,2482],{"class":219}," normalizedQuery",[167,2484,223],{"class":191},[167,2486,1894],{"class":181},[167,2488,1488],{"class":173},[167,2490,639],{"class":191},[167,2492,2493],{"class":173}," query.value.",[167,2495,2496],{"class":181},"trim",[167,2498,2499],{"class":173},"().",[167,2501,2502],{"class":181},"toLowerCase",[167,2504,2505],{"class":173},"())\n",[167,2507,2508],{"class":169,"line":273},[167,2509,209],{"emptyLinePlaceholder":208},[167,2511,2512,2514,2517,2520,2523,2525,2527,2530,2532,2534],{"class":169,"line":279},[167,2513,1661],{"class":181},[167,2515,2516],{"class":173},"(normalizedQuery, ",[167,2518,2519],{"class":191},"async",[167,2521,2522],{"class":173}," (",[167,2524,2215],{"class":254},[167,2526,1020],{"class":173},[167,2528,2529],{"class":254},"previousValue",[167,2531,693],{"class":173},[167,2533,639],{"class":191},[167,2535,1901],{"class":173},[167,2537,2538,2541,2544,2547,2550],{"class":169,"line":289},[167,2539,2540],{"class":191},"  if",[167,2542,2543],{"class":173}," (value ",[167,2545,2546],{"class":191},"===",[167,2548,2549],{"class":173}," previousValue) ",[167,2551,2552],{"class":191},"return\n",[167,2554,2555],{"class":169,"line":294},[167,2556,209],{"emptyLinePlaceholder":208},[167,2558,2559,2562,2564],{"class":169,"line":304},[167,2560,2561],{"class":173},"  page.value ",[167,2563,267],{"class":191},[167,2565,2566],{"class":219}," 1\n",[167,2568,2569,2572,2575],{"class":169,"line":313},[167,2570,2571],{"class":191},"  await",[167,2573,2574],{"class":181}," fetchResults",[167,2576,2577],{"class":173},"(value)\n",[167,2579,2580],{"class":169,"line":161},[167,2581,403],{"class":173},[167,2583,2584],{"class":169,"line":335},[167,2585,209],{"emptyLinePlaceholder":208},[167,2587,2588,2590,2592,2594,2596,2598],{"class":169,"line":341},[167,2589,2519],{"class":191},[167,2591,1427],{"class":191},[167,2593,2574],{"class":181},[167,2595,229],{"class":173},[167,2597,2215],{"class":254},[167,2599,258],{"class":173},[167,2601,2602,2605,2608,2610,2613],{"class":169,"line":489},[167,2603,2604],{"class":173},"  console.",[167,2606,2607],{"class":181},"log",[167,2609,229],{"class":173},[167,2611,2612],{"class":201},"'Buscando resultados para:'",[167,2614,2615],{"class":173},", value)\n",[167,2617,2618],{"class":169,"line":495},[167,2619,276],{"class":173},[167,2621,2622,2624,2626],{"class":169,"line":501},[167,2623,282],{"class":173},[167,2625,178],{"class":177},[167,2627,185],{"class":173},[167,2629,2630],{"class":169,"line":512},[167,2631,209],{"emptyLinePlaceholder":208},[167,2633,2634,2636,2638],{"class":169,"line":781},[167,2635,174],{"class":173},[167,2637,299],{"class":177},[167,2639,185],{"class":173},[167,2641,2642,2644,2647,2650,2652,2655,2657,2659,2662,2665,2667,2670],{"class":169,"line":786},[167,2643,307],{"class":173},[167,2645,2646],{"class":177},"input",[167,2648,2649],{"class":181}," v-model",[167,2651,267],{"class":173},[167,2653,2654],{"class":201},"\"query\"",[167,2656,1169],{"class":181},[167,2658,267],{"class":173},[167,2660,2661],{"class":201},"\"search\"",[167,2663,2664],{"class":181}," placeholder",[167,2666,267],{"class":173},[167,2668,2669],{"class":201},"\"Buscar\"",[167,2671,185],{"class":173},[167,2673,2675,2677,2679,2682,2684],{"class":169,"line":2674},23,[167,2676,307],{"class":173},[167,2678,15],{"class":177},[167,2680,2681],{"class":173},">Página: {{ page }}\u003C\u002F",[167,2683,15],{"class":177},[167,2685,185],{"class":173},[167,2687,2689,2691,2693],{"class":169,"line":2688},24,[167,2690,282],{"class":173},[167,2692,299],{"class":177},[167,2694,185],{"class":173},[15,2696,2697,2698,2700,2701,1675],{},"Este es un buen uso de ",[87,2699,1661],{}," porque la fuente es explícita: ",[87,2702,2703],{},"normalizedQuery",[15,2705,2706],{},"Puedes leer el código y saber exactamente por qué ocurre la búsqueda.",[22,2708,1577,2710,2712],{"id":2709},"usa-watcheffect-para-rastreo-automático",[87,2711,1664],{}," para rastreo automático",[15,2714,2715,2717],{},[87,2716,1664],{}," se ejecuta inmediatamente y rastrea cada valor reactivo leído durante su ejecución.",[15,2719,2720],{},"Eso lo hace cómodo cuando la lista de dependencias es evidente desde el cuerpo:",[154,2722,2725],{"className":156,"code":2723,"filename":2724,"language":162,"meta":163,"style":163},"\u003Cscript setup>\nimport { ref, watchEffect } from 'vue'\n\nconst userId = ref(1)\nconst locale = ref('es')\n\nwatchEffect(() => {\n  console.log(`Cargar usuario ${userId.value} usando locale ${locale.value}`)\n})\n\u003C\u002Fscript>\n","AutoTrackedEffect.vue",[87,2726,2727,2737,2748,2752,2769,2787,2791,2801,2833,2837],{"__ignoreMap":163},[167,2728,2729,2731,2733,2735],{"class":169,"line":170},[167,2730,174],{"class":173},[167,2732,178],{"class":177},[167,2734,182],{"class":181},[167,2736,185],{"class":173},[167,2738,2739,2741,2744,2746],{"class":169,"line":188},[167,2740,192],{"class":191},[167,2742,2743],{"class":173}," { ref, watchEffect } ",[167,2745,198],{"class":191},[167,2747,202],{"class":201},[167,2749,2750],{"class":169,"line":205},[167,2751,209],{"emptyLinePlaceholder":208},[167,2753,2754,2756,2759,2761,2763,2765,2767],{"class":169,"line":160},[167,2755,216],{"class":191},[167,2757,2758],{"class":219}," userId",[167,2760,223],{"class":191},[167,2762,226],{"class":181},[167,2764,229],{"class":173},[167,2766,1831],{"class":219},[167,2768,235],{"class":173},[167,2770,2771,2773,2776,2778,2780,2782,2785],{"class":169,"line":238},[167,2772,216],{"class":191},[167,2774,2775],{"class":219}," locale",[167,2777,223],{"class":191},[167,2779,226],{"class":181},[167,2781,229],{"class":173},[167,2783,2784],{"class":201},"'es'",[167,2786,235],{"class":173},[167,2788,2789],{"class":169,"line":243},[167,2790,209],{"emptyLinePlaceholder":208},[167,2792,2793,2795,2797,2799],{"class":169,"line":261},[167,2794,1664],{"class":181},[167,2796,1488],{"class":173},[167,2798,639],{"class":191},[167,2800,1901],{"class":173},[167,2802,2803,2805,2807,2809,2812,2815,2817,2819,2822,2825,2827,2829,2831],{"class":169,"line":273},[167,2804,2604],{"class":173},[167,2806,2607],{"class":181},[167,2808,229],{"class":173},[167,2810,2811],{"class":201},"`Cargar usuario ${",[167,2813,2814],{"class":173},"userId",[167,2816,1675],{"class":201},[167,2818,2215],{"class":173},[167,2820,2821],{"class":201},"} usando locale ${",[167,2823,2824],{"class":173},"locale",[167,2826,1675],{"class":201},[167,2828,2215],{"class":173},[167,2830,2356],{"class":201},[167,2832,235],{"class":173},[167,2834,2835],{"class":169,"line":279},[167,2836,403],{"class":173},[167,2838,2839,2841,2843],{"class":169,"line":289},[167,2840,282],{"class":173},[167,2842,178],{"class":177},[167,2844,185],{"class":173},[15,2846,2847,2848,1023,2851,2854],{},"El efecto lee ",[87,2849,2850],{},"userId.value",[87,2852,2853],{},"locale.value",", así que Vue rastrea ambos. Cuando cualquiera cambia, el efecto se ejecuta otra vez.",[15,2856,2857],{},"Esto es expresivo, pero también exige disciplina. Si más adelante lees otros valores reactivos, también agregas más dependencias. A veces eso es justo lo que quieres. Otras veces se convierte en una sorpresa.",[22,2859,2861,2862,2864],{"id":2860},"cuidado-con-watcheffect-asíncrono","Cuidado con ",[87,2863,1664],{}," asíncrono",[15,2866,2867,2869],{},[87,2868,1664],{}," solo rastrea las lecturas reactivas que ocurren durante su ejecución síncrona.",[15,2871,2872],{},"Esto sí se rastrea:",[154,2874,2879],{"className":2875,"code":2876,"filename":2877,"language":2878,"meta":163,"style":163},"language-js shiki shiki-themes github-light github-dark","watchEffect(async () => {\n  console.log(userId.value)\n  await loadSomething()\n})\n","tracked-before-await.js","js",[87,2880,2881,2895,2904,2914],{"__ignoreMap":163},[167,2882,2883,2885,2887,2889,2891,2893],{"class":169,"line":170},[167,2884,1664],{"class":181},[167,2886,229],{"class":173},[167,2888,2519],{"class":191},[167,2890,1464],{"class":173},[167,2892,639],{"class":191},[167,2894,1901],{"class":173},[167,2896,2897,2899,2901],{"class":169,"line":188},[167,2898,2604],{"class":173},[167,2900,2607],{"class":181},[167,2902,2903],{"class":173},"(userId.value)\n",[167,2905,2906,2908,2911],{"class":169,"line":205},[167,2907,2571],{"class":191},[167,2909,2910],{"class":181}," loadSomething",[167,2912,2913],{"class":173},"()\n",[167,2915,2916],{"class":169,"line":160},[167,2917,403],{"class":173},[15,2919,2920,2921,2924],{},"Pero las lecturas reactivas después de ",[87,2922,2923],{},"await"," son más fáciles de malinterpretar:",[154,2926,2929],{"className":2875,"code":2927,"filename":2928,"language":2878,"meta":163,"style":163},"watchEffect(async () => {\n  await loadSomething()\n  console.log(userId.value)\n})\n","after-await.js",[87,2930,2931,2945,2953,2961],{"__ignoreMap":163},[167,2932,2933,2935,2937,2939,2941,2943],{"class":169,"line":170},[167,2934,1664],{"class":181},[167,2936,229],{"class":173},[167,2938,2519],{"class":191},[167,2940,1464],{"class":173},[167,2942,639],{"class":191},[167,2944,1901],{"class":173},[167,2946,2947,2949,2951],{"class":169,"line":188},[167,2948,2571],{"class":191},[167,2950,2910],{"class":181},[167,2952,2913],{"class":173},[167,2954,2955,2957,2959],{"class":169,"line":205},[167,2956,2604],{"class":173},[167,2958,2607],{"class":181},[167,2960,2903],{"class":173},[167,2962,2963],{"class":169,"line":160},[167,2964,403],{"class":173},[15,2966,2967,2968,2970],{},"Si un efecto asíncrono depende de una fuente específica, ",[87,2969,1661],{}," suele ser más claro:",[154,2972,2975],{"className":2875,"code":2973,"filename":2974,"language":2878,"meta":163,"style":163},"watch(userId, async (id) => {\n  profile.value = await fetchUserProfile(id)\n}, { immediate: true })\n","async-watch.js",[87,2976,2977,2996,3012],{"__ignoreMap":163},[167,2978,2979,2981,2984,2986,2988,2990,2992,2994],{"class":169,"line":170},[167,2980,1661],{"class":181},[167,2982,2983],{"class":173},"(userId, ",[167,2985,2519],{"class":191},[167,2987,2522],{"class":173},[167,2989,580],{"class":254},[167,2991,693],{"class":173},[167,2993,639],{"class":191},[167,2995,1901],{"class":173},[167,2997,2998,3001,3003,3006,3009],{"class":169,"line":188},[167,2999,3000],{"class":173},"  profile.value ",[167,3002,267],{"class":191},[167,3004,3005],{"class":191}," await",[167,3007,3008],{"class":181}," fetchUserProfile",[167,3010,3011],{"class":173},"(id)\n",[167,3013,3014,3016,3018],{"class":169,"line":205},[167,3015,2233],{"class":173},[167,3017,390],{"class":219},[167,3019,2238],{"class":173},[15,3021,3022],{},"La dependencia queda explícita. Quien lea el código después no necesita inspeccionar todo el cuerpo para saber qué dispara la petición.",[22,3024,3026],{"id":3025},"un-árbol-de-decisión-práctico","Un árbol de decisión práctico",[15,3028,3029],{},"Haz estas preguntas en orden:",[3031,3032,3033],"ol",{},[36,3034,3035],{},"¿Necesito un valor para el template o para otro cálculo?",[15,3037,1577,3038,1675],{},[87,3039,1657],{},[3031,3041,3042],{"start":188},[36,3043,3044],{},"¿Necesito ejecutar código porque cambió una fuente específica?",[15,3046,1577,3047,1675],{},[87,3048,1661],{},[3031,3050,3051],{"start":205},[36,3052,3053],{},"¿Necesito un efecto que dependa naturalmente de todo lo que lee?",[15,3055,1577,3056,1675],{},[87,3057,1664],{},[3031,3059,3060],{"start":160},[36,3061,3062],{},"¿Estoy escribiendo en otro ref solo para mantenerlo sincronizado?",[15,3064,3065,3066,1675],{},"Probablemente necesitas ",[87,3067,1657],{},[3031,3069,3070],{"start":238},[36,3071,3072],{},"¿El efecto hace una petición, toca storage o coordina algo fuera de Vue?",[15,3074,3065,3075,3077],{},[87,3076,1661],{},", a menos que el rastreo automático sea realmente la intención.",[22,3079,3081],{"id":3080},"errores-comunes","Errores comunes",[3083,3084,3086,3087],"h3",{"id":3085},"mutar-estado-dentro-de-computed","Mutar estado dentro de ",[87,3088,1657],{},[15,3090,3091],{},"Un getter de computed no debería cambiar estado.",[154,3093,3096],{"className":2875,"code":3094,"filename":3095,"language":2878,"meta":163,"style":163},"const total = computed(() => {\n  analyticsCount.value++\n  return items.value.length\n})\n","bad-computed-side-effect.js",[87,3097,3098,3115,3123,3132],{"__ignoreMap":163},[167,3099,3100,3102,3105,3107,3109,3111,3113],{"class":169,"line":170},[167,3101,216],{"class":191},[167,3103,3104],{"class":219}," total",[167,3106,223],{"class":191},[167,3108,1894],{"class":181},[167,3110,1488],{"class":173},[167,3112,639],{"class":191},[167,3114,1901],{"class":173},[167,3116,3117,3120],{"class":169,"line":188},[167,3118,3119],{"class":173},"  analyticsCount.value",[167,3121,3122],{"class":191},"++\n",[167,3124,3125,3127,3129],{"class":169,"line":205},[167,3126,1534],{"class":191},[167,3128,1908],{"class":173},[167,3130,3131],{"class":219},"length\n",[167,3133,3134],{"class":169,"line":160},[167,3135,403],{"class":173},[15,3137,3138,3139,3141],{},"Eso hace que un cálculo se comporte como un efecto. Mantén ",[87,3140,1657],{}," puro.",[3083,3143,3145],{"id":3144},"observar-demasiado","Observar demasiado",[15,3147,3148],{},"Los watchers profundos pueden ser útiles, pero es fácil abusar de ellos.",[154,3150,3153],{"className":2875,"code":3151,"filename":3152,"language":2878,"meta":163,"style":163},"watch(settings, saveSettings, { deep: true })\n","deep-watch.js",[87,3154,3155],{"__ignoreMap":163},[167,3156,3157,3159,3162,3164],{"class":169,"line":170},[167,3158,1661],{"class":181},[167,3160,3161],{"class":173},"(settings, saveSettings, { deep: ",[167,3163,390],{"class":219},[167,3165,2238],{"class":173},[15,3167,3168,3169,3172],{},"Si ",[87,3170,3171],{},"settings"," es grande, esto puede volverse costoso o demasiado amplio. Cuando puedas, observa el campo específico que importa.",[3083,3174,3176,3177,3179],{"id":3175},"usar-watcheffect-cuando-necesitas-control","Usar ",[87,3178,1664],{}," cuando necesitas control",[15,3181,3182,3184],{},[87,3183,1664],{}," es maravilloso para efectos compactos, pero no tanto cuando el disparador importa.",[15,3186,3187,3188,1675],{},"Si necesitas decir \"ejecuta esto solo cuando cambie el id seleccionado\", dilo con ",[87,3189,1661],{},[22,3191,3193],{"id":3192},"regla-final","Regla final",[15,3195,3196,3197,1675],{},"Si describe datos, usa ",[87,3198,1657],{},[15,3200,3201,3202,1675],{},"Si responde a un cambio, usa ",[87,3203,1661],{},[15,3205,3206,3207,1675],{},"Si debe rastrear lo que lee, usa ",[87,3208,1664],{},[15,3210,3211],{},"Esa pequeña diferencia evita una cantidad sorprendente de caos reactivo.",[924,3213,926],{},{"title":163,"searchDepth":188,"depth":188,"links":3215},[3216,3217,3219,3221,3223,3225,3227,3228,3235],{"id":1687,"depth":188,"text":1688},{"id":1768,"depth":188,"text":3218},"Empieza con computed cuando necesitas estado derivado",{"id":2090,"depth":188,"text":3220},"No uses watch para crear un valor derivado",{"id":2374,"depth":188,"text":3222},"Usa watch para efectos secundarios explícitos",{"id":2709,"depth":188,"text":3224},"Usa watchEffect para rastreo automático",{"id":2860,"depth":188,"text":3226},"Cuidado con watchEffect asíncrono",{"id":3025,"depth":188,"text":3026},{"id":3080,"depth":188,"text":3081,"children":3229},[3230,3232,3233],{"id":3085,"depth":205,"text":3231},"Mutar estado dentro de computed",{"id":3144,"depth":205,"text":3145},{"id":3175,"depth":205,"text":3234},"Usar watchEffect cuando necesitas control",{"id":3192,"depth":188,"text":3193},"https:\u002F\u002Fres.cloudinary.com\u002Fdenj4fg7f\u002Fimage\u002Fupload\u002Fv1783385054\u002Fvue-computed-watch-watcheffect-guide_vepplp.png","Conceptos de reactividad en Vue representados como flujos de datos conectados","2026-07-07","Aprende la diferencia práctica entre computed, watch y watchEffect en Vue 3, con ejemplos, errores comunes y una guía de decisión para componentes reales.",{"title":3241,"goal":3242,"tasks":3243,"starterCode":3248,"solutionHint":3249},"Elige la herramienta reactiva correcta","Practica el uso de computed para estado derivado, watch para efectos secundarios explícitos y watchEffect para rastreo automático de dependencias.",[3244,3245,3246,3247],"Crea un input de búsqueda guardado en un ref.","Usa computed para normalizar la búsqueda.","Usa watch para disparar una función tipo fetch solo cuando cambie la búsqueda normalizada.","Usa watchEffect para registrar cada valor reactivo leído dentro del efecto y explica por qué se ejecuta.","\u003Cscript setup>\nimport { computed, ref, watch, watchEffect } from 'vue'\n\nconst query = ref('')\nconst page = ref(1)\n\nconst normalizedQuery = computed(() => query.value.trim().toLowerCase())\n\nwatch(normalizedQuery, (value) => {\n  page.value = 1\n  console.log('Buscar resultados para:', value)\n})\n\nwatchEffect(() => {\n  console.log('Estado actual de búsqueda:', normalizedQuery.value, page.value)\n})\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cinput v-model=\"query\" placeholder=\"Buscar artículos\">\n  \u003Cp>Búsqueda normalizada: {{ normalizedQuery }}\u003C\u002Fp>\n  \u003Cp>Página: {{ page }}\u003C\u002Fp>\n\u003C\u002Ftemplate>\n","El computed deriva datos sin causar efectos secundarios. El watch reacciona a una fuente explícita. El watchEffect se vuelve a ejecutar cuando cambia cualquier valor que lee.",{"updatedAt":3251,"coverCaption":3252,"author":945,"keywords":3253},"2026-07-06T20:00:00-05:00","Computed, watchers y efectos en Vue 3 por TODOvue",[3254,950,1657,1661,1664,3255,3256],"Vue.js","reactividad","Composition API","\u002Fblog\u002Fvue-computed-watch-watcheffect-guide.es",[3259],{"headline":1648,"author":3260,"datePublished":3251,"@type":959},{"name":945,"@type":958},{"title":1648,"description":3239},"blog\u002Fvue-computed-watch-watcheffect-guide.es",[3264,3267,3268,3271],{"tag":3265,"color":3266},"Reactividad","#1D5BA1",{"tag":968,"color":969},{"tag":3269,"color":3270},"Rendimiento","#D4A017",{"tag":3272,"color":3273},"Guías","#42B983","dnpNCDLnmGJT3EOACnEoOccVdMrkVAJUki4IRRGk64k",{"id":3276,"title":3277,"body":3278,"cover":5391,"coverAlt":3277,"date":5392,"description":5393,"draft":1617,"extension":940,"lab":5394,"locale":942,"meta":5404,"navigation":208,"path":5409,"schemaOrg":5410,"seo":5413,"series":941,"seriesDescription":941,"seriesOrder":941,"seriesTitle":941,"slug":941,"stem":5414,"tags":5415,"__hash__":5422},"blog\u002Fblog\u002Fvue-3-props-emits-component-communication.es.md","Props y Emits en Vue 3: comunicación entre componentes",{"type":8,"value":3279,"toc":5379},[3280,3283,3286,3289,3305,3308,3312,3315,3578,3581,3584,3795,3798,3804,3813,3966,4125,4128,4131,4137,4140,4368,4594,4597,4601,4604,4607,4700,4703,4706,4821,5049,5052,5105,5109,5112,5115,5142,5152,5156,5159,5162,5288,5294,5322,5325,5329,5332,5346,5352,5355,5359,5362,5368,5371,5374,5377],[11,3281,3277],{"id":3282},"props-y-emits-en-vue-3-comunicación-entre-componentes",[15,3284,3285],{},"Cuando una aplicación empieza a dividirse en componentes, aparece una pregunta muy simple: ¿cómo se pasan información entre ellos?",[15,3287,3288],{},"En Vue, la respuesta básica suele ser esta:",[33,3290,3291,3298],{},[36,3292,3293,3294,3297],{},"Las ",[87,3295,3296],{},"props"," pasan datos desde el componente padre hacia el componente hijo.",[36,3299,3300,3301,3304],{},"Los ",[87,3302,3303],{},"emits"," permiten que el componente hijo avise algo al componente padre.",[15,3306,3307],{},"Ese flujo puede parecer pequeño, pero es una de las ideas que más orden le da a una interfaz. El padre conserva el estado importante. El hijo recibe lo que necesita para mostrarse y emite eventos cuando pasa algo que el padre debería conocer.",[22,3309,3311],{"id":3310},"el-flujo-normal-datos-bajan-eventos-suben","El flujo normal: datos bajan, eventos suben",[15,3313,3314],{},"Imagina una lista de tareas. El componente padre tiene el arreglo completo:",[154,3316,3320],{"className":156,"code":3317,"filename":3318,"highlights":3319,"language":162,"meta":163,"style":163},"\u003Cscript setup>\nimport { ref } from 'vue'\nimport TaskCard from '.\u002FTaskCard.vue'\n\nconst tasks = ref([\n  { id: 1, title: 'Leer la guía de props', completed: false },\n  { id: 2, title: 'Crear un componente pequeño', completed: false }\n])\n\nconst completeTask = (taskId) => {\n  const task = tasks.value.find((item) => item.id === taskId)\n  if (task) {\n    task.completed = true\n  }\n}\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003CTaskCard\n    v-for=\"task in tasks\"\n    :key=\"task.id\"\n    :task=\"task\"\n    @complete=\"completeTask\"\n  \u002F>\n\u003C\u002Ftemplate>\n","TaskList.vue",[501,512,781,786,2674],[87,3321,3322,3332,3342,3354,3358,3371,3391,3408,3412,3416,3436,3467,3474,3484,3489,3493,3501,3505,3513,3521,3532,3543,3554,3565,3569],{"__ignoreMap":163},[167,3323,3324,3326,3328,3330],{"class":169,"line":170},[167,3325,174],{"class":173},[167,3327,178],{"class":177},[167,3329,182],{"class":181},[167,3331,185],{"class":173},[167,3333,3334,3336,3338,3340],{"class":169,"line":188},[167,3335,192],{"class":191},[167,3337,195],{"class":173},[167,3339,198],{"class":191},[167,3341,202],{"class":201},[167,3343,3344,3346,3349,3351],{"class":169,"line":205},[167,3345,192],{"class":191},[167,3347,3348],{"class":173}," TaskCard ",[167,3350,198],{"class":191},[167,3352,3353],{"class":201}," '.\u002FTaskCard.vue'\n",[167,3355,3356],{"class":169,"line":160},[167,3357,209],{"emptyLinePlaceholder":208},[167,3359,3360,3362,3365,3367,3369],{"class":169,"line":238},[167,3361,216],{"class":191},[167,3363,3364],{"class":219}," tasks",[167,3366,223],{"class":191},[167,3368,226],{"class":181},[167,3370,1823],{"class":173},[167,3372,3373,3375,3377,3380,3383,3386,3389],{"class":169,"line":243},[167,3374,1828],{"class":173},[167,3376,1831],{"class":219},[167,3378,3379],{"class":173},", title: ",[167,3381,3382],{"class":201},"'Leer la guía de props'",[167,3384,3385],{"class":173},", completed: ",[167,3387,3388],{"class":219},"false",[167,3390,1852],{"class":173},[167,3392,3393,3395,3397,3399,3402,3404,3406],{"class":169,"line":261},[167,3394,1828],{"class":173},[167,3396,1849],{"class":219},[167,3398,3379],{"class":173},[167,3400,3401],{"class":201},"'Crear un componente pequeño'",[167,3403,3385],{"class":173},[167,3405,3388],{"class":219},[167,3407,599],{"class":173},[167,3409,3410],{"class":169,"line":273},[167,3411,429],{"class":173},[167,3413,3414],{"class":169,"line":279},[167,3415,209],{"emptyLinePlaceholder":208},[167,3417,3418,3420,3423,3425,3427,3430,3432,3434],{"class":169,"line":289},[167,3419,216],{"class":191},[167,3421,3422],{"class":181}," completeTask",[167,3424,223],{"class":191},[167,3426,2522],{"class":173},[167,3428,3429],{"class":254},"taskId",[167,3431,693],{"class":173},[167,3433,639],{"class":191},[167,3435,1901],{"class":173},[167,3437,3438,3440,3443,3445,3448,3451,3453,3455,3457,3459,3462,3464],{"class":169,"line":294},[167,3439,1438],{"class":191},[167,3441,3442],{"class":219}," task",[167,3444,223],{"class":191},[167,3446,3447],{"class":173}," tasks.value.",[167,3449,3450],{"class":181},"find",[167,3452,1914],{"class":173},[167,3454,1922],{"class":254},[167,3456,693],{"class":173},[167,3458,639],{"class":191},[167,3460,3461],{"class":173}," item.id ",[167,3463,2546],{"class":191},[167,3465,3466],{"class":173}," taskId)\n",[167,3468,3469,3471],{"class":169,"line":304},[167,3470,2540],{"class":191},[167,3472,3473],{"class":173}," (task) {\n",[167,3475,3476,3479,3481],{"class":169,"line":313},[167,3477,3478],{"class":173},"    task.completed ",[167,3480,267],{"class":191},[167,3482,3483],{"class":219}," true\n",[167,3485,3486],{"class":169,"line":161},[167,3487,3488],{"class":173},"  }\n",[167,3490,3491],{"class":169,"line":335},[167,3492,276],{"class":173},[167,3494,3495,3497,3499],{"class":169,"line":341},[167,3496,282],{"class":173},[167,3498,178],{"class":177},[167,3500,185],{"class":173},[167,3502,3503],{"class":169,"line":489},[167,3504,209],{"emptyLinePlaceholder":208},[167,3506,3507,3509,3511],{"class":169,"line":495},[167,3508,174],{"class":173},[167,3510,299],{"class":177},[167,3512,185],{"class":173},[167,3514,3516,3518],{"class":3515,"line":501},[169,213],[167,3517,307],{"class":173},[167,3519,3520],{"class":177},"TaskCard\n",[167,3522,3524,3527,3529],{"class":3523,"line":512},[169,213],[167,3525,3526],{"class":181},"    v-for",[167,3528,267],{"class":173},[167,3530,3531],{"class":201},"\"task in tasks\"\n",[167,3533,3535,3538,3540],{"class":3534,"line":781},[169,213],[167,3536,3537],{"class":181},"    :key",[167,3539,267],{"class":173},[167,3541,3542],{"class":201},"\"task.id\"\n",[167,3544,3546,3549,3551],{"class":3545,"line":786},[169,213],[167,3547,3548],{"class":181},"    :task",[167,3550,267],{"class":173},[167,3552,3553],{"class":201},"\"task\"\n",[167,3555,3557,3560,3562],{"class":3556,"line":2674},[169,213],[167,3558,3559],{"class":181},"    @complete",[167,3561,267],{"class":173},[167,3563,3564],{"class":201},"\"completeTask\"\n",[167,3566,3567],{"class":169,"line":2688},[167,3568,338],{"class":173},[167,3570,3572,3574,3576],{"class":169,"line":3571},25,[167,3573,282],{"class":173},[167,3575,299],{"class":177},[167,3577,185],{"class":173},[15,3579,3580],{},"El padre conoce la lista, sabe cómo actualizarla y decide qué hacer cuando una tarea cambia.",[15,3582,3583],{},"El componente hijo, en cambio, solo necesita mostrar una tarea y avisar cuando el usuario hace clic:",[154,3585,3589],{"className":156,"code":3586,"filename":3587,"highlights":3588,"language":162,"meta":163,"style":163},"\u003Cscript setup>\nconst props = defineProps({\n  task: {\n    type: Object,\n    required: true\n  }\n})\n\nconst emit = defineEmits(['complete'])\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Carticle>\n    \u003Ch2>{{ props.task.title }}\u003C\u002Fh2>\n    \u003Cp>{{ props.task.completed ? 'Completada' : 'Pendiente' }}\u003C\u002Fp>\n\n    \u003Cbutton\n      type=\"button\"\n      :disabled=\"props.task.completed\"\n      @click=\"emit('complete', props.task.id)\"\n    >\n      Marcar como completada\n    \u003C\u002Fbutton>\n  \u003C\u002Farticle>\n\u003C\u002Ftemplate>\n","TaskCard.vue",[188,205,160,238,243,261,279,512],[87,3590,3591,3601,3614,3620,3626,3634,3639,3644,3648,3666,3674,3678,3686,3695,3708,3721,3725,3731,3740,3750,3761,3766,3771,3779,3787],{"__ignoreMap":163},[167,3592,3593,3595,3597,3599],{"class":169,"line":170},[167,3594,174],{"class":173},[167,3596,178],{"class":177},[167,3598,182],{"class":181},[167,3600,185],{"class":173},[167,3602,3604,3606,3608,3610,3612],{"class":3603,"line":188},[169,213],[167,3605,216],{"class":191},[167,3607,1060],{"class":219},[167,3609,223],{"class":191},[167,3611,1065],{"class":181},[167,3613,372],{"class":173},[167,3615,3617],{"class":3616,"line":205},[169,213],[167,3618,3619],{"class":173},"  task: {\n",[167,3621,3623],{"class":3622,"line":160},[169,213],[167,3624,3625],{"class":173},"    type: Object,\n",[167,3627,3629,3631],{"class":3628,"line":238},[169,213],[167,3630,387],{"class":173},[167,3632,3633],{"class":219},"true\n",[167,3635,3637],{"class":3636,"line":243},[169,213],[167,3638,3488],{"class":173},[167,3640,3642],{"class":3641,"line":261},[169,213],[167,3643,403],{"class":173},[167,3645,3646],{"class":169,"line":273},[167,3647,209],{"emptyLinePlaceholder":208},[167,3649,3651,3653,3655,3657,3659,3661,3664],{"class":3650,"line":279},[169,213],[167,3652,216],{"class":191},[167,3654,415],{"class":219},[167,3656,223],{"class":191},[167,3658,420],{"class":181},[167,3660,423],{"class":173},[167,3662,3663],{"class":201},"'complete'",[167,3665,429],{"class":173},[167,3667,3668,3670,3672],{"class":169,"line":289},[167,3669,282],{"class":173},[167,3671,178],{"class":177},[167,3673,185],{"class":173},[167,3675,3676],{"class":169,"line":294},[167,3677,209],{"emptyLinePlaceholder":208},[167,3679,3680,3682,3684],{"class":169,"line":304},[167,3681,174],{"class":173},[167,3683,299],{"class":177},[167,3685,185],{"class":173},[167,3687,3688,3690,3693],{"class":169,"line":313},[167,3689,307],{"class":173},[167,3691,3692],{"class":177},"article",[167,3694,185],{"class":173},[167,3696,3697,3699,3701,3704,3706],{"class":169,"line":161},[167,3698,1252],{"class":173},[167,3700,22],{"class":177},[167,3702,3703],{"class":173},">{{ props.task.title }}\u003C\u002F",[167,3705,22],{"class":177},[167,3707,185],{"class":173},[167,3709,3710,3712,3714,3717,3719],{"class":169,"line":335},[167,3711,1252],{"class":173},[167,3713,15],{"class":177},[167,3715,3716],{"class":173},">{{ props.task.completed ? 'Completada' : 'Pendiente' }}\u003C\u002F",[167,3718,15],{"class":177},[167,3720,185],{"class":173},[167,3722,3723],{"class":169,"line":341},[167,3724,209],{"emptyLinePlaceholder":208},[167,3726,3727,3729],{"class":169,"line":489},[167,3728,1252],{"class":173},[167,3730,456],{"class":177},[167,3732,3733,3736,3738],{"class":169,"line":495},[167,3734,3735],{"class":181},"      type",[167,3737,267],{"class":173},[167,3739,466],{"class":201},[167,3741,3742,3745,3747],{"class":169,"line":501},[167,3743,3744],{"class":181},"      :disabled",[167,3746,267],{"class":173},[167,3748,3749],{"class":201},"\"props.task.completed\"\n",[167,3751,3753,3756,3758],{"class":3752,"line":512},[169,213],[167,3754,3755],{"class":181},"      @click",[167,3757,267],{"class":173},[167,3759,3760],{"class":201},"\"emit('complete', props.task.id)\"\n",[167,3762,3763],{"class":169,"line":781},[167,3764,3765],{"class":173},"    >\n",[167,3767,3768],{"class":169,"line":786},[167,3769,3770],{"class":173},"      Marcar como completada\n",[167,3772,3773,3775,3777],{"class":169,"line":2674},[167,3774,1287],{"class":173},[167,3776,507],{"class":177},[167,3778,185],{"class":173},[167,3780,3781,3783,3785],{"class":169,"line":2688},[167,3782,504],{"class":173},[167,3784,3692],{"class":177},[167,3786,185],{"class":173},[167,3788,3789,3791,3793],{"class":169,"line":3571},[167,3790,282],{"class":173},[167,3792,299],{"class":177},[167,3794,185],{"class":173},[15,3796,3797],{},"Este patrón mantiene una separación sana: el hijo no necesita saber cómo está guardada la lista completa. Solo dice: \"esta tarea debería completarse\".",[22,3799,3801,3803],{"id":3800},"defineprops-qué-necesita-recibir-el-componente",[87,3802,369],{},": qué necesita recibir el componente",[15,3805,3806,3807,3809,3810,1675],{},"Con ",[87,3808,1003],{},", las props se declaran con ",[87,3811,3812],{},"defineProps()",[154,3814,3817],{"className":156,"code":3815,"filename":3256,"highlights":3816,"language":162,"meta":163,"style":163},"\u003Cscript setup>\nconst props = defineProps({\n  name: {\n    type: String,\n    required: true\n  },\n  role: {\n    type: String,\n    default: 'Miembro'\n  }\n})\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cdiv>\n    \u003Cstrong>{{ props.name }}\u003C\u002Fstrong>\n    \u003Cspan>{{ props.role }}\u003C\u002Fspan>\n  \u003C\u002Fdiv>\n\u003C\u002Ftemplate>\n",[188,205,160,238,243,261,273,279,289,294],[87,3818,3819,3829,3842,3848,3853,3860,3865,3871,3876,3885,3890,3895,3903,3907,3915,3923,3937,3950,3958],{"__ignoreMap":163},[167,3820,3821,3823,3825,3827],{"class":169,"line":170},[167,3822,174],{"class":173},[167,3824,178],{"class":177},[167,3826,182],{"class":181},[167,3828,185],{"class":173},[167,3830,3832,3834,3836,3838,3840],{"class":3831,"line":188},[169,213],[167,3833,216],{"class":191},[167,3835,1060],{"class":219},[167,3837,223],{"class":191},[167,3839,1065],{"class":181},[167,3841,372],{"class":173},[167,3843,3845],{"class":3844,"line":205},[169,213],[167,3846,3847],{"class":173},"  name: {\n",[167,3849,3851],{"class":3850,"line":160},[169,213],[167,3852,382],{"class":173},[167,3854,3856,3858],{"class":3855,"line":238},[169,213],[167,3857,387],{"class":173},[167,3859,3633],{"class":219},[167,3861,3863],{"class":3862,"line":243},[169,213],[167,3864,398],{"class":173},[167,3866,3868],{"class":3867,"line":261},[169,213],[167,3869,3870],{"class":173},"  role: {\n",[167,3872,3874],{"class":3873,"line":273},[169,213],[167,3875,382],{"class":173},[167,3877,3879,3882],{"class":3878,"line":279},[169,213],[167,3880,3881],{"class":173},"    default: ",[167,3883,3884],{"class":201},"'Miembro'\n",[167,3886,3888],{"class":3887,"line":289},[169,213],[167,3889,3488],{"class":173},[167,3891,3893],{"class":3892,"line":294},[169,213],[167,3894,403],{"class":173},[167,3896,3897,3899,3901],{"class":169,"line":304},[167,3898,282],{"class":173},[167,3900,178],{"class":177},[167,3902,185],{"class":173},[167,3904,3905],{"class":169,"line":313},[167,3906,209],{"emptyLinePlaceholder":208},[167,3908,3909,3911,3913],{"class":169,"line":161},[167,3910,174],{"class":173},[167,3912,299],{"class":177},[167,3914,185],{"class":173},[167,3916,3917,3919,3921],{"class":169,"line":335},[167,3918,307],{"class":173},[167,3920,1237],{"class":177},[167,3922,185],{"class":173},[167,3924,3925,3927,3930,3933,3935],{"class":169,"line":341},[167,3926,1252],{"class":173},[167,3928,3929],{"class":177},"strong",[167,3931,3932],{"class":173},">{{ props.name }}\u003C\u002F",[167,3934,3929],{"class":177},[167,3936,185],{"class":173},[167,3938,3939,3941,3943,3946,3948],{"class":169,"line":489},[167,3940,1252],{"class":173},[167,3942,167],{"class":177},[167,3944,3945],{"class":173},">{{ props.role }}\u003C\u002F",[167,3947,167],{"class":177},[167,3949,185],{"class":173},[167,3951,3952,3954,3956],{"class":169,"line":495},[167,3953,504],{"class":173},[167,3955,1237],{"class":177},[167,3957,185],{"class":173},[167,3959,3960,3962,3964],{"class":169,"line":501},[167,3961,282],{"class":173},[167,3963,299],{"class":177},[167,3965,185],{"class":173},[154,3967,3971],{"className":156,"code":3968,"filename":3969,"highlights":3970,"language":162,"meta":163,"style":163},"\u003Cscript>\nexport default {\n  props: {\n    name: {\n      type: String,\n      required: true\n    },\n    role: {\n      type: String,\n      default: 'Miembro'\n    }\n  }\n}\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cdiv>\n    \u003Cstrong>{{ name }}\u003C\u002Fstrong>\n    \u003Cspan>{{ role }}\u003C\u002Fspan>\n  \u003C\u002Fdiv>\n\u003C\u002Ftemplate>\n","Options API",[205,160,238,243,261,273,279,289,294,304],[87,3972,3973,3981,3990,3996,4002,4008,4016,4021,4027,4032,4040,4046,4051,4055,4063,4067,4075,4083,4096,4109,4117],{"__ignoreMap":163},[167,3974,3975,3977,3979],{"class":169,"line":170},[167,3976,174],{"class":173},[167,3978,178],{"class":177},[167,3980,185],{"class":173},[167,3982,3983,3985,3988],{"class":169,"line":188},[167,3984,608],{"class":191},[167,3986,3987],{"class":191}," default",[167,3989,1901],{"class":173},[167,3991,3993],{"class":3992,"line":205},[169,213],[167,3994,3995],{"class":173},"  props: {\n",[167,3997,3999],{"class":3998,"line":160},[169,213],[167,4000,4001],{"class":173},"    name: {\n",[167,4003,4005],{"class":4004,"line":238},[169,213],[167,4006,4007],{"class":173},"      type: String,\n",[167,4009,4011,4014],{"class":4010,"line":243},[169,213],[167,4012,4013],{"class":173},"      required: ",[167,4015,3633],{"class":219},[167,4017,4019],{"class":4018,"line":261},[169,213],[167,4020,755],{"class":173},[167,4022,4024],{"class":4023,"line":273},[169,213],[167,4025,4026],{"class":173},"    role: {\n",[167,4028,4030],{"class":4029,"line":279},[169,213],[167,4031,4007],{"class":173},[167,4033,4035,4038],{"class":4034,"line":289},[169,213],[167,4036,4037],{"class":173},"      default: ",[167,4039,3884],{"class":201},[167,4041,4043],{"class":4042,"line":294},[169,213],[167,4044,4045],{"class":173},"    }\n",[167,4047,4049],{"class":4048,"line":304},[169,213],[167,4050,3488],{"class":173},[167,4052,4053],{"class":169,"line":313},[167,4054,276],{"class":173},[167,4056,4057,4059,4061],{"class":169,"line":161},[167,4058,282],{"class":173},[167,4060,178],{"class":177},[167,4062,185],{"class":173},[167,4064,4065],{"class":169,"line":335},[167,4066,209],{"emptyLinePlaceholder":208},[167,4068,4069,4071,4073],{"class":169,"line":341},[167,4070,174],{"class":173},[167,4072,299],{"class":177},[167,4074,185],{"class":173},[167,4076,4077,4079,4081],{"class":169,"line":489},[167,4078,307],{"class":173},[167,4080,1237],{"class":177},[167,4082,185],{"class":173},[167,4084,4085,4087,4089,4092,4094],{"class":169,"line":495},[167,4086,1252],{"class":173},[167,4088,3929],{"class":177},[167,4090,4091],{"class":173},">{{ name }}\u003C\u002F",[167,4093,3929],{"class":177},[167,4095,185],{"class":173},[167,4097,4098,4100,4102,4105,4107],{"class":169,"line":501},[167,4099,1252],{"class":173},[167,4101,167],{"class":177},[167,4103,4104],{"class":173},">{{ role }}\u003C\u002F",[167,4106,167],{"class":177},[167,4108,185],{"class":173},[167,4110,4111,4113,4115],{"class":169,"line":512},[167,4112,504],{"class":173},[167,4114,1237],{"class":177},[167,4116,185],{"class":173},[167,4118,4119,4121,4123],{"class":169,"line":781},[167,4120,282],{"class":173},[167,4122,299],{"class":177},[167,4124,185],{"class":173},[15,4126,4127],{},"Una prop debería responder una pregunta concreta: ¿qué dato necesita este componente para poder renderizarse?",[15,4129,4130],{},"Si el componente necesita un nombre, una URL, un estado activo o una lista pequeña, eso probablemente es una prop. Si necesita modificar estado compartido, guardar datos o coordinar muchas piezas, quizá ya no estamos hablando de una simple prop.",[22,4132,4134,4136],{"id":4133},"defineemits-qué-puede-comunicar-el-componente",[87,4135,1026],{},": qué puede comunicar el componente",[15,4138,4139],{},"Los emits describen eventos que el componente hijo puede disparar.",[154,4141,4144],{"className":156,"code":4142,"filename":3256,"highlights":4143,"language":162,"meta":163,"style":163},"\u003Cscript setup>\nconst emit = defineEmits(['search'])\n\nconst handleSubmit = (event) => {\n  const form = event.currentTarget\n  const query = new FormData(form).get('query')\n\n  emit('search', String(query || '').trim())\n}\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cform @submit.prevent=\"handleSubmit\">\n    \u003Cinput name=\"query\" type=\"search\">\n    \u003Cbutton type=\"submit\">Buscar\u003C\u002Fbutton>\n  \u003C\u002Fform>\n\u003C\u002Ftemplate>\n",[188,273],[87,4145,4146,4156,4174,4178,4198,4210,4237,4241,4271,4275,4283,4287,4295,4312,4332,4352,4360],{"__ignoreMap":163},[167,4147,4148,4150,4152,4154],{"class":169,"line":170},[167,4149,174],{"class":173},[167,4151,178],{"class":177},[167,4153,182],{"class":181},[167,4155,185],{"class":173},[167,4157,4159,4161,4163,4165,4167,4169,4172],{"class":4158,"line":188},[169,213],[167,4160,216],{"class":191},[167,4162,415],{"class":219},[167,4164,223],{"class":191},[167,4166,420],{"class":181},[167,4168,423],{"class":173},[167,4170,4171],{"class":201},"'search'",[167,4173,429],{"class":173},[167,4175,4176],{"class":169,"line":205},[167,4177,209],{"emptyLinePlaceholder":208},[167,4179,4180,4182,4185,4187,4189,4192,4194,4196],{"class":169,"line":160},[167,4181,216],{"class":191},[167,4183,4184],{"class":181}," handleSubmit",[167,4186,223],{"class":191},[167,4188,2522],{"class":173},[167,4190,4191],{"class":254},"event",[167,4193,693],{"class":173},[167,4195,639],{"class":191},[167,4197,1901],{"class":173},[167,4199,4200,4202,4205,4207],{"class":169,"line":238},[167,4201,1438],{"class":191},[167,4203,4204],{"class":219}," form",[167,4206,223],{"class":191},[167,4208,4209],{"class":173}," event.currentTarget\n",[167,4211,4212,4214,4216,4218,4221,4224,4227,4230,4232,4235],{"class":169,"line":243},[167,4213,1438],{"class":191},[167,4215,2444],{"class":219},[167,4217,223],{"class":191},[167,4219,4220],{"class":191}," new",[167,4222,4223],{"class":181}," FormData",[167,4225,4226],{"class":173},"(form).",[167,4228,4229],{"class":181},"get",[167,4231,229],{"class":173},[167,4233,4234],{"class":201},"'query'",[167,4236,235],{"class":173},[167,4238,4239],{"class":169,"line":261},[167,4240,209],{"emptyLinePlaceholder":208},[167,4242,4244,4246,4248,4250,4252,4255,4258,4261,4264,4267,4269],{"class":4243,"line":273},[169,213],[167,4245,1128],{"class":181},[167,4247,229],{"class":173},[167,4249,4171],{"class":201},[167,4251,1020],{"class":173},[167,4253,4254],{"class":181},"String",[167,4256,4257],{"class":173},"(query ",[167,4259,4260],{"class":191},"||",[167,4262,4263],{"class":201}," ''",[167,4265,4266],{"class":173},").",[167,4268,2496],{"class":181},[167,4270,2505],{"class":173},[167,4272,4273],{"class":169,"line":279},[167,4274,276],{"class":173},[167,4276,4277,4279,4281],{"class":169,"line":289},[167,4278,282],{"class":173},[167,4280,178],{"class":177},[167,4282,185],{"class":173},[167,4284,4285],{"class":169,"line":294},[167,4286,209],{"emptyLinePlaceholder":208},[167,4288,4289,4291,4293],{"class":169,"line":304},[167,4290,174],{"class":173},[167,4292,299],{"class":177},[167,4294,185],{"class":173},[167,4296,4297,4299,4302,4305,4307,4310],{"class":169,"line":313},[167,4298,307],{"class":173},[167,4300,4301],{"class":177},"form",[167,4303,4304],{"class":181}," @submit.prevent",[167,4306,267],{"class":173},[167,4308,4309],{"class":201},"\"handleSubmit\"",[167,4311,185],{"class":173},[167,4313,4314,4316,4318,4320,4322,4324,4326,4328,4330],{"class":169,"line":161},[167,4315,1252],{"class":173},[167,4317,2646],{"class":177},[167,4319,1269],{"class":181},[167,4321,267],{"class":173},[167,4323,2654],{"class":201},[167,4325,1169],{"class":181},[167,4327,267],{"class":173},[167,4329,2661],{"class":201},[167,4331,185],{"class":173},[167,4333,4334,4336,4338,4340,4342,4345,4348,4350],{"class":169,"line":335},[167,4335,1252],{"class":173},[167,4337,507],{"class":177},[167,4339,1169],{"class":181},[167,4341,267],{"class":173},[167,4343,4344],{"class":201},"\"submit\"",[167,4346,4347],{"class":173},">Buscar\u003C\u002F",[167,4349,507],{"class":177},[167,4351,185],{"class":173},[167,4353,4354,4356,4358],{"class":169,"line":341},[167,4355,504],{"class":173},[167,4357,4301],{"class":177},[167,4359,185],{"class":173},[167,4361,4362,4364,4366],{"class":169,"line":489},[167,4363,282],{"class":173},[167,4365,299],{"class":177},[167,4367,185],{"class":173},[154,4369,4372],{"className":156,"code":4370,"filename":3969,"highlights":4371,"language":162,"meta":163,"style":163},"\u003Cscript>\nexport default {\n  name: 'SearchBox',\n  emits: ['search'],\n  methods: {\n    handleSubmit(event) {\n      const form = event.currentTarget\n      const query = new FormData(form).get('query')\n\n      this.$emit('search', String(query || '').trim())\n    }\n  }\n}\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cform @submit.prevent=\"handleSubmit\">\n    \u003Cinput name=\"query\" type=\"search\">\n    \u003Cbutton type=\"submit\">Buscar\u003C\u002Fbutton>\n  \u003C\u002Fform>\n\u003C\u002Ftemplate>\n",[160,289],[87,4373,4374,4382,4390,4400,4411,4416,4427,4438,4460,4464,4494,4498,4502,4506,4514,4518,4526,4540,4560,4578,4586],{"__ignoreMap":163},[167,4375,4376,4378,4380],{"class":169,"line":170},[167,4377,174],{"class":173},[167,4379,178],{"class":177},[167,4381,185],{"class":173},[167,4383,4384,4386,4388],{"class":169,"line":188},[167,4385,608],{"class":191},[167,4387,3987],{"class":191},[167,4389,1901],{"class":173},[167,4391,4392,4395,4398],{"class":169,"line":205},[167,4393,4394],{"class":173},"  name: ",[167,4396,4397],{"class":201},"'SearchBox'",[167,4399,393],{"class":173},[167,4401,4403,4406,4408],{"class":4402,"line":160},[169,213],[167,4404,4405],{"class":173},"  emits: [",[167,4407,4171],{"class":201},[167,4409,4410],{"class":173},"],\n",[167,4412,4413],{"class":169,"line":238},[167,4414,4415],{"class":173},"  methods: {\n",[167,4417,4418,4421,4423,4425],{"class":169,"line":243},[167,4419,4420],{"class":181},"    handleSubmit",[167,4422,229],{"class":173},[167,4424,4191],{"class":254},[167,4426,258],{"class":173},[167,4428,4429,4432,4434,4436],{"class":169,"line":261},[167,4430,4431],{"class":191},"      const",[167,4433,4204],{"class":219},[167,4435,223],{"class":191},[167,4437,4209],{"class":173},[167,4439,4440,4442,4444,4446,4448,4450,4452,4454,4456,4458],{"class":169,"line":273},[167,4441,4431],{"class":191},[167,4443,2444],{"class":219},[167,4445,223],{"class":191},[167,4447,4220],{"class":191},[167,4449,4223],{"class":181},[167,4451,4226],{"class":173},[167,4453,4229],{"class":181},[167,4455,229],{"class":173},[167,4457,4234],{"class":201},[167,4459,235],{"class":173},[167,4461,4462],{"class":169,"line":279},[167,4463,209],{"emptyLinePlaceholder":208},[167,4465,4467,4469,4471,4474,4476,4478,4480,4482,4484,4486,4488,4490,4492],{"class":4466,"line":289},[169,213],[167,4468,741],{"class":219},[167,4470,1675],{"class":173},[167,4472,4473],{"class":181},"$emit",[167,4475,229],{"class":173},[167,4477,4171],{"class":201},[167,4479,1020],{"class":173},[167,4481,4254],{"class":181},[167,4483,4257],{"class":173},[167,4485,4260],{"class":191},[167,4487,4263],{"class":201},[167,4489,4266],{"class":173},[167,4491,2496],{"class":181},[167,4493,2505],{"class":173},[167,4495,4496],{"class":169,"line":294},[167,4497,4045],{"class":173},[167,4499,4500],{"class":169,"line":304},[167,4501,3488],{"class":173},[167,4503,4504],{"class":169,"line":313},[167,4505,276],{"class":173},[167,4507,4508,4510,4512],{"class":169,"line":161},[167,4509,282],{"class":173},[167,4511,178],{"class":177},[167,4513,185],{"class":173},[167,4515,4516],{"class":169,"line":335},[167,4517,209],{"emptyLinePlaceholder":208},[167,4519,4520,4522,4524],{"class":169,"line":341},[167,4521,174],{"class":173},[167,4523,299],{"class":177},[167,4525,185],{"class":173},[167,4527,4528,4530,4532,4534,4536,4538],{"class":169,"line":489},[167,4529,307],{"class":173},[167,4531,4301],{"class":177},[167,4533,4304],{"class":181},[167,4535,267],{"class":173},[167,4537,4309],{"class":201},[167,4539,185],{"class":173},[167,4541,4542,4544,4546,4548,4550,4552,4554,4556,4558],{"class":169,"line":495},[167,4543,1252],{"class":173},[167,4545,2646],{"class":177},[167,4547,1269],{"class":181},[167,4549,267],{"class":173},[167,4551,2654],{"class":201},[167,4553,1169],{"class":181},[167,4555,267],{"class":173},[167,4557,2661],{"class":201},[167,4559,185],{"class":173},[167,4561,4562,4564,4566,4568,4570,4572,4574,4576],{"class":169,"line":501},[167,4563,1252],{"class":173},[167,4565,507],{"class":177},[167,4567,1169],{"class":181},[167,4569,267],{"class":173},[167,4571,4344],{"class":201},[167,4573,4347],{"class":173},[167,4575,507],{"class":177},[167,4577,185],{"class":173},[167,4579,4580,4582,4584],{"class":169,"line":512},[167,4581,504],{"class":173},[167,4583,4301],{"class":177},[167,4585,185],{"class":173},[167,4587,4588,4590,4592],{"class":169,"line":781},[167,4589,282],{"class":173},[167,4591,299],{"class":177},[167,4593,185],{"class":173},[15,4595,4596],{},"El componente no decide qué hacer con la búsqueda. Puede que el padre llame una API, actualice la URL o filtre una lista local. El hijo solo comunica el evento con los datos necesarios.",[22,4598,4600],{"id":4599},"no-modifiques-props-directamente","No modifiques props directamente",[15,4602,4603],{},"Una regla importante: un componente hijo no debería modificar una prop recibida.",[15,4605,4606],{},"Esto es tentador:",[154,4608,4611],{"className":156,"code":4609,"filename":3256,"highlights":4610,"language":162,"meta":163,"style":163},"\u003Cscript setup>\nconst props = defineProps({\n  task: {\n    type: Object,\n    required: true\n  }\n})\n\nconst complete = () => {\n  props.task.completed = true\n}\n\u003C\u002Fscript>\n",[279,289,294],[87,4612,4613,4623,4635,4639,4643,4649,4653,4657,4661,4677,4687,4692],{"__ignoreMap":163},[167,4614,4615,4617,4619,4621],{"class":169,"line":170},[167,4616,174],{"class":173},[167,4618,178],{"class":177},[167,4620,182],{"class":181},[167,4622,185],{"class":173},[167,4624,4625,4627,4629,4631,4633],{"class":169,"line":188},[167,4626,216],{"class":191},[167,4628,1060],{"class":219},[167,4630,223],{"class":191},[167,4632,1065],{"class":181},[167,4634,372],{"class":173},[167,4636,4637],{"class":169,"line":205},[167,4638,3619],{"class":173},[167,4640,4641],{"class":169,"line":160},[167,4642,3625],{"class":173},[167,4644,4645,4647],{"class":169,"line":238},[167,4646,387],{"class":173},[167,4648,3633],{"class":219},[167,4650,4651],{"class":169,"line":243},[167,4652,3488],{"class":173},[167,4654,4655],{"class":169,"line":261},[167,4656,403],{"class":173},[167,4658,4659],{"class":169,"line":273},[167,4660,209],{"emptyLinePlaceholder":208},[167,4662,4664,4666,4669,4671,4673,4675],{"class":4663,"line":279},[169,213],[167,4665,216],{"class":191},[167,4667,4668],{"class":181}," complete",[167,4670,223],{"class":191},[167,4672,1464],{"class":173},[167,4674,639],{"class":191},[167,4676,1901],{"class":173},[167,4678,4680,4683,4685],{"class":4679,"line":289},[169,213],[167,4681,4682],{"class":173},"  props.task.completed ",[167,4684,267],{"class":191},[167,4686,3483],{"class":219},[167,4688,4690],{"class":4689,"line":294},[169,213],[167,4691,276],{"class":173},[167,4693,4694,4696,4698],{"class":169,"line":304},[167,4695,282],{"class":173},[167,4697,178],{"class":177},[167,4699,185],{"class":173},[15,4701,4702],{},"Aunque con objetos puede parecer que funciona, el diseño se vuelve confuso. El padre deja de ser el lugar claro donde cambia el estado y el hijo empieza a tener demasiado control sobre algo que no le pertenece.",[15,4704,4705],{},"Una versión más limpia es emitir la intención:",[154,4707,4710],{"className":156,"code":4708,"filename":3256,"highlights":4709,"language":162,"meta":163,"style":163},"\u003Cscript setup>\nconst props = defineProps({\n  task: {\n    type: Object,\n    required: true\n  }\n})\n\nconst emit = defineEmits(['complete'])\n\nconst complete = () => {\n  emit('complete', props.task.id)\n}\n\u003C\u002Fscript>\n",[279,294,304,313],[87,4711,4712,4722,4734,4738,4742,4748,4752,4756,4760,4777,4781,4796,4808,4813],{"__ignoreMap":163},[167,4713,4714,4716,4718,4720],{"class":169,"line":170},[167,4715,174],{"class":173},[167,4717,178],{"class":177},[167,4719,182],{"class":181},[167,4721,185],{"class":173},[167,4723,4724,4726,4728,4730,4732],{"class":169,"line":188},[167,4725,216],{"class":191},[167,4727,1060],{"class":219},[167,4729,223],{"class":191},[167,4731,1065],{"class":181},[167,4733,372],{"class":173},[167,4735,4736],{"class":169,"line":205},[167,4737,3619],{"class":173},[167,4739,4740],{"class":169,"line":160},[167,4741,3625],{"class":173},[167,4743,4744,4746],{"class":169,"line":238},[167,4745,387],{"class":173},[167,4747,3633],{"class":219},[167,4749,4750],{"class":169,"line":243},[167,4751,3488],{"class":173},[167,4753,4754],{"class":169,"line":261},[167,4755,403],{"class":173},[167,4757,4758],{"class":169,"line":273},[167,4759,209],{"emptyLinePlaceholder":208},[167,4761,4763,4765,4767,4769,4771,4773,4775],{"class":4762,"line":279},[169,213],[167,4764,216],{"class":191},[167,4766,415],{"class":219},[167,4768,223],{"class":191},[167,4770,420],{"class":181},[167,4772,423],{"class":173},[167,4774,3663],{"class":201},[167,4776,429],{"class":173},[167,4778,4779],{"class":169,"line":289},[167,4780,209],{"emptyLinePlaceholder":208},[167,4782,4784,4786,4788,4790,4792,4794],{"class":4783,"line":294},[169,213],[167,4785,216],{"class":191},[167,4787,4668],{"class":181},[167,4789,223],{"class":191},[167,4791,1464],{"class":173},[167,4793,639],{"class":191},[167,4795,1901],{"class":173},[167,4797,4799,4801,4803,4805],{"class":4798,"line":304},[169,213],[167,4800,1128],{"class":181},[167,4802,229],{"class":173},[167,4804,3663],{"class":201},[167,4806,4807],{"class":173},", props.task.id)\n",[167,4809,4811],{"class":4810,"line":313},[169,213],[167,4812,276],{"class":173},[167,4814,4815,4817,4819],{"class":169,"line":161},[167,4816,282],{"class":173},[167,4818,178],{"class":177},[167,4820,185],{"class":173},[154,4822,4825],{"className":156,"code":4823,"filename":3969,"highlights":4824,"language":162,"meta":163,"style":163},"\u003Cscript>\nexport default {\n  name: 'TaskCard',\n  props: {\n    task: {\n      type: Object,\n      required: true\n    }\n  },\n  emits: ['complete'],\n  methods: {\n    complete() {\n      this.$emit('complete', this.task.id)\n    }\n  }\n}\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Carticle>\n    \u003Ch2>{{ task.title }}\u003C\u002Fh2>\n    \u003Cp>{{ task.completed ? 'Completada' : 'Pendiente' }}\u003C\u002Fp>\n\n    \u003Cbutton type=\"button\" @click=\"complete\">\n      Marcar como completada\n    \u003C\u002Fbutton>\n  \u003C\u002Farticle>\n\u003C\u002Ftemplate>\n",[160,238,243,261,273,279,289,313],[87,4826,4827,4835,4843,4852,4857,4863,4869,4876,4881,4886,4895,4899,4906,4927,4931,4935,4939,4947,4951,4959,4967,4980,4993,4997,5018,5022,5031,5040],{"__ignoreMap":163},[167,4828,4829,4831,4833],{"class":169,"line":170},[167,4830,174],{"class":173},[167,4832,178],{"class":177},[167,4834,185],{"class":173},[167,4836,4837,4839,4841],{"class":169,"line":188},[167,4838,608],{"class":191},[167,4840,3987],{"class":191},[167,4842,1901],{"class":173},[167,4844,4845,4847,4850],{"class":169,"line":205},[167,4846,4394],{"class":173},[167,4848,4849],{"class":201},"'TaskCard'",[167,4851,393],{"class":173},[167,4853,4855],{"class":4854,"line":160},[169,213],[167,4856,3995],{"class":173},[167,4858,4860],{"class":4859,"line":238},[169,213],[167,4861,4862],{"class":173},"    task: {\n",[167,4864,4866],{"class":4865,"line":243},[169,213],[167,4867,4868],{"class":173},"      type: Object,\n",[167,4870,4872,4874],{"class":4871,"line":261},[169,213],[167,4873,4013],{"class":173},[167,4875,3633],{"class":219},[167,4877,4879],{"class":4878,"line":273},[169,213],[167,4880,4045],{"class":173},[167,4882,4884],{"class":4883,"line":279},[169,213],[167,4885,398],{"class":173},[167,4887,4889,4891,4893],{"class":4888,"line":289},[169,213],[167,4890,4405],{"class":173},[167,4892,3663],{"class":201},[167,4894,4410],{"class":173},[167,4896,4897],{"class":169,"line":294},[167,4898,4415],{"class":173},[167,4900,4901,4904],{"class":169,"line":304},[167,4902,4903],{"class":181},"    complete",[167,4905,763],{"class":173},[167,4907,4909,4911,4913,4915,4917,4919,4921,4924],{"class":4908,"line":313},[169,213],[167,4910,741],{"class":219},[167,4912,1675],{"class":173},[167,4914,4473],{"class":181},[167,4916,229],{"class":173},[167,4918,3663],{"class":201},[167,4920,1020],{"class":173},[167,4922,4923],{"class":219},"this",[167,4925,4926],{"class":173},".task.id)\n",[167,4928,4929],{"class":169,"line":161},[167,4930,4045],{"class":173},[167,4932,4933],{"class":169,"line":335},[167,4934,3488],{"class":173},[167,4936,4937],{"class":169,"line":341},[167,4938,276],{"class":173},[167,4940,4941,4943,4945],{"class":169,"line":489},[167,4942,282],{"class":173},[167,4944,178],{"class":177},[167,4946,185],{"class":173},[167,4948,4949],{"class":169,"line":495},[167,4950,209],{"emptyLinePlaceholder":208},[167,4952,4953,4955,4957],{"class":169,"line":501},[167,4954,174],{"class":173},[167,4956,299],{"class":177},[167,4958,185],{"class":173},[167,4960,4961,4963,4965],{"class":169,"line":512},[167,4962,307],{"class":173},[167,4964,3692],{"class":177},[167,4966,185],{"class":173},[167,4968,4969,4971,4973,4976,4978],{"class":169,"line":781},[167,4970,1252],{"class":173},[167,4972,22],{"class":177},[167,4974,4975],{"class":173},">{{ task.title }}\u003C\u002F",[167,4977,22],{"class":177},[167,4979,185],{"class":173},[167,4981,4982,4984,4986,4989,4991],{"class":169,"line":786},[167,4983,1252],{"class":173},[167,4985,15],{"class":177},[167,4987,4988],{"class":173},">{{ task.completed ? 'Completada' : 'Pendiente' }}\u003C\u002F",[167,4990,15],{"class":177},[167,4992,185],{"class":173},[167,4994,4995],{"class":169,"line":2674},[167,4996,209],{"emptyLinePlaceholder":208},[167,4998,4999,5001,5003,5005,5007,5009,5011,5013,5016],{"class":169,"line":2688},[167,5000,1252],{"class":173},[167,5002,507],{"class":177},[167,5004,1169],{"class":181},[167,5006,267],{"class":173},[167,5008,1174],{"class":201},[167,5010,1177],{"class":181},[167,5012,267],{"class":173},[167,5014,5015],{"class":201},"\"complete\"",[167,5017,185],{"class":173},[167,5019,5020],{"class":169,"line":3571},[167,5021,3770],{"class":173},[167,5023,5025,5027,5029],{"class":169,"line":5024},26,[167,5026,1287],{"class":173},[167,5028,507],{"class":177},[167,5030,185],{"class":173},[167,5032,5034,5036,5038],{"class":169,"line":5033},27,[167,5035,504],{"class":173},[167,5037,3692],{"class":177},[167,5039,185],{"class":173},[167,5041,5043,5045,5047],{"class":169,"line":5042},28,[167,5044,282],{"class":173},[167,5046,299],{"class":177},[167,5048,185],{"class":173},[15,5050,5051],{},"El padre recibe el evento y hace el cambio:",[154,5053,5056],{"className":156,"code":5054,"filename":3318,"highlights":5055,"language":162,"meta":163,"style":163},"\u003CTaskCard\n  :task=\"task\"\n  @complete=\"completeTask\"\n\u002F>\n",[205],[87,5057,5058,5064,5082,5100],{"__ignoreMap":163},[167,5059,5060,5062],{"class":169,"line":170},[167,5061,174],{"class":173},[167,5063,3520],{"class":177},[167,5065,5066,5069,5072,5074,5077,5079],{"class":169,"line":188},[167,5067,5068],{"class":173},"  :",[167,5070,5071],{"class":181},"task",[167,5073,267],{"class":173},[167,5075,5076],{"class":201},"\"",[167,5078,5071],{"class":173},[167,5080,5081],{"class":201},"\"\n",[167,5083,5085,5088,5091,5093,5095,5098],{"class":5084,"line":205},[169,213],[167,5086,5087],{"class":173},"  @",[167,5089,5090],{"class":181},"complete",[167,5092,267],{"class":173},[167,5094,5076],{"class":201},[167,5096,5097],{"class":173},"completeTask",[167,5099,5081],{"class":201},[167,5101,5102],{"class":169,"line":160},[167,5103,5104],{"class":173},"\u002F>\n",[22,5106,5108],{"id":5107},"nombrar-eventos-con-intención","Nombrar eventos con intención",[15,5110,5111],{},"Un buen nombre de evento dice qué ocurrió, no cómo debería reaccionar el padre.",[15,5113,5114],{},"Por ejemplo:",[33,5116,5117,5122,5127,5132,5137],{},[36,5118,5119],{},[87,5120,5121],{},"@submit",[36,5123,5124],{},[87,5125,5126],{},"@select",[36,5128,5129],{},[87,5130,5131],{},"@remove",[36,5133,5134],{},[87,5135,5136],{},"@complete",[36,5138,5139],{},[87,5140,5141],{},"@update:status",[15,5143,5144,5145,90,5148,5151],{},"Evita nombres demasiado acoplados como ",[87,5146,5147],{},"@callApiNow",[87,5149,5150],{},"@changeParentList",". El hijo no debería saber tanto sobre lo que hará el padre.",[22,5153,5155],{"id":5154},"props-pequeñas-eventos-claros","Props pequeñas, eventos claros",[15,5157,5158],{},"El problema no suele ser usar props. El problema aparece cuando un componente recibe demasiadas props sueltas y emite eventos difíciles de seguir.",[15,5160,5161],{},"Si ves algo así:",[154,5163,5165],{"className":156,"code":5164,"language":162,"meta":163,"style":163},"\u003CUserCard\n  :id=\"user.id\"\n  :name=\"user.name\"\n  :email=\"user.email\"\n  :avatar=\"user.avatar\"\n  :role=\"user.role\"\n  :is-active=\"user.isActive\"\n  :last-login=\"user.lastLogin\"\n\u002F>\n",[87,5166,5167,5174,5189,5204,5220,5236,5252,5268,5284],{"__ignoreMap":163},[167,5168,5169,5171],{"class":169,"line":170},[167,5170,174],{"class":173},[167,5172,5173],{"class":177},"UserCard\n",[167,5175,5176,5178,5180,5182,5184,5187],{"class":169,"line":188},[167,5177,5068],{"class":173},[167,5179,580],{"class":181},[167,5181,267],{"class":173},[167,5183,5076],{"class":201},[167,5185,5186],{"class":173},"user.id",[167,5188,5081],{"class":201},[167,5190,5191,5193,5195,5197,5199,5202],{"class":169,"line":205},[167,5192,5068],{"class":173},[167,5194,592],{"class":181},[167,5196,267],{"class":173},[167,5198,5076],{"class":201},[167,5200,5201],{"class":173},"user.name",[167,5203,5081],{"class":201},[167,5205,5206,5208,5211,5213,5215,5218],{"class":169,"line":160},[167,5207,5068],{"class":173},[167,5209,5210],{"class":181},"email",[167,5212,267],{"class":173},[167,5214,5076],{"class":201},[167,5216,5217],{"class":173},"user.email",[167,5219,5081],{"class":201},[167,5221,5222,5224,5227,5229,5231,5234],{"class":169,"line":238},[167,5223,5068],{"class":173},[167,5225,5226],{"class":181},"avatar",[167,5228,267],{"class":173},[167,5230,5076],{"class":201},[167,5232,5233],{"class":173},"user.avatar",[167,5235,5081],{"class":201},[167,5237,5238,5240,5243,5245,5247,5250],{"class":169,"line":243},[167,5239,5068],{"class":173},[167,5241,5242],{"class":181},"role",[167,5244,267],{"class":173},[167,5246,5076],{"class":201},[167,5248,5249],{"class":173},"user.role",[167,5251,5081],{"class":201},[167,5253,5254,5256,5259,5261,5263,5266],{"class":169,"line":261},[167,5255,5068],{"class":173},[167,5257,5258],{"class":181},"is-active",[167,5260,267],{"class":173},[167,5262,5076],{"class":201},[167,5264,5265],{"class":173},"user.isActive",[167,5267,5081],{"class":201},[167,5269,5270,5272,5275,5277,5279,5282],{"class":169,"line":273},[167,5271,5068],{"class":173},[167,5273,5274],{"class":181},"last-login",[167,5276,267],{"class":173},[167,5278,5076],{"class":201},[167,5280,5281],{"class":173},"user.lastLogin",[167,5283,5081],{"class":201},[167,5285,5286],{"class":169,"line":279},[167,5287,5104],{"class":173},[15,5289,5290,5291,5293],{},"tal vez el componente debería recibir un objeto ",[87,5292,729],{}," completo:",[154,5295,5297],{"className":156,"code":5296,"language":162,"meta":163,"style":163},"\u003CUserCard :user=\"user\" \u002F>\n",[87,5298,5299],{"__ignoreMap":163},[167,5300,5301,5303,5306,5309,5311,5313,5315,5317,5319],{"class":169,"line":170},[167,5302,174],{"class":173},[167,5304,5305],{"class":177},"UserCard",[167,5307,5308],{"class":173}," :",[167,5310,729],{"class":181},[167,5312,267],{"class":173},[167,5314,5076],{"class":201},[167,5316,729],{"class":173},[167,5318,5076],{"class":201},[167,5320,5321],{"class":173}," \u002F>\n",[15,5323,5324],{},"No siempre. Si el componente solo necesita dos campos, pasar props específicas puede ser más explícito. Pero cuando todas las props representan la misma entidad, agruparlas puede hacer el template más claro.",[22,5326,5328],{"id":5327},"cuándo-usar-props-y-emits","Cuándo usar props y emits",[15,5330,5331],{},"Props y emits son ideales cuando:",[33,5333,5334,5337,5340,5343],{},[36,5335,5336],{},"Hay una relación directa entre padre e hijo.",[36,5338,5339],{},"El estado vive naturalmente en el padre.",[36,5341,5342],{},"El hijo solo necesita mostrar datos y avisar interacciones.",[36,5344,5345],{},"Quieres que el flujo sea fácil de leer desde el template.",[15,5347,5348,5349,5351],{},"Si empiezas a pasar la misma prop por cinco niveles, probablemente necesitas otra herramienta. Ahí puede tener sentido mirar ",[87,5350,992],{},", un composable compartido o una solución de estado como Pinia.",[15,5353,5354],{},"Pero no saltes a esas opciones demasiado pronto. Para muchísimos componentes, props y emits son suficientes.",[22,5356,5358],{"id":5357},"una-forma-simple-de-pensarlo","Una forma simple de pensarlo",[15,5360,5361],{},"Antes de conectar dos componentes, pregúntate:",[5363,5364,5365],"blockquote",{},[15,5366,5367],{},"¿Este componente necesita recibir un dato o necesita avisar que algo ocurrió?",[15,5369,5370],{},"Si necesita recibir un dato, usa una prop.",[15,5372,5373],{},"Si necesita avisar algo, usa un emit.",[15,5375,5376],{},"Esa distinción mantiene el código predecible. Los datos bajan, los eventos suben, y cada componente conserva una responsabilidad clara.",[924,5378,926],{},{"title":163,"searchDepth":188,"depth":188,"links":5380},[5381,5382,5384,5386,5387,5388,5389,5390],{"id":3310,"depth":188,"text":3311},{"id":3800,"depth":188,"text":5383},"defineProps: qué necesita recibir el componente",{"id":4133,"depth":188,"text":5385},"defineEmits: qué puede comunicar el componente",{"id":4599,"depth":188,"text":4600},{"id":5107,"depth":188,"text":5108},{"id":5154,"depth":188,"text":5155},{"id":5327,"depth":188,"text":5328},{"id":5357,"depth":188,"text":5358},"https:\u002F\u002Fres.cloudinary.com\u002Fdenj4fg7f\u002Fimage\u002Fupload\u002Fv1782863303\u002Fvue-3-props-emits-component-communication_chbuab.png","2026-07-01","Aprende cómo usar props y emits en Vue 3 para pasar datos hacia componentes hijos y comunicar eventos hacia componentes padres de forma clara.",{"title":5395,"goal":5396,"tasks":5397,"starterCode":5402,"solutionHint":5403},"Crea una tarjeta de tarea con props y emits","Construye un componente pequeño que recibe una tarea por props y avisa al padre cuando el usuario quiere marcarla como completada.",[5398,5399,5400,5401],"Crea un componente TaskCard.vue.","Recibe una prop task con title y completed.","Muestra el estado de la tarea en el template.","Emite un evento complete cuando el usuario haga clic en el botón.","\u003C!-- TaskCard.vue -->\n\u003Cscript setup>\nconst props = defineProps({\n  task: {\n    type: Object,\n    required: true\n  }\n})\n\nconst emit = defineEmits(['complete'])\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Carticle>\n    \u003Ch2>{{ props.task.title }}\u003C\u002Fh2>\n    \u003Cp>{{ props.task.completed ? 'Completada' : 'Pendiente' }}\u003C\u002Fp>\n\n    \u003Cbutton @click=\"emit('complete', props.task.id)\">\n      Marcar como completada\n    \u003C\u002Fbutton>\n  \u003C\u002Farticle>\n\u003C\u002Ftemplate>\n","El componente hijo no necesita cambiar la lista directamente. Solo comunica la intención; el padre decide cómo actualizar el estado.",{"updatedAt":5405,"coverCaption":5406,"author":945,"keywords":5407},"2026-06-30T20:00:00-05:00","Comunicación entre componentes en Vue 3 por TODOvue",[3254,950,3296,3303,5408,369,1026],"componentes","\u002Fblog\u002Fvue-3-props-emits-component-communication.es",[5411],{"headline":3277,"author":5412,"datePublished":5405,"@type":959},{"name":945,"@type":958},{"title":3277,"description":5393},"blog\u002Fvue-3-props-emits-component-communication.es",[5416,5417,5418,5419],{"tag":1622,"color":1635},{"tag":1640,"color":1641},{"tag":3272,"color":3273},{"tag":5420,"color":5421},"Básico","#B173BF","_KA4SJwaaqfSK4CpbYqXKBtTDFN7N9RPthdpMnOQJJk",{"id":5424,"title":5425,"body":5426,"cover":6172,"coverAlt":6173,"date":6174,"description":6175,"draft":1617,"extension":940,"lab":6176,"locale":942,"meta":6186,"navigation":208,"path":6191,"schemaOrg":6192,"seo":6195,"series":941,"seriesDescription":941,"seriesOrder":941,"seriesTitle":941,"slug":941,"stem":6196,"tags":6197,"__hash__":6202},"blog\u002Fblog\u002Fvue-3-composables-extract-reusable-logic.es.md","Composables en Vue 3: cómo extraer lógica reutilizable sin complicarte",{"type":8,"value":5427,"toc":6162},[5428,5431,5434,5444,5447,5451,5454,5457,5473,5476,5480,5483,5719,5722,5725,5732,5735,5922,5925,6056,6059,6063,6066,6069,6094,6097,6101,6104,6107,6110,6112,6125,6132,6138,6141,6145,6148,6153,6156,6159],[11,5429,5425],{"id":5430},"composables-en-vue-3-cómo-extraer-lógica-reutilizable-sin-complicarte",[15,5432,5433],{},"Hay una señal bastante clara de que tu componente está pidiendo ayuda: empiezas a copiar la misma lógica en dos, tres o cuatro lugares.",[15,5435,5436,5437,5439,5440,5443],{},"Primero fue un menú que se abre y se cierra. Luego un modal. Después un panel lateral. Cada uno tiene su propio ",[87,5438,2081],{},", su función para abrir, su función para cerrar y un ",[87,5441,5442],{},"toggle"," casi idéntico. No pasa nada grave al principio, pero el código empieza a sentirse repetido, como si cada componente estuviera resolviendo el mismo problema por su cuenta.",[15,5445,5446],{},"Ahí entran los composables.",[22,5448,5450],{"id":5449},"qué-es-un-composable-sin-hacerlo-raro","Qué es un composable, sin hacerlo raro",[15,5452,5453],{},"Un composable es una función que encapsula lógica reutilizable usando la Composition API de Vue.",[15,5455,5456],{},"Nada más. No necesita sonar más grande que eso.",[15,5458,5459,5460,90,5462,5464,5465,5468,5469,5472],{},"Puede guardar estado con ",[87,5461,89],{},[87,5463,93],{},", crear valores derivados con ",[87,5466,5467],{},"computed()",", escuchar cambios con ",[87,5470,5471],{},"watch()"," o conectar con APIs del navegador. La idea es que esa lógica viva en un lugar claro y pueda usarse desde varios componentes sin copiar y pegar.",[15,5474,5475],{},"Si un componente debería encargarse de mostrar la interfaz, un composable puede encargarse de una parte de la lógica que la alimenta.",[22,5477,5479],{"id":5478},"el-problema-lógica-repetida-dentro-del-componente","El problema: lógica repetida dentro del componente",[15,5481,5482],{},"Imagina un menú pequeño:",[154,5484,5487],{"className":156,"code":5485,"filename":5486,"language":162,"meta":163,"style":163},"\u003Cscript setup>\nimport { ref } from 'vue'\n\nconst isOpen = ref(false)\n\nconst open = () => {\n  isOpen.value = true\n}\n\nconst close = () => {\n  isOpen.value = false\n}\n\nconst toggle = () => {\n  isOpen.value = !isOpen.value\n}\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cbutton @click=\"toggle\">\n    {{ isOpen ? 'Cerrar menu' : 'Abrir menu' }}\n  \u003C\u002Fbutton>\n\n  \u003Cnav v-if=\"isOpen\">\n    Menu visible\n  \u003C\u002Fnav>\n\u003C\u002Ftemplate>\n","MenuButton.vue",[87,5488,5489,5499,5509,5513,5530,5534,5549,5558,5562,5566,5581,5590,5594,5598,5613,5625,5629,5637,5641,5649,5664,5669,5677,5681,5698,5703,5711],{"__ignoreMap":163},[167,5490,5491,5493,5495,5497],{"class":169,"line":170},[167,5492,174],{"class":173},[167,5494,178],{"class":177},[167,5496,182],{"class":181},[167,5498,185],{"class":173},[167,5500,5501,5503,5505,5507],{"class":169,"line":188},[167,5502,192],{"class":191},[167,5504,195],{"class":173},[167,5506,198],{"class":191},[167,5508,202],{"class":201},[167,5510,5511],{"class":169,"line":205},[167,5512,209],{"emptyLinePlaceholder":208},[167,5514,5515,5517,5520,5522,5524,5526,5528],{"class":169,"line":160},[167,5516,216],{"class":191},[167,5518,5519],{"class":219}," isOpen",[167,5521,223],{"class":191},[167,5523,226],{"class":181},[167,5525,229],{"class":173},[167,5527,3388],{"class":219},[167,5529,235],{"class":173},[167,5531,5532],{"class":169,"line":238},[167,5533,209],{"emptyLinePlaceholder":208},[167,5535,5536,5538,5541,5543,5545,5547],{"class":169,"line":243},[167,5537,216],{"class":191},[167,5539,5540],{"class":181}," open",[167,5542,223],{"class":191},[167,5544,1464],{"class":173},[167,5546,639],{"class":191},[167,5548,1901],{"class":173},[167,5550,5551,5554,5556],{"class":169,"line":261},[167,5552,5553],{"class":173},"  isOpen.value ",[167,5555,267],{"class":191},[167,5557,3483],{"class":219},[167,5559,5560],{"class":169,"line":273},[167,5561,276],{"class":173},[167,5563,5564],{"class":169,"line":279},[167,5565,209],{"emptyLinePlaceholder":208},[167,5567,5568,5570,5573,5575,5577,5579],{"class":169,"line":289},[167,5569,216],{"class":191},[167,5571,5572],{"class":181}," close",[167,5574,223],{"class":191},[167,5576,1464],{"class":173},[167,5578,639],{"class":191},[167,5580,1901],{"class":173},[167,5582,5583,5585,5587],{"class":169,"line":294},[167,5584,5553],{"class":173},[167,5586,267],{"class":191},[167,5588,5589],{"class":219}," false\n",[167,5591,5592],{"class":169,"line":304},[167,5593,276],{"class":173},[167,5595,5596],{"class":169,"line":313},[167,5597,209],{"emptyLinePlaceholder":208},[167,5599,5600,5602,5605,5607,5609,5611],{"class":169,"line":161},[167,5601,216],{"class":191},[167,5603,5604],{"class":181}," toggle",[167,5606,223],{"class":191},[167,5608,1464],{"class":173},[167,5610,639],{"class":191},[167,5612,1901],{"class":173},[167,5614,5615,5617,5619,5622],{"class":169,"line":335},[167,5616,5553],{"class":173},[167,5618,267],{"class":191},[167,5620,5621],{"class":191}," !",[167,5623,5624],{"class":173},"isOpen.value\n",[167,5626,5627],{"class":169,"line":341},[167,5628,276],{"class":173},[167,5630,5631,5633,5635],{"class":169,"line":489},[167,5632,282],{"class":173},[167,5634,178],{"class":177},[167,5636,185],{"class":173},[167,5638,5639],{"class":169,"line":495},[167,5640,209],{"emptyLinePlaceholder":208},[167,5642,5643,5645,5647],{"class":169,"line":501},[167,5644,174],{"class":173},[167,5646,299],{"class":177},[167,5648,185],{"class":173},[167,5650,5651,5653,5655,5657,5659,5662],{"class":169,"line":512},[167,5652,307],{"class":173},[167,5654,507],{"class":177},[167,5656,1177],{"class":181},[167,5658,267],{"class":173},[167,5660,5661],{"class":201},"\"toggle\"",[167,5663,185],{"class":173},[167,5665,5666],{"class":169,"line":781},[167,5667,5668],{"class":173},"    {{ isOpen ? 'Cerrar menu' : 'Abrir menu' }}\n",[167,5670,5671,5673,5675],{"class":169,"line":786},[167,5672,504],{"class":173},[167,5674,507],{"class":177},[167,5676,185],{"class":173},[167,5678,5679],{"class":169,"line":2674},[167,5680,209],{"emptyLinePlaceholder":208},[167,5682,5683,5685,5688,5691,5693,5696],{"class":169,"line":2688},[167,5684,307],{"class":173},[167,5686,5687],{"class":177},"nav",[167,5689,5690],{"class":181}," v-if",[167,5692,267],{"class":173},[167,5694,5695],{"class":201},"\"isOpen\"",[167,5697,185],{"class":173},[167,5699,5700],{"class":169,"line":3571},[167,5701,5702],{"class":173},"    Menu visible\n",[167,5704,5705,5707,5709],{"class":169,"line":5024},[167,5706,504],{"class":173},[167,5708,5687],{"class":177},[167,5710,185],{"class":173},[167,5712,5713,5715,5717],{"class":169,"line":5033},[167,5714,282],{"class":173},[167,5716,299],{"class":177},[167,5718,185],{"class":173},[15,5720,5721],{},"Este código está bien. No hay que extraer todo apenas aparece una función. El problema llega cuando la misma idea aparece en un modal, un acordeón, una tarjeta expandible y un panel de filtros.",[15,5723,5724],{},"En ese punto ya no estás escribiendo lógica del menú. Estás escribiendo una pequeña regla reutilizable: algo puede estar activo o inactivo, y necesitas abrirlo, cerrarlo o alternarlo.",[22,5726,5728,5729],{"id":5727},"el-después-extraer-un-usetoggle","El después: extraer un ",[87,5730,5731],{},"useToggle",[15,5733,5734],{},"Podemos llevar esa lógica a un composable:",[154,5736,5739],{"className":2875,"code":5737,"filename":5738,"language":2878,"meta":163,"style":163},"import { ref } from 'vue'\n\nexport function useToggle(initialValue = false) {\n  const isActive = ref(initialValue)\n\n  const open = () => {\n    isActive.value = true\n  }\n\n  const close = () => {\n    isActive.value = false\n  }\n\n  const toggle = () => {\n    isActive.value = !isActive.value\n  }\n\n  return {\n    isActive,\n    open,\n    close,\n    toggle\n  }\n}\n","composables\u002FuseToggle.js",[87,5740,5741,5751,5755,5776,5790,5794,5808,5817,5821,5825,5839,5847,5851,5855,5869,5880,5884,5888,5894,5899,5904,5909,5914,5918],{"__ignoreMap":163},[167,5742,5743,5745,5747,5749],{"class":169,"line":170},[167,5744,192],{"class":191},[167,5746,195],{"class":173},[167,5748,198],{"class":191},[167,5750,202],{"class":201},[167,5752,5753],{"class":169,"line":188},[167,5754,209],{"emptyLinePlaceholder":208},[167,5756,5757,5759,5761,5764,5766,5769,5771,5774],{"class":169,"line":205},[167,5758,608],{"class":191},[167,5760,1427],{"class":191},[167,5762,5763],{"class":181}," useToggle",[167,5765,229],{"class":173},[167,5767,5768],{"class":254},"initialValue",[167,5770,223],{"class":191},[167,5772,5773],{"class":219}," false",[167,5775,258],{"class":173},[167,5777,5778,5780,5783,5785,5787],{"class":169,"line":160},[167,5779,1438],{"class":191},[167,5781,5782],{"class":219}," isActive",[167,5784,223],{"class":191},[167,5786,226],{"class":181},[167,5788,5789],{"class":173},"(initialValue)\n",[167,5791,5792],{"class":169,"line":238},[167,5793,209],{"emptyLinePlaceholder":208},[167,5795,5796,5798,5800,5802,5804,5806],{"class":169,"line":243},[167,5797,1438],{"class":191},[167,5799,5540],{"class":181},[167,5801,223],{"class":191},[167,5803,1464],{"class":173},[167,5805,639],{"class":191},[167,5807,1901],{"class":173},[167,5809,5810,5813,5815],{"class":169,"line":261},[167,5811,5812],{"class":173},"    isActive.value ",[167,5814,267],{"class":191},[167,5816,3483],{"class":219},[167,5818,5819],{"class":169,"line":273},[167,5820,3488],{"class":173},[167,5822,5823],{"class":169,"line":279},[167,5824,209],{"emptyLinePlaceholder":208},[167,5826,5827,5829,5831,5833,5835,5837],{"class":169,"line":289},[167,5828,1438],{"class":191},[167,5830,5572],{"class":181},[167,5832,223],{"class":191},[167,5834,1464],{"class":173},[167,5836,639],{"class":191},[167,5838,1901],{"class":173},[167,5840,5841,5843,5845],{"class":169,"line":294},[167,5842,5812],{"class":173},[167,5844,267],{"class":191},[167,5846,5589],{"class":219},[167,5848,5849],{"class":169,"line":304},[167,5850,3488],{"class":173},[167,5852,5853],{"class":169,"line":313},[167,5854,209],{"emptyLinePlaceholder":208},[167,5856,5857,5859,5861,5863,5865,5867],{"class":169,"line":161},[167,5858,1438],{"class":191},[167,5860,5604],{"class":181},[167,5862,223],{"class":191},[167,5864,1464],{"class":173},[167,5866,639],{"class":191},[167,5868,1901],{"class":173},[167,5870,5871,5873,5875,5877],{"class":169,"line":335},[167,5872,5812],{"class":173},[167,5874,267],{"class":191},[167,5876,5621],{"class":191},[167,5878,5879],{"class":173},"isActive.value\n",[167,5881,5882],{"class":169,"line":341},[167,5883,3488],{"class":173},[167,5885,5886],{"class":169,"line":489},[167,5887,209],{"emptyLinePlaceholder":208},[167,5889,5890,5892],{"class":169,"line":495},[167,5891,1534],{"class":191},[167,5893,1901],{"class":173},[167,5895,5896],{"class":169,"line":501},[167,5897,5898],{"class":173},"    isActive,\n",[167,5900,5901],{"class":169,"line":512},[167,5902,5903],{"class":173},"    open,\n",[167,5905,5906],{"class":169,"line":781},[167,5907,5908],{"class":173},"    close,\n",[167,5910,5911],{"class":169,"line":786},[167,5912,5913],{"class":173},"    toggle\n",[167,5915,5916],{"class":169,"line":2674},[167,5917,3488],{"class":173},[167,5919,5920],{"class":169,"line":2688},[167,5921,276],{"class":173},[15,5923,5924],{},"Y ahora el componente queda más enfocado:",[154,5926,5928],{"className":156,"code":5927,"filename":5486,"language":162,"meta":163,"style":163},"\u003Cscript setup>\nimport { useToggle } from '@\u002Fcomposables\u002FuseToggle'\n\nconst menu = useToggle()\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cbutton @click=\"menu.toggle()\">\n    {{ menu.isActive ? 'Cerrar menu' : 'Abrir menu' }}\n  \u003C\u002Fbutton>\n\n  \u003Cnav v-if=\"menu.isActive\">\n    Menu visible\n  \u003C\u002Fnav>\n\u003C\u002Ftemplate>\n",[87,5929,5930,5940,5952,5956,5969,5977,5981,5989,6004,6009,6017,6021,6036,6040,6048],{"__ignoreMap":163},[167,5931,5932,5934,5936,5938],{"class":169,"line":170},[167,5933,174],{"class":173},[167,5935,178],{"class":177},[167,5937,182],{"class":181},[167,5939,185],{"class":173},[167,5941,5942,5944,5947,5949],{"class":169,"line":188},[167,5943,192],{"class":191},[167,5945,5946],{"class":173}," { useToggle } ",[167,5948,198],{"class":191},[167,5950,5951],{"class":201}," '@\u002Fcomposables\u002FuseToggle'\n",[167,5953,5954],{"class":169,"line":205},[167,5955,209],{"emptyLinePlaceholder":208},[167,5957,5958,5960,5963,5965,5967],{"class":169,"line":160},[167,5959,216],{"class":191},[167,5961,5962],{"class":219}," menu",[167,5964,223],{"class":191},[167,5966,5763],{"class":181},[167,5968,2913],{"class":173},[167,5970,5971,5973,5975],{"class":169,"line":238},[167,5972,282],{"class":173},[167,5974,178],{"class":177},[167,5976,185],{"class":173},[167,5978,5979],{"class":169,"line":243},[167,5980,209],{"emptyLinePlaceholder":208},[167,5982,5983,5985,5987],{"class":169,"line":261},[167,5984,174],{"class":173},[167,5986,299],{"class":177},[167,5988,185],{"class":173},[167,5990,5991,5993,5995,5997,5999,6002],{"class":169,"line":273},[167,5992,307],{"class":173},[167,5994,507],{"class":177},[167,5996,1177],{"class":181},[167,5998,267],{"class":173},[167,6000,6001],{"class":201},"\"menu.toggle()\"",[167,6003,185],{"class":173},[167,6005,6006],{"class":169,"line":279},[167,6007,6008],{"class":173},"    {{ menu.isActive ? 'Cerrar menu' : 'Abrir menu' }}\n",[167,6010,6011,6013,6015],{"class":169,"line":289},[167,6012,504],{"class":173},[167,6014,507],{"class":177},[167,6016,185],{"class":173},[167,6018,6019],{"class":169,"line":294},[167,6020,209],{"emptyLinePlaceholder":208},[167,6022,6023,6025,6027,6029,6031,6034],{"class":169,"line":304},[167,6024,307],{"class":173},[167,6026,5687],{"class":177},[167,6028,5690],{"class":181},[167,6030,267],{"class":173},[167,6032,6033],{"class":201},"\"menu.isActive\"",[167,6035,185],{"class":173},[167,6037,6038],{"class":169,"line":313},[167,6039,5702],{"class":173},[167,6041,6042,6044,6046],{"class":169,"line":161},[167,6043,504],{"class":173},[167,6045,5687],{"class":177},[167,6047,185],{"class":173},[167,6049,6050,6052,6054],{"class":169,"line":335},[167,6051,282],{"class":173},[167,6053,299],{"class":177},[167,6055,185],{"class":173},[15,6057,6058],{},"El componente todavía se entiende. De hecho, se entiende mejor: hay un menú y ese menú se puede alternar. La mecánica interna ya no estorba.",[22,6060,6062],{"id":6061},"cuándo-sí-vale-la-pena-crear-un-composable","Cuándo sí vale la pena crear un composable",[15,6064,6065],{},"Un composable tiene sentido cuando extrae una intención real, no solo unas líneas de código.",[15,6067,6068],{},"Suele valer la pena cuando:",[33,6070,6071,6074,6077,6080],{},[36,6072,6073],{},"La misma lógica aparece en más de un componente.",[36,6075,6076],{},"El componente está mezclando demasiadas responsabilidades.",[36,6078,6079],{},"Quieres probar o razonar una parte del comportamiento por separado.",[36,6081,6082,6083,1020,6085,1020,6088,1020,6091,1675],{},"La lógica tiene un nombre claro: ",[87,6084,5731],{},[87,6086,6087],{},"useMousePosition",[87,6089,6090],{},"useLocalStorage",[87,6092,6093],{},"usePagination",[15,6095,6096],{},"La clave está en el nombre. Si puedes nombrarlo de forma natural, probablemente hay una idea reutilizable ahí.",[22,6098,6100],{"id":6099},"cuándo-no-hace-falta","Cuándo no hace falta",[15,6102,6103],{},"No todo necesita convertirse en composable.",[15,6105,6106],{},"Si una lógica solo vive en un componente y se entiende bien ahí, déjala ahí. Extraer demasiado pronto también complica. Terminas saltando entre archivos para entender algo que antes se leía en veinte segundos.",[15,6108,6109],{},"Un buen composable reduce ruido. Uno innecesario lo mueve de lugar.",[22,6111,3081],{"id":3080},[15,6113,6114,6115,1020,6118,90,6121,6124],{},"El primero es crear nombres demasiado vagos. ",[87,6116,6117],{},"useHelpers",[87,6119,6120],{},"useUtils",[87,6122,6123],{},"useCommon"," no dicen nada. Si el nombre no explica la intención, el archivo se convierte en un cajón de cosas sueltas.",[15,6126,6127,6128,6131],{},"El segundo es meter demasiada lógica en el mismo composable. ",[87,6129,6130],{},"useUserDashboardEverything"," puede empezar cómodo, pero pronto será más difícil de mantener que el componente original.",[15,6133,6134,6135,6137],{},"El tercero es esconder efectos secundarios. Si un composable hace una petición, escribe en ",[87,6136,2394],{}," o registra eventos globales, debería ser evidente por su nombre o por cómo se usa.",[15,6139,6140],{},"El cuarto es devolver demasiadas cosas. Si un composable devuelve quince propiedades, quizá todavía no encontraste el límite correcto.",[22,6142,6144],{"id":6143},"una-regla-práctica","Una regla práctica",[15,6146,6147],{},"Antes de crear un composable, pregúntate esto:",[5363,6149,6150],{},[15,6151,6152],{},"¿Estoy extrayendo una idea o solo estoy moviendo código?",[15,6154,6155],{},"Si estás extrayendo una idea, adelante. Si solo estás moviendo código para que el componente se vea más corto, espera un poco.",[15,6157,6158],{},"Los composables no están para lucirse. Están para que el código respire mejor, para que los componentes hablen de interfaz y para que la lógica repetida tenga una casa propia.",[924,6160,6161],{},"html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .s9eBZ, html code.shiki .s9eBZ{--shiki-default:#22863A;--shiki-dark:#85E89D}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .s4XuR, html code.shiki .s4XuR{--shiki-default:#E36209;--shiki-dark:#FFAB70}",{"title":163,"searchDepth":188,"depth":188,"links":6163},[6164,6165,6166,6168,6169,6170,6171],{"id":5449,"depth":188,"text":5450},{"id":5478,"depth":188,"text":5479},{"id":5727,"depth":188,"text":6167},"El después: extraer un useToggle",{"id":6061,"depth":188,"text":6062},{"id":6099,"depth":188,"text":6100},{"id":3080,"depth":188,"text":3081},{"id":6143,"depth":188,"text":6144},"https:\u002F\u002Fres.cloudinary.com\u002Fdenj4fg7f\u002Fimage\u002Fupload\u002Fv1782172219\u002Fvue-3-composables-extract-reusable-logic.es.md_myyutl.png","Pantalla con código en un entorno de desarrollo","2026-06-23","Aprende qué son los composables en Vue 3, cuándo conviene usarlos y cómo extraer lógica reutilizable con un ejemplo claro usando useToggle.",{"title":6177,"goal":6178,"tasks":6179,"starterCode":6184,"solutionHint":6185},"Crea tu primer composable: useToggle","Extrae una lógica pequeña y repetible para abrir, cerrar y alternar un estado booleano desde cualquier componente.",[6180,6181,6182,6183],"Crea un archivo useToggle.js o useToggle.ts.","Usa ref() para guardar el estado activo o inactivo.","Expón las funciones open(), close() y toggle().","Usa el composable desde un componente con un botón.","\u003Cscript setup>\nimport { ref } from 'vue'\n\nfunction useToggle(initialValue = false) {\n  const isActive = ref(initialValue)\n\n  const open = () => {\n    isActive.value = true\n  }\n\n  const close = () => {\n    isActive.value = false\n  }\n\n  const toggle = () => {\n    isActive.value = !isActive.value\n  }\n\n  return {\n    isActive,\n    open,\n    close,\n    toggle\n  }\n}\n\nconst menu = useToggle()\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cbutton @click=\"menu.toggle()\">\n    {{ menu.isActive ? 'Cerrar menu' : 'Abrir menu' }}\n  \u003C\u002Fbutton>\n\n  \u003Cnav v-if=\"menu.isActive\">\n    Menu visible\n  \u003C\u002Fnav>\n\u003C\u002Ftemplate>\n","Si el componente ya no necesita saber cómo cambia el estado, solo cuándo usarlo, el composable está haciendo bien su trabajo.",{"updatedAt":6187,"coverCaption":6188,"author":945,"keywords":6189},"2026-06-22T20:00:00-05:00","Código reutilizable en Vue 3 por TODOvue",[3254,950,953,3256,5731,6190],"lógica reutilizable","\u002Fblog\u002Fvue-3-composables-extract-reusable-logic.es",[6193],{"headline":5425,"author":6194,"datePublished":6187,"@type":959},{"name":945,"@type":958},{"title":5425,"description":6175},"blog\u002Fvue-3-composables-extract-reusable-logic.es",[6198,6199,6200,6201],{"tag":953,"color":971},{"tag":1622,"color":1635},{"tag":968,"color":969},{"tag":5420,"color":5421},"Ju4oHN92VIllfFl39kIGmF-574GLcR3SsvJuMR7W78A",{"id":6204,"title":6205,"body":6206,"cover":7700,"coverAlt":7701,"date":7702,"description":7703,"draft":1617,"extension":940,"lab":941,"locale":942,"meta":7704,"navigation":208,"path":7709,"schemaOrg":7710,"seo":7713,"series":7714,"seriesDescription":7715,"seriesOrder":279,"seriesTitle":7716,"slug":941,"stem":7717,"tags":7718,"__hash__":7728},"blog\u002Fblog\u002Fvue-lifecycle-ssr-serverprefetch.es.md","Ciclos de vida en Vue: renderizado del lado del servidor (serverPrefetch)",{"type":8,"value":6207,"toc":7686},[6208,6216,6219,6224,6228,6231,6245,6250,6254,6267,6270,6284,6287,6312,6315,6319,6324,6335,6342,6346,6349,6352,6370,6376,6378,6382,6391,6401,6405,6421,6425,6428,6433,6437,6443,6446,6450,7060,7659,7665,7671,7675,7680,7683],[11,6209,6211,6212,6215],{"id":6210},"ciclos-de-vida-en-vue-renderizado-del-lado-del-servidor-serverprefetch","Ciclos de vida en Vue: renderizado del lado del servidor (",[87,6213,6214],{},"serverPrefetch",")",[15,6217,6218],{},"Cuando una aplicación usa SSR (Server-Side Rendering), el primer render ya no ocurre únicamente en el navegador. El servidor genera el HTML antes de enviarlo y, si los datos importantes llegan tarde, el usuario recibe una página incompleta o poco útil hasta que el cliente vuelve a solicitarlos.",[15,6220,6221,6223],{},[87,6222,6214],{}," existe precisamente para resolver ese momento. Permite esperar datos asíncronos antes de renderizar el componente en el servidor, de modo que el HTML inicial ya incluya contenido real y no dependa de esqueletos o placeholders que cambian durante la hidratación.",[22,6225,6227],{"id":6226},"por-qué-esto-importa","Por qué esto importa",[15,6229,6230],{},"En SSR, la primera impresión depende del HTML generado en el servidor. Si un producto, un artículo o un resumen de dashboard se cargan solo después de montar el componente en el cliente, se pierden varias ventajas:",[33,6232,6233,6236,6239,6242],{},[36,6234,6235],{},"El usuario ve menos contenido útil en el primer paint.",[36,6237,6238],{},"El SEO recibe un documento más pobre.",[36,6240,6241],{},"La hidratación puede sentirse inconsistente.",[36,6243,6244],{},"Se duplica trabajo entre servidor y cliente.",[15,6246,6247,6249],{},[87,6248,6214],{}," ayuda a que los datos críticos estén disponibles a tiempo para el render inicial. No sustituye toda la estrategia de obtención de datos, pero cubre muy bien la fase previa al render del servidor.",[22,6251,6253],{"id":6252},"concepto-clave","Concepto clave",[15,6255,6256,6258,6259,6262,6263,6266],{},[87,6257,6214],{}," (Options API) y ",[87,6260,6261],{},"onServerPrefetch()"," (Composition API) permiten registrar una función asíncrona que Vue resuelve ",[3929,6264,6265],{},"antes"," de renderizar el componente en el servidor.",[15,6268,6269],{},"Flujo simplificado:",[33,6271,6272,6275,6278,6281],{},[36,6273,6274],{},"El componente entra en el árbol SSR.",[36,6276,6277],{},"Vue ejecuta el hook.",[36,6279,6280],{},"Si el hook devuelve una promesa, el renderer espera.",[36,6282,6283],{},"Cuando la promesa se resuelve, Vue genera el HTML con los datos disponibles.",[15,6285,6286],{},"Matices importantes:",[33,6288,6289,6295,6298],{},[36,6290,6291,6292,1675],{},"Solo se ejecuta durante ",[3929,6293,6294],{},"server-side rendering",[36,6296,6297],{},"No reemplaza la carga en cliente cuando el componente aparece fuera del render inicial.",[36,6299,6300,6301,6304,6305,90,6308,6311],{},"En ",[3929,6302,6303],{},"Nuxt",", suele ser preferible usar ",[87,6306,6307],{},"useAsyncData()",[87,6309,6310],{},"useFetch()",", ya que integran serialización, caché e hidratación automáticamente.",[15,6313,6314],{},"Puedes pensar en este hook como una herramienta de bajo nivel para SSR: útil cuando necesitas control fino dentro de un componente renderizado en servidor.",[22,6316,6318],{"id":6317},"cuándo-usarlo","Cuándo usarlo",[15,6320,6321,6323],{},[87,6322,6214],{}," es adecuado cuando el contenido del HTML inicial es crítico:",[33,6325,6326,6329,6332],{},[36,6327,6328],{},"Páginas de producto con nombre, precio y disponibilidad.",[36,6330,6331],{},"Artículos o contenido público que debe ser indexable y visible desde el inicio.",[36,6333,6334],{},"Componentes que dependen del request actual antes de renderizar.",[15,6336,6337,6338,6341],{},"Regla práctica: si el dato debe existir ",[3929,6339,6340],{},"antes del render del servidor",", este hook es una buena opción.",[22,6343,6345],{"id":6344},"cuándo-evitarlo","Cuándo evitarlo",[15,6347,6348],{},"No es recomendable usarlo como solución genérica para cualquier fetch.",[15,6350,6351],{},"Evítalo cuando:",[33,6353,6354,6357,6360,6367],{},[36,6355,6356],{},"El componente solo se renderiza en cliente.",[36,6358,6359],{},"La información no es crítica para el HTML inicial.",[36,6361,6362,6363,90,6365,1675],{},"Ya usas Nuxt y el caso encaja mejor en ",[87,6364,6307],{},[87,6366,6310],{},[36,6368,6369],{},"El fetch depende de API exclusivas del navegador.",[15,6371,6372,6373,6375],{},"Además, evita operaciones costosas o innecesarias: todo lo que ejecutes en ",[87,6374,6214],{}," impacta directamente en el tiempo de respuesta del servidor.",[22,6377,3081],{"id":3080},[3083,6379,6381],{"id":6380},"_1-asumir-que-también-se-ejecuta-en-navegación-cliente","1. Asumir que también se ejecuta en navegación cliente",[15,6383,6384,6386,6387,6390],{},[87,6385,6214],{}," no sustituye ",[87,6388,6389],{},"mounted"," ni una estrategia completa de carga de datos. Si el componente se renderiza solo en cliente, este hook no se ejecuta.",[15,6392,6393,6394,90,6397,6400],{},"Solución: añadir un fallback en ",[87,6395,6396],{},"onMounted()",[87,6398,6399],{},"mounted()"," cuando los datos no estén disponibles.",[3083,6402,6404],{"id":6403},"_2-usar-api-del-navegador","2. Usar API del navegador",[15,6406,6407,6408,1020,6411,6414,6415,6417,6418,6420],{},"Durante SSR no existen ",[87,6409,6410],{},"window",[87,6412,6413],{},"document"," ni ",[87,6416,2394],{},". El código dentro de ",[87,6419,6214],{}," debe ser seguro para ejecutarse en servidor.",[3083,6422,6424],{"id":6423},"_3-duplicar-el-fetch-innecesariamente","3. Duplicar el fetch innecesariamente",[15,6426,6427],{},"Si el servidor ya obtuvo los datos, no tiene sentido repetir la petición en cliente.",[15,6429,6430,6431,1675],{},"Solución: comprobar si el estado ya existe antes de hacer el fetch en ",[87,6432,6389],{},[3083,6434,6436],{"id":6435},"_4-sobrecargar-componentes-profundos","4. Sobrecargar componentes profundos",[15,6438,6439,6440,6442],{},"Multiplicar ",[87,6441,6214],{}," en muchos componentes puede aumentar el tiempo de respuesta y dificultar el flujo de datos.",[15,6444,6445],{},"Distribuye responsabilidades: página, layout y componentes deben tener roles claros.",[22,6447,6449],{"id":6448},"ejemplo-práctico","Ejemplo práctico",[154,6451,6453],{"className":156,"code":6452,"filename":3256,"language":162,"meta":163,"style":163},"\u003Cscript setup lang=\"ts\">\nimport { onMounted, onServerPrefetch, ref } from 'vue'\n\ntype Product = {\n  id: number\n  name: string\n  price: number\n  stock: number\n}\n\nconst product = ref\u003CProduct | null>(null)\nconst errorMessage = ref('')\n\nasync function fetchProduct() {\n  const response = await fetch('https:\u002F\u002Fapi.example.com\u002Fproducts\u002F42')\n\n  if (!response.ok) {\n    throw new Error('No fue posible cargar el producto.')\n  }\n\n  product.value = (await response.json()) as Product\n}\n\nonServerPrefetch(async () => {\n  try {\n    await fetchProduct()\n  } catch (error) {\n    errorMessage.value =\n      error instanceof Error ? error.message : 'Error inesperado en SSR.'\n  }\n})\n\nonMounted(async () => {\n  if (product.value || errorMessage.value) return\n\n  try {\n    await fetchProduct()\n  } catch (error) {\n    errorMessage.value =\n      error instanceof Error ? error.message : 'Error inesperado en cliente.'\n  }\n})\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Carticle class=\"product-card\">\n    \u003Cp v-if=\"errorMessage\">{{ errorMessage }}\u003C\u002Fp>\n\n    \u003Ctemplate v-else-if=\"product\">\n      \u003Ch1>{{ product.name }}\u003C\u002Fh1>\n      \u003Cp>Precio: {{ product.price }} USD\u003C\u002Fp>\n      \u003Cp>Stock: {{ product.stock }}\u003C\u002Fp>\n    \u003C\u002Ftemplate>\n\n    \u003Cp v-else>Cargando producto...\u003C\u002Fp>\n  \u003C\u002Farticle>\n\u003C\u002Ftemplate>\n",[87,6454,6455,6471,6482,6486,6497,6507,6517,6526,6535,6539,6543,6572,6589,6593,6604,6625,6629,6641,6658,6662,6666,6692,6696,6700,6715,6722,6731,6742,6750,6772,6777,6782,6787,6803,6818,6823,6830,6839,6848,6855,6873,6878,6883,6892,6897,6906,6922,6943,6948,6969,6983,6997,7011,7020,7025,7042,7051],{"__ignoreMap":163},[167,6456,6457,6459,6461,6463,6465,6467,6469],{"class":169,"line":170},[167,6458,174],{"class":173},[167,6460,178],{"class":177},[167,6462,182],{"class":181},[167,6464,1045],{"class":181},[167,6466,267],{"class":173},[167,6468,1050],{"class":201},[167,6470,185],{"class":173},[167,6472,6473,6475,6478,6480],{"class":169,"line":188},[167,6474,192],{"class":191},[167,6476,6477],{"class":173}," { onMounted, onServerPrefetch, ref } ",[167,6479,198],{"class":191},[167,6481,202],{"class":201},[167,6483,6484],{"class":169,"line":205},[167,6485,209],{"emptyLinePlaceholder":208},[167,6487,6488,6490,6493,6495],{"class":169,"line":160},[167,6489,569],{"class":191},[167,6491,6492],{"class":181}," Product",[167,6494,223],{"class":191},[167,6496,1901],{"class":173},[167,6498,6499,6502,6504],{"class":169,"line":238},[167,6500,6501],{"class":254},"  id",[167,6503,583],{"class":191},[167,6505,6506],{"class":219}," number\n",[167,6508,6509,6512,6514],{"class":169,"line":243},[167,6510,6511],{"class":254},"  name",[167,6513,583],{"class":191},[167,6515,6516],{"class":219}," string\n",[167,6518,6519,6522,6524],{"class":169,"line":261},[167,6520,6521],{"class":254},"  price",[167,6523,583],{"class":191},[167,6525,6506],{"class":219},[167,6527,6528,6531,6533],{"class":169,"line":273},[167,6529,6530],{"class":254},"  stock",[167,6532,583],{"class":191},[167,6534,6506],{"class":219},[167,6536,6537],{"class":169,"line":279},[167,6538,276],{"class":173},[167,6540,6541],{"class":169,"line":289},[167,6542,209],{"emptyLinePlaceholder":208},[167,6544,6545,6547,6550,6552,6554,6556,6559,6561,6564,6567,6570],{"class":169,"line":294},[167,6546,216],{"class":191},[167,6548,6549],{"class":219}," product",[167,6551,223],{"class":191},[167,6553,226],{"class":181},[167,6555,174],{"class":173},[167,6557,6558],{"class":181},"Product",[167,6560,659],{"class":191},[167,6562,6563],{"class":219}," null",[167,6565,6566],{"class":173},">(",[167,6568,6569],{"class":219},"null",[167,6571,235],{"class":173},[167,6573,6574,6576,6579,6581,6583,6585,6587],{"class":169,"line":304},[167,6575,216],{"class":191},[167,6577,6578],{"class":219}," errorMessage",[167,6580,223],{"class":191},[167,6582,226],{"class":181},[167,6584,229],{"class":173},[167,6586,2180],{"class":201},[167,6588,235],{"class":173},[167,6590,6591],{"class":169,"line":313},[167,6592,209],{"emptyLinePlaceholder":208},[167,6594,6595,6597,6599,6602],{"class":169,"line":161},[167,6596,2519],{"class":191},[167,6598,1427],{"class":191},[167,6600,6601],{"class":181}," fetchProduct",[167,6603,763],{"class":173},[167,6605,6606,6608,6611,6613,6615,6618,6620,6623],{"class":169,"line":335},[167,6607,1438],{"class":191},[167,6609,6610],{"class":219}," response",[167,6612,223],{"class":191},[167,6614,3005],{"class":191},[167,6616,6617],{"class":181}," fetch",[167,6619,229],{"class":173},[167,6621,6622],{"class":201},"'https:\u002F\u002Fapi.example.com\u002Fproducts\u002F42'",[167,6624,235],{"class":173},[167,6626,6627],{"class":169,"line":341},[167,6628,209],{"emptyLinePlaceholder":208},[167,6630,6631,6633,6635,6638],{"class":169,"line":489},[167,6632,2540],{"class":191},[167,6634,2522],{"class":173},[167,6636,6637],{"class":191},"!",[167,6639,6640],{"class":173},"response.ok) {\n",[167,6642,6643,6646,6648,6651,6653,6656],{"class":169,"line":495},[167,6644,6645],{"class":191},"    throw",[167,6647,4220],{"class":191},[167,6649,6650],{"class":181}," Error",[167,6652,229],{"class":173},[167,6654,6655],{"class":201},"'No fue posible cargar el producto.'",[167,6657,235],{"class":173},[167,6659,6660],{"class":169,"line":501},[167,6661,3488],{"class":173},[167,6663,6664],{"class":169,"line":512},[167,6665,209],{"emptyLinePlaceholder":208},[167,6667,6668,6671,6673,6675,6677,6680,6683,6686,6689],{"class":169,"line":781},[167,6669,6670],{"class":173},"  product.value ",[167,6672,267],{"class":191},[167,6674,2522],{"class":173},[167,6676,2923],{"class":191},[167,6678,6679],{"class":173}," response.",[167,6681,6682],{"class":181},"json",[167,6684,6685],{"class":173},"()) ",[167,6687,6688],{"class":191},"as",[167,6690,6691],{"class":181}," Product\n",[167,6693,6694],{"class":169,"line":786},[167,6695,276],{"class":173},[167,6697,6698],{"class":169,"line":2674},[167,6699,209],{"emptyLinePlaceholder":208},[167,6701,6702,6705,6707,6709,6711,6713],{"class":169,"line":2688},[167,6703,6704],{"class":181},"onServerPrefetch",[167,6706,229],{"class":173},[167,6708,2519],{"class":191},[167,6710,1464],{"class":173},[167,6712,639],{"class":191},[167,6714,1901],{"class":173},[167,6716,6717,6720],{"class":169,"line":3571},[167,6718,6719],{"class":191},"  try",[167,6721,1901],{"class":173},[167,6723,6724,6727,6729],{"class":169,"line":5024},[167,6725,6726],{"class":191},"    await",[167,6728,6601],{"class":181},[167,6730,2913],{"class":173},[167,6732,6733,6736,6739],{"class":169,"line":5033},[167,6734,6735],{"class":173},"  } ",[167,6737,6738],{"class":191},"catch",[167,6740,6741],{"class":173}," (error) {\n",[167,6743,6744,6747],{"class":169,"line":5042},[167,6745,6746],{"class":173},"    errorMessage.value ",[167,6748,6749],{"class":191},"=\n",[167,6751,6753,6756,6759,6761,6764,6767,6769],{"class":169,"line":6752},29,[167,6754,6755],{"class":173},"      error ",[167,6757,6758],{"class":191},"instanceof",[167,6760,6650],{"class":181},[167,6762,6763],{"class":191}," ?",[167,6765,6766],{"class":173}," error.message ",[167,6768,583],{"class":191},[167,6770,6771],{"class":201}," 'Error inesperado en SSR.'\n",[167,6773,6775],{"class":169,"line":6774},30,[167,6776,3488],{"class":173},[167,6778,6780],{"class":169,"line":6779},31,[167,6781,403],{"class":173},[167,6783,6785],{"class":169,"line":6784},32,[167,6786,209],{"emptyLinePlaceholder":208},[167,6788,6790,6793,6795,6797,6799,6801],{"class":169,"line":6789},33,[167,6791,6792],{"class":181},"onMounted",[167,6794,229],{"class":173},[167,6796,2519],{"class":191},[167,6798,1464],{"class":173},[167,6800,639],{"class":191},[167,6802,1901],{"class":173},[167,6804,6806,6808,6811,6813,6816],{"class":169,"line":6805},34,[167,6807,2540],{"class":191},[167,6809,6810],{"class":173}," (product.value ",[167,6812,4260],{"class":191},[167,6814,6815],{"class":173}," errorMessage.value) ",[167,6817,2552],{"class":191},[167,6819,6821],{"class":169,"line":6820},35,[167,6822,209],{"emptyLinePlaceholder":208},[167,6824,6826,6828],{"class":169,"line":6825},36,[167,6827,6719],{"class":191},[167,6829,1901],{"class":173},[167,6831,6833,6835,6837],{"class":169,"line":6832},37,[167,6834,6726],{"class":191},[167,6836,6601],{"class":181},[167,6838,2913],{"class":173},[167,6840,6842,6844,6846],{"class":169,"line":6841},38,[167,6843,6735],{"class":173},[167,6845,6738],{"class":191},[167,6847,6741],{"class":173},[167,6849,6851,6853],{"class":169,"line":6850},39,[167,6852,6746],{"class":173},[167,6854,6749],{"class":191},[167,6856,6858,6860,6862,6864,6866,6868,6870],{"class":169,"line":6857},40,[167,6859,6755],{"class":173},[167,6861,6758],{"class":191},[167,6863,6650],{"class":181},[167,6865,6763],{"class":191},[167,6867,6766],{"class":173},[167,6869,583],{"class":191},[167,6871,6872],{"class":201}," 'Error inesperado en cliente.'\n",[167,6874,6876],{"class":169,"line":6875},41,[167,6877,3488],{"class":173},[167,6879,6881],{"class":169,"line":6880},42,[167,6882,403],{"class":173},[167,6884,6886,6888,6890],{"class":169,"line":6885},43,[167,6887,282],{"class":173},[167,6889,178],{"class":177},[167,6891,185],{"class":173},[167,6893,6895],{"class":169,"line":6894},44,[167,6896,209],{"emptyLinePlaceholder":208},[167,6898,6900,6902,6904],{"class":169,"line":6899},45,[167,6901,174],{"class":173},[167,6903,299],{"class":177},[167,6905,185],{"class":173},[167,6907,6909,6911,6913,6915,6917,6920],{"class":169,"line":6908},46,[167,6910,307],{"class":173},[167,6912,3692],{"class":177},[167,6914,1240],{"class":181},[167,6916,267],{"class":173},[167,6918,6919],{"class":201},"\"product-card\"",[167,6921,185],{"class":173},[167,6923,6925,6927,6929,6931,6933,6936,6939,6941],{"class":169,"line":6924},47,[167,6926,1252],{"class":173},[167,6928,15],{"class":177},[167,6930,5690],{"class":181},[167,6932,267],{"class":173},[167,6934,6935],{"class":201},"\"errorMessage\"",[167,6937,6938],{"class":173},">{{ errorMessage }}\u003C\u002F",[167,6940,15],{"class":177},[167,6942,185],{"class":173},[167,6944,6946],{"class":169,"line":6945},48,[167,6947,209],{"emptyLinePlaceholder":208},[167,6949,6951,6953,6955,6958,6960,6962,6965,6967],{"class":169,"line":6950},49,[167,6952,1252],{"class":173},[167,6954,299],{"class":177},[167,6956,6957],{"class":191}," v-else-if",[167,6959,267],{"class":173},[167,6961,5076],{"class":201},[167,6963,6964],{"class":173},"product",[167,6966,5076],{"class":201},[167,6968,185],{"class":173},[167,6970,6972,6974,6976,6979,6981],{"class":169,"line":6971},50,[167,6973,1263],{"class":173},[167,6975,11],{"class":177},[167,6977,6978],{"class":173},">{{ product.name }}\u003C\u002F",[167,6980,11],{"class":177},[167,6982,185],{"class":173},[167,6984,6986,6988,6990,6993,6995],{"class":169,"line":6985},51,[167,6987,1263],{"class":173},[167,6989,15],{"class":177},[167,6991,6992],{"class":173},">Precio: {{ product.price }} USD\u003C\u002F",[167,6994,15],{"class":177},[167,6996,185],{"class":173},[167,6998,7000,7002,7004,7007,7009],{"class":169,"line":6999},52,[167,7001,1263],{"class":173},[167,7003,15],{"class":177},[167,7005,7006],{"class":173},">Stock: {{ product.stock }}\u003C\u002F",[167,7008,15],{"class":177},[167,7010,185],{"class":173},[167,7012,7014,7016,7018],{"class":169,"line":7013},53,[167,7015,1287],{"class":173},[167,7017,299],{"class":177},[167,7019,185],{"class":173},[167,7021,7023],{"class":169,"line":7022},54,[167,7024,209],{"emptyLinePlaceholder":208},[167,7026,7028,7030,7032,7035,7038,7040],{"class":169,"line":7027},55,[167,7029,1252],{"class":173},[167,7031,15],{"class":177},[167,7033,7034],{"class":181}," v-else",[167,7036,7037],{"class":173},">Cargando producto...\u003C\u002F",[167,7039,15],{"class":177},[167,7041,185],{"class":173},[167,7043,7045,7047,7049],{"class":169,"line":7044},56,[167,7046,504],{"class":173},[167,7048,3692],{"class":177},[167,7050,185],{"class":173},[167,7052,7054,7056,7058],{"class":169,"line":7053},57,[167,7055,282],{"class":173},[167,7057,299],{"class":177},[167,7059,185],{"class":173},[154,7061,7063],{"className":156,"code":7062,"filename":3969,"language":162,"meta":163,"style":163},"\u003Cscript lang=\"ts\">\nimport { defineComponent } from 'vue'\n\ntype Product = {\n  id: number\n  name: string\n  price: number\n  stock: number\n}\n\nexport default defineComponent({\n  name: 'ProductCardSsr',\n\n  data() {\n    return {\n      product: null as Product | null,\n      errorMessage: ''\n    }\n  },\n\n  methods: {\n    async fetchProduct() {\n      const response = await fetch('https:\u002F\u002Fapi.example.com\u002Fproducts\u002F42')\n\n      if (!response.ok) {\n        throw new Error('No fue posible cargar el producto.')\n      }\n\n      this.product = (await response.json()) as Product\n    }\n  },\n\n  async serverPrefetch() {\n    try {\n      await this.fetchProduct()\n    } catch (error) {\n      this.errorMessage =\n        error instanceof Error ? error.message : 'Error inesperado en SSR.'\n    }\n  },\n\n  async mounted() {\n    if (this.product || this.errorMessage) return\n\n    try {\n      await this.fetchProduct()\n    } catch (error) {\n      this.errorMessage =\n        error instanceof Error ? error.message : 'Error inesperado en cliente.'\n    }\n  }\n})\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Carticle class=\"product-card\">\n    \u003Cp v-if=\"errorMessage\">{{ errorMessage }}\u003C\u002Fp>\n\n    \u003Ctemplate v-else-if=\"product\">\n      \u003Ch1>{{ product.name }}\u003C\u002Fh1>\n      \u003Cp>Precio: {{ product.price }} USD\u003C\u002Fp>\n      \u003Cp>Stock: {{ product.stock }}\u003C\u002Fp>\n    \u003C\u002Ftemplate>\n\n    \u003Cp v-else>Cargando producto...\u003C\u002Fp>\n  \u003C\u002Farticle>\n\u003C\u002Ftemplate>\n",[87,7064,7065,7079,7090,7094,7104,7112,7120,7128,7136,7140,7144,7155,7164,7168,7175,7181,7198,7206,7210,7214,7218,7222,7231,7249,7253,7264,7279,7284,7288,7311,7315,7319,7323,7333,7340,7355,7364,7373,7390,7394,7398,7402,7411,7431,7435,7441,7453,7461,7469,7485,7489,7493,7497,7505,7509,7517,7531,7549,7554,7573,7586,7599,7612,7621,7626,7641,7650],{"__ignoreMap":163},[167,7066,7067,7069,7071,7073,7075,7077],{"class":169,"line":170},[167,7068,174],{"class":173},[167,7070,178],{"class":177},[167,7072,1045],{"class":181},[167,7074,267],{"class":173},[167,7076,1050],{"class":201},[167,7078,185],{"class":173},[167,7080,7081,7083,7086,7088],{"class":169,"line":188},[167,7082,192],{"class":191},[167,7084,7085],{"class":173}," { defineComponent } ",[167,7087,198],{"class":191},[167,7089,202],{"class":201},[167,7091,7092],{"class":169,"line":205},[167,7093,209],{"emptyLinePlaceholder":208},[167,7095,7096,7098,7100,7102],{"class":169,"line":160},[167,7097,569],{"class":191},[167,7099,6492],{"class":181},[167,7101,223],{"class":191},[167,7103,1901],{"class":173},[167,7105,7106,7108,7110],{"class":169,"line":238},[167,7107,6501],{"class":254},[167,7109,583],{"class":191},[167,7111,6506],{"class":219},[167,7113,7114,7116,7118],{"class":169,"line":243},[167,7115,6511],{"class":254},[167,7117,583],{"class":191},[167,7119,6516],{"class":219},[167,7121,7122,7124,7126],{"class":169,"line":261},[167,7123,6521],{"class":254},[167,7125,583],{"class":191},[167,7127,6506],{"class":219},[167,7129,7130,7132,7134],{"class":169,"line":273},[167,7131,6530],{"class":254},[167,7133,583],{"class":191},[167,7135,6506],{"class":219},[167,7137,7138],{"class":169,"line":279},[167,7139,276],{"class":173},[167,7141,7142],{"class":169,"line":289},[167,7143,209],{"emptyLinePlaceholder":208},[167,7145,7146,7148,7150,7153],{"class":169,"line":294},[167,7147,608],{"class":191},[167,7149,3987],{"class":191},[167,7151,7152],{"class":181}," defineComponent",[167,7154,372],{"class":173},[167,7156,7157,7159,7162],{"class":169,"line":304},[167,7158,4394],{"class":173},[167,7160,7161],{"class":201},"'ProductCardSsr'",[167,7163,393],{"class":173},[167,7165,7166],{"class":169,"line":313},[167,7167,209],{"emptyLinePlaceholder":208},[167,7169,7170,7173],{"class":169,"line":161},[167,7171,7172],{"class":181},"  data",[167,7174,763],{"class":173},[167,7176,7177,7179],{"class":169,"line":335},[167,7178,1933],{"class":191},[167,7180,1901],{"class":173},[167,7182,7183,7186,7188,7190,7192,7194,7196],{"class":169,"line":341},[167,7184,7185],{"class":173},"      product: ",[167,7187,6569],{"class":219},[167,7189,654],{"class":191},[167,7191,6492],{"class":181},[167,7193,659],{"class":191},[167,7195,6563],{"class":219},[167,7197,393],{"class":173},[167,7199,7200,7203],{"class":169,"line":489},[167,7201,7202],{"class":173},"      errorMessage: ",[167,7204,7205],{"class":201},"''\n",[167,7207,7208],{"class":169,"line":495},[167,7209,4045],{"class":173},[167,7211,7212],{"class":169,"line":501},[167,7213,398],{"class":173},[167,7215,7216],{"class":169,"line":512},[167,7217,209],{"emptyLinePlaceholder":208},[167,7219,7220],{"class":169,"line":781},[167,7221,4415],{"class":173},[167,7223,7224,7227,7229],{"class":169,"line":786},[167,7225,7226],{"class":191},"    async",[167,7228,6601],{"class":181},[167,7230,763],{"class":173},[167,7232,7233,7235,7237,7239,7241,7243,7245,7247],{"class":169,"line":2674},[167,7234,4431],{"class":191},[167,7236,6610],{"class":219},[167,7238,223],{"class":191},[167,7240,3005],{"class":191},[167,7242,6617],{"class":181},[167,7244,229],{"class":173},[167,7246,6622],{"class":201},[167,7248,235],{"class":173},[167,7250,7251],{"class":169,"line":2688},[167,7252,209],{"emptyLinePlaceholder":208},[167,7254,7255,7258,7260,7262],{"class":169,"line":3571},[167,7256,7257],{"class":191},"      if",[167,7259,2522],{"class":173},[167,7261,6637],{"class":191},[167,7263,6640],{"class":173},[167,7265,7266,7269,7271,7273,7275,7277],{"class":169,"line":5024},[167,7267,7268],{"class":191},"        throw",[167,7270,4220],{"class":191},[167,7272,6650],{"class":181},[167,7274,229],{"class":173},[167,7276,6655],{"class":201},[167,7278,235],{"class":173},[167,7280,7281],{"class":169,"line":5033},[167,7282,7283],{"class":173},"      }\n",[167,7285,7286],{"class":169,"line":5042},[167,7287,209],{"emptyLinePlaceholder":208},[167,7289,7290,7292,7295,7297,7299,7301,7303,7305,7307,7309],{"class":169,"line":6752},[167,7291,741],{"class":219},[167,7293,7294],{"class":173},".product ",[167,7296,267],{"class":191},[167,7298,2522],{"class":173},[167,7300,2923],{"class":191},[167,7302,6679],{"class":173},[167,7304,6682],{"class":181},[167,7306,6685],{"class":173},[167,7308,6688],{"class":191},[167,7310,6691],{"class":181},[167,7312,7313],{"class":169,"line":6774},[167,7314,4045],{"class":173},[167,7316,7317],{"class":169,"line":6779},[167,7318,398],{"class":173},[167,7320,7321],{"class":169,"line":6784},[167,7322,209],{"emptyLinePlaceholder":208},[167,7324,7325,7328,7331],{"class":169,"line":6789},[167,7326,7327],{"class":191},"  async",[167,7329,7330],{"class":181}," serverPrefetch",[167,7332,763],{"class":173},[167,7334,7335,7338],{"class":169,"line":6805},[167,7336,7337],{"class":191},"    try",[167,7339,1901],{"class":173},[167,7341,7342,7345,7348,7350,7353],{"class":169,"line":6820},[167,7343,7344],{"class":191},"      await",[167,7346,7347],{"class":219}," this",[167,7349,1675],{"class":173},[167,7351,7352],{"class":181},"fetchProduct",[167,7354,2913],{"class":173},[167,7356,7357,7360,7362],{"class":169,"line":6825},[167,7358,7359],{"class":173},"    } ",[167,7361,6738],{"class":191},[167,7363,6741],{"class":173},[167,7365,7366,7368,7371],{"class":169,"line":6832},[167,7367,741],{"class":219},[167,7369,7370],{"class":173},".errorMessage ",[167,7372,6749],{"class":191},[167,7374,7375,7378,7380,7382,7384,7386,7388],{"class":169,"line":6841},[167,7376,7377],{"class":173},"        error ",[167,7379,6758],{"class":191},[167,7381,6650],{"class":181},[167,7383,6763],{"class":191},[167,7385,6766],{"class":173},[167,7387,583],{"class":191},[167,7389,6771],{"class":201},[167,7391,7392],{"class":169,"line":6850},[167,7393,4045],{"class":173},[167,7395,7396],{"class":169,"line":6857},[167,7397,398],{"class":173},[167,7399,7400],{"class":169,"line":6875},[167,7401,209],{"emptyLinePlaceholder":208},[167,7403,7404,7406,7409],{"class":169,"line":6880},[167,7405,7327],{"class":191},[167,7407,7408],{"class":181}," mounted",[167,7410,763],{"class":173},[167,7412,7413,7416,7418,7420,7422,7424,7426,7429],{"class":169,"line":6885},[167,7414,7415],{"class":191},"    if",[167,7417,2522],{"class":173},[167,7419,4923],{"class":219},[167,7421,7294],{"class":173},[167,7423,4260],{"class":191},[167,7425,7347],{"class":219},[167,7427,7428],{"class":173},".errorMessage) ",[167,7430,2552],{"class":191},[167,7432,7433],{"class":169,"line":6894},[167,7434,209],{"emptyLinePlaceholder":208},[167,7436,7437,7439],{"class":169,"line":6899},[167,7438,7337],{"class":191},[167,7440,1901],{"class":173},[167,7442,7443,7445,7447,7449,7451],{"class":169,"line":6908},[167,7444,7344],{"class":191},[167,7446,7347],{"class":219},[167,7448,1675],{"class":173},[167,7450,7352],{"class":181},[167,7452,2913],{"class":173},[167,7454,7455,7457,7459],{"class":169,"line":6924},[167,7456,7359],{"class":173},[167,7458,6738],{"class":191},[167,7460,6741],{"class":173},[167,7462,7463,7465,7467],{"class":169,"line":6945},[167,7464,741],{"class":219},[167,7466,7370],{"class":173},[167,7468,6749],{"class":191},[167,7470,7471,7473,7475,7477,7479,7481,7483],{"class":169,"line":6950},[167,7472,7377],{"class":173},[167,7474,6758],{"class":191},[167,7476,6650],{"class":181},[167,7478,6763],{"class":191},[167,7480,6766],{"class":173},[167,7482,583],{"class":191},[167,7484,6872],{"class":201},[167,7486,7487],{"class":169,"line":6971},[167,7488,4045],{"class":173},[167,7490,7491],{"class":169,"line":6985},[167,7492,3488],{"class":173},[167,7494,7495],{"class":169,"line":6999},[167,7496,403],{"class":173},[167,7498,7499,7501,7503],{"class":169,"line":7013},[167,7500,282],{"class":173},[167,7502,178],{"class":177},[167,7504,185],{"class":173},[167,7506,7507],{"class":169,"line":7022},[167,7508,209],{"emptyLinePlaceholder":208},[167,7510,7511,7513,7515],{"class":169,"line":7027},[167,7512,174],{"class":173},[167,7514,299],{"class":177},[167,7516,185],{"class":173},[167,7518,7519,7521,7523,7525,7527,7529],{"class":169,"line":7044},[167,7520,307],{"class":173},[167,7522,3692],{"class":177},[167,7524,1240],{"class":181},[167,7526,267],{"class":173},[167,7528,6919],{"class":201},[167,7530,185],{"class":173},[167,7532,7533,7535,7537,7539,7541,7543,7545,7547],{"class":169,"line":7053},[167,7534,1252],{"class":173},[167,7536,15],{"class":177},[167,7538,5690],{"class":181},[167,7540,267],{"class":173},[167,7542,6935],{"class":201},[167,7544,6938],{"class":173},[167,7546,15],{"class":177},[167,7548,185],{"class":173},[167,7550,7552],{"class":169,"line":7551},58,[167,7553,209],{"emptyLinePlaceholder":208},[167,7555,7557,7559,7561,7563,7565,7567,7569,7571],{"class":169,"line":7556},59,[167,7558,1252],{"class":173},[167,7560,299],{"class":177},[167,7562,6957],{"class":191},[167,7564,267],{"class":173},[167,7566,5076],{"class":201},[167,7568,6964],{"class":173},[167,7570,5076],{"class":201},[167,7572,185],{"class":173},[167,7574,7576,7578,7580,7582,7584],{"class":169,"line":7575},60,[167,7577,1263],{"class":173},[167,7579,11],{"class":177},[167,7581,6978],{"class":173},[167,7583,11],{"class":177},[167,7585,185],{"class":173},[167,7587,7589,7591,7593,7595,7597],{"class":169,"line":7588},61,[167,7590,1263],{"class":173},[167,7592,15],{"class":177},[167,7594,6992],{"class":173},[167,7596,15],{"class":177},[167,7598,185],{"class":173},[167,7600,7602,7604,7606,7608,7610],{"class":169,"line":7601},62,[167,7603,1263],{"class":173},[167,7605,15],{"class":177},[167,7607,7006],{"class":173},[167,7609,15],{"class":177},[167,7611,185],{"class":173},[167,7613,7615,7617,7619],{"class":169,"line":7614},63,[167,7616,1287],{"class":173},[167,7618,299],{"class":177},[167,7620,185],{"class":173},[167,7622,7624],{"class":169,"line":7623},64,[167,7625,209],{"emptyLinePlaceholder":208},[167,7627,7629,7631,7633,7635,7637,7639],{"class":169,"line":7628},65,[167,7630,1252],{"class":173},[167,7632,15],{"class":177},[167,7634,7034],{"class":181},[167,7636,7037],{"class":173},[167,7638,15],{"class":177},[167,7640,185],{"class":173},[167,7642,7644,7646,7648],{"class":169,"line":7643},66,[167,7645,504],{"class":173},[167,7647,3692],{"class":177},[167,7649,185],{"class":173},[167,7651,7653,7655,7657],{"class":169,"line":7652},67,[167,7654,282],{"class":173},[167,7656,299],{"class":177},[167,7658,185],{"class":173},[15,7660,7661,7662,7664],{},"Este patrón permite que el servidor entregue el contenido resuelto en la primera carga. Si el componente se renderiza posteriormente en una navegación cliente, ",[87,7663,6396],{}," actúa como fallback sin duplicar la petición.",[15,7666,7667,7668,7670],{},"Esta versión mantiene la misma intención: resolver los datos antes del render SSR y usar ",[87,7669,6389],{}," como respaldo en escenarios donde no hay estado previo.",[22,7672,7674],{"id":7673},"resumen","Resumen",[15,7676,7677,7679],{},[87,7678,6214],{}," permite adelantar datos críticos al render del servidor y generar HTML útil desde la primera respuesta. Su valor está en mejorar el primer render, no en reemplazar toda la estrategia de fetching.",[15,7681,7682],{},"En Vue SSR “manual”, es una herramienta precisa y potente. En Nuxt, suele ser preferible usar utilidades de más alto nivel. En ambos casos, la idea clave es la misma: el contenido importante debe estar listo antes de renderizar la página inicial.",[924,7684,7685],{},"html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .s9eBZ, html code.shiki .s9eBZ{--shiki-default:#22863A;--shiki-dark:#85E89D}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .s4XuR, html code.shiki .s4XuR{--shiki-default:#E36209;--shiki-dark:#FFAB70}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":163,"searchDepth":188,"depth":188,"links":7687},[7688,7689,7690,7691,7692,7698,7699],{"id":6226,"depth":188,"text":6227},{"id":6252,"depth":188,"text":6253},{"id":6317,"depth":188,"text":6318},{"id":6344,"depth":188,"text":6345},{"id":3080,"depth":188,"text":3081,"children":7693},[7694,7695,7696,7697],{"id":6380,"depth":205,"text":6381},{"id":6403,"depth":205,"text":6404},{"id":6423,"depth":205,"text":6424},{"id":6435,"depth":205,"text":6436},{"id":6448,"depth":188,"text":6449},{"id":7673,"depth":188,"text":7674},"https:\u002F\u002Fres.cloudinary.com\u002Fdenj4fg7f\u002Fimage\u002Fupload\u002Fv1774051488\u002Fvue-lifecycle-ssr-serverprefetch_averlr.png","Ilustración de un servidor entregando HTML con datos ya resueltos, mientras un cliente hidrata sin necesidad de fetch adicional.","2026-03-21","Cómo usar serverPrefetch y onServerPrefetch para cargar datos antes del render SSR, evitar HTML incompleto y coordinar el primer render del servidor con la hidratación del cliente.",{"updatedAt":7705,"readingTime":273,"coverCaption":7706,"author":945,"keywords":7707},"2026-03-20T20:00:00-05:00","Con `serverPrefetch`, el servidor puede entregar HTML ya completo, mejorando la experiencia y el SEO desde el primer render.",[3254,6214,6704,973,7708],"hidratación","\u002Fblog\u002Fvue-lifecycle-ssr-serverprefetch.es",[7711],{"headline":6205,"author":7712,"datePublished":7705,"@type":959},{"name":945,"@type":958},{"title":6205,"description":7703},"vue-lifecycle-hooks","Serie práctica para dominar cada hook del ciclo de vida de Vue, desde los básicos hasta los avanzados.","Ciclos de vida en Vue","blog\u002Fvue-lifecycle-ssr-serverprefetch.es",[7719,7722,7723,7724,7725],{"tag":7720,"color":7721},"Ciclo de Vida","#FF6B6B",{"tag":973,"color":974},{"tag":952,"color":966},{"tag":1622,"color":1635},{"tag":7726,"color":7727},"Avanzado","#F54927","gpVQi88PJ9GPzNJNjmGEweIYhWKcd-KIwq-VxiZMkTQ",{"id":7730,"title":7731,"body":7732,"cover":9145,"coverAlt":9146,"date":9147,"description":9148,"draft":1617,"extension":940,"lab":941,"locale":942,"meta":9149,"navigation":208,"path":9153,"schemaOrg":9154,"seo":9157,"series":7714,"seriesDescription":7715,"seriesOrder":273,"seriesTitle":7716,"slug":941,"stem":9158,"tags":9159,"__hash__":9169},"blog\u002Fblog\u002Fvue-lifecycle-render-debug-rendertracked-rendertriggered.es.md","Ciclos de vida en Vue: depuración del render (renderTracked, renderTriggered)",{"type":8,"value":7733,"toc":9126},[7734,7744,7747,7755,7758,7766,7768,7771,7789,7797,7799,7805,7808,7826,7829,7869,7872,7887,7890,7892,7895,7898,7915,7918,7920,7923,7926,7950,7953,7955,7959,7966,7970,7976,7980,7983,7987,7990,7994,7998,8004,8008,8013,8017,8020,8024,8561,9080,9083,9094,9096,9103,9106,9119,9124],[11,7735,7737,7738,1020,7741,6215],{"id":7736},"ciclos-de-vida-en-vue-depuración-del-render-rendertracked-rendertriggered","Ciclos de vida en Vue: depuración del render (",[87,7739,7740],{},"renderTracked",[87,7742,7743],{},"renderTriggered",[15,7745,7746],{},"Hay bugs que no están en la lógica de negocio ni en una API externa. Están en otro nivel: un componente que se vuelve a renderizar demasiadas veces, una lista que recalcula de más o una vista que depende de un estado reactivo que ni siquiera sabías que estaba leyendo.",[15,7748,7749,7750,1023,7752,7754],{},"Este tipo de problema suele ser difícil de detectar porque Vue abstrae muy bien el sistema reactivo. Actualiza cuando corresponde y, desde fuera, parece magia. Precisamente por eso existen ",[87,7751,7740],{},[87,7753,7743],{},": para abrir esa “caja negra” y entender qué está ocurriendo dentro del ciclo de render.",[15,7756,7757],{},"No son hooks para lógica de aplicación. Son herramientas de diagnóstico. Cuando un componente se actualiza “sin razón aparente”, ayudan a responder dos preguntas clave:",[33,7759,7760,7763],{},[36,7761,7762],{},"¿Qué dependencias reactivas se registraron durante el render?",[36,7764,7765],{},"¿Qué cambio concreto disparó el siguiente render?",[22,7767,6227],{"id":6226},[15,7769,7770],{},"A medida que una interfaz crece, el coste de renderizar “un poco de más” deja de ser invisible. Empiezan a aparecer síntomas claros:",[33,7772,7773,7776,7779,7782],{},[36,7774,7775],{},"Inputs que se sienten lentos.",[36,7777,7778],{},"Tablas que se recalculan o reordenan innecesariamente.",[36,7780,7781],{},"Componentes hijos que se actualizan por cambios irrelevantes.",[36,7783,7784,1023,7786,7788],{},[87,7785,1657],{},[87,7787,1661],{}," que parecen correctos, pero participan en renders excesivos.",[15,7790,7791,7792,1023,7794,7796],{},"En estos casos, leer únicamente el template no es suficiente. Necesitas entender la relación entre el render y el sistema reactivo. Aquí es donde ",[87,7793,7740],{},[87,7795,7743],{}," aportan valor: muestran qué dependencias se registraron y qué mutaciones provocaron nuevas actualizaciones.",[22,7798,6253],{"id":6252},[15,7800,7801,7802,7804],{},"Vue registra dependencias reactivas mientras renderiza un componente. Si durante ese proceso el template, un ",[87,7803,1657],{}," o cualquier expresión reactiva accede a una propiedad, Vue la asocia al efecto de render.",[15,7806,7807],{},"Los hooks de depuración permiten observar este proceso:",[33,7809,7810,7818],{},[36,7811,7812,6258,7814,7817],{},[87,7813,7740],{},[87,7815,7816],{},"onRenderTracked()"," (Composition API) se ejecutan cuando una dependencia se registra durante el render.",[36,7819,7820,6258,7822,7825],{},[87,7821,7743],{},[87,7823,7824],{},"onRenderTriggered()"," (Composition API) se ejecutan cuando una de esas dependencias cambia y provoca un nuevo render.",[15,7827,7828],{},"Ambos reciben un objeto de depuración con información como:",[33,7830,7831,7837,7843,7860],{},[36,7832,7833,7836],{},[87,7834,7835],{},"target",": el objeto reactivo implicado.",[36,7838,7839,7842],{},[87,7840,7841],{},"key",": la propiedad accedida o modificada.",[36,7844,7845,7847,7848,1020,7850,1020,7853,1020,7856,7859],{},[87,7846,569],{},": el tipo de operación (",[87,7849,4229],{},[87,7851,7852],{},"set",[87,7854,7855],{},"add",[87,7857,7858],{},"delete",", etc.).",[36,7861,7862,1023,7865,7868],{},[87,7863,7864],{},"newValue",[87,7866,7867],{},"oldValue",", cuando aplica.",[15,7870,7871],{},"Dos matices importantes:",[33,7873,7874,7877],{},[36,7875,7876],{},"Son hooks pensados para desarrollo. No deben formar parte de la lógica de negocio.",[36,7878,7879,7880,90,7883,7886],{},"Su uso típico es con ",[87,7881,7882],{},"console.log()",[87,7884,7885],{},"debugger",", no mutando estado reactivo.",[15,7888,7889],{},"Intentar integrarlos en la lógica de la aplicación suele generar más problemas de los que resuelve.",[22,7891,6318],{"id":6317},[15,7893,7894],{},"Estos hooks tienen sentido cuando necesitas entender por qué un componente renderiza (o re-renderiza).",[15,7896,7897],{},"Casos comunes:",[33,7899,7900,7903,7906,7909],{},[36,7901,7902],{},"Un componente cambia de forma inesperada al modificar un estado aparentemente no relacionado.",[36,7904,7905],{},"Una vista compleja se actualiza demasiadas veces.",[36,7907,7908],{},"Estás optimizando rendimiento y sospechas dependencias innecesarias.",[36,7910,7911,7912,7914],{},"Un ",[87,7913,1657],{}," aparentemente simple provoca renders amplios.",[15,7916,7917],{},"Regla práctica: si la pregunta es “¿por qué este componente se está renderizando?”, estos hooks encajan perfectamente.",[22,7919,6345],{"id":6344},[15,7921,7922],{},"No son una herramienta permanente ni sustituyen una arquitectura clara.",[15,7924,7925],{},"Evítalos cuando:",[33,7927,7928,7939,7944,7947],{},[36,7929,7930,7931,1020,7933,1020,7935,90,7937,1675],{},"El problema se entiende mejor revisando ",[87,7932,3296],{},[87,7934,3303],{},[87,7936,1657],{},[87,7938,1661],{},[36,7940,7941,7942,4266],{},"Solo necesitas reaccionar a cambios específicos (usa ",[87,7943,1661],{},[36,7945,7946],{},"Pretendes almacenar trazas en estado reactivo del mismo componente.",[36,7948,7949],{},"Quieres usarlos como telemetría en producción.",[15,7951,7952],{},"También evita dejarlos en el código una vez terminado el debugging: generan ruido innecesario.",[22,7954,3081],{"id":3080},[3083,7956,7958],{"id":7957},"_1-usarlos-para-lógica-de-negocio","1. Usarlos para lógica de negocio",[15,7960,7961,7962,90,7964,1675],{},"No están diseñados para disparar efectos funcionales. Si necesitas reaccionar a datos, usa ",[87,7963,1661],{},[87,7965,1657],{},[3083,7967,7969],{"id":7968},"_2-mutar-estado-dentro-del-hook","2. Mutar estado dentro del hook",[15,7971,7972,7973,7975],{},"Guardar eventos en un ",[87,7974,2081],{}," puede introducir renders adicionales y contaminar la depuración.",[3083,7977,7979],{"id":7978},"_3-culpar-a-vue-en-lugar-del-alcance-reactivo","3. Culpar a Vue en lugar del alcance reactivo",[15,7981,7982],{},"Si el template accede a un objeto grande, Vue hará lo correcto: suscribirse a todo lo que se use.",[3083,7984,7986],{"id":7985},"_4-asumir-comportamiento-estable-en-producción","4. Asumir comportamiento estable en producción",[15,7988,7989],{},"Son herramientas de debugging, no API para comportamiento funcional.",[22,7991,7993],{"id":7992},"ejemplos-prácticos","Ejemplos prácticos",[3083,7995,7997],{"id":7996},"detectar-dependencias-accidentales","Detectar dependencias accidentales",[15,7999,8000,8001,8003],{},"Una tabla puede estar leyendo más estado del necesario (filtros, flags, metadatos). ",[87,8002,7740],{}," permite verlo claramente.",[3083,8005,8007],{"id":8006},"identificar-qué-dispara-un-render","Identificar qué dispara un render",[15,8009,8010,8012],{},[87,8011,7743],{}," muestra la clave exacta que provocó la actualización, eliminando suposiciones.",[3083,8014,8016],{"id":8015},"optimizar-componentes-conectados-a-stores","Optimizar componentes conectados a stores",[15,8018,8019],{},"Permite validar si el componente depende solo de lo necesario o si está sobre-suscrito a estado global.",[22,8021,8023],{"id":8022},"ejemplo-completo","Ejemplo completo",[154,8025,8027],{"className":156,"code":8026,"filename":3256,"language":162,"meta":163,"style":163},"\u003Cscript setup lang=\"ts\">\nimport { computed, onRenderTracked, onRenderTriggered, reactive, ref } from 'vue'\n\nconst filters = reactive({\n  search: '',\n  showOnlyOpen: false\n})\n\nconst ui = reactive({\n  selectedId: 1,\n  panelOpen: true\n})\n\nconst tasks = ref([\n  { id: 1, title: 'Revisar PR', done: false, owner: 'Ana' },\n  { id: 2, title: 'Actualizar dependencias', done: true, owner: 'Luis' },\n  { id: 3, title: 'Documentar composable', done: false, owner: 'Ana' }\n])\n\nconst visibleTasks = computed(() => {\n  return tasks.value.filter(task => {\n    const matchesSearch = task.title\n      .toLowerCase()\n      .includes(filters.search.toLowerCase())\n\n    const matchesStatus = filters.showOnlyOpen ? !task.done : true\n\n    return matchesSearch && matchesStatus\n  })\n})\n\nonRenderTracked((event) => {\n  console.log('[renderTracked]', {\n    type: event.type,\n    key: String(event.key),\n    target: event.target\n  })\n})\n\nonRenderTriggered((event) => {\n  console.log('[renderTriggered]', {\n    type: event.type,\n    key: String(event.key),\n    oldValue: event.oldValue,\n    newValue: event.newValue\n  })\n})\n\nfunction toggleTask(taskId: number) {\n  const task = tasks.value.find(item => item.id === taskId)\n\n  if (!task) return\n\n  task.done = !task.done\n}\n\u003C\u002Fscript>\n",[87,8028,8029,8045,8056,8060,8073,8082,8090,8094,8098,8111,8120,8127,8131,8135,8147,8171,8193,8215,8219,8223,8240,8258,8271,8280,8294,8298,8322,8326,8339,8344,8348,8352,8367,8380,8385,8395,8400,8404,8408,8412,8427,8440,8444,8452,8457,8462,8466,8470,8474,8492,8516,8520,8533,8537,8549,8553],{"__ignoreMap":163},[167,8030,8031,8033,8035,8037,8039,8041,8043],{"class":169,"line":170},[167,8032,174],{"class":173},[167,8034,178],{"class":177},[167,8036,182],{"class":181},[167,8038,1045],{"class":181},[167,8040,267],{"class":173},[167,8042,1050],{"class":201},[167,8044,185],{"class":173},[167,8046,8047,8049,8052,8054],{"class":169,"line":188},[167,8048,192],{"class":191},[167,8050,8051],{"class":173}," { computed, onRenderTracked, onRenderTriggered, reactive, ref } ",[167,8053,198],{"class":191},[167,8055,202],{"class":201},[167,8057,8058],{"class":169,"line":205},[167,8059,209],{"emptyLinePlaceholder":208},[167,8061,8062,8064,8067,8069,8071],{"class":169,"line":160},[167,8063,216],{"class":191},[167,8065,8066],{"class":219}," filters",[167,8068,223],{"class":191},[167,8070,846],{"class":181},[167,8072,372],{"class":173},[167,8074,8075,8078,8080],{"class":169,"line":238},[167,8076,8077],{"class":173},"  search: ",[167,8079,2180],{"class":201},[167,8081,393],{"class":173},[167,8083,8084,8087],{"class":169,"line":243},[167,8085,8086],{"class":173},"  showOnlyOpen: ",[167,8088,8089],{"class":219},"false\n",[167,8091,8092],{"class":169,"line":261},[167,8093,403],{"class":173},[167,8095,8096],{"class":169,"line":273},[167,8097,209],{"emptyLinePlaceholder":208},[167,8099,8100,8102,8105,8107,8109],{"class":169,"line":279},[167,8101,216],{"class":191},[167,8103,8104],{"class":219}," ui",[167,8106,223],{"class":191},[167,8108,846],{"class":181},[167,8110,372],{"class":173},[167,8112,8113,8116,8118],{"class":169,"line":289},[167,8114,8115],{"class":173},"  selectedId: ",[167,8117,1831],{"class":219},[167,8119,393],{"class":173},[167,8121,8122,8125],{"class":169,"line":294},[167,8123,8124],{"class":173},"  panelOpen: ",[167,8126,3633],{"class":219},[167,8128,8129],{"class":169,"line":304},[167,8130,403],{"class":173},[167,8132,8133],{"class":169,"line":313},[167,8134,209],{"emptyLinePlaceholder":208},[167,8136,8137,8139,8141,8143,8145],{"class":169,"line":161},[167,8138,216],{"class":191},[167,8140,3364],{"class":219},[167,8142,223],{"class":191},[167,8144,226],{"class":181},[167,8146,1823],{"class":173},[167,8148,8149,8151,8153,8155,8158,8161,8163,8166,8169],{"class":169,"line":335},[167,8150,1828],{"class":173},[167,8152,1831],{"class":219},[167,8154,3379],{"class":173},[167,8156,8157],{"class":201},"'Revisar PR'",[167,8159,8160],{"class":173},", done: ",[167,8162,3388],{"class":219},[167,8164,8165],{"class":173},", owner: ",[167,8167,8168],{"class":201},"'Ana'",[167,8170,1852],{"class":173},[167,8172,8173,8175,8177,8179,8182,8184,8186,8188,8191],{"class":169,"line":341},[167,8174,1828],{"class":173},[167,8176,1849],{"class":219},[167,8178,3379],{"class":173},[167,8180,8181],{"class":201},"'Actualizar dependencias'",[167,8183,8160],{"class":173},[167,8185,390],{"class":219},[167,8187,8165],{"class":173},[167,8189,8190],{"class":201},"'Luis'",[167,8192,1852],{"class":173},[167,8194,8195,8197,8200,8202,8205,8207,8209,8211,8213],{"class":169,"line":489},[167,8196,1828],{"class":173},[167,8198,8199],{"class":219},"3",[167,8201,3379],{"class":173},[167,8203,8204],{"class":201},"'Documentar composable'",[167,8206,8160],{"class":173},[167,8208,3388],{"class":219},[167,8210,8165],{"class":173},[167,8212,8168],{"class":201},[167,8214,599],{"class":173},[167,8216,8217],{"class":169,"line":495},[167,8218,429],{"class":173},[167,8220,8221],{"class":169,"line":501},[167,8222,209],{"emptyLinePlaceholder":208},[167,8224,8225,8227,8230,8232,8234,8236,8238],{"class":169,"line":512},[167,8226,216],{"class":191},[167,8228,8229],{"class":219}," visibleTasks",[167,8231,223],{"class":191},[167,8233,1894],{"class":181},[167,8235,1488],{"class":173},[167,8237,639],{"class":191},[167,8239,1901],{"class":173},[167,8241,8242,8244,8246,8249,8251,8253,8256],{"class":169,"line":781},[167,8243,1534],{"class":191},[167,8245,3447],{"class":173},[167,8247,8248],{"class":181},"filter",[167,8250,229],{"class":173},[167,8252,5071],{"class":254},[167,8254,8255],{"class":191}," =>",[167,8257,1901],{"class":173},[167,8259,8260,8263,8266,8268],{"class":169,"line":786},[167,8261,8262],{"class":191},"    const",[167,8264,8265],{"class":219}," matchesSearch",[167,8267,223],{"class":191},[167,8269,8270],{"class":173}," task.title\n",[167,8272,8273,8276,8278],{"class":169,"line":2674},[167,8274,8275],{"class":173},"      .",[167,8277,2502],{"class":181},[167,8279,2913],{"class":173},[167,8281,8282,8284,8287,8290,8292],{"class":169,"line":2688},[167,8283,8275],{"class":173},[167,8285,8286],{"class":181},"includes",[167,8288,8289],{"class":173},"(filters.search.",[167,8291,2502],{"class":181},[167,8293,2505],{"class":173},[167,8295,8296],{"class":169,"line":3571},[167,8297,209],{"emptyLinePlaceholder":208},[167,8299,8300,8302,8305,8307,8310,8313,8315,8318,8320],{"class":169,"line":5024},[167,8301,8262],{"class":191},[167,8303,8304],{"class":219}," matchesStatus",[167,8306,223],{"class":191},[167,8308,8309],{"class":173}," filters.showOnlyOpen ",[167,8311,8312],{"class":191},"?",[167,8314,5621],{"class":191},[167,8316,8317],{"class":173},"task.done ",[167,8319,583],{"class":191},[167,8321,3483],{"class":219},[167,8323,8324],{"class":169,"line":5033},[167,8325,209],{"emptyLinePlaceholder":208},[167,8327,8328,8330,8333,8336],{"class":169,"line":5042},[167,8329,1933],{"class":191},[167,8331,8332],{"class":173}," matchesSearch ",[167,8334,8335],{"class":191},"&&",[167,8337,8338],{"class":173}," matchesStatus\n",[167,8340,8341],{"class":169,"line":6752},[167,8342,8343],{"class":173},"  })\n",[167,8345,8346],{"class":169,"line":6774},[167,8347,403],{"class":173},[167,8349,8350],{"class":169,"line":6779},[167,8351,209],{"emptyLinePlaceholder":208},[167,8353,8354,8357,8359,8361,8363,8365],{"class":169,"line":6784},[167,8355,8356],{"class":181},"onRenderTracked",[167,8358,1914],{"class":173},[167,8360,4191],{"class":254},[167,8362,693],{"class":173},[167,8364,639],{"class":191},[167,8366,1901],{"class":173},[167,8368,8369,8371,8373,8375,8378],{"class":169,"line":6789},[167,8370,2604],{"class":173},[167,8372,2607],{"class":181},[167,8374,229],{"class":173},[167,8376,8377],{"class":201},"'[renderTracked]'",[167,8379,627],{"class":173},[167,8381,8382],{"class":169,"line":6805},[167,8383,8384],{"class":173},"    type: event.type,\n",[167,8386,8387,8390,8392],{"class":169,"line":6820},[167,8388,8389],{"class":173},"    key: ",[167,8391,4254],{"class":181},[167,8393,8394],{"class":173},"(event.key),\n",[167,8396,8397],{"class":169,"line":6825},[167,8398,8399],{"class":173},"    target: event.target\n",[167,8401,8402],{"class":169,"line":6832},[167,8403,8343],{"class":173},[167,8405,8406],{"class":169,"line":6841},[167,8407,403],{"class":173},[167,8409,8410],{"class":169,"line":6850},[167,8411,209],{"emptyLinePlaceholder":208},[167,8413,8414,8417,8419,8421,8423,8425],{"class":169,"line":6857},[167,8415,8416],{"class":181},"onRenderTriggered",[167,8418,1914],{"class":173},[167,8420,4191],{"class":254},[167,8422,693],{"class":173},[167,8424,639],{"class":191},[167,8426,1901],{"class":173},[167,8428,8429,8431,8433,8435,8438],{"class":169,"line":6875},[167,8430,2604],{"class":173},[167,8432,2607],{"class":181},[167,8434,229],{"class":173},[167,8436,8437],{"class":201},"'[renderTriggered]'",[167,8439,627],{"class":173},[167,8441,8442],{"class":169,"line":6880},[167,8443,8384],{"class":173},[167,8445,8446,8448,8450],{"class":169,"line":6885},[167,8447,8389],{"class":173},[167,8449,4254],{"class":181},[167,8451,8394],{"class":173},[167,8453,8454],{"class":169,"line":6894},[167,8455,8456],{"class":173},"    oldValue: event.oldValue,\n",[167,8458,8459],{"class":169,"line":6899},[167,8460,8461],{"class":173},"    newValue: event.newValue\n",[167,8463,8464],{"class":169,"line":6908},[167,8465,8343],{"class":173},[167,8467,8468],{"class":169,"line":6924},[167,8469,403],{"class":173},[167,8471,8472],{"class":169,"line":6945},[167,8473,209],{"emptyLinePlaceholder":208},[167,8475,8476,8478,8481,8483,8485,8487,8490],{"class":169,"line":6950},[167,8477,246],{"class":191},[167,8479,8480],{"class":181}," toggleTask",[167,8482,229],{"class":173},[167,8484,3429],{"class":254},[167,8486,583],{"class":191},[167,8488,8489],{"class":219}," number",[167,8491,258],{"class":173},[167,8493,8494,8496,8498,8500,8502,8504,8506,8508,8510,8512,8514],{"class":169,"line":6971},[167,8495,1438],{"class":191},[167,8497,3442],{"class":219},[167,8499,223],{"class":191},[167,8501,3447],{"class":173},[167,8503,3450],{"class":181},[167,8505,229],{"class":173},[167,8507,1922],{"class":254},[167,8509,8255],{"class":191},[167,8511,3461],{"class":173},[167,8513,2546],{"class":191},[167,8515,3466],{"class":173},[167,8517,8518],{"class":169,"line":6985},[167,8519,209],{"emptyLinePlaceholder":208},[167,8521,8522,8524,8526,8528,8531],{"class":169,"line":6999},[167,8523,2540],{"class":191},[167,8525,2522],{"class":173},[167,8527,6637],{"class":191},[167,8529,8530],{"class":173},"task) ",[167,8532,2552],{"class":191},[167,8534,8535],{"class":169,"line":7013},[167,8536,209],{"emptyLinePlaceholder":208},[167,8538,8539,8542,8544,8546],{"class":169,"line":7022},[167,8540,8541],{"class":173},"  task.done ",[167,8543,267],{"class":191},[167,8545,5621],{"class":191},[167,8547,8548],{"class":173},"task.done\n",[167,8550,8551],{"class":169,"line":7027},[167,8552,276],{"class":173},[167,8554,8555,8557,8559],{"class":169,"line":7044},[167,8556,282],{"class":173},[167,8558,178],{"class":177},[167,8560,185],{"class":173},[154,8562,8564],{"className":156,"code":8563,"filename":3969,"language":162,"meta":163,"style":163},"\u003Cscript lang=\"ts\">\nexport default {\n  name: 'TaskRenderDebugger',\n\n  data() {\n    return {\n      filters: {\n        search: '',\n        showOnlyOpen: false\n      },\n      ui: {\n        selectedId: 1,\n        panelOpen: true\n      },\n      tasks: [\n        { id: 1, title: 'Revisar PR', done: false, owner: 'Ana' },\n        { id: 2, title: 'Actualizar dependencias', done: true, owner: 'Luis' },\n        { id: 3, title: 'Documentar composable', done: false, owner: 'Ana' }\n      ]\n    }\n  },\n\n  computed: {\n    visibleTasks() {\n      return this.tasks.filter(task => {\n        const matchesSearch = task.title\n          .toLowerCase()\n          .includes(this.filters.search.toLowerCase())\n\n        const matchesStatus = this.filters.showOnlyOpen ? !task.done : true\n\n        return matchesSearch && matchesStatus\n      })\n    }\n  },\n\n  renderTracked(event) {\n    console.log('[renderTracked]', {\n      type: event.type,\n      key: String(event.key),\n      target: event.target\n    })\n  },\n\n  renderTriggered(event) {\n    console.log('[renderTriggered]', {\n      type: event.type,\n      key: String(event.key),\n      oldValue: event.oldValue,\n      newValue: event.newValue\n    })\n  },\n\n  methods: {\n    toggleTask(taskId) {\n      const task = this.tasks.find(item => item.id === taskId)\n\n      if (!task) return\n\n      task.done = !task.done\n    }\n  }\n}\n\u003C\u002Fscript>\n",[87,8565,8566,8580,8588,8597,8601,8607,8613,8618,8627,8634,8639,8644,8653,8660,8664,8669,8690,8710,8730,8735,8739,8743,8747,8752,8759,8779,8790,8799,8816,8820,8843,8847,8858,8863,8867,8871,8875,8886,8899,8904,8913,8918,8923,8927,8931,8942,8954,8958,8966,8971,8976,8980,8984,8988,8992,9003,9029,9033,9045,9049,9060,9064,9068,9072],{"__ignoreMap":163},[167,8567,8568,8570,8572,8574,8576,8578],{"class":169,"line":170},[167,8569,174],{"class":173},[167,8571,178],{"class":177},[167,8573,1045],{"class":181},[167,8575,267],{"class":173},[167,8577,1050],{"class":201},[167,8579,185],{"class":173},[167,8581,8582,8584,8586],{"class":169,"line":188},[167,8583,608],{"class":191},[167,8585,3987],{"class":191},[167,8587,1901],{"class":173},[167,8589,8590,8592,8595],{"class":169,"line":205},[167,8591,4394],{"class":173},[167,8593,8594],{"class":201},"'TaskRenderDebugger'",[167,8596,393],{"class":173},[167,8598,8599],{"class":169,"line":160},[167,8600,209],{"emptyLinePlaceholder":208},[167,8602,8603,8605],{"class":169,"line":238},[167,8604,7172],{"class":181},[167,8606,763],{"class":173},[167,8608,8609,8611],{"class":169,"line":243},[167,8610,1933],{"class":191},[167,8612,1901],{"class":173},[167,8614,8615],{"class":169,"line":261},[167,8616,8617],{"class":173},"      filters: {\n",[167,8619,8620,8623,8625],{"class":169,"line":273},[167,8621,8622],{"class":173},"        search: ",[167,8624,2180],{"class":201},[167,8626,393],{"class":173},[167,8628,8629,8632],{"class":169,"line":279},[167,8630,8631],{"class":173},"        showOnlyOpen: ",[167,8633,8089],{"class":219},[167,8635,8636],{"class":169,"line":289},[167,8637,8638],{"class":173},"      },\n",[167,8640,8641],{"class":169,"line":294},[167,8642,8643],{"class":173},"      ui: {\n",[167,8645,8646,8649,8651],{"class":169,"line":304},[167,8647,8648],{"class":173},"        selectedId: ",[167,8650,1831],{"class":219},[167,8652,393],{"class":173},[167,8654,8655,8658],{"class":169,"line":313},[167,8656,8657],{"class":173},"        panelOpen: ",[167,8659,3633],{"class":219},[167,8661,8662],{"class":169,"line":161},[167,8663,8638],{"class":173},[167,8665,8666],{"class":169,"line":335},[167,8667,8668],{"class":173},"      tasks: [\n",[167,8670,8671,8674,8676,8678,8680,8682,8684,8686,8688],{"class":169,"line":341},[167,8672,8673],{"class":173},"        { id: ",[167,8675,1831],{"class":219},[167,8677,3379],{"class":173},[167,8679,8157],{"class":201},[167,8681,8160],{"class":173},[167,8683,3388],{"class":219},[167,8685,8165],{"class":173},[167,8687,8168],{"class":201},[167,8689,1852],{"class":173},[167,8691,8692,8694,8696,8698,8700,8702,8704,8706,8708],{"class":169,"line":489},[167,8693,8673],{"class":173},[167,8695,1849],{"class":219},[167,8697,3379],{"class":173},[167,8699,8181],{"class":201},[167,8701,8160],{"class":173},[167,8703,390],{"class":219},[167,8705,8165],{"class":173},[167,8707,8190],{"class":201},[167,8709,1852],{"class":173},[167,8711,8712,8714,8716,8718,8720,8722,8724,8726,8728],{"class":169,"line":495},[167,8713,8673],{"class":173},[167,8715,8199],{"class":219},[167,8717,3379],{"class":173},[167,8719,8204],{"class":201},[167,8721,8160],{"class":173},[167,8723,3388],{"class":219},[167,8725,8165],{"class":173},[167,8727,8168],{"class":201},[167,8729,599],{"class":173},[167,8731,8732],{"class":169,"line":501},[167,8733,8734],{"class":173},"      ]\n",[167,8736,8737],{"class":169,"line":512},[167,8738,4045],{"class":173},[167,8740,8741],{"class":169,"line":781},[167,8742,398],{"class":173},[167,8744,8745],{"class":169,"line":786},[167,8746,209],{"emptyLinePlaceholder":208},[167,8748,8749],{"class":169,"line":2674},[167,8750,8751],{"class":173},"  computed: {\n",[167,8753,8754,8757],{"class":169,"line":2688},[167,8755,8756],{"class":181},"    visibleTasks",[167,8758,763],{"class":173},[167,8760,8761,8764,8766,8769,8771,8773,8775,8777],{"class":169,"line":3571},[167,8762,8763],{"class":191},"      return",[167,8765,7347],{"class":219},[167,8767,8768],{"class":173},".tasks.",[167,8770,8248],{"class":181},[167,8772,229],{"class":173},[167,8774,5071],{"class":254},[167,8776,8255],{"class":191},[167,8778,1901],{"class":173},[167,8780,8781,8784,8786,8788],{"class":169,"line":5024},[167,8782,8783],{"class":191},"        const",[167,8785,8265],{"class":219},[167,8787,223],{"class":191},[167,8789,8270],{"class":173},[167,8791,8792,8795,8797],{"class":169,"line":5033},[167,8793,8794],{"class":173},"          .",[167,8796,2502],{"class":181},[167,8798,2913],{"class":173},[167,8800,8801,8803,8805,8807,8809,8812,8814],{"class":169,"line":5042},[167,8802,8794],{"class":173},[167,8804,8286],{"class":181},[167,8806,229],{"class":173},[167,8808,4923],{"class":219},[167,8810,8811],{"class":173},".filters.search.",[167,8813,2502],{"class":181},[167,8815,2505],{"class":173},[167,8817,8818],{"class":169,"line":6752},[167,8819,209],{"emptyLinePlaceholder":208},[167,8821,8822,8824,8826,8828,8830,8833,8835,8837,8839,8841],{"class":169,"line":6774},[167,8823,8783],{"class":191},[167,8825,8304],{"class":219},[167,8827,223],{"class":191},[167,8829,7347],{"class":219},[167,8831,8832],{"class":173},".filters.showOnlyOpen ",[167,8834,8312],{"class":191},[167,8836,5621],{"class":191},[167,8838,8317],{"class":173},[167,8840,583],{"class":191},[167,8842,3483],{"class":219},[167,8844,8845],{"class":169,"line":6779},[167,8846,209],{"emptyLinePlaceholder":208},[167,8848,8849,8852,8854,8856],{"class":169,"line":6784},[167,8850,8851],{"class":191},"        return",[167,8853,8332],{"class":173},[167,8855,8335],{"class":191},[167,8857,8338],{"class":173},[167,8859,8860],{"class":169,"line":6789},[167,8861,8862],{"class":173},"      })\n",[167,8864,8865],{"class":169,"line":6805},[167,8866,4045],{"class":173},[167,8868,8869],{"class":169,"line":6820},[167,8870,398],{"class":173},[167,8872,8873],{"class":169,"line":6825},[167,8874,209],{"emptyLinePlaceholder":208},[167,8876,8877,8880,8882,8884],{"class":169,"line":6832},[167,8878,8879],{"class":181},"  renderTracked",[167,8881,229],{"class":173},[167,8883,4191],{"class":254},[167,8885,258],{"class":173},[167,8887,8888,8891,8893,8895,8897],{"class":169,"line":6841},[167,8889,8890],{"class":173},"    console.",[167,8892,2607],{"class":181},[167,8894,229],{"class":173},[167,8896,8377],{"class":201},[167,8898,627],{"class":173},[167,8900,8901],{"class":169,"line":6850},[167,8902,8903],{"class":173},"      type: event.type,\n",[167,8905,8906,8909,8911],{"class":169,"line":6857},[167,8907,8908],{"class":173},"      key: ",[167,8910,4254],{"class":181},[167,8912,8394],{"class":173},[167,8914,8915],{"class":169,"line":6875},[167,8916,8917],{"class":173},"      target: event.target\n",[167,8919,8920],{"class":169,"line":6880},[167,8921,8922],{"class":173},"    })\n",[167,8924,8925],{"class":169,"line":6885},[167,8926,398],{"class":173},[167,8928,8929],{"class":169,"line":6894},[167,8930,209],{"emptyLinePlaceholder":208},[167,8932,8933,8936,8938,8940],{"class":169,"line":6899},[167,8934,8935],{"class":181},"  renderTriggered",[167,8937,229],{"class":173},[167,8939,4191],{"class":254},[167,8941,258],{"class":173},[167,8943,8944,8946,8948,8950,8952],{"class":169,"line":6908},[167,8945,8890],{"class":173},[167,8947,2607],{"class":181},[167,8949,229],{"class":173},[167,8951,8437],{"class":201},[167,8953,627],{"class":173},[167,8955,8956],{"class":169,"line":6924},[167,8957,8903],{"class":173},[167,8959,8960,8962,8964],{"class":169,"line":6945},[167,8961,8908],{"class":173},[167,8963,4254],{"class":181},[167,8965,8394],{"class":173},[167,8967,8968],{"class":169,"line":6950},[167,8969,8970],{"class":173},"      oldValue: event.oldValue,\n",[167,8972,8973],{"class":169,"line":6971},[167,8974,8975],{"class":173},"      newValue: event.newValue\n",[167,8977,8978],{"class":169,"line":6985},[167,8979,8922],{"class":173},[167,8981,8982],{"class":169,"line":6999},[167,8983,398],{"class":173},[167,8985,8986],{"class":169,"line":7013},[167,8987,209],{"emptyLinePlaceholder":208},[167,8989,8990],{"class":169,"line":7022},[167,8991,4415],{"class":173},[167,8993,8994,8997,8999,9001],{"class":169,"line":7027},[167,8995,8996],{"class":181},"    toggleTask",[167,8998,229],{"class":173},[167,9000,3429],{"class":254},[167,9002,258],{"class":173},[167,9004,9005,9007,9009,9011,9013,9015,9017,9019,9021,9023,9025,9027],{"class":169,"line":7044},[167,9006,4431],{"class":191},[167,9008,3442],{"class":219},[167,9010,223],{"class":191},[167,9012,7347],{"class":219},[167,9014,8768],{"class":173},[167,9016,3450],{"class":181},[167,9018,229],{"class":173},[167,9020,1922],{"class":254},[167,9022,8255],{"class":191},[167,9024,3461],{"class":173},[167,9026,2546],{"class":191},[167,9028,3466],{"class":173},[167,9030,9031],{"class":169,"line":7053},[167,9032,209],{"emptyLinePlaceholder":208},[167,9034,9035,9037,9039,9041,9043],{"class":169,"line":7551},[167,9036,7257],{"class":191},[167,9038,2522],{"class":173},[167,9040,6637],{"class":191},[167,9042,8530],{"class":173},[167,9044,2552],{"class":191},[167,9046,9047],{"class":169,"line":7556},[167,9048,209],{"emptyLinePlaceholder":208},[167,9050,9051,9054,9056,9058],{"class":169,"line":7575},[167,9052,9053],{"class":173},"      task.done ",[167,9055,267],{"class":191},[167,9057,5621],{"class":191},[167,9059,8548],{"class":173},[167,9061,9062],{"class":169,"line":7588},[167,9063,4045],{"class":173},[167,9065,9066],{"class":169,"line":7601},[167,9067,3488],{"class":173},[167,9069,9070],{"class":169,"line":7614},[167,9071,276],{"class":173},[167,9073,9074,9076,9078],{"class":169,"line":7623},[167,9075,282],{"class":173},[167,9077,178],{"class":177},[167,9079,185],{"class":173},[15,9081,9082],{},"Este ejemplo permite observar claramente:",[33,9084,9085,9088,9091],{},[36,9086,9087],{},"Qué dependencias se registran al renderizar.",[36,9089,9090],{},"Qué cambios provocan nuevas actualizaciones.",[36,9092,9093],{},"Cómo el alcance del componente afecta su reactividad.",[22,9095,7674],{"id":7673},[15,9097,9098,1023,9100,9102],{},[87,9099,7740],{},[87,9101,7743],{}," no son herramientas decorativas ni de observabilidad general. Son instrumentos de diagnóstico para entender el render desde dentro.",[15,9104,9105],{},"Bien utilizados, permiten:",[33,9107,9108,9111,9114],{},[36,9109,9110],{},"Detectar dependencias accidentales.",[36,9112,9113],{},"Reducir renders innecesarios.",[36,9115,9116,9117,1675],{},"Comprender mejor la relación entre template, estado reactivo y ",[87,9118,1657],{},[5363,9120,9121],{},[15,9122,9123],{},"Antes de optimizar a ciegas, observa qué dependencias se registran y qué cambios están disparando el render.",[924,9125,1604],{},{"title":163,"searchDepth":188,"depth":188,"links":9127},[9128,9129,9130,9131,9132,9138,9143,9144],{"id":6226,"depth":188,"text":6227},{"id":6252,"depth":188,"text":6253},{"id":6317,"depth":188,"text":6318},{"id":6344,"depth":188,"text":6345},{"id":3080,"depth":188,"text":3081,"children":9133},[9134,9135,9136,9137],{"id":7957,"depth":205,"text":7958},{"id":7968,"depth":205,"text":7969},{"id":7978,"depth":205,"text":7979},{"id":7985,"depth":205,"text":7986},{"id":7992,"depth":188,"text":7993,"children":9139},[9140,9141,9142],{"id":7996,"depth":205,"text":7997},{"id":8006,"depth":205,"text":8007},{"id":8015,"depth":205,"text":8016},{"id":8022,"depth":188,"text":8023},{"id":7673,"depth":188,"text":7674},"https:\u002F\u002Fres.cloudinary.com\u002Fdenj4fg7f\u002Fimage\u002Fupload\u002Fv1773802976\u002Fvue-lifecycle-render-debug-rendertracked-rendertriggered_ekkgg1.png","Ilustración de depuración del render en Vue con renderTracked y renderTriggered","2026-03-18","Cómo usar renderTracked, renderTriggered, onRenderTracked y onRenderTriggered para entender qué dependencias entran en un render y qué cambios están forzando nuevas actualizaciones.",{"updatedAt":9150,"coverCaption":9151,"author":945,"keywords":9152},"2026-03-17T22:00:00-05:00","renderTracked y renderTriggered ayudan a ver qué dependencia entra al render y cuál lo vuelve a disparar.",[3254,7740,7743,8356,8416],"\u002Fblog\u002Fvue-lifecycle-render-debug-rendertracked-rendertriggered.es",[9155],{"headline":7731,"author":9156,"datePublished":9150,"@type":959},{"name":945,"@type":958},{"title":7731,"description":9148},"blog\u002Fvue-lifecycle-render-debug-rendertracked-rendertriggered.es",[9160,9161,9164,9167,9168],{"tag":7720,"color":7721},{"tag":9162,"color":9163},"Depuración","#C44569",{"tag":9165,"color":9166},"Renderizado","#E17055",{"tag":3265,"color":3266},{"tag":7726,"color":7727},"5mr-vMalD_jw1VlwSiz5cmZRVM9obP8ZlRFNu2rgR88",{"id":9171,"title":9172,"body":9173,"cover":11115,"coverAlt":11116,"date":11117,"description":11118,"draft":1617,"extension":940,"lab":941,"locale":942,"meta":11119,"navigation":208,"path":11125,"schemaOrg":11126,"seo":11129,"series":7714,"seriesDescription":7715,"seriesOrder":261,"seriesTitle":7716,"slug":941,"stem":11130,"tags":11131,"__hash__":11138},"blog\u002Fblog\u002Fvue-lifecycle-error-handling-errorcaptured.es.md","Ciclos de vida en Vue: manejo de errores con errorCaptured",{"type":8,"value":9174,"toc":11095},[9175,9182,9185,9191,9193,9196,9202,9204,9217,9220,9244,9247,9267,9270,9287,9295,9297,9302,9305,9319,9325,9327,9333,9335,9362,9367,9369,9373,9376,9379,9386,9392,9395,9399,9402,9405,9409,9415,9417,9421,9424,9428,9431,9435,9438,9440,10329,11075,11078,11083,11085,11090,11093],[11,9176,9178,9179],{"id":9177},"ciclos-de-vida-en-vue-manejo-de-errores-con-errorcaptured","Ciclos de vida en Vue: manejo de errores con ",[87,9180,9181],{},"errorCaptured",[15,9183,9184],{},"Los errores en la interfaz rara vez avisan. Un widget deja de renderizar, una dependencia de terceros lanza una excepción o una vista hija falla durante una actualización, y de pronto el usuario se queda con un bloque en blanco o una pantalla incompleta.",[15,9186,9187,9188,9190],{},"Ahí es donde ",[87,9189,9181],{}," cobra valor. No evita que ocurran errores, pero te permite contenerlos en el lugar adecuado, registrar contexto útil y ofrecer una salida digna sin comprometer toda la UI.",[22,9192,6227],{"id":6226},[15,9194,9195],{},"A medida que una aplicación crece, no todos los componentes tienen el mismo nivel de confianza. Hay piezas muy estables y otras más frágiles: integraciones con librerías externas, widgets complejos, paneles que dependen de datos cambiantes o componentes en evolución constante.",[15,9197,9198,9199,9201],{},"Si los fallos se propagan sin control, el impacto suele ser desproporcionado. Un error en una tarjeta secundaria puede terminar afectando toda una pantalla. ",[87,9200,9181],{}," permite establecer límites: este bloque puede fallar, pero el resto de la página debe seguir funcionando.",[22,9203,6253],{"id":6252},[15,9205,9206,9208,9209,9212,9213,9216],{},[87,9207,9181],{}," es un hook de la Options API, y ",[87,9210,9211],{},"onErrorCaptured()"," es su equivalente en Composition API. Ambos permiten interceptar errores que ocurren en ",[3929,9214,9215],{},"componentes descendientes"," del componente actual.",[15,9218,9219],{},"Esto incluye errores originados en partes habituales del flujo de Vue, como:",[33,9221,9222,9224,9227,9230,9235,9238,9241],{},[36,9223,9165],{},[36,9225,9226],{},"Event handlers",[36,9228,9229],{},"Hooks del ciclo de vida",[36,9231,9232],{},[87,9233,9234],{},"setup()",[36,9236,9237],{},"Watchers",[36,9239,9240],{},"Directivas personalizadas",[36,9242,9243],{},"Hooks de transición",[15,9245,9246],{},"El hook recibe tres argumentos:",[33,9248,9249,9255,9261],{},[36,9250,9251,9254],{},[87,9252,9253],{},"err",": el error capturado",[36,9256,9257,9260],{},[87,9258,9259],{},"instance",": la instancia del componente que lanzó el error",[36,9262,9263,9266],{},[87,9264,9265],{},"info",": una pista sobre el origen (por ejemplo, si ocurrió en render o en un evento)",[15,9268,9269],{},"Hay dos aspectos clave a tener en cuenta:",[33,9271,9272,9275],{},[36,9273,9274],{},"Solo captura errores de componentes hijos (y descendientes). No intercepta errores del mismo componente donde se declara.",[36,9276,9277,9278,9280,9281,9283,9284,1675],{},"Si devuelve ",[87,9279,3388],{},", detiene la propagación del error hacia otros hooks ",[87,9282,9181],{}," superiores y hacia ",[87,9285,9286],{},"app.config.errorHandler",[15,9288,9289,9290,9294],{},"En la práctica, funciona como un ",[9291,9292,9293],"em",{},"error boundary"," local. Lo habitual es usarlo para tres objetivos simultáneos: registrar el error, mostrar un fallback y evitar que una parte aislada de la interfaz derribe el resto.",[22,9296,6318],{"id":6317},[15,9298,9299,9301],{},[87,9300,9181],{}," encaja bien cuando necesitas aislar fallos en una zona concreta de la UI.",[15,9303,9304],{},"Casos típicos:",[33,9306,9307,9310,9313,9316],{},[36,9308,9309],{},"Un dashboard con widgets independientes donde una tarjeta puede fallar sin romper toda la vista.",[36,9311,9312],{},"Un editor, gráfico o componente de terceros que conviene encapsular detrás de un fallback.",[36,9314,9315],{},"Un área de administración donde ciertos módulos se cargan de forma condicional y no deberían comprometer la navegación principal.",[36,9317,9318],{},"Un layout con bloques reutilizables donde quieres centralizar logging y mostrar mensajes útiles al usuario.",[15,9320,9321,9322,9324],{},"Regla práctica: si un componente hijo puede fallar y quieres contener el impacto, ",[87,9323,9181],{}," es una buena solución.",[22,9326,6345],{"id":6344},[15,9328,9329,9330,9332],{},"No conviene usar ",[87,9331,9181],{}," como solución universal.",[15,9334,6351],{},[33,9336,9337,9349,9356,9359],{},[36,9338,9339,9340,1020,9343,1020,9346,4266],{},"El problema es un error esperado de negocio; en ese caso es mejor modelarlo como estado (",[87,9341,9342],{},"loading",[87,9344,9345],{},"empty",[87,9347,9348],{},"error",[36,9350,9351,9352,9355],{},"Solo necesitas manejar errores de una operación concreta; un ",[87,9353,9354],{},"try\u002Fcatch"," suele ser más claro.",[36,9357,9358],{},"Se utiliza para ocultar errores sin registrarlos ni corregir su causa.",[36,9360,9361],{},"La recuperación depende de reiniciar toda la vista; probablemente el boundary está mal ubicado.",[15,9363,9364,9366],{},[87,9365,9181],{}," no reemplaza una estrategia de manejo de errores: la complementa.",[22,9368,3081],{"id":3080},[3083,9370,9372],{"id":9371},"_1-esperar-que-capture-errores-del-mismo-componente","1. Esperar que capture errores del mismo componente",[15,9374,9375],{},"Este hook está diseñado para descendientes. Si el error ocurre en el mismo componente donde se declara, no será interceptado.",[15,9377,9378],{},"La solución es mover el boundary un nivel superior o encapsular la parte frágil en un componente hijo.",[3083,9380,9382,9383,9385],{"id":9381},"_2-devolver-false-siempre","2. Devolver ",[87,9384,3388],{}," siempre",[15,9387,9388,9389,9391],{},"Devolver ",[87,9390,3388],{}," detiene la propagación. Puede ser útil si el error ya fue manejado, pero hacerlo sin criterio puede impedir el monitoreo global.",[15,9393,9394],{},"Devuélvelo solo cuando realmente hayas absorbido el error y registrado lo necesario.",[3083,9396,9398],{"id":9397},"_3-mostrar-fallback-sin-ofrecer-salida","3. Mostrar fallback sin ofrecer salida",[15,9400,9401],{},"Un mensaje como “algo salió mal” no es suficiente si el usuario no puede actuar.",[15,9403,9404],{},"Siempre que tenga sentido, añade opciones como reintentar, recargar o volver a un estado válido.",[3083,9406,9408],{"id":9407},"_4-usarlo-para-ocultar-código-frágil","4. Usarlo para ocultar código frágil",[15,9410,9411,9412,9414],{},"Si un componente falla con frecuencia, ",[87,9413,9181],{}," no debería convertirse en una solución permanente. Sirve para mitigar impacto, no para normalizar problemas estructurales.",[22,9416,7993],{"id":7992},[3083,9418,9420],{"id":9419},"dashboard-con-tarjetas-independientes","Dashboard con tarjetas independientes",[15,9422,9423],{},"Si una tarjeta falla, puedes reemplazar solo ese bloque y mantener funcional el resto del tablero.",[3083,9425,9427],{"id":9426},"componentes-de-terceros","Componentes de terceros",[15,9429,9430],{},"Algunas librerías no fallan de forma controlada. Encapsularlas en un boundary permite evitar que rompan toda la vista.",[3083,9432,9434],{"id":9433},"módulos-opcionales","Módulos opcionales",[15,9436,9437],{},"En paneles complejos, ciertos módulos no son críticos. Es preferible degradar esa sección sin afectar la navegación principal.",[22,9439,8023],{"id":8022},[154,9441,9443],{"className":156,"code":9442,"filename":3256,"language":162,"meta":163,"style":163},"\u003Cscript setup lang=\"ts\">\nimport { computed, defineComponent, h, onErrorCaptured, ref } from 'vue'\n\nconst hasError = ref(false)\nconst errorMessage = ref('')\nconst errorSource = ref('')\nconst retryKey = ref(0)\n\nconst RiskyStatsPanel = defineComponent({\n  name: 'RiskyStatsPanel',\n  setup() {\n    const shouldFail = ref(false)\n\n    const stats = computed(() => {\n      if (shouldFail.value) {\n        throw new Error('No fue posible calcular las métricas del tablero.')\n      }\n\n      return [\n        { label: 'Pendientes', value: 14 },\n        { label: 'Completadas', value: 29 },\n        { label: 'Bloqueadas', value: 3 }\n      ]\n    })\n\n    return () =>\n      h('section', { class: 'stats-panel' }, [\n        h('h3', 'Resumen de tareas'),\n        h(\n          'button',\n          {\n            type: 'button',\n            onClick: () => {\n              shouldFail.value = true\n            }\n          },\n          'Simular fallo del widget'\n        ),\n        h(\n          'ul',\n          stats.value.map(stat =>\n            h('li', { key: stat.label }, `${stat.label}: ${stat.value}`)\n          )\n        )\n      ])\n  }\n})\n\nonErrorCaptured((error, instance, info) => {\n  hasError.value = true\n  errorMessage.value =\n    error instanceof Error ? error.message : 'Ocurrió un error inesperado.'\n  errorSource.value = info\n\n  console.error('Widget capturado por el boundary del dashboard', {\n    error,\n    component: instance?.type,\n    info\n  })\n\n  return false\n})\n\nfunction retry() {\n  hasError.value = false\n  errorMessage.value = ''\n  errorSource.value = ''\n  retryKey.value += 1\n}\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Csection class=\"dashboard-card\">\n    \u003Cheader>\n      \u003Ch2>Estado del dashboard\u003C\u002Fh2>\n      \u003Cp>\n        Si un widget falla, el resto de la pantalla puede seguir funcionando.\n      \u003C\u002Fp>\n    \u003C\u002Fheader>\n\n    \u003Cdiv v-if=\"hasError\" class=\"error-box\">\n      \u003Cstrong>Este bloque no pudo renderizarse.\u003C\u002Fstrong>\n      \u003Cp>{{ errorMessage }}\u003C\u002Fp>\n      \u003Csmall>Origen: {{ errorSource }}\u003C\u002Fsmall>\n      \u003Cbutton type=\"button\" @click=\"retry\">Reintentar\u003C\u002Fbutton>\n    \u003C\u002Fdiv>\n\n    \u003CRiskyStatsPanel v-else :key=\"retryKey\" \u002F>\n  \u003C\u002Fsection>\n\u003C\u002Ftemplate>\n",[87,9444,9445,9461,9472,9476,9493,9509,9526,9543,9547,9560,9569,9576,9593,9597,9614,9621,9636,9640,9644,9651,9666,9680,9693,9697,9701,9705,9714,9733,9751,9758,9765,9770,9780,9791,9800,9805,9810,9815,9820,9826,9833,9849,9885,9890,9895,9900,9904,9908,9912,9935,9944,9951,9969,9979,9983,9996,10001,10006,10011,10015,10019,10025,10029,10033,10042,10050,10059,10067,10078,10083,10092,10097,10106,10123,10132,10146,10155,10161,10171,10180,10185,10208,10222,10235,10250,10277,10286,10291,10311,10320],{"__ignoreMap":163},[167,9446,9447,9449,9451,9453,9455,9457,9459],{"class":169,"line":170},[167,9448,174],{"class":173},[167,9450,178],{"class":177},[167,9452,182],{"class":181},[167,9454,1045],{"class":181},[167,9456,267],{"class":173},[167,9458,1050],{"class":201},[167,9460,185],{"class":173},[167,9462,9463,9465,9468,9470],{"class":169,"line":188},[167,9464,192],{"class":191},[167,9466,9467],{"class":173}," { computed, defineComponent, h, onErrorCaptured, ref } ",[167,9469,198],{"class":191},[167,9471,202],{"class":201},[167,9473,9474],{"class":169,"line":205},[167,9475,209],{"emptyLinePlaceholder":208},[167,9477,9478,9480,9483,9485,9487,9489,9491],{"class":169,"line":160},[167,9479,216],{"class":191},[167,9481,9482],{"class":219}," hasError",[167,9484,223],{"class":191},[167,9486,226],{"class":181},[167,9488,229],{"class":173},[167,9490,3388],{"class":219},[167,9492,235],{"class":173},[167,9494,9495,9497,9499,9501,9503,9505,9507],{"class":169,"line":238},[167,9496,216],{"class":191},[167,9498,6578],{"class":219},[167,9500,223],{"class":191},[167,9502,226],{"class":181},[167,9504,229],{"class":173},[167,9506,2180],{"class":201},[167,9508,235],{"class":173},[167,9510,9511,9513,9516,9518,9520,9522,9524],{"class":169,"line":243},[167,9512,216],{"class":191},[167,9514,9515],{"class":219}," errorSource",[167,9517,223],{"class":191},[167,9519,226],{"class":181},[167,9521,229],{"class":173},[167,9523,2180],{"class":201},[167,9525,235],{"class":173},[167,9527,9528,9530,9533,9535,9537,9539,9541],{"class":169,"line":261},[167,9529,216],{"class":191},[167,9531,9532],{"class":219}," retryKey",[167,9534,223],{"class":191},[167,9536,226],{"class":181},[167,9538,229],{"class":173},[167,9540,1956],{"class":219},[167,9542,235],{"class":173},[167,9544,9545],{"class":169,"line":273},[167,9546,209],{"emptyLinePlaceholder":208},[167,9548,9549,9551,9554,9556,9558],{"class":169,"line":279},[167,9550,216],{"class":191},[167,9552,9553],{"class":219}," RiskyStatsPanel",[167,9555,223],{"class":191},[167,9557,7152],{"class":181},[167,9559,372],{"class":173},[167,9561,9562,9564,9567],{"class":169,"line":289},[167,9563,4394],{"class":173},[167,9565,9566],{"class":201},"'RiskyStatsPanel'",[167,9568,393],{"class":173},[167,9570,9571,9574],{"class":169,"line":294},[167,9572,9573],{"class":181},"  setup",[167,9575,763],{"class":173},[167,9577,9578,9580,9583,9585,9587,9589,9591],{"class":169,"line":304},[167,9579,8262],{"class":191},[167,9581,9582],{"class":219}," shouldFail",[167,9584,223],{"class":191},[167,9586,226],{"class":181},[167,9588,229],{"class":173},[167,9590,3388],{"class":219},[167,9592,235],{"class":173},[167,9594,9595],{"class":169,"line":313},[167,9596,209],{"emptyLinePlaceholder":208},[167,9598,9599,9601,9604,9606,9608,9610,9612],{"class":169,"line":161},[167,9600,8262],{"class":191},[167,9602,9603],{"class":219}," stats",[167,9605,223],{"class":191},[167,9607,1894],{"class":181},[167,9609,1488],{"class":173},[167,9611,639],{"class":191},[167,9613,1901],{"class":173},[167,9615,9616,9618],{"class":169,"line":335},[167,9617,7257],{"class":191},[167,9619,9620],{"class":173}," (shouldFail.value) {\n",[167,9622,9623,9625,9627,9629,9631,9634],{"class":169,"line":341},[167,9624,7268],{"class":191},[167,9626,4220],{"class":191},[167,9628,6650],{"class":181},[167,9630,229],{"class":173},[167,9632,9633],{"class":201},"'No fue posible calcular las métricas del tablero.'",[167,9635,235],{"class":173},[167,9637,9638],{"class":169,"line":489},[167,9639,7283],{"class":173},[167,9641,9642],{"class":169,"line":495},[167,9643,209],{"emptyLinePlaceholder":208},[167,9645,9646,9648],{"class":169,"line":501},[167,9647,8763],{"class":191},[167,9649,9650],{"class":173}," [\n",[167,9652,9653,9656,9659,9662,9664],{"class":169,"line":512},[167,9654,9655],{"class":173},"        { label: ",[167,9657,9658],{"class":201},"'Pendientes'",[167,9660,9661],{"class":173},", value: ",[167,9663,1868],{"class":219},[167,9665,1852],{"class":173},[167,9667,9668,9670,9673,9675,9678],{"class":169,"line":781},[167,9669,9655],{"class":173},[167,9671,9672],{"class":201},"'Completadas'",[167,9674,9661],{"class":173},[167,9676,9677],{"class":219},"29",[167,9679,1852],{"class":173},[167,9681,9682,9684,9687,9689,9691],{"class":169,"line":786},[167,9683,9655],{"class":173},[167,9685,9686],{"class":201},"'Bloqueadas'",[167,9688,9661],{"class":173},[167,9690,8199],{"class":219},[167,9692,599],{"class":173},[167,9694,9695],{"class":169,"line":2674},[167,9696,8734],{"class":173},[167,9698,9699],{"class":169,"line":2688},[167,9700,8922],{"class":173},[167,9702,9703],{"class":169,"line":3571},[167,9704,209],{"emptyLinePlaceholder":208},[167,9706,9707,9709,9711],{"class":169,"line":5024},[167,9708,1933],{"class":191},[167,9710,1464],{"class":173},[167,9712,9713],{"class":191},"=>\n",[167,9715,9716,9719,9721,9724,9727,9730],{"class":169,"line":5033},[167,9717,9718],{"class":181},"      h",[167,9720,229],{"class":173},[167,9722,9723],{"class":201},"'section'",[167,9725,9726],{"class":173},", { class: ",[167,9728,9729],{"class":201},"'stats-panel'",[167,9731,9732],{"class":173}," }, [\n",[167,9734,9735,9738,9740,9743,9745,9748],{"class":169,"line":5042},[167,9736,9737],{"class":181},"        h",[167,9739,229],{"class":173},[167,9741,9742],{"class":201},"'h3'",[167,9744,1020],{"class":173},[167,9746,9747],{"class":201},"'Resumen de tareas'",[167,9749,9750],{"class":173},"),\n",[167,9752,9753,9755],{"class":169,"line":6752},[167,9754,9737],{"class":181},[167,9756,9757],{"class":173},"(\n",[167,9759,9760,9763],{"class":169,"line":6774},[167,9761,9762],{"class":201},"          'button'",[167,9764,393],{"class":173},[167,9766,9767],{"class":169,"line":6779},[167,9768,9769],{"class":173},"          {\n",[167,9771,9772,9775,9778],{"class":169,"line":6784},[167,9773,9774],{"class":173},"            type: ",[167,9776,9777],{"class":201},"'button'",[167,9779,393],{"class":173},[167,9781,9782,9785,9787,9789],{"class":169,"line":6789},[167,9783,9784],{"class":181},"            onClick",[167,9786,636],{"class":173},[167,9788,639],{"class":191},[167,9790,1901],{"class":173},[167,9792,9793,9796,9798],{"class":169,"line":6805},[167,9794,9795],{"class":173},"              shouldFail.value ",[167,9797,267],{"class":191},[167,9799,3483],{"class":219},[167,9801,9802],{"class":169,"line":6820},[167,9803,9804],{"class":173},"            }\n",[167,9806,9807],{"class":169,"line":6825},[167,9808,9809],{"class":173},"          },\n",[167,9811,9812],{"class":169,"line":6832},[167,9813,9814],{"class":201},"          'Simular fallo del widget'\n",[167,9816,9817],{"class":169,"line":6841},[167,9818,9819],{"class":173},"        ),\n",[167,9821,9822,9824],{"class":169,"line":6850},[167,9823,9737],{"class":181},[167,9825,9757],{"class":173},[167,9827,9828,9831],{"class":169,"line":6857},[167,9829,9830],{"class":201},"          'ul'",[167,9832,393],{"class":173},[167,9834,9835,9838,9841,9843,9846],{"class":169,"line":6875},[167,9836,9837],{"class":173},"          stats.value.",[167,9839,9840],{"class":181},"map",[167,9842,229],{"class":173},[167,9844,9845],{"class":254},"stat",[167,9847,9848],{"class":191}," =>\n",[167,9850,9851,9854,9856,9859,9862,9865,9867,9869,9872,9875,9877,9879,9881,9883],{"class":169,"line":6880},[167,9852,9853],{"class":181},"            h",[167,9855,229],{"class":173},[167,9857,9858],{"class":201},"'li'",[167,9860,9861],{"class":173},", { key: stat.label }, ",[167,9863,9864],{"class":201},"`${",[167,9866,9845],{"class":173},[167,9868,1675],{"class":201},[167,9870,9871],{"class":173},"label",[167,9873,9874],{"class":201},"}: ${",[167,9876,9845],{"class":173},[167,9878,1675],{"class":201},[167,9880,2215],{"class":173},[167,9882,2356],{"class":201},[167,9884,235],{"class":173},[167,9886,9887],{"class":169,"line":6885},[167,9888,9889],{"class":173},"          )\n",[167,9891,9892],{"class":169,"line":6894},[167,9893,9894],{"class":173},"        )\n",[167,9896,9897],{"class":169,"line":6899},[167,9898,9899],{"class":173},"      ])\n",[167,9901,9902],{"class":169,"line":6908},[167,9903,3488],{"class":173},[167,9905,9906],{"class":169,"line":6924},[167,9907,403],{"class":173},[167,9909,9910],{"class":169,"line":6945},[167,9911,209],{"emptyLinePlaceholder":208},[167,9913,9914,9917,9919,9921,9923,9925,9927,9929,9931,9933],{"class":169,"line":6950},[167,9915,9916],{"class":181},"onErrorCaptured",[167,9918,1914],{"class":173},[167,9920,9348],{"class":254},[167,9922,1020],{"class":173},[167,9924,9259],{"class":254},[167,9926,1020],{"class":173},[167,9928,9265],{"class":254},[167,9930,693],{"class":173},[167,9932,639],{"class":191},[167,9934,1901],{"class":173},[167,9936,9937,9940,9942],{"class":169,"line":6971},[167,9938,9939],{"class":173},"  hasError.value ",[167,9941,267],{"class":191},[167,9943,3483],{"class":219},[167,9945,9946,9949],{"class":169,"line":6985},[167,9947,9948],{"class":173},"  errorMessage.value ",[167,9950,6749],{"class":191},[167,9952,9953,9956,9958,9960,9962,9964,9966],{"class":169,"line":6999},[167,9954,9955],{"class":173},"    error ",[167,9957,6758],{"class":191},[167,9959,6650],{"class":181},[167,9961,6763],{"class":191},[167,9963,6766],{"class":173},[167,9965,583],{"class":191},[167,9967,9968],{"class":201}," 'Ocurrió un error inesperado.'\n",[167,9970,9971,9974,9976],{"class":169,"line":7013},[167,9972,9973],{"class":173},"  errorSource.value ",[167,9975,267],{"class":191},[167,9977,9978],{"class":173}," info\n",[167,9980,9981],{"class":169,"line":7022},[167,9982,209],{"emptyLinePlaceholder":208},[167,9984,9985,9987,9989,9991,9994],{"class":169,"line":7027},[167,9986,2604],{"class":173},[167,9988,9348],{"class":181},[167,9990,229],{"class":173},[167,9992,9993],{"class":201},"'Widget capturado por el boundary del dashboard'",[167,9995,627],{"class":173},[167,9997,9998],{"class":169,"line":7044},[167,9999,10000],{"class":173},"    error,\n",[167,10002,10003],{"class":169,"line":7053},[167,10004,10005],{"class":173},"    component: instance?.type,\n",[167,10007,10008],{"class":169,"line":7551},[167,10009,10010],{"class":173},"    info\n",[167,10012,10013],{"class":169,"line":7556},[167,10014,8343],{"class":173},[167,10016,10017],{"class":169,"line":7575},[167,10018,209],{"emptyLinePlaceholder":208},[167,10020,10021,10023],{"class":169,"line":7588},[167,10022,1534],{"class":191},[167,10024,5589],{"class":219},[167,10026,10027],{"class":169,"line":7601},[167,10028,403],{"class":173},[167,10030,10031],{"class":169,"line":7614},[167,10032,209],{"emptyLinePlaceholder":208},[167,10034,10035,10037,10040],{"class":169,"line":7623},[167,10036,246],{"class":191},[167,10038,10039],{"class":181}," retry",[167,10041,763],{"class":173},[167,10043,10044,10046,10048],{"class":169,"line":7628},[167,10045,9939],{"class":173},[167,10047,267],{"class":191},[167,10049,5589],{"class":219},[167,10051,10052,10054,10056],{"class":169,"line":7643},[167,10053,9948],{"class":173},[167,10055,267],{"class":191},[167,10057,10058],{"class":201}," ''\n",[167,10060,10061,10063,10065],{"class":169,"line":7652},[167,10062,9973],{"class":173},[167,10064,267],{"class":191},[167,10066,10058],{"class":201},[167,10068,10070,10073,10076],{"class":169,"line":10069},68,[167,10071,10072],{"class":173},"  retryKey.value ",[167,10074,10075],{"class":191},"+=",[167,10077,2566],{"class":219},[167,10079,10081],{"class":169,"line":10080},69,[167,10082,276],{"class":173},[167,10084,10086,10088,10090],{"class":169,"line":10085},70,[167,10087,282],{"class":173},[167,10089,178],{"class":177},[167,10091,185],{"class":173},[167,10093,10095],{"class":169,"line":10094},71,[167,10096,209],{"emptyLinePlaceholder":208},[167,10098,10100,10102,10104],{"class":169,"line":10099},72,[167,10101,174],{"class":173},[167,10103,299],{"class":177},[167,10105,185],{"class":173},[167,10107,10109,10111,10114,10116,10118,10121],{"class":169,"line":10108},73,[167,10110,307],{"class":173},[167,10112,10113],{"class":177},"section",[167,10115,1240],{"class":181},[167,10117,267],{"class":173},[167,10119,10120],{"class":201},"\"dashboard-card\"",[167,10122,185],{"class":173},[167,10124,10126,10128,10130],{"class":169,"line":10125},74,[167,10127,1252],{"class":173},[167,10129,1255],{"class":177},[167,10131,185],{"class":173},[167,10133,10135,10137,10139,10142,10144],{"class":169,"line":10134},75,[167,10136,1263],{"class":173},[167,10138,22],{"class":177},[167,10140,10141],{"class":173},">Estado del dashboard\u003C\u002F",[167,10143,22],{"class":177},[167,10145,185],{"class":173},[167,10147,10149,10151,10153],{"class":169,"line":10148},76,[167,10150,1263],{"class":173},[167,10152,15],{"class":177},[167,10154,185],{"class":173},[167,10156,10158],{"class":169,"line":10157},77,[167,10159,10160],{"class":173},"        Si un widget falla, el resto de la pantalla puede seguir funcionando.\n",[167,10162,10164,10167,10169],{"class":169,"line":10163},78,[167,10165,10166],{"class":173},"      \u003C\u002F",[167,10168,15],{"class":177},[167,10170,185],{"class":173},[167,10172,10174,10176,10178],{"class":169,"line":10173},79,[167,10175,1287],{"class":173},[167,10177,1255],{"class":177},[167,10179,185],{"class":173},[167,10181,10183],{"class":169,"line":10182},80,[167,10184,209],{"emptyLinePlaceholder":208},[167,10186,10188,10190,10192,10194,10196,10199,10201,10203,10206],{"class":169,"line":10187},81,[167,10189,1252],{"class":173},[167,10191,1237],{"class":177},[167,10193,5690],{"class":181},[167,10195,267],{"class":173},[167,10197,10198],{"class":201},"\"hasError\"",[167,10200,1240],{"class":181},[167,10202,267],{"class":173},[167,10204,10205],{"class":201},"\"error-box\"",[167,10207,185],{"class":173},[167,10209,10211,10213,10215,10218,10220],{"class":169,"line":10210},82,[167,10212,1263],{"class":173},[167,10214,3929],{"class":177},[167,10216,10217],{"class":173},">Este bloque no pudo renderizarse.\u003C\u002F",[167,10219,3929],{"class":177},[167,10221,185],{"class":173},[167,10223,10225,10227,10229,10231,10233],{"class":169,"line":10224},83,[167,10226,1263],{"class":173},[167,10228,15],{"class":177},[167,10230,6938],{"class":173},[167,10232,15],{"class":177},[167,10234,185],{"class":173},[167,10236,10238,10240,10243,10246,10248],{"class":169,"line":10237},84,[167,10239,1263],{"class":173},[167,10241,10242],{"class":177},"small",[167,10244,10245],{"class":173},">Origen: {{ errorSource }}\u003C\u002F",[167,10247,10242],{"class":177},[167,10249,185],{"class":173},[167,10251,10253,10255,10257,10259,10261,10263,10265,10267,10270,10273,10275],{"class":169,"line":10252},85,[167,10254,1263],{"class":173},[167,10256,507],{"class":177},[167,10258,1169],{"class":181},[167,10260,267],{"class":173},[167,10262,1174],{"class":201},[167,10264,1177],{"class":181},[167,10266,267],{"class":173},[167,10268,10269],{"class":201},"\"retry\"",[167,10271,10272],{"class":173},">Reintentar\u003C\u002F",[167,10274,507],{"class":177},[167,10276,185],{"class":173},[167,10278,10280,10282,10284],{"class":169,"line":10279},86,[167,10281,1287],{"class":173},[167,10283,1237],{"class":177},[167,10285,185],{"class":173},[167,10287,10289],{"class":169,"line":10288},87,[167,10290,209],{"emptyLinePlaceholder":208},[167,10292,10294,10296,10299,10301,10304,10306,10309],{"class":169,"line":10293},88,[167,10295,1252],{"class":173},[167,10297,10298],{"class":177},"RiskyStatsPanel",[167,10300,7034],{"class":181},[167,10302,10303],{"class":181}," :key",[167,10305,267],{"class":173},[167,10307,10308],{"class":201},"\"retryKey\"",[167,10310,5321],{"class":173},[167,10312,10314,10316,10318],{"class":169,"line":10313},89,[167,10315,504],{"class":173},[167,10317,10113],{"class":177},[167,10319,185],{"class":173},[167,10321,10323,10325,10327],{"class":169,"line":10322},90,[167,10324,282],{"class":173},[167,10326,299],{"class":177},[167,10328,185],{"class":173},[154,10330,10332],{"className":156,"code":10331,"filename":3969,"language":162,"meta":163,"style":163},"\u003Cscript lang=\"ts\">\nconst RiskyStatsPanel = {\n  name: 'RiskyStatsPanel',\n  data() {\n    return {\n      shouldFail: false\n    }\n  },\n  computed: {\n    stats() {\n      if (this.shouldFail) {\n        throw new Error('No fue posible calcular las métricas del tablero.')\n      }\n\n      return [\n        { label: 'Pendientes', value: 14 },\n        { label: 'Completadas', value: 29 },\n        { label: 'Bloqueadas', value: 3 }\n      ]\n    }\n  },\n  template: `\n    \u003Csection class=\"stats-panel\">\n      \u003Ch3>Resumen de tareas\u003C\u002Fh3>\n      \u003Cbutton\n        type=\"button\"\n        @click=\"shouldFail = true\"\n      >\n        Simular fallo del widget\n      \u003C\u002Fbutton>\n\n      \u003Cul>\n        \u003Cli\n          v-for=\"stat in stats\"\n          :key=\"stat.label\"\n        >\n          {{ stat.label }}: {{ stat.value }}\n        \u003C\u002Fli>\n      \u003C\u002Ful>\n    \u003C\u002Fsection>\n  `\n}\n\nexport default {\n  name: 'DashboardErrorBoundary',\n  components: {\n    RiskyStatsPanel\n  },\n  data() {\n    return {\n      hasError: false,\n      errorMessage: '',\n      errorSource: '',\n      retryKey: 0\n    }\n  },\n  errorCaptured(error, instance, info) {\n    this.hasError = true\n    this.errorMessage =\n      error instanceof Error ? error.message : 'Ocurrió un error inesperado.'\n    this.errorSource = info\n\n    console.error('Widget capturado por el boundary del dashboard', {\n      error,\n      component: instance?.type,\n      info\n    })\n\n    return false\n  },\n  methods: {\n    retry() {\n      this.hasError = false\n      this.errorMessage = ''\n      this.errorSource = ''\n      this.retryKey += 1\n    }\n  }\n}\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Csection class=\"dashboard-card\">\n    \u003Cheader>\n      \u003Ch2>Estado del dashboard\u003C\u002Fh2>\n      \u003Cp>Si un widget falla, el resto de la pantalla puede seguir funcionando.\u003C\u002Fp>\n    \u003C\u002Fheader>\n\n    \u003Cdiv v-if=\"hasError\" class=\"error-box\">\n      \u003Cstrong>Este bloque no pudo renderizarse.\u003C\u002Fstrong>\n      \u003Cp>{{ errorMessage }}\u003C\u002Fp>\n      \u003Csmall>Origen: {{ errorSource }}\u003C\u002Fsmall>\n      \u003Cbutton type=\"button\" @click=\"retry\">Reintentar\u003C\u002Fbutton>\n    \u003C\u002Fdiv>\n\n    \u003CRiskyStatsPanel v-else :key=\"retryKey\" \u002F>\n  \u003C\u002Fsection>\n\u003C\u002Ftemplate>\n",[87,10333,10334,10348,10358,10366,10372,10378,10385,10389,10393,10397,10404,10415,10429,10433,10437,10443,10455,10467,10479,10483,10487,10491,10499,10504,10509,10514,10519,10524,10529,10534,10539,10543,10548,10553,10558,10563,10568,10573,10578,10583,10588,10593,10597,10601,10609,10618,10623,10628,10632,10638,10644,10653,10661,10670,10678,10682,10686,10705,10716,10724,10740,10751,10755,10767,10772,10777,10782,10786,10790,10796,10800,10804,10811,10821,10831,10841,10852,10856,10860,10864,10872,10876,10884,10898,10906,10918,10931,10939,10943,10963,10975,10988,11001,11026,11035,11040,11057,11066],{"__ignoreMap":163},[167,10335,10336,10338,10340,10342,10344,10346],{"class":169,"line":170},[167,10337,174],{"class":173},[167,10339,178],{"class":177},[167,10341,1045],{"class":181},[167,10343,267],{"class":173},[167,10345,1050],{"class":201},[167,10347,185],{"class":173},[167,10349,10350,10352,10354,10356],{"class":169,"line":188},[167,10351,216],{"class":191},[167,10353,9553],{"class":219},[167,10355,223],{"class":191},[167,10357,1901],{"class":173},[167,10359,10360,10362,10364],{"class":169,"line":205},[167,10361,4394],{"class":173},[167,10363,9566],{"class":201},[167,10365,393],{"class":173},[167,10367,10368,10370],{"class":169,"line":160},[167,10369,7172],{"class":181},[167,10371,763],{"class":173},[167,10373,10374,10376],{"class":169,"line":238},[167,10375,1933],{"class":191},[167,10377,1901],{"class":173},[167,10379,10380,10383],{"class":169,"line":243},[167,10381,10382],{"class":173},"      shouldFail: ",[167,10384,8089],{"class":219},[167,10386,10387],{"class":169,"line":261},[167,10388,4045],{"class":173},[167,10390,10391],{"class":169,"line":273},[167,10392,398],{"class":173},[167,10394,10395],{"class":169,"line":279},[167,10396,8751],{"class":173},[167,10398,10399,10402],{"class":169,"line":289},[167,10400,10401],{"class":181},"    stats",[167,10403,763],{"class":173},[167,10405,10406,10408,10410,10412],{"class":169,"line":294},[167,10407,7257],{"class":191},[167,10409,2522],{"class":173},[167,10411,4923],{"class":219},[167,10413,10414],{"class":173},".shouldFail) {\n",[167,10416,10417,10419,10421,10423,10425,10427],{"class":169,"line":304},[167,10418,7268],{"class":191},[167,10420,4220],{"class":191},[167,10422,6650],{"class":181},[167,10424,229],{"class":173},[167,10426,9633],{"class":201},[167,10428,235],{"class":173},[167,10430,10431],{"class":169,"line":313},[167,10432,7283],{"class":173},[167,10434,10435],{"class":169,"line":161},[167,10436,209],{"emptyLinePlaceholder":208},[167,10438,10439,10441],{"class":169,"line":335},[167,10440,8763],{"class":191},[167,10442,9650],{"class":173},[167,10444,10445,10447,10449,10451,10453],{"class":169,"line":341},[167,10446,9655],{"class":173},[167,10448,9658],{"class":201},[167,10450,9661],{"class":173},[167,10452,1868],{"class":219},[167,10454,1852],{"class":173},[167,10456,10457,10459,10461,10463,10465],{"class":169,"line":489},[167,10458,9655],{"class":173},[167,10460,9672],{"class":201},[167,10462,9661],{"class":173},[167,10464,9677],{"class":219},[167,10466,1852],{"class":173},[167,10468,10469,10471,10473,10475,10477],{"class":169,"line":495},[167,10470,9655],{"class":173},[167,10472,9686],{"class":201},[167,10474,9661],{"class":173},[167,10476,8199],{"class":219},[167,10478,599],{"class":173},[167,10480,10481],{"class":169,"line":501},[167,10482,8734],{"class":173},[167,10484,10485],{"class":169,"line":512},[167,10486,4045],{"class":173},[167,10488,10489],{"class":169,"line":781},[167,10490,398],{"class":173},[167,10492,10493,10496],{"class":169,"line":786},[167,10494,10495],{"class":173},"  template: ",[167,10497,10498],{"class":201},"`\n",[167,10500,10501],{"class":169,"line":2674},[167,10502,10503],{"class":201},"    \u003Csection class=\"stats-panel\">\n",[167,10505,10506],{"class":169,"line":2688},[167,10507,10508],{"class":201},"      \u003Ch3>Resumen de tareas\u003C\u002Fh3>\n",[167,10510,10511],{"class":169,"line":3571},[167,10512,10513],{"class":201},"      \u003Cbutton\n",[167,10515,10516],{"class":169,"line":5024},[167,10517,10518],{"class":201},"        type=\"button\"\n",[167,10520,10521],{"class":169,"line":5033},[167,10522,10523],{"class":201},"        @click=\"shouldFail = true\"\n",[167,10525,10526],{"class":169,"line":5042},[167,10527,10528],{"class":201},"      >\n",[167,10530,10531],{"class":169,"line":6752},[167,10532,10533],{"class":201},"        Simular fallo del widget\n",[167,10535,10536],{"class":169,"line":6774},[167,10537,10538],{"class":201},"      \u003C\u002Fbutton>\n",[167,10540,10541],{"class":169,"line":6779},[167,10542,209],{"emptyLinePlaceholder":208},[167,10544,10545],{"class":169,"line":6784},[167,10546,10547],{"class":201},"      \u003Cul>\n",[167,10549,10550],{"class":169,"line":6789},[167,10551,10552],{"class":201},"        \u003Cli\n",[167,10554,10555],{"class":169,"line":6805},[167,10556,10557],{"class":201},"          v-for=\"stat in stats\"\n",[167,10559,10560],{"class":169,"line":6820},[167,10561,10562],{"class":201},"          :key=\"stat.label\"\n",[167,10564,10565],{"class":169,"line":6825},[167,10566,10567],{"class":201},"        >\n",[167,10569,10570],{"class":169,"line":6832},[167,10571,10572],{"class":201},"          {{ stat.label }}: {{ stat.value }}\n",[167,10574,10575],{"class":169,"line":6841},[167,10576,10577],{"class":201},"        \u003C\u002Fli>\n",[167,10579,10580],{"class":169,"line":6850},[167,10581,10582],{"class":201},"      \u003C\u002Ful>\n",[167,10584,10585],{"class":169,"line":6857},[167,10586,10587],{"class":201},"    \u003C\u002Fsection>\n",[167,10589,10590],{"class":169,"line":6875},[167,10591,10592],{"class":201},"  `\n",[167,10594,10595],{"class":169,"line":6880},[167,10596,276],{"class":173},[167,10598,10599],{"class":169,"line":6885},[167,10600,209],{"emptyLinePlaceholder":208},[167,10602,10603,10605,10607],{"class":169,"line":6894},[167,10604,608],{"class":191},[167,10606,3987],{"class":191},[167,10608,1901],{"class":173},[167,10610,10611,10613,10616],{"class":169,"line":6899},[167,10612,4394],{"class":173},[167,10614,10615],{"class":201},"'DashboardErrorBoundary'",[167,10617,393],{"class":173},[167,10619,10620],{"class":169,"line":6908},[167,10621,10622],{"class":173},"  components: {\n",[167,10624,10625],{"class":169,"line":6924},[167,10626,10627],{"class":173},"    RiskyStatsPanel\n",[167,10629,10630],{"class":169,"line":6945},[167,10631,398],{"class":173},[167,10633,10634,10636],{"class":169,"line":6950},[167,10635,7172],{"class":181},[167,10637,763],{"class":173},[167,10639,10640,10642],{"class":169,"line":6971},[167,10641,1933],{"class":191},[167,10643,1901],{"class":173},[167,10645,10646,10649,10651],{"class":169,"line":6985},[167,10647,10648],{"class":173},"      hasError: ",[167,10650,3388],{"class":219},[167,10652,393],{"class":173},[167,10654,10655,10657,10659],{"class":169,"line":6999},[167,10656,7202],{"class":173},[167,10658,2180],{"class":201},[167,10660,393],{"class":173},[167,10662,10663,10666,10668],{"class":169,"line":7013},[167,10664,10665],{"class":173},"      errorSource: ",[167,10667,2180],{"class":201},[167,10669,393],{"class":173},[167,10671,10672,10675],{"class":169,"line":7022},[167,10673,10674],{"class":173},"      retryKey: ",[167,10676,10677],{"class":219},"0\n",[167,10679,10680],{"class":169,"line":7027},[167,10681,4045],{"class":173},[167,10683,10684],{"class":169,"line":7044},[167,10685,398],{"class":173},[167,10687,10688,10691,10693,10695,10697,10699,10701,10703],{"class":169,"line":7053},[167,10689,10690],{"class":181},"  errorCaptured",[167,10692,229],{"class":173},[167,10694,9348],{"class":254},[167,10696,1020],{"class":173},[167,10698,9259],{"class":254},[167,10700,1020],{"class":173},[167,10702,9265],{"class":254},[167,10704,258],{"class":173},[167,10706,10707,10709,10712,10714],{"class":169,"line":7551},[167,10708,879],{"class":219},[167,10710,10711],{"class":173},".hasError ",[167,10713,267],{"class":191},[167,10715,3483],{"class":219},[167,10717,10718,10720,10722],{"class":169,"line":7556},[167,10719,879],{"class":219},[167,10721,7370],{"class":173},[167,10723,6749],{"class":191},[167,10725,10726,10728,10730,10732,10734,10736,10738],{"class":169,"line":7575},[167,10727,6755],{"class":173},[167,10729,6758],{"class":191},[167,10731,6650],{"class":181},[167,10733,6763],{"class":191},[167,10735,6766],{"class":173},[167,10737,583],{"class":191},[167,10739,9968],{"class":201},[167,10741,10742,10744,10747,10749],{"class":169,"line":7588},[167,10743,879],{"class":219},[167,10745,10746],{"class":173},".errorSource ",[167,10748,267],{"class":191},[167,10750,9978],{"class":173},[167,10752,10753],{"class":169,"line":7601},[167,10754,209],{"emptyLinePlaceholder":208},[167,10756,10757,10759,10761,10763,10765],{"class":169,"line":7614},[167,10758,8890],{"class":173},[167,10760,9348],{"class":181},[167,10762,229],{"class":173},[167,10764,9993],{"class":201},[167,10766,627],{"class":173},[167,10768,10769],{"class":169,"line":7623},[167,10770,10771],{"class":173},"      error,\n",[167,10773,10774],{"class":169,"line":7628},[167,10775,10776],{"class":173},"      component: instance?.type,\n",[167,10778,10779],{"class":169,"line":7643},[167,10780,10781],{"class":173},"      info\n",[167,10783,10784],{"class":169,"line":7652},[167,10785,8922],{"class":173},[167,10787,10788],{"class":169,"line":10069},[167,10789,209],{"emptyLinePlaceholder":208},[167,10791,10792,10794],{"class":169,"line":10080},[167,10793,1933],{"class":191},[167,10795,5589],{"class":219},[167,10797,10798],{"class":169,"line":10085},[167,10799,398],{"class":173},[167,10801,10802],{"class":169,"line":10094},[167,10803,4415],{"class":173},[167,10805,10806,10809],{"class":169,"line":10099},[167,10807,10808],{"class":181},"    retry",[167,10810,763],{"class":173},[167,10812,10813,10815,10817,10819],{"class":169,"line":10108},[167,10814,741],{"class":219},[167,10816,10711],{"class":173},[167,10818,267],{"class":191},[167,10820,5589],{"class":219},[167,10822,10823,10825,10827,10829],{"class":169,"line":10125},[167,10824,741],{"class":219},[167,10826,7370],{"class":173},[167,10828,267],{"class":191},[167,10830,10058],{"class":201},[167,10832,10833,10835,10837,10839],{"class":169,"line":10134},[167,10834,741],{"class":219},[167,10836,10746],{"class":173},[167,10838,267],{"class":191},[167,10840,10058],{"class":201},[167,10842,10843,10845,10848,10850],{"class":169,"line":10148},[167,10844,741],{"class":219},[167,10846,10847],{"class":173},".retryKey ",[167,10849,10075],{"class":191},[167,10851,2566],{"class":219},[167,10853,10854],{"class":169,"line":10157},[167,10855,4045],{"class":173},[167,10857,10858],{"class":169,"line":10163},[167,10859,3488],{"class":173},[167,10861,10862],{"class":169,"line":10173},[167,10863,276],{"class":173},[167,10865,10866,10868,10870],{"class":169,"line":10182},[167,10867,282],{"class":173},[167,10869,178],{"class":177},[167,10871,185],{"class":173},[167,10873,10874],{"class":169,"line":10187},[167,10875,209],{"emptyLinePlaceholder":208},[167,10877,10878,10880,10882],{"class":169,"line":10210},[167,10879,174],{"class":173},[167,10881,299],{"class":177},[167,10883,185],{"class":173},[167,10885,10886,10888,10890,10892,10894,10896],{"class":169,"line":10224},[167,10887,307],{"class":173},[167,10889,10113],{"class":177},[167,10891,1240],{"class":181},[167,10893,267],{"class":173},[167,10895,10120],{"class":201},[167,10897,185],{"class":173},[167,10899,10900,10902,10904],{"class":169,"line":10237},[167,10901,1252],{"class":173},[167,10903,1255],{"class":177},[167,10905,185],{"class":173},[167,10907,10908,10910,10912,10914,10916],{"class":169,"line":10252},[167,10909,1263],{"class":173},[167,10911,22],{"class":177},[167,10913,10141],{"class":173},[167,10915,22],{"class":177},[167,10917,185],{"class":173},[167,10919,10920,10922,10924,10927,10929],{"class":169,"line":10279},[167,10921,1263],{"class":173},[167,10923,15],{"class":177},[167,10925,10926],{"class":173},">Si un widget falla, el resto de la pantalla puede seguir funcionando.\u003C\u002F",[167,10928,15],{"class":177},[167,10930,185],{"class":173},[167,10932,10933,10935,10937],{"class":169,"line":10288},[167,10934,1287],{"class":173},[167,10936,1255],{"class":177},[167,10938,185],{"class":173},[167,10940,10941],{"class":169,"line":10293},[167,10942,209],{"emptyLinePlaceholder":208},[167,10944,10945,10947,10949,10951,10953,10955,10957,10959,10961],{"class":169,"line":10313},[167,10946,1252],{"class":173},[167,10948,1237],{"class":177},[167,10950,5690],{"class":181},[167,10952,267],{"class":173},[167,10954,10198],{"class":201},[167,10956,1240],{"class":181},[167,10958,267],{"class":173},[167,10960,10205],{"class":201},[167,10962,185],{"class":173},[167,10964,10965,10967,10969,10971,10973],{"class":169,"line":10322},[167,10966,1263],{"class":173},[167,10968,3929],{"class":177},[167,10970,10217],{"class":173},[167,10972,3929],{"class":177},[167,10974,185],{"class":173},[167,10976,10978,10980,10982,10984,10986],{"class":169,"line":10977},91,[167,10979,1263],{"class":173},[167,10981,15],{"class":177},[167,10983,6938],{"class":173},[167,10985,15],{"class":177},[167,10987,185],{"class":173},[167,10989,10991,10993,10995,10997,10999],{"class":169,"line":10990},92,[167,10992,1263],{"class":173},[167,10994,10242],{"class":177},[167,10996,10245],{"class":173},[167,10998,10242],{"class":177},[167,11000,185],{"class":173},[167,11002,11004,11006,11008,11010,11012,11014,11016,11018,11020,11022,11024],{"class":169,"line":11003},93,[167,11005,1263],{"class":173},[167,11007,507],{"class":177},[167,11009,1169],{"class":181},[167,11011,267],{"class":173},[167,11013,1174],{"class":201},[167,11015,1177],{"class":181},[167,11017,267],{"class":173},[167,11019,10269],{"class":201},[167,11021,10272],{"class":173},[167,11023,507],{"class":177},[167,11025,185],{"class":173},[167,11027,11029,11031,11033],{"class":169,"line":11028},94,[167,11030,1287],{"class":173},[167,11032,1237],{"class":177},[167,11034,185],{"class":173},[167,11036,11038],{"class":169,"line":11037},95,[167,11039,209],{"emptyLinePlaceholder":208},[167,11041,11043,11045,11047,11049,11051,11053,11055],{"class":169,"line":11042},96,[167,11044,1252],{"class":173},[167,11046,10298],{"class":177},[167,11048,7034],{"class":181},[167,11050,10303],{"class":181},[167,11052,267],{"class":173},[167,11054,10308],{"class":201},[167,11056,5321],{"class":173},[167,11058,11060,11062,11064],{"class":169,"line":11059},97,[167,11061,504],{"class":173},[167,11063,10113],{"class":177},[167,11065,185],{"class":173},[167,11067,11069,11071,11073],{"class":169,"line":11068},98,[167,11070,282],{"class":173},[167,11072,299],{"class":177},[167,11074,185],{"class":173},[15,11076,11077],{},"El patrón clave es claro: el error ocurre en el hijo, el padre lo captura, registra contexto y cambia a un estado de respaldo sin afectar el resto del árbol.",[5363,11079,11080],{},[15,11081,11082],{},"En ambos enfoques, la responsabilidad es la misma: el componente padre delimita la zona de riesgo y decide cómo degradar la experiencia si algo falla en su árbol descendiente.",[22,11084,7674],{"id":7673},[15,11086,11087,11089],{},[87,11088,9181],{}," no existe para ocultar excepciones, sino para gestionar mejor su impacto. Bien utilizado, permite construir interfaces más resilientes: una parte puede fallar sin comprometer todo el flujo.",[15,11091,11092],{},"La idea clave: captura localmente, registra con contexto y ofrece una salida clara al usuario.",[924,11094,1604],{},{"title":163,"searchDepth":188,"depth":188,"links":11096},[11097,11098,11099,11100,11101,11108,11113,11114],{"id":6226,"depth":188,"text":6227},{"id":6252,"depth":188,"text":6253},{"id":6317,"depth":188,"text":6318},{"id":6344,"depth":188,"text":6345},{"id":3080,"depth":188,"text":3081,"children":11102},[11103,11104,11106,11107],{"id":9371,"depth":205,"text":9372},{"id":9381,"depth":205,"text":11105},"2. Devolver false siempre",{"id":9397,"depth":205,"text":9398},{"id":9407,"depth":205,"text":9408},{"id":7992,"depth":188,"text":7993,"children":11109},[11110,11111,11112],{"id":9419,"depth":205,"text":9420},{"id":9426,"depth":205,"text":9427},{"id":9433,"depth":205,"text":9434},{"id":8022,"depth":188,"text":8023},{"id":7673,"depth":188,"text":7674},"https:\u002F\u002Fres.cloudinary.com\u002Fdenj4fg7f\u002Fimage\u002Fupload\u002Fv1773714502\u002Fvue-lifecycle-error-handling-errorcaptured_mn62y7.png","Ilustración de un componente de Vue con un escudo de protección, simbolizando el manejo de errores con errorCaptured.","2026-03-17","Cómo usar errorCaptured y onErrorCaptured para aislar fallos en componentes hijos, mostrar estados de respaldo y registrar errores sin romper toda la interfaz.",{"updatedAt":11120,"coverCaption":11121,"author":945,"keywords":11122},"2026-03-16T22:00:00-05:00","Con errorCaptured, puedes proteger partes específicas de tu UI sin comprometer toda la experiencia.",[3254,9181,9916,11123,11124],"manejo de errores","error boundaries","\u002Fblog\u002Fvue-lifecycle-error-handling-errorcaptured.es",[11127],{"headline":9172,"author":11128,"datePublished":11120,"@type":959},{"name":945,"@type":958},{"title":9172,"description":11118},"blog\u002Fvue-lifecycle-error-handling-errorcaptured.es",[11132,11133,11136,11137],{"tag":7720,"color":7721},{"tag":11134,"color":11135},"Manejo de Errores","#E55039",{"tag":1622,"color":1635},{"tag":7726,"color":7727},"epm2rTVpqLV5pyIW1xBngTSC9yZ0Hdu43YNcWNkm4xw",{"id":11140,"title":11141,"body":11142,"cover":13434,"coverAlt":13435,"date":13436,"description":13437,"draft":1617,"extension":940,"lab":941,"locale":942,"meta":13438,"navigation":208,"path":13444,"schemaOrg":13445,"seo":13448,"series":7714,"seriesDescription":7715,"seriesOrder":243,"seriesTitle":7716,"slug":941,"stem":13449,"tags":13450,"__hash__":13456},"blog\u002Fblog\u002Fvue-lifecycle-keepalive-activated-deactivated.es.md","Ciclos de vida en Vue: componentes cacheados con \u003CKeepAlive> (activated, deactivated)",{"type":8,"value":11143,"toc":13413},[11144,11148,11161,11167,11170,11178,11180,11185,11188,11199,11202,11213,11216,11233,11236,11248,11251,11274,11276,11283,11285,11299,11302,11314,11316,11322,11325,11339,11342,11364,11368,11448,11451,11453,11459,11465,11470,11474,11481,11490,11497,11503,11509,11513,11518,11521,11523,11527,11536,11540,11546,11550,11559,12529,13366,13386,13388,13411],[22,11145,11147],{"id":11146},"texto-refinado-completo","Texto refinado completo",[11,11149,11151,11152,2522,11155,1020,11158,6215],{"id":11150},"ciclos-de-vida-en-vue-componentes-cacheados-con-keepalive-activated-deactivated","Ciclos de vida en Vue: componentes cacheados con ",[87,11153,11154],{},"\u003CKeepAlive>",[87,11156,11157],{},"activated",[87,11159,11160],{},"deactivated",[15,11162,11163,11164,11166],{},"No todos los componentes desaparecen realmente cuando dejan de verse. En Vue, un componente envuelto en ",[87,11165,11154],{}," puede salir del DOM activo y, aun así, seguir vivo en memoria. Ese detalle cambia por completo la forma de entender su ciclo de vida.",[15,11168,11169],{},"Si tratas un componente cacheado como si siempre se montara desde cero, es fácil terminar recargando datos sin necesidad, dejando timers o polling corriendo cuando la vista ya no está visible, o mostrando información obsoleta al volver a una pestaña.",[15,11171,11172,11173,1023,11175,11177],{},"Los hooks ",[87,11174,11157],{},[87,11176,11160],{}," existen precisamente para ese escenario: componentes que entran y salen de pantalla sin destruirse en cada cambio.",[22,11179,6253],{"id":6252},[15,11181,11182,11184],{},[87,11183,11154],{}," cachea instancias de componentes dinámicos para preservar su estado entre cambios. En lugar de desmontar el componente cuando deja de mostrarse, Vue lo mueve a un estado desactivado.",[15,11186,11187],{},"Eso significa que el flujo ya no es solo:",[33,11189,11190,11193,11196],{},[36,11191,11192],{},"Montar",[36,11194,11195],{},"Actualizar",[36,11197,11198],{},"Desmontar",[15,11200,11201],{},"Ahora también aparece un estado intermedio muy importante:",[33,11203,11204,11207,11210],{},[36,11205,11206],{},"Activar",[36,11208,11209],{},"Desactivar",[36,11211,11212],{},"Volver a activar",[15,11214,11215],{},"Los hooks implicados son:",[33,11217,11218,11226],{},[36,11219,11220,11223,11224],{},[87,11221,11222],{},"onActivated()"," \u002F ",[87,11225,11157],{},[36,11227,11228,11223,11231],{},[87,11229,11230],{},"onDeactivated()",[87,11232,11160],{},[15,11234,11235],{},"Hay dos matices clave que conviene tener claros:",[33,11237,11238,11243],{},[36,11239,11240,11242],{},[87,11241,11157],{}," también se ejecuta en el montaje inicial del componente cacheado.",[36,11244,11245,11247],{},[87,11246,11160],{}," se ejecuta cuando el componente sale del DOM activo hacia la caché y también cuando finalmente se desmonta.",[15,11249,11250],{},"En términos prácticos:",[33,11252,11253,11258,11263,11268],{},[36,11254,11255,11257],{},[87,11256,6389],{}," sirve para inicialización única.",[36,11259,11260,11262],{},[87,11261,11157],{}," sirve para cada momento en que la vista vuelve a estar activa.",[36,11264,11265,11267],{},[87,11266,11160],{}," sirve para pausar, guardar o limpiar trabajo mientras la instancia queda en segundo plano.",[36,11269,11270,11273],{},[87,11271,11272],{},"unmounted"," solo entra en juego cuando la instancia realmente deja de existir.",[22,11275,6318],{"id":6317},[15,11277,11278,1023,11280,11282],{},[87,11279,11157],{},[87,11281,11160],{}," encajan bien cuando el componente debe comportarse de forma distinta según esté visible o solo cacheado.",[15,11284,9304],{},[33,11286,11287,11290,11293,11296],{},[36,11288,11289],{},"Revalidar datos al volver a una pestaña sin perder el estado local de formularios o filtros.",[36,11291,11292],{},"Pausar polling, listeners u observadores cuando la vista deja de estar activa.",[36,11294,11295],{},"Retomar scroll, foco o sincronización con librerías externas cuando el componente reaparece.",[36,11297,11298],{},"Mantener una navegación fluida entre tabs, dashboards o vistas dinámicas sin reinstanciar todo desde cero.",[15,11300,11301],{},"La regla práctica es simple:",[33,11303,11304,11309],{},[36,11305,11306,11307,1675],{},"Si necesitas reaccionar al regreso del componente, piensa en ",[87,11308,11157],{},[36,11310,11311,11312,1675],{},"Si necesitas detener trabajo mientras la instancia queda cacheada, piensa en ",[87,11313,11160],{},[22,11315,6345],{"id":6344},[15,11317,11318,11319,11321],{},"No todo componente necesita ",[87,11320,11154],{}," ni estos hooks.",[15,11323,11324],{},"Conviene evitarlos cuando:",[33,11326,11327,11330,11333,11336],{},[36,11328,11329],{},"El componente debería reiniciarse limpio en cada visita y no conservar estado.",[36,11331,11332],{},"La lógica encaja mejor en estado global o en datos derivados, sin cachear la vista completa.",[36,11334,11335],{},"El problema real es un flujo de navegación confuso, no la pérdida de estado.",[36,11337,11338],{},"Quieres forzar un refresco completo en cada visita; en ese caso, la caché puede jugar en contra.",[15,11340,11341],{},"También conviene no meter aquí lógica que pertenece a otro sitio:",[33,11343,11344,11350,11358],{},[36,11345,11346,11347,11349],{},"Si dependes de un dato concreto, un ",[87,11348,5471],{}," suele expresar mejor la intención.",[36,11351,11352,11353,90,11355,11357],{},"Si solo necesitas inicializar una vez, ",[87,11354,6389],{},[87,11356,9234],{}," suelen ser suficientes.",[36,11359,11360,11361,11363],{},"Si el componente no está dentro de ",[87,11362,11154],{},", estos hooks no se dispararán.",[22,11365,11367],{"id":11366},"comparación-rápida","Comparación rápida",[56,11369,11370,11386],{},[59,11371,11372],{},[62,11373,11374,11377,11380,11383],{},[65,11375,11376],{},"Hook",[65,11378,11379],{},"Cuándo se dispara",[65,11381,11382],{},"Para qué encaja mejor",[65,11384,11385],{},"Error habitual",[75,11387,11388,11403,11418,11433],{},[62,11389,11390,11394,11397,11400],{},[80,11391,11392],{},[87,11393,6389],{},[80,11395,11396],{},"Cuando la instancia se monta por primera vez",[80,11398,11399],{},"Inicialización única",[80,11401,11402],{},"Poner aquí lógica que debería ejecutarse cada vez que la vista regresa",[62,11404,11405,11409,11412,11415],{},[80,11406,11407],{},[87,11408,11157],{},[80,11410,11411],{},"En el montaje inicial y en cada reactivación desde caché",[80,11413,11414],{},"Refrescar, resincronizar o retomar trabajo visible",[80,11416,11417],{},"Asumir que el componente vuelve desde estado limpio",[62,11419,11420,11424,11427,11430],{},[80,11421,11422],{},[87,11423,11160],{},[80,11425,11426],{},"Cuando sale del DOM activo hacia caché y también al desmontarse",[80,11428,11429],{},"Pausar polling, timers, observers o persistir estado temporal",[80,11431,11432],{},"Tratarlo como si equivaliera a destrucción completa",[62,11434,11435,11439,11442,11445],{},[80,11436,11437],{},[87,11438,11272],{},[80,11440,11441],{},"Cuando la instancia realmente se destruye",[80,11443,11444],{},"Limpieza final",[80,11446,11447],{},"Esperar que ocurra en cada cambio entre vistas cacheadas",[15,11449,11450],{},"La diferencia decisiva es esta: un componente cacheado no muere cuando deja de verse. Simplemente queda en pausa.",[22,11452,3081],{"id":3080},[3083,11454,11456,11457],{"id":11455},"_1-cargar-datos-solo-en-mounted","1. Cargar datos solo en ",[87,11458,6389],{},[15,11460,11461,11462,11464],{},"Funciona la primera vez, pero suele fallar cuando el usuario sale y vuelve a la vista. Como el componente sigue cacheado, ",[87,11463,6389],{}," no vuelve a ejecutarse y puedes terminar mostrando datos obsoletos.",[15,11466,11467,11468,1675],{},"La corrección habitual es mover la revalidación ligera a ",[87,11469,11157],{},[3083,11471,11473],{"id":11472},"_2-dejar-polling-o-timers-activos-mientras-la-vista-está-oculta","2. Dejar polling o timers activos mientras la vista está oculta",[15,11475,11476,11477,11480],{},"Un componente desactivado sigue existiendo en memoria. Si no detienes ",[87,11478,11479],{},"setInterval",", sockets o listeners, el trabajo continúa aunque la pantalla ya no esté visible.",[15,11482,11483,11484,11486,11487,11489],{},"La solución es pausar en ",[87,11485,11160],{}," y reanudar en ",[87,11488,11157],{}," cuando corresponda.",[3083,11491,11493,11494,11496],{"id":11492},"_3-esperar-unmounted-al-cambiar-entre-tabs-cacheadas","3. Esperar ",[87,11495,11272],{}," al cambiar entre tabs cacheadas",[15,11498,11499,11500,11502],{},"Cuando cambias entre componentes dentro de ",[87,11501,11154],{},", muchas veces no hay desmontaje inmediato. Lo que ocurre es una desactivación.",[15,11504,11505,11506,11508],{},"Si toda tu limpieza depende de ",[87,11507,11272],{},", llegará tarde o no ocurrirá cuando esperabas.",[3083,11510,11512],{"id":11511},"_4-confundir-conservar-estado-con-conservar-frescura","4. Confundir conservar estado con conservar frescura",[15,11514,11515,11517],{},[87,11516,11154],{}," conserva estado local, pero no garantiza que los datos sigan actualizados. Puedes volver a un formulario con sus valores intactos y, al mismo tiempo, a una lista basada en datos viejos.",[15,11519,11520],{},"Cachear la instancia no reemplaza una estrategia de refresco.",[22,11522,7993],{"id":7992},[3083,11524,11526],{"id":11525},"volver-a-una-pestaña-sin-perder-filtros","Volver a una pestaña sin perder filtros",[15,11528,11529,11530,11532,11533,11535],{},"Imagina una vista de reportes con filtros, orden y scroll interno. Sin ",[87,11531,11154],{},", cada cambio de tab puede destruir la instancia y obligar al usuario a empezar otra vez. Con caché, mantienes la experiencia. Con ",[87,11534,11157],{},", además, puedes refrescar solo el resumen o la fecha de última sincronización.",[3083,11537,11539],{"id":11538},"pausar-trabajo-en-segundo-plano","Pausar trabajo en segundo plano",[15,11541,11542,11543,11545],{},"Si una vista consulta métrica cada 30 segundos, no conviene que siga haciéndolo cuando el usuario ya se movió a otra sección, pero la instancia quedó cacheada. ",[87,11544,11160],{}," es el lugar natural para detener ese trabajo.",[3083,11547,11549],{"id":11548},"retomar-sincronización-visual","Retomar sincronización visual",[15,11551,11552,11553,11555,11556,11558],{},"Algunas vistas necesitan recalcular tamaños, gráficos o paneles cuando reaparecen. Como el componente no se recrea, ",[87,11554,6389],{}," ya quedó atrás. Ahí ",[87,11557,11157],{}," es el punto correcto para resincronizar la UI.",[154,11560,11562],{"className":156,"code":11561,"filename":3256,"language":162,"meta":163,"style":163},"\u003Cscript setup lang=\"ts\">\nimport { computed, onActivated, onDeactivated, onMounted, ref } from 'vue'\n\ntype Task = {\n  id: number\n  title: string\n  done: boolean\n}\n\nconst tasks = ref\u003CTask[]>([])\nconst filter = ref\u003C'all' | 'pending' | 'done'>('all')\nconst status = ref('Esperando carga...')\nconst lastSync = ref\u003Cstring | null>(null)\nconst poller = ref\u003CReturnType\u003Ctypeof setInterval> | null>(null)\nconst initialized = ref(false)\n\nconst visibleTasks = computed(() => {\n  if (filter.value === 'pending') {\n    return tasks.value.filter(task => !task.done)\n  }\n\n  if (filter.value === 'done') {\n    return tasks.value.filter(task => task.done)\n  }\n\n  return tasks.value\n})\n\nasync function fetchTasks() {\n  status.value = 'Sincronizando...'\n\n  const response = await fetch('\u002Fapi\u002Ftasks')\n  const data = (await response.json()) as { tasks: Task[] }\n\n  tasks.value = data.tasks\n  lastSync.value = new Date().toLocaleTimeString('es-CO')\n  status.value = 'Datos actualizados'\n}\n\nfunction startPolling() {\n  if (poller.value !== null) return\n\n  poller.value = setInterval(() => {\n    void fetchTasks()\n  }, 30000)\n}\n\nfunction stopPolling() {\n  if (poller.value === null) return\n\n  clearInterval(poller.value)\n  poller.value = null\n}\n\nonMounted(() => {\n  initialized.value = true\n})\n\nonActivated(async () => {\n  status.value = initialized.value ? 'Vista reactivada' : 'Cargando vista...'\n  await fetchTasks()\n  startPolling()\n})\n\nonDeactivated(() => {\n  status.value = 'Vista en pausa'\n  stopPolling()\n})\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Csection class=\"task-report\">\n    \u003Cheader>\n      \u003Ch2>Reporte de tareas\u003C\u002Fh2>\n      \u003Cp>{{ status }}\u003C\u002Fp>\n      \u003Cp v-if=\"lastSync\">Última sincronización: {{ lastSync }}\u003C\u002Fp>\n    \u003C\u002Fheader>\n\n    \u003Cnav class=\"filters\">\n      \u003Cbutton @click=\"filter = 'all'\">Todas\u003C\u002Fbutton>\n      \u003Cbutton @click=\"filter = 'pending'\">Pendientes\u003C\u002Fbutton>\n      \u003Cbutton @click=\"filter = 'done'\">Completadas\u003C\u002Fbutton>\n    \u003C\u002Fnav>\n\n    \u003Cul>\n      \u003Cli\n        v-for=\"task in visibleTasks\"\n        :key=\"task.id\"\n      >\n        {{ task.title }}\n      \u003C\u002Fli>\n    \u003C\u002Ful>\n  \u003C\u002Fsection>\n\u003C\u002Ftemplate>\n",[87,11563,11564,11580,11591,11595,11606,11614,11623,11633,11637,11641,11659,11690,11708,11733,11768,11785,11789,11805,11818,11837,11841,11845,11857,11874,11878,11882,11889,11893,11897,11908,11918,11922,11941,11974,11978,11988,12012,12021,12025,12029,12038,12053,12057,12073,12082,12091,12095,12099,12108,12122,12126,12134,12143,12147,12151,12161,12170,12174,12178,12193,12212,12220,12227,12231,12235,12246,12255,12262,12266,12274,12278,12286,12301,12309,12322,12335,12355,12363,12367,12382,12402,12422,12442,12450,12454,12462,12469,12479,12488,12492,12497,12505,12513,12521],{"__ignoreMap":163},[167,11565,11566,11568,11570,11572,11574,11576,11578],{"class":169,"line":170},[167,11567,174],{"class":173},[167,11569,178],{"class":177},[167,11571,182],{"class":181},[167,11573,1045],{"class":181},[167,11575,267],{"class":173},[167,11577,1050],{"class":201},[167,11579,185],{"class":173},[167,11581,11582,11584,11587,11589],{"class":169,"line":188},[167,11583,192],{"class":191},[167,11585,11586],{"class":173}," { computed, onActivated, onDeactivated, onMounted, ref } ",[167,11588,198],{"class":191},[167,11590,202],{"class":201},[167,11592,11593],{"class":169,"line":205},[167,11594,209],{"emptyLinePlaceholder":208},[167,11596,11597,11599,11602,11604],{"class":169,"line":160},[167,11598,569],{"class":191},[167,11600,11601],{"class":181}," Task",[167,11603,223],{"class":191},[167,11605,1901],{"class":173},[167,11607,11608,11610,11612],{"class":169,"line":238},[167,11609,6501],{"class":254},[167,11611,583],{"class":191},[167,11613,6506],{"class":219},[167,11615,11616,11619,11621],{"class":169,"line":243},[167,11617,11618],{"class":254},"  title",[167,11620,583],{"class":191},[167,11622,6516],{"class":219},[167,11624,11625,11628,11630],{"class":169,"line":261},[167,11626,11627],{"class":254},"  done",[167,11629,583],{"class":191},[167,11631,11632],{"class":219}," boolean\n",[167,11634,11635],{"class":169,"line":273},[167,11636,276],{"class":173},[167,11638,11639],{"class":169,"line":279},[167,11640,209],{"emptyLinePlaceholder":208},[167,11642,11643,11645,11647,11649,11651,11653,11656],{"class":169,"line":289},[167,11644,216],{"class":191},[167,11646,3364],{"class":219},[167,11648,223],{"class":191},[167,11650,226],{"class":181},[167,11652,174],{"class":173},[167,11654,11655],{"class":181},"Task",[167,11657,11658],{"class":173},"[]>([])\n",[167,11660,11661,11663,11666,11668,11670,11672,11674,11676,11679,11681,11684,11686,11688],{"class":169,"line":294},[167,11662,216],{"class":191},[167,11664,11665],{"class":219}," filter",[167,11667,223],{"class":191},[167,11669,226],{"class":181},[167,11671,174],{"class":173},[167,11673,232],{"class":201},[167,11675,659],{"class":191},[167,11677,11678],{"class":201}," 'pending'",[167,11680,659],{"class":191},[167,11682,11683],{"class":201}," 'done'",[167,11685,6566],{"class":173},[167,11687,232],{"class":201},[167,11689,235],{"class":173},[167,11691,11692,11694,11697,11699,11701,11703,11706],{"class":169,"line":304},[167,11693,216],{"class":191},[167,11695,11696],{"class":219}," status",[167,11698,223],{"class":191},[167,11700,226],{"class":181},[167,11702,229],{"class":173},[167,11704,11705],{"class":201},"'Esperando carga...'",[167,11707,235],{"class":173},[167,11709,11710,11712,11715,11717,11719,11721,11723,11725,11727,11729,11731],{"class":169,"line":313},[167,11711,216],{"class":191},[167,11713,11714],{"class":219}," lastSync",[167,11716,223],{"class":191},[167,11718,226],{"class":181},[167,11720,174],{"class":173},[167,11722,1106],{"class":219},[167,11724,659],{"class":191},[167,11726,6563],{"class":219},[167,11728,6566],{"class":173},[167,11730,6569],{"class":219},[167,11732,235],{"class":173},[167,11734,11735,11737,11740,11742,11744,11746,11749,11751,11754,11757,11760,11762,11764,11766],{"class":169,"line":161},[167,11736,216],{"class":191},[167,11738,11739],{"class":219}," poller",[167,11741,223],{"class":191},[167,11743,226],{"class":181},[167,11745,174],{"class":173},[167,11747,11748],{"class":181},"ReturnType",[167,11750,174],{"class":173},[167,11752,11753],{"class":191},"typeof",[167,11755,11756],{"class":173}," setInterval> ",[167,11758,11759],{"class":191},"|",[167,11761,6563],{"class":219},[167,11763,6566],{"class":173},[167,11765,6569],{"class":219},[167,11767,235],{"class":173},[167,11769,11770,11772,11775,11777,11779,11781,11783],{"class":169,"line":335},[167,11771,216],{"class":191},[167,11773,11774],{"class":219}," initialized",[167,11776,223],{"class":191},[167,11778,226],{"class":181},[167,11780,229],{"class":173},[167,11782,3388],{"class":219},[167,11784,235],{"class":173},[167,11786,11787],{"class":169,"line":341},[167,11788,209],{"emptyLinePlaceholder":208},[167,11790,11791,11793,11795,11797,11799,11801,11803],{"class":169,"line":489},[167,11792,216],{"class":191},[167,11794,8229],{"class":219},[167,11796,223],{"class":191},[167,11798,1894],{"class":181},[167,11800,1488],{"class":173},[167,11802,639],{"class":191},[167,11804,1901],{"class":173},[167,11806,11807,11809,11812,11814,11816],{"class":169,"line":495},[167,11808,2540],{"class":191},[167,11810,11811],{"class":173}," (filter.value ",[167,11813,2546],{"class":191},[167,11815,11678],{"class":201},[167,11817,258],{"class":173},[167,11819,11820,11822,11824,11826,11828,11830,11832,11834],{"class":169,"line":501},[167,11821,1933],{"class":191},[167,11823,3447],{"class":173},[167,11825,8248],{"class":181},[167,11827,229],{"class":173},[167,11829,5071],{"class":254},[167,11831,8255],{"class":191},[167,11833,5621],{"class":191},[167,11835,11836],{"class":173},"task.done)\n",[167,11838,11839],{"class":169,"line":512},[167,11840,3488],{"class":173},[167,11842,11843],{"class":169,"line":781},[167,11844,209],{"emptyLinePlaceholder":208},[167,11846,11847,11849,11851,11853,11855],{"class":169,"line":786},[167,11848,2540],{"class":191},[167,11850,11811],{"class":173},[167,11852,2546],{"class":191},[167,11854,11683],{"class":201},[167,11856,258],{"class":173},[167,11858,11859,11861,11863,11865,11867,11869,11871],{"class":169,"line":2674},[167,11860,1933],{"class":191},[167,11862,3447],{"class":173},[167,11864,8248],{"class":181},[167,11866,229],{"class":173},[167,11868,5071],{"class":254},[167,11870,8255],{"class":191},[167,11872,11873],{"class":173}," task.done)\n",[167,11875,11876],{"class":169,"line":2688},[167,11877,3488],{"class":173},[167,11879,11880],{"class":169,"line":3571},[167,11881,209],{"emptyLinePlaceholder":208},[167,11883,11884,11886],{"class":169,"line":5024},[167,11885,1534],{"class":191},[167,11887,11888],{"class":173}," tasks.value\n",[167,11890,11891],{"class":169,"line":5033},[167,11892,403],{"class":173},[167,11894,11895],{"class":169,"line":5042},[167,11896,209],{"emptyLinePlaceholder":208},[167,11898,11899,11901,11903,11906],{"class":169,"line":6752},[167,11900,2519],{"class":191},[167,11902,1427],{"class":191},[167,11904,11905],{"class":181}," fetchTasks",[167,11907,763],{"class":173},[167,11909,11910,11913,11915],{"class":169,"line":6774},[167,11911,11912],{"class":173},"  status.value ",[167,11914,267],{"class":191},[167,11916,11917],{"class":201}," 'Sincronizando...'\n",[167,11919,11920],{"class":169,"line":6779},[167,11921,209],{"emptyLinePlaceholder":208},[167,11923,11924,11926,11928,11930,11932,11934,11936,11939],{"class":169,"line":6784},[167,11925,1438],{"class":191},[167,11927,6610],{"class":219},[167,11929,223],{"class":191},[167,11931,3005],{"class":191},[167,11933,6617],{"class":181},[167,11935,229],{"class":173},[167,11937,11938],{"class":201},"'\u002Fapi\u002Ftasks'",[167,11940,235],{"class":173},[167,11942,11943,11945,11948,11950,11952,11954,11956,11958,11960,11962,11964,11967,11969,11971],{"class":169,"line":6789},[167,11944,1438],{"class":191},[167,11946,11947],{"class":219}," data",[167,11949,223],{"class":191},[167,11951,2522],{"class":173},[167,11953,2923],{"class":191},[167,11955,6679],{"class":173},[167,11957,6682],{"class":181},[167,11959,6685],{"class":173},[167,11961,6688],{"class":191},[167,11963,577],{"class":173},[167,11965,11966],{"class":254},"tasks",[167,11968,583],{"class":191},[167,11970,11601],{"class":181},[167,11972,11973],{"class":173},"[] }\n",[167,11975,11976],{"class":169,"line":6805},[167,11977,209],{"emptyLinePlaceholder":208},[167,11979,11980,11983,11985],{"class":169,"line":6820},[167,11981,11982],{"class":173},"  tasks.value ",[167,11984,267],{"class":191},[167,11986,11987],{"class":173}," data.tasks\n",[167,11989,11990,11993,11995,11997,12000,12002,12005,12007,12010],{"class":169,"line":6825},[167,11991,11992],{"class":173},"  lastSync.value ",[167,11994,267],{"class":191},[167,11996,4220],{"class":191},[167,11998,11999],{"class":181}," Date",[167,12001,2499],{"class":173},[167,12003,12004],{"class":181},"toLocaleTimeString",[167,12006,229],{"class":173},[167,12008,12009],{"class":201},"'es-CO'",[167,12011,235],{"class":173},[167,12013,12014,12016,12018],{"class":169,"line":6832},[167,12015,11912],{"class":173},[167,12017,267],{"class":191},[167,12019,12020],{"class":201}," 'Datos actualizados'\n",[167,12022,12023],{"class":169,"line":6841},[167,12024,276],{"class":173},[167,12026,12027],{"class":169,"line":6850},[167,12028,209],{"emptyLinePlaceholder":208},[167,12030,12031,12033,12036],{"class":169,"line":6857},[167,12032,246],{"class":191},[167,12034,12035],{"class":181}," startPolling",[167,12037,763],{"class":173},[167,12039,12040,12042,12045,12047,12049,12051],{"class":169,"line":6875},[167,12041,2540],{"class":191},[167,12043,12044],{"class":173}," (poller.value ",[167,12046,701],{"class":191},[167,12048,6563],{"class":219},[167,12050,693],{"class":173},[167,12052,2552],{"class":191},[167,12054,12055],{"class":169,"line":6880},[167,12056,209],{"emptyLinePlaceholder":208},[167,12058,12059,12062,12064,12067,12069,12071],{"class":169,"line":6885},[167,12060,12061],{"class":173},"  poller.value ",[167,12063,267],{"class":191},[167,12065,12066],{"class":181}," setInterval",[167,12068,1488],{"class":173},[167,12070,639],{"class":191},[167,12072,1901],{"class":173},[167,12074,12075,12078,12080],{"class":169,"line":6894},[167,12076,12077],{"class":191},"    void",[167,12079,11905],{"class":181},[167,12081,2913],{"class":173},[167,12083,12084,12086,12089],{"class":169,"line":6899},[167,12085,1953],{"class":173},[167,12087,12088],{"class":219},"30000",[167,12090,235],{"class":173},[167,12092,12093],{"class":169,"line":6908},[167,12094,276],{"class":173},[167,12096,12097],{"class":169,"line":6924},[167,12098,209],{"emptyLinePlaceholder":208},[167,12100,12101,12103,12106],{"class":169,"line":6945},[167,12102,246],{"class":191},[167,12104,12105],{"class":181}," stopPolling",[167,12107,763],{"class":173},[167,12109,12110,12112,12114,12116,12118,12120],{"class":169,"line":6950},[167,12111,2540],{"class":191},[167,12113,12044],{"class":173},[167,12115,2546],{"class":191},[167,12117,6563],{"class":219},[167,12119,693],{"class":173},[167,12121,2552],{"class":191},[167,12123,12124],{"class":169,"line":6971},[167,12125,209],{"emptyLinePlaceholder":208},[167,12127,12128,12131],{"class":169,"line":6985},[167,12129,12130],{"class":181},"  clearInterval",[167,12132,12133],{"class":173},"(poller.value)\n",[167,12135,12136,12138,12140],{"class":169,"line":6999},[167,12137,12061],{"class":173},[167,12139,267],{"class":191},[167,12141,12142],{"class":219}," null\n",[167,12144,12145],{"class":169,"line":7013},[167,12146,276],{"class":173},[167,12148,12149],{"class":169,"line":7022},[167,12150,209],{"emptyLinePlaceholder":208},[167,12152,12153,12155,12157,12159],{"class":169,"line":7027},[167,12154,6792],{"class":181},[167,12156,1488],{"class":173},[167,12158,639],{"class":191},[167,12160,1901],{"class":173},[167,12162,12163,12166,12168],{"class":169,"line":7044},[167,12164,12165],{"class":173},"  initialized.value ",[167,12167,267],{"class":191},[167,12169,3483],{"class":219},[167,12171,12172],{"class":169,"line":7053},[167,12173,403],{"class":173},[167,12175,12176],{"class":169,"line":7551},[167,12177,209],{"emptyLinePlaceholder":208},[167,12179,12180,12183,12185,12187,12189,12191],{"class":169,"line":7556},[167,12181,12182],{"class":181},"onActivated",[167,12184,229],{"class":173},[167,12186,2519],{"class":191},[167,12188,1464],{"class":173},[167,12190,639],{"class":191},[167,12192,1901],{"class":173},[167,12194,12195,12197,12199,12202,12204,12207,12209],{"class":169,"line":7575},[167,12196,11912],{"class":173},[167,12198,267],{"class":191},[167,12200,12201],{"class":173}," initialized.value ",[167,12203,8312],{"class":191},[167,12205,12206],{"class":201}," 'Vista reactivada'",[167,12208,5308],{"class":191},[167,12210,12211],{"class":201}," 'Cargando vista...'\n",[167,12213,12214,12216,12218],{"class":169,"line":7588},[167,12215,2571],{"class":191},[167,12217,11905],{"class":181},[167,12219,2913],{"class":173},[167,12221,12222,12225],{"class":169,"line":7601},[167,12223,12224],{"class":181},"  startPolling",[167,12226,2913],{"class":173},[167,12228,12229],{"class":169,"line":7614},[167,12230,403],{"class":173},[167,12232,12233],{"class":169,"line":7623},[167,12234,209],{"emptyLinePlaceholder":208},[167,12236,12237,12240,12242,12244],{"class":169,"line":7628},[167,12238,12239],{"class":181},"onDeactivated",[167,12241,1488],{"class":173},[167,12243,639],{"class":191},[167,12245,1901],{"class":173},[167,12247,12248,12250,12252],{"class":169,"line":7643},[167,12249,11912],{"class":173},[167,12251,267],{"class":191},[167,12253,12254],{"class":201}," 'Vista en pausa'\n",[167,12256,12257,12260],{"class":169,"line":7652},[167,12258,12259],{"class":181},"  stopPolling",[167,12261,2913],{"class":173},[167,12263,12264],{"class":169,"line":10069},[167,12265,403],{"class":173},[167,12267,12268,12270,12272],{"class":169,"line":10080},[167,12269,282],{"class":173},[167,12271,178],{"class":177},[167,12273,185],{"class":173},[167,12275,12276],{"class":169,"line":10085},[167,12277,209],{"emptyLinePlaceholder":208},[167,12279,12280,12282,12284],{"class":169,"line":10094},[167,12281,174],{"class":173},[167,12283,299],{"class":177},[167,12285,185],{"class":173},[167,12287,12288,12290,12292,12294,12296,12299],{"class":169,"line":10099},[167,12289,307],{"class":173},[167,12291,10113],{"class":177},[167,12293,1240],{"class":181},[167,12295,267],{"class":173},[167,12297,12298],{"class":201},"\"task-report\"",[167,12300,185],{"class":173},[167,12302,12303,12305,12307],{"class":169,"line":10108},[167,12304,1252],{"class":173},[167,12306,1255],{"class":177},[167,12308,185],{"class":173},[167,12310,12311,12313,12315,12318,12320],{"class":169,"line":10125},[167,12312,1263],{"class":173},[167,12314,22],{"class":177},[167,12316,12317],{"class":173},">Reporte de tareas\u003C\u002F",[167,12319,22],{"class":177},[167,12321,185],{"class":173},[167,12323,12324,12326,12328,12331,12333],{"class":169,"line":10134},[167,12325,1263],{"class":173},[167,12327,15],{"class":177},[167,12329,12330],{"class":173},">{{ status }}\u003C\u002F",[167,12332,15],{"class":177},[167,12334,185],{"class":173},[167,12336,12337,12339,12341,12343,12345,12348,12351,12353],{"class":169,"line":10148},[167,12338,1263],{"class":173},[167,12340,15],{"class":177},[167,12342,5690],{"class":181},[167,12344,267],{"class":173},[167,12346,12347],{"class":201},"\"lastSync\"",[167,12349,12350],{"class":173},">Última sincronización: {{ lastSync }}\u003C\u002F",[167,12352,15],{"class":177},[167,12354,185],{"class":173},[167,12356,12357,12359,12361],{"class":169,"line":10157},[167,12358,1287],{"class":173},[167,12360,1255],{"class":177},[167,12362,185],{"class":173},[167,12364,12365],{"class":169,"line":10163},[167,12366,209],{"emptyLinePlaceholder":208},[167,12368,12369,12371,12373,12375,12377,12380],{"class":169,"line":10173},[167,12370,1252],{"class":173},[167,12372,5687],{"class":177},[167,12374,1240],{"class":181},[167,12376,267],{"class":173},[167,12378,12379],{"class":201},"\"filters\"",[167,12381,185],{"class":173},[167,12383,12384,12386,12388,12390,12392,12395,12398,12400],{"class":169,"line":10182},[167,12385,1263],{"class":173},[167,12387,507],{"class":177},[167,12389,1177],{"class":181},[167,12391,267],{"class":173},[167,12393,12394],{"class":201},"\"filter = 'all'\"",[167,12396,12397],{"class":173},">Todas\u003C\u002F",[167,12399,507],{"class":177},[167,12401,185],{"class":173},[167,12403,12404,12406,12408,12410,12412,12415,12418,12420],{"class":169,"line":10187},[167,12405,1263],{"class":173},[167,12407,507],{"class":177},[167,12409,1177],{"class":181},[167,12411,267],{"class":173},[167,12413,12414],{"class":201},"\"filter = 'pending'\"",[167,12416,12417],{"class":173},">Pendientes\u003C\u002F",[167,12419,507],{"class":177},[167,12421,185],{"class":173},[167,12423,12424,12426,12428,12430,12432,12435,12438,12440],{"class":169,"line":10210},[167,12425,1263],{"class":173},[167,12427,507],{"class":177},[167,12429,1177],{"class":181},[167,12431,267],{"class":173},[167,12433,12434],{"class":201},"\"filter = 'done'\"",[167,12436,12437],{"class":173},">Completadas\u003C\u002F",[167,12439,507],{"class":177},[167,12441,185],{"class":173},[167,12443,12444,12446,12448],{"class":169,"line":10224},[167,12445,1287],{"class":173},[167,12447,5687],{"class":177},[167,12449,185],{"class":173},[167,12451,12452],{"class":169,"line":10237},[167,12453,209],{"emptyLinePlaceholder":208},[167,12455,12456,12458,12460],{"class":169,"line":10252},[167,12457,1252],{"class":173},[167,12459,33],{"class":177},[167,12461,185],{"class":173},[167,12463,12464,12466],{"class":169,"line":10279},[167,12465,1263],{"class":173},[167,12467,12468],{"class":177},"li\n",[167,12470,12471,12474,12476],{"class":169,"line":10288},[167,12472,12473],{"class":181},"        v-for",[167,12475,267],{"class":173},[167,12477,12478],{"class":201},"\"task in visibleTasks\"\n",[167,12480,12481,12484,12486],{"class":169,"line":10293},[167,12482,12483],{"class":181},"        :key",[167,12485,267],{"class":173},[167,12487,3542],{"class":201},[167,12489,12490],{"class":169,"line":10313},[167,12491,10528],{"class":173},[167,12493,12494],{"class":169,"line":10322},[167,12495,12496],{"class":173},"        {{ task.title }}\n",[167,12498,12499,12501,12503],{"class":169,"line":10977},[167,12500,10166],{"class":173},[167,12502,36],{"class":177},[167,12504,185],{"class":173},[167,12506,12507,12509,12511],{"class":169,"line":10990},[167,12508,1287],{"class":173},[167,12510,33],{"class":177},[167,12512,185],{"class":173},[167,12514,12515,12517,12519],{"class":169,"line":11003},[167,12516,504],{"class":173},[167,12518,10113],{"class":177},[167,12520,185],{"class":173},[167,12522,12523,12525,12527],{"class":169,"line":11028},[167,12524,282],{"class":173},[167,12526,299],{"class":177},[167,12528,185],{"class":173},[154,12530,12533],{"className":156,"code":12531,"filename":12532,"language":162,"meta":163,"style":163},"\u003Cscript>\nexport default {\n  data() {\n    return {\n      tasks: [],\n      filter: 'all',\n      status: 'Esperando carga...',\n      lastSync: null,\n      poller: null,\n      initialized: false\n    }\n  },\n\n  computed: {\n    visibleTasks() {\n      if (this.filter === 'pending') {\n        return this.tasks.filter(task => !task.done)\n      }\n\n      if (this.filter === 'done') {\n        return this.tasks.filter(task => task.done)\n      }\n\n      return this.tasks\n    }\n  },\n\n  mounted() {\n    this.initialized = true\n  },\n\n  async activated() {\n    this.status = this.initialized ? 'Vista reactivada' : 'Cargando vista...'\n    await this.fetchTasks()\n    this.startPolling()\n  },\n\n  deactivated() {\n    this.status = 'Vista en pausa'\n    this.stopPolling()\n  },\n\n  methods: {\n    async fetchTasks() {\n      this.status = 'Sincronizando...'\n\n      const response = await fetch('\u002Fapi\u002Ftasks')\n      const data = await response.json()\n\n      this.tasks = data.tasks\n      this.lastSync = new Date().toLocaleTimeString('es-CO')\n      this.status = 'Datos actualizados'\n    },\n\n    startPolling() {\n      if (this.poller !== null) return\n\n      this.poller = setInterval(() => {\n        void this.fetchTasks()\n      }, 30000)\n    },\n\n    stopPolling() {\n      if (this.poller === null) return\n\n      clearInterval(this.poller)\n      this.poller = null\n    }\n  }\n}\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Csection class=\"task-report\">\n    \u003Cheader>\n      \u003Ch2>Reporte de tareas\u003C\u002Fh2>\n      \u003Cp>{{ status }}\u003C\u002Fp>\n      \u003Cp v-if=\"lastSync\">Última sincronización: {{ lastSync }}\u003C\u002Fp>\n    \u003C\u002Fheader>\n\n    \u003Cnav class=\"filters\">\n      \u003Cbutton @click=\"filter = 'all'\">Todas\u003C\u002Fbutton>\n      \u003Cbutton @click=\"filter = 'pending'\">Pendientes\u003C\u002Fbutton>\n      \u003Cbutton @click=\"filter = 'done'\">Completadas\u003C\u002Fbutton>\n    \u003C\u002Fnav>\n\n    \u003Cul>\n      \u003Cli\n        v-for=\"task in visibleTasks\"\n        :key=\"task.id\"\n      >\n        {{ task.title }}\n      \u003C\u002Fli>\n    \u003C\u002Ful>\n  \u003C\u002Fsection>\n\u003C\u002Ftemplate>\n","Options Api",[87,12534,12535,12543,12551,12557,12563,12568,12577,12586,12595,12604,12611,12615,12619,12623,12627,12633,12650,12670,12674,12678,12694,12712,12716,12720,12729,12733,12737,12741,12748,12759,12763,12767,12776,12797,12810,12821,12825,12829,12836,12846,12857,12861,12865,12869,12877,12887,12891,12909,12925,12929,12940,12963,12973,12977,12981,12988,13007,13011,13027,13040,13049,13053,13057,13064,13082,13086,13098,13108,13112,13116,13120,13128,13132,13140,13154,13162,13174,13186,13204,13212,13216,13230,13248,13266,13284,13292,13296,13304,13310,13318,13326,13330,13334,13342,13350,13358],{"__ignoreMap":163},[167,12536,12537,12539,12541],{"class":169,"line":170},[167,12538,174],{"class":173},[167,12540,178],{"class":177},[167,12542,185],{"class":173},[167,12544,12545,12547,12549],{"class":169,"line":188},[167,12546,608],{"class":191},[167,12548,3987],{"class":191},[167,12550,1901],{"class":173},[167,12552,12553,12555],{"class":169,"line":205},[167,12554,7172],{"class":181},[167,12556,763],{"class":173},[167,12558,12559,12561],{"class":169,"line":160},[167,12560,1933],{"class":191},[167,12562,1901],{"class":173},[167,12564,12565],{"class":169,"line":238},[167,12566,12567],{"class":173},"      tasks: [],\n",[167,12569,12570,12573,12575],{"class":169,"line":243},[167,12571,12572],{"class":173},"      filter: ",[167,12574,232],{"class":201},[167,12576,393],{"class":173},[167,12578,12579,12582,12584],{"class":169,"line":261},[167,12580,12581],{"class":173},"      status: ",[167,12583,11705],{"class":201},[167,12585,393],{"class":173},[167,12587,12588,12591,12593],{"class":169,"line":273},[167,12589,12590],{"class":173},"      lastSync: ",[167,12592,6569],{"class":219},[167,12594,393],{"class":173},[167,12596,12597,12600,12602],{"class":169,"line":279},[167,12598,12599],{"class":173},"      poller: ",[167,12601,6569],{"class":219},[167,12603,393],{"class":173},[167,12605,12606,12609],{"class":169,"line":289},[167,12607,12608],{"class":173},"      initialized: ",[167,12610,8089],{"class":219},[167,12612,12613],{"class":169,"line":294},[167,12614,4045],{"class":173},[167,12616,12617],{"class":169,"line":304},[167,12618,398],{"class":173},[167,12620,12621],{"class":169,"line":313},[167,12622,209],{"emptyLinePlaceholder":208},[167,12624,12625],{"class":169,"line":161},[167,12626,8751],{"class":173},[167,12628,12629,12631],{"class":169,"line":335},[167,12630,8756],{"class":181},[167,12632,763],{"class":173},[167,12634,12635,12637,12639,12641,12644,12646,12648],{"class":169,"line":341},[167,12636,7257],{"class":191},[167,12638,2522],{"class":173},[167,12640,4923],{"class":219},[167,12642,12643],{"class":173},".filter ",[167,12645,2546],{"class":191},[167,12647,11678],{"class":201},[167,12649,258],{"class":173},[167,12651,12652,12654,12656,12658,12660,12662,12664,12666,12668],{"class":169,"line":489},[167,12653,8851],{"class":191},[167,12655,7347],{"class":219},[167,12657,8768],{"class":173},[167,12659,8248],{"class":181},[167,12661,229],{"class":173},[167,12663,5071],{"class":254},[167,12665,8255],{"class":191},[167,12667,5621],{"class":191},[167,12669,11836],{"class":173},[167,12671,12672],{"class":169,"line":495},[167,12673,7283],{"class":173},[167,12675,12676],{"class":169,"line":501},[167,12677,209],{"emptyLinePlaceholder":208},[167,12679,12680,12682,12684,12686,12688,12690,12692],{"class":169,"line":512},[167,12681,7257],{"class":191},[167,12683,2522],{"class":173},[167,12685,4923],{"class":219},[167,12687,12643],{"class":173},[167,12689,2546],{"class":191},[167,12691,11683],{"class":201},[167,12693,258],{"class":173},[167,12695,12696,12698,12700,12702,12704,12706,12708,12710],{"class":169,"line":781},[167,12697,8851],{"class":191},[167,12699,7347],{"class":219},[167,12701,8768],{"class":173},[167,12703,8248],{"class":181},[167,12705,229],{"class":173},[167,12707,5071],{"class":254},[167,12709,8255],{"class":191},[167,12711,11873],{"class":173},[167,12713,12714],{"class":169,"line":786},[167,12715,7283],{"class":173},[167,12717,12718],{"class":169,"line":2674},[167,12719,209],{"emptyLinePlaceholder":208},[167,12721,12722,12724,12726],{"class":169,"line":2688},[167,12723,8763],{"class":191},[167,12725,7347],{"class":219},[167,12727,12728],{"class":173},".tasks\n",[167,12730,12731],{"class":169,"line":3571},[167,12732,4045],{"class":173},[167,12734,12735],{"class":169,"line":5024},[167,12736,398],{"class":173},[167,12738,12739],{"class":169,"line":5033},[167,12740,209],{"emptyLinePlaceholder":208},[167,12742,12743,12746],{"class":169,"line":5042},[167,12744,12745],{"class":181},"  mounted",[167,12747,763],{"class":173},[167,12749,12750,12752,12755,12757],{"class":169,"line":6752},[167,12751,879],{"class":219},[167,12753,12754],{"class":173},".initialized ",[167,12756,267],{"class":191},[167,12758,3483],{"class":219},[167,12760,12761],{"class":169,"line":6774},[167,12762,398],{"class":173},[167,12764,12765],{"class":169,"line":6779},[167,12766,209],{"emptyLinePlaceholder":208},[167,12768,12769,12771,12774],{"class":169,"line":6784},[167,12770,7327],{"class":191},[167,12772,12773],{"class":181}," activated",[167,12775,763],{"class":173},[167,12777,12778,12780,12783,12785,12787,12789,12791,12793,12795],{"class":169,"line":6789},[167,12779,879],{"class":219},[167,12781,12782],{"class":173},".status ",[167,12784,267],{"class":191},[167,12786,7347],{"class":219},[167,12788,12754],{"class":173},[167,12790,8312],{"class":191},[167,12792,12206],{"class":201},[167,12794,5308],{"class":191},[167,12796,12211],{"class":201},[167,12798,12799,12801,12803,12805,12808],{"class":169,"line":6805},[167,12800,6726],{"class":191},[167,12802,7347],{"class":219},[167,12804,1675],{"class":173},[167,12806,12807],{"class":181},"fetchTasks",[167,12809,2913],{"class":173},[167,12811,12812,12814,12816,12819],{"class":169,"line":6820},[167,12813,879],{"class":219},[167,12815,1675],{"class":173},[167,12817,12818],{"class":181},"startPolling",[167,12820,2913],{"class":173},[167,12822,12823],{"class":169,"line":6825},[167,12824,398],{"class":173},[167,12826,12827],{"class":169,"line":6832},[167,12828,209],{"emptyLinePlaceholder":208},[167,12830,12831,12834],{"class":169,"line":6841},[167,12832,12833],{"class":181},"  deactivated",[167,12835,763],{"class":173},[167,12837,12838,12840,12842,12844],{"class":169,"line":6850},[167,12839,879],{"class":219},[167,12841,12782],{"class":173},[167,12843,267],{"class":191},[167,12845,12254],{"class":201},[167,12847,12848,12850,12852,12855],{"class":169,"line":6857},[167,12849,879],{"class":219},[167,12851,1675],{"class":173},[167,12853,12854],{"class":181},"stopPolling",[167,12856,2913],{"class":173},[167,12858,12859],{"class":169,"line":6875},[167,12860,398],{"class":173},[167,12862,12863],{"class":169,"line":6880},[167,12864,209],{"emptyLinePlaceholder":208},[167,12866,12867],{"class":169,"line":6885},[167,12868,4415],{"class":173},[167,12870,12871,12873,12875],{"class":169,"line":6894},[167,12872,7226],{"class":191},[167,12874,11905],{"class":181},[167,12876,763],{"class":173},[167,12878,12879,12881,12883,12885],{"class":169,"line":6899},[167,12880,741],{"class":219},[167,12882,12782],{"class":173},[167,12884,267],{"class":191},[167,12886,11917],{"class":201},[167,12888,12889],{"class":169,"line":6908},[167,12890,209],{"emptyLinePlaceholder":208},[167,12892,12893,12895,12897,12899,12901,12903,12905,12907],{"class":169,"line":6924},[167,12894,4431],{"class":191},[167,12896,6610],{"class":219},[167,12898,223],{"class":191},[167,12900,3005],{"class":191},[167,12902,6617],{"class":181},[167,12904,229],{"class":173},[167,12906,11938],{"class":201},[167,12908,235],{"class":173},[167,12910,12911,12913,12915,12917,12919,12921,12923],{"class":169,"line":6945},[167,12912,4431],{"class":191},[167,12914,11947],{"class":219},[167,12916,223],{"class":191},[167,12918,3005],{"class":191},[167,12920,6679],{"class":173},[167,12922,6682],{"class":181},[167,12924,2913],{"class":173},[167,12926,12927],{"class":169,"line":6950},[167,12928,209],{"emptyLinePlaceholder":208},[167,12930,12931,12933,12936,12938],{"class":169,"line":6971},[167,12932,741],{"class":219},[167,12934,12935],{"class":173},".tasks ",[167,12937,267],{"class":191},[167,12939,11987],{"class":173},[167,12941,12942,12944,12947,12949,12951,12953,12955,12957,12959,12961],{"class":169,"line":6985},[167,12943,741],{"class":219},[167,12945,12946],{"class":173},".lastSync ",[167,12948,267],{"class":191},[167,12950,4220],{"class":191},[167,12952,11999],{"class":181},[167,12954,2499],{"class":173},[167,12956,12004],{"class":181},[167,12958,229],{"class":173},[167,12960,12009],{"class":201},[167,12962,235],{"class":173},[167,12964,12965,12967,12969,12971],{"class":169,"line":6999},[167,12966,741],{"class":219},[167,12968,12782],{"class":173},[167,12970,267],{"class":191},[167,12972,12020],{"class":201},[167,12974,12975],{"class":169,"line":7013},[167,12976,755],{"class":173},[167,12978,12979],{"class":169,"line":7022},[167,12980,209],{"emptyLinePlaceholder":208},[167,12982,12983,12986],{"class":169,"line":7027},[167,12984,12985],{"class":181},"    startPolling",[167,12987,763],{"class":173},[167,12989,12990,12992,12994,12996,12999,13001,13003,13005],{"class":169,"line":7044},[167,12991,7257],{"class":191},[167,12993,2522],{"class":173},[167,12995,4923],{"class":219},[167,12997,12998],{"class":173},".poller ",[167,13000,701],{"class":191},[167,13002,6563],{"class":219},[167,13004,693],{"class":173},[167,13006,2552],{"class":191},[167,13008,13009],{"class":169,"line":7053},[167,13010,209],{"emptyLinePlaceholder":208},[167,13012,13013,13015,13017,13019,13021,13023,13025],{"class":169,"line":7551},[167,13014,741],{"class":219},[167,13016,12998],{"class":173},[167,13018,267],{"class":191},[167,13020,12066],{"class":181},[167,13022,1488],{"class":173},[167,13024,639],{"class":191},[167,13026,1901],{"class":173},[167,13028,13029,13032,13034,13036,13038],{"class":169,"line":7556},[167,13030,13031],{"class":191},"        void",[167,13033,7347],{"class":219},[167,13035,1675],{"class":173},[167,13037,12807],{"class":181},[167,13039,2913],{"class":173},[167,13041,13042,13045,13047],{"class":169,"line":7575},[167,13043,13044],{"class":173},"      }, ",[167,13046,12088],{"class":219},[167,13048,235],{"class":173},[167,13050,13051],{"class":169,"line":7588},[167,13052,755],{"class":173},[167,13054,13055],{"class":169,"line":7601},[167,13056,209],{"emptyLinePlaceholder":208},[167,13058,13059,13062],{"class":169,"line":7614},[167,13060,13061],{"class":181},"    stopPolling",[167,13063,763],{"class":173},[167,13065,13066,13068,13070,13072,13074,13076,13078,13080],{"class":169,"line":7623},[167,13067,7257],{"class":191},[167,13069,2522],{"class":173},[167,13071,4923],{"class":219},[167,13073,12998],{"class":173},[167,13075,2546],{"class":191},[167,13077,6563],{"class":219},[167,13079,693],{"class":173},[167,13081,2552],{"class":191},[167,13083,13084],{"class":169,"line":7628},[167,13085,209],{"emptyLinePlaceholder":208},[167,13087,13088,13091,13093,13095],{"class":169,"line":7643},[167,13089,13090],{"class":181},"      clearInterval",[167,13092,229],{"class":173},[167,13094,4923],{"class":219},[167,13096,13097],{"class":173},".poller)\n",[167,13099,13100,13102,13104,13106],{"class":169,"line":7652},[167,13101,741],{"class":219},[167,13103,12998],{"class":173},[167,13105,267],{"class":191},[167,13107,12142],{"class":219},[167,13109,13110],{"class":169,"line":10069},[167,13111,4045],{"class":173},[167,13113,13114],{"class":169,"line":10080},[167,13115,3488],{"class":173},[167,13117,13118],{"class":169,"line":10085},[167,13119,276],{"class":173},[167,13121,13122,13124,13126],{"class":169,"line":10094},[167,13123,282],{"class":173},[167,13125,178],{"class":177},[167,13127,185],{"class":173},[167,13129,13130],{"class":169,"line":10099},[167,13131,209],{"emptyLinePlaceholder":208},[167,13133,13134,13136,13138],{"class":169,"line":10108},[167,13135,174],{"class":173},[167,13137,299],{"class":177},[167,13139,185],{"class":173},[167,13141,13142,13144,13146,13148,13150,13152],{"class":169,"line":10125},[167,13143,307],{"class":173},[167,13145,10113],{"class":177},[167,13147,1240],{"class":181},[167,13149,267],{"class":173},[167,13151,12298],{"class":201},[167,13153,185],{"class":173},[167,13155,13156,13158,13160],{"class":169,"line":10134},[167,13157,1252],{"class":173},[167,13159,1255],{"class":177},[167,13161,185],{"class":173},[167,13163,13164,13166,13168,13170,13172],{"class":169,"line":10148},[167,13165,1263],{"class":173},[167,13167,22],{"class":177},[167,13169,12317],{"class":173},[167,13171,22],{"class":177},[167,13173,185],{"class":173},[167,13175,13176,13178,13180,13182,13184],{"class":169,"line":10157},[167,13177,1263],{"class":173},[167,13179,15],{"class":177},[167,13181,12330],{"class":173},[167,13183,15],{"class":177},[167,13185,185],{"class":173},[167,13187,13188,13190,13192,13194,13196,13198,13200,13202],{"class":169,"line":10163},[167,13189,1263],{"class":173},[167,13191,15],{"class":177},[167,13193,5690],{"class":181},[167,13195,267],{"class":173},[167,13197,12347],{"class":201},[167,13199,12350],{"class":173},[167,13201,15],{"class":177},[167,13203,185],{"class":173},[167,13205,13206,13208,13210],{"class":169,"line":10173},[167,13207,1287],{"class":173},[167,13209,1255],{"class":177},[167,13211,185],{"class":173},[167,13213,13214],{"class":169,"line":10182},[167,13215,209],{"emptyLinePlaceholder":208},[167,13217,13218,13220,13222,13224,13226,13228],{"class":169,"line":10187},[167,13219,1252],{"class":173},[167,13221,5687],{"class":177},[167,13223,1240],{"class":181},[167,13225,267],{"class":173},[167,13227,12379],{"class":201},[167,13229,185],{"class":173},[167,13231,13232,13234,13236,13238,13240,13242,13244,13246],{"class":169,"line":10210},[167,13233,1263],{"class":173},[167,13235,507],{"class":177},[167,13237,1177],{"class":181},[167,13239,267],{"class":173},[167,13241,12394],{"class":201},[167,13243,12397],{"class":173},[167,13245,507],{"class":177},[167,13247,185],{"class":173},[167,13249,13250,13252,13254,13256,13258,13260,13262,13264],{"class":169,"line":10224},[167,13251,1263],{"class":173},[167,13253,507],{"class":177},[167,13255,1177],{"class":181},[167,13257,267],{"class":173},[167,13259,12414],{"class":201},[167,13261,12417],{"class":173},[167,13263,507],{"class":177},[167,13265,185],{"class":173},[167,13267,13268,13270,13272,13274,13276,13278,13280,13282],{"class":169,"line":10237},[167,13269,1263],{"class":173},[167,13271,507],{"class":177},[167,13273,1177],{"class":181},[167,13275,267],{"class":173},[167,13277,12434],{"class":201},[167,13279,12437],{"class":173},[167,13281,507],{"class":177},[167,13283,185],{"class":173},[167,13285,13286,13288,13290],{"class":169,"line":10252},[167,13287,1287],{"class":173},[167,13289,5687],{"class":177},[167,13291,185],{"class":173},[167,13293,13294],{"class":169,"line":10279},[167,13295,209],{"emptyLinePlaceholder":208},[167,13297,13298,13300,13302],{"class":169,"line":10288},[167,13299,1252],{"class":173},[167,13301,33],{"class":177},[167,13303,185],{"class":173},[167,13305,13306,13308],{"class":169,"line":10293},[167,13307,1263],{"class":173},[167,13309,12468],{"class":177},[167,13311,13312,13314,13316],{"class":169,"line":10313},[167,13313,12473],{"class":181},[167,13315,267],{"class":173},[167,13317,12478],{"class":201},[167,13319,13320,13322,13324],{"class":169,"line":10322},[167,13321,12483],{"class":181},[167,13323,267],{"class":173},[167,13325,3542],{"class":201},[167,13327,13328],{"class":169,"line":10977},[167,13329,10528],{"class":173},[167,13331,13332],{"class":169,"line":10990},[167,13333,12496],{"class":173},[167,13335,13336,13338,13340],{"class":169,"line":11003},[167,13337,10166],{"class":173},[167,13339,36],{"class":177},[167,13341,185],{"class":173},[167,13343,13344,13346,13348],{"class":169,"line":11028},[167,13345,1287],{"class":173},[167,13347,33],{"class":177},[167,13349,185],{"class":173},[167,13351,13352,13354,13356],{"class":169,"line":11037},[167,13353,504],{"class":173},[167,13355,10113],{"class":177},[167,13357,185],{"class":173},[167,13359,13360,13362,13364],{"class":169,"line":11042},[167,13361,282],{"class":173},[167,13363,299],{"class":177},[167,13365,185],{"class":173},[33,13367,13368,13373,13378,13381],{},[36,13369,13370,13372],{},[87,13371,11222],{}," cubre tanto la primera activación como cada regreso desde caché.",[36,13374,13375,13377],{},[87,13376,11230],{}," pausa el polling para no seguir consumiendo recursos fuera de pantalla.",[36,13379,13380],{},"El filtro local se conserva porque la instancia no se destruye.",[36,13382,13383,13385],{},[87,13384,6396],{}," queda reservado para trabajo realmente inicial; aquí solo marca que la instancia ya pasó por su montaje inicial.",[22,13387,7674],{"id":7673},[33,13389,13390,13395,13400,13405,13408],{},[36,13391,13392,13394],{},[87,13393,11154],{}," conserva la instancia y su estado local entre cambios de vista.",[36,13396,13397,13399],{},[87,13398,11157],{}," no significa “montar otra vez”, sino “volver a estar activo”.",[36,13401,13402,13404],{},[87,13403,11160],{}," es el hook adecuado para pausar trabajo cuando la instancia queda cacheada.",[36,13406,13407],{},"Conservar estado no evita que tengas que revalidar datos cuando la vista regresa.",[36,13409,13410],{},"Si el componente debe reiniciarse siempre desde cero, probablemente no deberías cachearlo.",[924,13412,7685],{},{"title":163,"searchDepth":188,"depth":188,"links":13414},[13415,13416,13417,13418,13419,13420,13428,13433],{"id":11146,"depth":188,"text":11147},{"id":6252,"depth":188,"text":6253},{"id":6317,"depth":188,"text":6318},{"id":6344,"depth":188,"text":6345},{"id":11366,"depth":188,"text":11367},{"id":3080,"depth":188,"text":3081,"children":13421},[13422,13424,13425,13427],{"id":11455,"depth":205,"text":13423},"1. Cargar datos solo en mounted",{"id":11472,"depth":205,"text":11473},{"id":11492,"depth":205,"text":13426},"3. Esperar unmounted al cambiar entre tabs cacheadas",{"id":11511,"depth":205,"text":11512},{"id":7992,"depth":188,"text":7993,"children":13429},[13430,13431,13432],{"id":11525,"depth":205,"text":11526},{"id":11538,"depth":205,"text":11539},{"id":11548,"depth":205,"text":11549},{"id":7673,"depth":188,"text":7674},"https:\u002F\u002Fres.cloudinary.com\u002Fdenj4fg7f\u002Fimage\u002Fupload\u002Fv1773371011\u002Fvue-lifecycle-keepalive-activated-deactivated_abjmwe.png","Ilustración de componentes cacheados con KeepAlive en Vue usando activated y deactivated","2026-03-13","Cómo funcionan activated y deactivated en componentes cacheados con \u003CKeepAlive>, cuándo usarlos y cómo evitar datos obsoletos, timers activos y lógica mal ubicada.",{"updatedAt":13439,"coverCaption":13440,"author":945,"keywords":13441},"2026-03-12T23:00:00-05:00","KeepAlive permite desactivar y reactivar componentes sin destruir su estado local",[3254,13442,11157,11160,13443],"KeepAlive","cache de componentes","\u002Fblog\u002Fvue-lifecycle-keepalive-activated-deactivated.es",[13446],{"headline":11141,"author":13447,"datePublished":13439,"@type":959},{"name":945,"@type":958},{"title":11141,"description":13437},"blog\u002Fvue-lifecycle-keepalive-activated-deactivated.es",[13451,13452,13454,13455],{"tag":7720,"color":7721},{"tag":13442,"color":13453},"#27AE60",{"tag":1622,"color":1635},{"tag":7726,"color":7727},"LTJL6v4mw6lt5Nb8vhKocgwmO5u1q1TkDLjAgpE1abw",{"id":13458,"title":13459,"body":13460,"cover":14999,"coverAlt":15000,"date":15001,"description":15002,"draft":1617,"extension":940,"lab":941,"locale":942,"meta":15003,"navigation":208,"path":15008,"schemaOrg":15009,"seo":15012,"series":7714,"seriesDescription":7715,"seriesOrder":238,"seriesTitle":7716,"slug":941,"stem":15013,"tags":15014,"__hash__":15018},"blog\u002Fblog\u002Fvue-lifecycle-unmounting-phase-beforeunmount-unmounted.es.md","Ciclos de vida en Vue: fase de desmontaje (beforeUnmount, unmounted)",{"type":8,"value":13461,"toc":14979},[13462,13471,13477,13485,13487,13497,13500,13517,13520,13532,13535,13547,13552,13554,13557,13559,13589,13592,13611,13613,13616,13624,13641,13644,13663,13666,13670,13719,13726,13728,13735,13738,13741,13765,13768,13774,13782,13788,13792,13801,13809,13812,13816,13822,13825,13827,13831,13834,13838,13844,13848,13857,14414,14940,14957,14959,14977],[11,13463,13465,13466,1020,13469,6215],{"id":13464},"ciclos-de-vida-en-vue-fase-de-desmontaje-beforeunmount-unmounted","Ciclos de vida en Vue: fase de desmontaje (",[87,13467,13468],{},"beforeUnmount",[87,13470,11272],{},[15,13472,13473,13474,13476],{},"Muchos bugs no nacen cuando un componente aparece, sino cuando desaparece. Un listener global que quedó activo, un ",[87,13475,11479],{}," que nunca se limpió o una petición que sigue en curso cuando el usuario ya cambió de vista suelen empezar ahí.",[15,13478,13479,13480,1023,13482,13484],{},"La fase de desmontaje sirve para cerrar correctamente esa historia. No se trata solo de “borrar cosas”, sino de dejar el componente en orden cuando Vue lo retira del árbol. Si entiendes bien la diferencia entre ",[87,13481,13468],{},[87,13483,11272],{},", puedes evitar fugas de memoria, efectos duplicados y componentes que siguen haciendo trabajo cuando ya no existen en pantalla.",[22,13486,6253],{"id":6252},[15,13488,13489,13490,13493,13494,13496],{},"El desmontaje ocurre cuando Vue decide retirar un componente del árbol activo. Esto puede pasar, por ejemplo, si un ",[87,13491,13492],{},"v-if"," cambia a ",[87,13495,3388],{},", si cambias de ruta o si un componente dinámico deja de renderizarse.",[15,13498,13499],{},"En esa fase aparecen dos hooks:",[33,13501,13502,13510],{},[36,13503,13504,13506,13507,1675],{},[87,13505,13468],{},": se ejecuta ",[3929,13508,13509],{},"justo antes de que Vue desmonte el componente",[36,13511,13512,13506,13514,1675],{},[87,13513,11272],{},[3929,13515,13516],{},"cuando el componente ya fue desmontado",[15,13518,13519],{},"En Composition API, los equivalentes son:",[33,13521,13522,13527],{},[36,13523,13524],{},[87,13525,13526],{},"onBeforeUnmount()",[36,13528,13529],{},[87,13530,13531],{},"onUnmounted()",[15,13533,13534],{},"La diferencia importante es esta:",[33,13536,13537,13542],{},[36,13538,6300,13539,13541],{},[87,13540,13468],{}," la instancia todavía existe y puedes acceder a su estado, refs y recursos activos para limpiarlos.",[36,13543,6300,13544,13546],{},[87,13545,11272],{}," Vue ya terminó el desmontaje y ya detuvo los efectos reactivos del componente. Ese punto sirve más para confirmaciones finales, trazas o integraciones muy concretas.",[15,13548,13549,13550,1675],{},"En la práctica, casi toda la limpieza útil ocurre en ",[87,13551,13468],{},[22,13553,6318],{"id":6317},[15,13555,13556],{},"La fase de desmontaje tiene sentido cuando el componente abrió recursos que no deben seguir vivos después.",[15,13558,9304],{},[33,13560,13561,13569,13583,13586],{},[36,13562,13563,13564,1020,13566,13568],{},"Quitar listeners registrados sobre ",[87,13565,6410],{},[87,13567,6413],{}," o cualquier objeto externo.",[36,13570,13571,13572,1020,13574,1020,13577,90,13580,1675],{},"Limpiar ",[87,13573,11479],{},[87,13575,13576],{},"setTimeout",[87,13578,13579],{},"requestAnimationFrame",[87,13581,13582],{},"ResizeObserver",[36,13584,13585],{},"Cerrar sockets, desconectar observers o abortar peticiones pendientes.",[36,13587,13588],{},"Guardar una última traza de depuración o telemetría cuando el componente ya terminó de salir.",[15,13590,13591],{},"Una regla sencilla:",[33,13593,13594,13603],{},[36,13595,13596,13597,13600,13601,1675],{},"Si necesitas ",[3929,13598,13599],{},"desconectar o cancelar algo",", piensa primero en ",[87,13602,13468],{},[36,13604,13596,13605,13608,13609,1675],{},[3929,13606,13607],{},"saber que el componente ya terminó de salir",", piensa en ",[87,13610,11272],{},[22,13612,6345],{"id":6344},[15,13614,13615],{},"No todo debe ir en estos hooks.",[15,13617,13618,13619,1023,13621,13623],{},"Evita ",[87,13620,13468],{},[87,13622,11272],{}," cuando:",[33,13625,13626,13632,13635,13638],{},[36,13627,13628,13629,1675],{},"La lógica puede quedar encapsulada en un composable usando ",[87,13630,13631],{},"onScopeDispose",[36,13633,13634],{},"El recurso ya se limpia automáticamente y no requiere intervención manual.",[36,13636,13637],{},"Estás usando el hook para corregir un problema que en realidad viene de una mala estructura del componente.",[36,13639,13640],{},"El componente no se desmonta realmente, sino que solo se oculta.",[15,13642,13643],{},"Ese último punto importa mucho:",[33,13645,13646,13651,13657],{},[36,13647,13648,13650],{},[87,13649,13492],{}," puede desmontar un componente.",[36,13652,13653,13656],{},[87,13654,13655],{},"v-show"," solo lo oculta.",[36,13658,13659,13660,13662],{},"Un componente cacheado con ",[87,13661,11154],{}," puede desactivarse sin desmontarse.",[15,13664,13665],{},"Si confundes esos casos, esperarás un hook que nunca se ejecutará.",[22,13667,13669],{"id":13668},"comparación","Comparación",[56,13671,13672,13687],{},[59,13673,13674],{},[62,13675,13676,13678,13681,13684],{},[65,13677,11376],{},[65,13679,13680],{},"Qué sigue disponible",[65,13682,13683],{},"Uso natural",[65,13685,13686],{},"Riesgo habitual",[75,13688,13689,13704],{},[62,13690,13691,13695,13698,13701],{},[80,13692,13693],{},[87,13694,13468],{},[80,13696,13697],{},"Instancia, refs, estado y recursos activos",[80,13699,13700],{},"Limpiar listeners, timers, observers o abortar peticiones",[80,13702,13703],{},"Dejar demasiado trabajo para después",[62,13705,13706,13710,13713,13716],{},[80,13707,13708],{},[87,13709,11272],{},[80,13711,13712],{},"El componente ya salió del árbol y sus efectos fueron detenidos",[80,13714,13715],{},"Trazas finales o integraciones puntuales",[80,13717,13718],{},"Intentar hacer limpieza que dependía de la instancia viva",[15,13720,13721,13723,13724,1675],{},[87,13722,11272],{}," existe, pero eso no significa que deba cargar con toda la responsabilidad del cierre. Si necesitas tocar algo que el componente abrió, normalmente llegaste tarde si esperas a ",[87,13725,11272],{},[22,13727,3081],{"id":3080},[3083,13729,13731,13732,13734],{"id":13730},"_1-registrar-recursos-en-mounted-y-olvidarse-del-cierre","1. Registrar recursos en ",[87,13733,6389],{}," y olvidarse del cierre",[15,13736,13737],{},"Es el error más común. El componente se monta correctamente, funciona durante un tiempo y luego empieza a comportarse de forma extraña porque un listener antiguo sigue respondiendo aunque la vista ya cambió.",[15,13739,13740],{},"Esto suele pasar con:",[33,13742,13743,13748,13753,13758,13762],{},[36,13744,13745],{},[87,13746,13747],{},"window.addEventListener()",[36,13749,13750],{},[87,13751,13752],{},"setInterval()",[36,13754,13755],{},[87,13756,13757],{},"IntersectionObserver",[36,13759,13760],{},[87,13761,13582],{},[36,13763,13764],{},"websockets o suscripciones externas",[15,13766,13767],{},"Si lo abriste manualmente, debes asumir que también te corresponde cerrarlo.",[3083,13769,13771,13772],{"id":13770},"_2-dejar-toda-la-limpieza-en-unmounted","2. Dejar toda la limpieza en ",[87,13773,11272],{},[15,13775,13776,13778,13779,13781],{},[87,13777,11272],{}," no es el lugar ideal para todo. Si necesitas abortar una petición, desconectar un observer o retirar listeners mientras la instancia todavía es accesible, ",[87,13780,13468],{}," es más claro y más seguro.",[15,13783,13784,13785,13787],{},"Piensa en ",[87,13786,13468],{}," como el momento de desmontar la mesa antes de sacarla del salón.",[3083,13789,13791],{"id":13790},"_3-confundir-ocultar-con-desmontar","3. Confundir ocultar con desmontar",[15,13793,13794,13795,13797,13798,13800],{},"Muchos desarrolladores esperan que ",[87,13796,13468],{}," se ejecute cuando un panel deja de verse. Pero si ese panel usa ",[87,13799,13655],{},", el componente sigue vivo.",[15,13802,13803,13804,13806,13807,1675],{},"También ocurre con ",[87,13805,11154],{},": al cambiar de vista, el componente puede quedar desactivado y luego reactivarse sin pasar por ",[87,13808,11272],{},[15,13810,13811],{},"Si el problema es de activación o desactivación, los hooks correctos pueden ser otros.",[3083,13813,13815],{"id":13814},"_4-lanzar-trabajo-nuevo-cuando-el-componente-ya-se-está-yendo","4. Lanzar trabajo nuevo cuando el componente ya se está yendo",[15,13817,13818,13819,13821],{},"No conviene iniciar nuevas tareas pesadas durante el desmontaje. Si en ",[87,13820,13468],{}," abres otra petición o empiezas otra suscripción, estás complicando justo el momento en que Vue intenta cerrar el componente.",[15,13823,13824],{},"La fase de desmontaje debería reducir trabajo, no crear más.",[22,13826,7993],{"id":7992},[3083,13828,13830],{"id":13829},"limpiar-listeners-globales-al-salir-de-una-vista","Limpiar listeners globales al salir de una vista",[15,13832,13833],{},"Si una vista escucha eventos del navegador, esos listeners deben desaparecer cuando la ruta cambia. De lo contrario, terminarás reaccionando dos veces al mismo evento cuando el usuario vuelva.",[3083,13835,13837],{"id":13836},"abortar-una-petición-pendiente","Abortar una petición pendiente",[15,13839,13840,13841,13843],{},"En componentes con navegación rápida, es normal que una solicitud siga en curso mientras el usuario ya abandonó la página. Cancelarla en ",[87,13842,13468],{}," evita trabajo innecesario y estados inconsistentes.",[3083,13845,13847],{"id":13846},"dejar-una-traza-final-de-depuración","Dejar una traza final de depuración",[15,13849,13850,13852,13853,13856],{},[87,13851,11272],{}," puede ser útil para confirmar que el componente sí salió cuando estás investigando ",[9291,13854,13855],{},"remounts"," inesperados, cacheo o renders condicionales.",[154,13858,13860],{"className":156,"code":13859,"filename":3256,"language":162,"meta":163,"style":163},"\u003Cscript setup lang=\"ts\">\nimport { onBeforeUnmount, onMounted, onUnmounted, ref } from 'vue'\n\nconst status = ref('Cargando estado...')\nconst totalTasks = ref\u003Cnumber | null>(null)\n\nlet controller: AbortController | null = null\n\nfunction syncOnlineStatus() {\n  status.value = navigator.onLine ? 'En línea' : 'Sin conexión'\n}\n\nasync function loadSummary() {\n  controller = new AbortController()\n\n  try {\n    const response = await fetch('\u002Fapi\u002Ftasks\u002Fsummary', {\n      signal: controller.signal\n    })\n\n    const data = await response.json() as { total: number }\n    totalTasks.value = data.total\n  }\n  catch (error) {\n    if (error instanceof DOMException && error.name === 'AbortError') {\n      return\n    }\n\n    console.error('No se pudo cargar el resumen', error)\n  }\n}\n\nonMounted(() => {\n  syncOnlineStatus()\n  window.addEventListener('online', syncOnlineStatus)\n  window.addEventListener('offline', syncOnlineStatus)\n  void loadSummary()\n})\n\nonBeforeUnmount(() => {\n  window.removeEventListener('online', syncOnlineStatus)\n  window.removeEventListener('offline', syncOnlineStatus)\n  controller?.abort()\n})\n\nonUnmounted(() => {\n  console.info('TaskSummary ya salió del árbol')\n})\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Csection class=\"task-summary\">\n    \u003Cp>{{ status }}\u003C\u002Fp>\n    \u003Cp v-if=\"totalTasks !== null\">\n      Tareas registradas: {{ totalTasks }}\n    \u003C\u002Fp>\n  \u003C\u002Fsection>\n\u003C\u002Ftemplate>\n",[87,13861,13862,13878,13889,13893,13910,13936,13940,13961,13965,13974,13993,13997,14001,14012,14025,14029,14035,14054,14059,14063,14067,14096,14106,14110,14117,14142,14147,14151,14155,14169,14173,14177,14181,14191,14198,14212,14225,14234,14238,14242,14253,14265,14277,14287,14291,14295,14306,14319,14323,14331,14335,14343,14358,14370,14385,14390,14398,14406],{"__ignoreMap":163},[167,13863,13864,13866,13868,13870,13872,13874,13876],{"class":169,"line":170},[167,13865,174],{"class":173},[167,13867,178],{"class":177},[167,13869,182],{"class":181},[167,13871,1045],{"class":181},[167,13873,267],{"class":173},[167,13875,1050],{"class":201},[167,13877,185],{"class":173},[167,13879,13880,13882,13885,13887],{"class":169,"line":188},[167,13881,192],{"class":191},[167,13883,13884],{"class":173}," { onBeforeUnmount, onMounted, onUnmounted, ref } ",[167,13886,198],{"class":191},[167,13888,202],{"class":201},[167,13890,13891],{"class":169,"line":205},[167,13892,209],{"emptyLinePlaceholder":208},[167,13894,13895,13897,13899,13901,13903,13905,13908],{"class":169,"line":160},[167,13896,216],{"class":191},[167,13898,11696],{"class":219},[167,13900,223],{"class":191},[167,13902,226],{"class":181},[167,13904,229],{"class":173},[167,13906,13907],{"class":201},"'Cargando estado...'",[167,13909,235],{"class":173},[167,13911,13912,13914,13917,13919,13921,13923,13926,13928,13930,13932,13934],{"class":169,"line":238},[167,13913,216],{"class":191},[167,13915,13916],{"class":219}," totalTasks",[167,13918,223],{"class":191},[167,13920,226],{"class":181},[167,13922,174],{"class":173},[167,13924,13925],{"class":219},"number",[167,13927,659],{"class":191},[167,13929,6563],{"class":219},[167,13931,6566],{"class":173},[167,13933,6569],{"class":219},[167,13935,235],{"class":173},[167,13937,13938],{"class":169,"line":243},[167,13939,209],{"emptyLinePlaceholder":208},[167,13941,13942,13945,13948,13950,13953,13955,13957,13959],{"class":169,"line":261},[167,13943,13944],{"class":191},"let",[167,13946,13947],{"class":173}," controller",[167,13949,583],{"class":191},[167,13951,13952],{"class":181}," AbortController",[167,13954,659],{"class":191},[167,13956,6563],{"class":219},[167,13958,223],{"class":191},[167,13960,12142],{"class":219},[167,13962,13963],{"class":169,"line":273},[167,13964,209],{"emptyLinePlaceholder":208},[167,13966,13967,13969,13972],{"class":169,"line":279},[167,13968,246],{"class":191},[167,13970,13971],{"class":181}," syncOnlineStatus",[167,13973,763],{"class":173},[167,13975,13976,13978,13980,13983,13985,13988,13990],{"class":169,"line":289},[167,13977,11912],{"class":173},[167,13979,267],{"class":191},[167,13981,13982],{"class":173}," navigator.onLine ",[167,13984,8312],{"class":191},[167,13986,13987],{"class":201}," 'En línea'",[167,13989,5308],{"class":191},[167,13991,13992],{"class":201}," 'Sin conexión'\n",[167,13994,13995],{"class":169,"line":294},[167,13996,276],{"class":173},[167,13998,13999],{"class":169,"line":304},[167,14000,209],{"emptyLinePlaceholder":208},[167,14002,14003,14005,14007,14010],{"class":169,"line":313},[167,14004,2519],{"class":191},[167,14006,1427],{"class":191},[167,14008,14009],{"class":181}," loadSummary",[167,14011,763],{"class":173},[167,14013,14014,14017,14019,14021,14023],{"class":169,"line":161},[167,14015,14016],{"class":173},"  controller ",[167,14018,267],{"class":191},[167,14020,4220],{"class":191},[167,14022,13952],{"class":181},[167,14024,2913],{"class":173},[167,14026,14027],{"class":169,"line":335},[167,14028,209],{"emptyLinePlaceholder":208},[167,14030,14031,14033],{"class":169,"line":341},[167,14032,6719],{"class":191},[167,14034,1901],{"class":173},[167,14036,14037,14039,14041,14043,14045,14047,14049,14052],{"class":169,"line":489},[167,14038,8262],{"class":191},[167,14040,6610],{"class":219},[167,14042,223],{"class":191},[167,14044,3005],{"class":191},[167,14046,6617],{"class":181},[167,14048,229],{"class":173},[167,14050,14051],{"class":201},"'\u002Fapi\u002Ftasks\u002Fsummary'",[167,14053,627],{"class":173},[167,14055,14056],{"class":169,"line":495},[167,14057,14058],{"class":173},"      signal: controller.signal\n",[167,14060,14061],{"class":169,"line":501},[167,14062,8922],{"class":173},[167,14064,14065],{"class":169,"line":512},[167,14066,209],{"emptyLinePlaceholder":208},[167,14068,14069,14071,14073,14075,14077,14079,14081,14084,14086,14088,14090,14092,14094],{"class":169,"line":781},[167,14070,8262],{"class":191},[167,14072,11947],{"class":219},[167,14074,223],{"class":191},[167,14076,3005],{"class":191},[167,14078,6679],{"class":173},[167,14080,6682],{"class":181},[167,14082,14083],{"class":173},"() ",[167,14085,6688],{"class":191},[167,14087,577],{"class":173},[167,14089,1917],{"class":254},[167,14091,583],{"class":191},[167,14093,8489],{"class":219},[167,14095,599],{"class":173},[167,14097,14098,14101,14103],{"class":169,"line":786},[167,14099,14100],{"class":173},"    totalTasks.value ",[167,14102,267],{"class":191},[167,14104,14105],{"class":173}," data.total\n",[167,14107,14108],{"class":169,"line":2674},[167,14109,3488],{"class":173},[167,14111,14112,14115],{"class":169,"line":2688},[167,14113,14114],{"class":191},"  catch",[167,14116,6741],{"class":173},[167,14118,14119,14121,14124,14126,14129,14132,14135,14137,14140],{"class":169,"line":3571},[167,14120,7415],{"class":191},[167,14122,14123],{"class":173}," (error ",[167,14125,6758],{"class":191},[167,14127,14128],{"class":181}," DOMException",[167,14130,14131],{"class":191}," &&",[167,14133,14134],{"class":173}," error.name ",[167,14136,2546],{"class":191},[167,14138,14139],{"class":201}," 'AbortError'",[167,14141,258],{"class":173},[167,14143,14144],{"class":169,"line":5024},[167,14145,14146],{"class":191},"      return\n",[167,14148,14149],{"class":169,"line":5033},[167,14150,4045],{"class":173},[167,14152,14153],{"class":169,"line":5042},[167,14154,209],{"emptyLinePlaceholder":208},[167,14156,14157,14159,14161,14163,14166],{"class":169,"line":6752},[167,14158,8890],{"class":173},[167,14160,9348],{"class":181},[167,14162,229],{"class":173},[167,14164,14165],{"class":201},"'No se pudo cargar el resumen'",[167,14167,14168],{"class":173},", error)\n",[167,14170,14171],{"class":169,"line":6774},[167,14172,3488],{"class":173},[167,14174,14175],{"class":169,"line":6779},[167,14176,276],{"class":173},[167,14178,14179],{"class":169,"line":6784},[167,14180,209],{"emptyLinePlaceholder":208},[167,14182,14183,14185,14187,14189],{"class":169,"line":6789},[167,14184,6792],{"class":181},[167,14186,1488],{"class":173},[167,14188,639],{"class":191},[167,14190,1901],{"class":173},[167,14192,14193,14196],{"class":169,"line":6805},[167,14194,14195],{"class":181},"  syncOnlineStatus",[167,14197,2913],{"class":173},[167,14199,14200,14203,14205,14207,14209],{"class":169,"line":6820},[167,14201,14202],{"class":173},"  window.",[167,14204,1496],{"class":181},[167,14206,229],{"class":173},[167,14208,1501],{"class":201},[167,14210,14211],{"class":173},", syncOnlineStatus)\n",[167,14213,14214,14216,14218,14220,14223],{"class":169,"line":6825},[167,14215,14202],{"class":173},[167,14217,1496],{"class":181},[167,14219,229],{"class":173},[167,14221,14222],{"class":201},"'offline'",[167,14224,14211],{"class":173},[167,14226,14227,14230,14232],{"class":169,"line":6832},[167,14228,14229],{"class":191},"  void",[167,14231,14009],{"class":181},[167,14233,2913],{"class":173},[167,14235,14236],{"class":169,"line":6841},[167,14237,403],{"class":173},[167,14239,14240],{"class":169,"line":6850},[167,14241,209],{"emptyLinePlaceholder":208},[167,14243,14244,14247,14249,14251],{"class":169,"line":6857},[167,14245,14246],{"class":181},"onBeforeUnmount",[167,14248,1488],{"class":173},[167,14250,639],{"class":191},[167,14252,1901],{"class":173},[167,14254,14255,14257,14259,14261,14263],{"class":169,"line":6875},[167,14256,14202],{"class":173},[167,14258,1519],{"class":181},[167,14260,229],{"class":173},[167,14262,1501],{"class":201},[167,14264,14211],{"class":173},[167,14266,14267,14269,14271,14273,14275],{"class":169,"line":6880},[167,14268,14202],{"class":173},[167,14270,1519],{"class":181},[167,14272,229],{"class":173},[167,14274,14222],{"class":201},[167,14276,14211],{"class":173},[167,14278,14279,14282,14285],{"class":169,"line":6885},[167,14280,14281],{"class":173},"  controller?.",[167,14283,14284],{"class":181},"abort",[167,14286,2913],{"class":173},[167,14288,14289],{"class":169,"line":6894},[167,14290,403],{"class":173},[167,14292,14293],{"class":169,"line":6899},[167,14294,209],{"emptyLinePlaceholder":208},[167,14296,14297,14300,14302,14304],{"class":169,"line":6908},[167,14298,14299],{"class":181},"onUnmounted",[167,14301,1488],{"class":173},[167,14303,639],{"class":191},[167,14305,1901],{"class":173},[167,14307,14308,14310,14312,14314,14317],{"class":169,"line":6924},[167,14309,2604],{"class":173},[167,14311,9265],{"class":181},[167,14313,229],{"class":173},[167,14315,14316],{"class":201},"'TaskSummary ya salió del árbol'",[167,14318,235],{"class":173},[167,14320,14321],{"class":169,"line":6945},[167,14322,403],{"class":173},[167,14324,14325,14327,14329],{"class":169,"line":6950},[167,14326,282],{"class":173},[167,14328,178],{"class":177},[167,14330,185],{"class":173},[167,14332,14333],{"class":169,"line":6971},[167,14334,209],{"emptyLinePlaceholder":208},[167,14336,14337,14339,14341],{"class":169,"line":6985},[167,14338,174],{"class":173},[167,14340,299],{"class":177},[167,14342,185],{"class":173},[167,14344,14345,14347,14349,14351,14353,14356],{"class":169,"line":6999},[167,14346,307],{"class":173},[167,14348,10113],{"class":177},[167,14350,1240],{"class":181},[167,14352,267],{"class":173},[167,14354,14355],{"class":201},"\"task-summary\"",[167,14357,185],{"class":173},[167,14359,14360,14362,14364,14366,14368],{"class":169,"line":7013},[167,14361,1252],{"class":173},[167,14363,15],{"class":177},[167,14365,12330],{"class":173},[167,14367,15],{"class":177},[167,14369,185],{"class":173},[167,14371,14372,14374,14376,14378,14380,14383],{"class":169,"line":7022},[167,14373,1252],{"class":173},[167,14375,15],{"class":177},[167,14377,5690],{"class":181},[167,14379,267],{"class":173},[167,14381,14382],{"class":201},"\"totalTasks !== null\"",[167,14384,185],{"class":173},[167,14386,14387],{"class":169,"line":7027},[167,14388,14389],{"class":173},"      Tareas registradas: {{ totalTasks }}\n",[167,14391,14392,14394,14396],{"class":169,"line":7044},[167,14393,1287],{"class":173},[167,14395,15],{"class":177},[167,14397,185],{"class":173},[167,14399,14400,14402,14404],{"class":169,"line":7053},[167,14401,504],{"class":173},[167,14403,10113],{"class":177},[167,14405,185],{"class":173},[167,14407,14408,14410,14412],{"class":169,"line":7551},[167,14409,282],{"class":173},[167,14411,299],{"class":177},[167,14413,185],{"class":173},[154,14415,14417],{"className":156,"code":14416,"filename":3969,"language":162,"meta":163,"style":163},"\u003Cscript>\nexport default {\n  data() {\n    return {\n      status: 'Cargando estado...',\n      totalTasks: null,\n      controller: null\n    }\n  },\n\n  mounted() {\n    this.syncOnlineStatus()\n    window.addEventListener('online', this.syncOnlineStatus)\n    window.addEventListener('offline', this.syncOnlineStatus)\n    void this.loadSummary()\n  },\n\n  beforeUnmount() {\n    window.removeEventListener('online', this.syncOnlineStatus)\n    window.removeEventListener('offline', this.syncOnlineStatus)\n    this.controller?.abort()\n  },\n\n  unmounted() {\n    console.info('TaskSummary ya salió del árbol')\n  },\n\n  methods: {\n    syncOnlineStatus() {\n      this.status = navigator.onLine ? 'En línea' : 'Sin conexión'\n    },\n\n    async loadSummary() {\n      this.controller = new AbortController()\n\n      try {\n        const response = await fetch('\u002Fapi\u002Ftasks\u002Fsummary', {\n          signal: this.controller.signal\n        })\n\n        const data = await response.json()\n        this.totalTasks = data.total\n      }\n      catch (error) {\n        if (error instanceof DOMException && error.name === 'AbortError') {\n          return\n        }\n\n        console.error('No se pudo cargar el resumen', error)\n      }\n    }\n  }\n}\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Csection class=\"task-summary\">\n    \u003Cp>{{ status }}\u003C\u002Fp>\n    \u003Cp v-if=\"totalTasks !== null\">\n      Tareas registradas: {{ totalTasks }}\n    \u003C\u002Fp>\n  \u003C\u002Fsection>\n\u003C\u002Ftemplate>\n",[87,14418,14419,14427,14435,14441,14447,14455,14464,14472,14476,14480,14484,14490,14501,14519,14535,14548,14552,14556,14563,14579,14595,14606,14610,14614,14621,14633,14637,14641,14645,14652,14670,14674,14678,14686,14701,14705,14712,14730,14740,14745,14749,14765,14777,14781,14788,14809,14814,14819,14823,14836,14840,14844,14848,14852,14860,14864,14872,14886,14898,14912,14916,14924,14932],{"__ignoreMap":163},[167,14420,14421,14423,14425],{"class":169,"line":170},[167,14422,174],{"class":173},[167,14424,178],{"class":177},[167,14426,185],{"class":173},[167,14428,14429,14431,14433],{"class":169,"line":188},[167,14430,608],{"class":191},[167,14432,3987],{"class":191},[167,14434,1901],{"class":173},[167,14436,14437,14439],{"class":169,"line":205},[167,14438,7172],{"class":181},[167,14440,763],{"class":173},[167,14442,14443,14445],{"class":169,"line":160},[167,14444,1933],{"class":191},[167,14446,1901],{"class":173},[167,14448,14449,14451,14453],{"class":169,"line":238},[167,14450,12581],{"class":173},[167,14452,13907],{"class":201},[167,14454,393],{"class":173},[167,14456,14457,14460,14462],{"class":169,"line":243},[167,14458,14459],{"class":173},"      totalTasks: ",[167,14461,6569],{"class":219},[167,14463,393],{"class":173},[167,14465,14466,14469],{"class":169,"line":261},[167,14467,14468],{"class":173},"      controller: ",[167,14470,14471],{"class":219},"null\n",[167,14473,14474],{"class":169,"line":273},[167,14475,4045],{"class":173},[167,14477,14478],{"class":169,"line":279},[167,14479,398],{"class":173},[167,14481,14482],{"class":169,"line":289},[167,14483,209],{"emptyLinePlaceholder":208},[167,14485,14486,14488],{"class":169,"line":294},[167,14487,12745],{"class":181},[167,14489,763],{"class":173},[167,14491,14492,14494,14496,14499],{"class":169,"line":304},[167,14493,879],{"class":219},[167,14495,1675],{"class":173},[167,14497,14498],{"class":181},"syncOnlineStatus",[167,14500,2913],{"class":173},[167,14502,14503,14506,14508,14510,14512,14514,14516],{"class":169,"line":313},[167,14504,14505],{"class":173},"    window.",[167,14507,1496],{"class":181},[167,14509,229],{"class":173},[167,14511,1501],{"class":201},[167,14513,1020],{"class":173},[167,14515,4923],{"class":219},[167,14517,14518],{"class":173},".syncOnlineStatus)\n",[167,14520,14521,14523,14525,14527,14529,14531,14533],{"class":169,"line":161},[167,14522,14505],{"class":173},[167,14524,1496],{"class":181},[167,14526,229],{"class":173},[167,14528,14222],{"class":201},[167,14530,1020],{"class":173},[167,14532,4923],{"class":219},[167,14534,14518],{"class":173},[167,14536,14537,14539,14541,14543,14546],{"class":169,"line":335},[167,14538,12077],{"class":191},[167,14540,7347],{"class":219},[167,14542,1675],{"class":173},[167,14544,14545],{"class":181},"loadSummary",[167,14547,2913],{"class":173},[167,14549,14550],{"class":169,"line":341},[167,14551,398],{"class":173},[167,14553,14554],{"class":169,"line":489},[167,14555,209],{"emptyLinePlaceholder":208},[167,14557,14558,14561],{"class":169,"line":495},[167,14559,14560],{"class":181},"  beforeUnmount",[167,14562,763],{"class":173},[167,14564,14565,14567,14569,14571,14573,14575,14577],{"class":169,"line":501},[167,14566,14505],{"class":173},[167,14568,1519],{"class":181},[167,14570,229],{"class":173},[167,14572,1501],{"class":201},[167,14574,1020],{"class":173},[167,14576,4923],{"class":219},[167,14578,14518],{"class":173},[167,14580,14581,14583,14585,14587,14589,14591,14593],{"class":169,"line":512},[167,14582,14505],{"class":173},[167,14584,1519],{"class":181},[167,14586,229],{"class":173},[167,14588,14222],{"class":201},[167,14590,1020],{"class":173},[167,14592,4923],{"class":219},[167,14594,14518],{"class":173},[167,14596,14597,14599,14602,14604],{"class":169,"line":781},[167,14598,879],{"class":219},[167,14600,14601],{"class":173},".controller?.",[167,14603,14284],{"class":181},[167,14605,2913],{"class":173},[167,14607,14608],{"class":169,"line":786},[167,14609,398],{"class":173},[167,14611,14612],{"class":169,"line":2674},[167,14613,209],{"emptyLinePlaceholder":208},[167,14615,14616,14619],{"class":169,"line":2688},[167,14617,14618],{"class":181},"  unmounted",[167,14620,763],{"class":173},[167,14622,14623,14625,14627,14629,14631],{"class":169,"line":3571},[167,14624,8890],{"class":173},[167,14626,9265],{"class":181},[167,14628,229],{"class":173},[167,14630,14316],{"class":201},[167,14632,235],{"class":173},[167,14634,14635],{"class":169,"line":5024},[167,14636,398],{"class":173},[167,14638,14639],{"class":169,"line":5033},[167,14640,209],{"emptyLinePlaceholder":208},[167,14642,14643],{"class":169,"line":5042},[167,14644,4415],{"class":173},[167,14646,14647,14650],{"class":169,"line":6752},[167,14648,14649],{"class":181},"    syncOnlineStatus",[167,14651,763],{"class":173},[167,14653,14654,14656,14658,14660,14662,14664,14666,14668],{"class":169,"line":6774},[167,14655,741],{"class":219},[167,14657,12782],{"class":173},[167,14659,267],{"class":191},[167,14661,13982],{"class":173},[167,14663,8312],{"class":191},[167,14665,13987],{"class":201},[167,14667,5308],{"class":191},[167,14669,13992],{"class":201},[167,14671,14672],{"class":169,"line":6779},[167,14673,755],{"class":173},[167,14675,14676],{"class":169,"line":6784},[167,14677,209],{"emptyLinePlaceholder":208},[167,14679,14680,14682,14684],{"class":169,"line":6789},[167,14681,7226],{"class":191},[167,14683,14009],{"class":181},[167,14685,763],{"class":173},[167,14687,14688,14690,14693,14695,14697,14699],{"class":169,"line":6805},[167,14689,741],{"class":219},[167,14691,14692],{"class":173},".controller ",[167,14694,267],{"class":191},[167,14696,4220],{"class":191},[167,14698,13952],{"class":181},[167,14700,2913],{"class":173},[167,14702,14703],{"class":169,"line":6820},[167,14704,209],{"emptyLinePlaceholder":208},[167,14706,14707,14710],{"class":169,"line":6825},[167,14708,14709],{"class":191},"      try",[167,14711,1901],{"class":173},[167,14713,14714,14716,14718,14720,14722,14724,14726,14728],{"class":169,"line":6832},[167,14715,8783],{"class":191},[167,14717,6610],{"class":219},[167,14719,223],{"class":191},[167,14721,3005],{"class":191},[167,14723,6617],{"class":181},[167,14725,229],{"class":173},[167,14727,14051],{"class":201},[167,14729,627],{"class":173},[167,14731,14732,14735,14737],{"class":169,"line":6841},[167,14733,14734],{"class":173},"          signal: ",[167,14736,4923],{"class":219},[167,14738,14739],{"class":173},".controller.signal\n",[167,14741,14742],{"class":169,"line":6850},[167,14743,14744],{"class":173},"        })\n",[167,14746,14747],{"class":169,"line":6857},[167,14748,209],{"emptyLinePlaceholder":208},[167,14750,14751,14753,14755,14757,14759,14761,14763],{"class":169,"line":6875},[167,14752,8783],{"class":191},[167,14754,11947],{"class":219},[167,14756,223],{"class":191},[167,14758,3005],{"class":191},[167,14760,6679],{"class":173},[167,14762,6682],{"class":181},[167,14764,2913],{"class":173},[167,14766,14767,14770,14773,14775],{"class":169,"line":6880},[167,14768,14769],{"class":219},"        this",[167,14771,14772],{"class":173},".totalTasks ",[167,14774,267],{"class":191},[167,14776,14105],{"class":173},[167,14778,14779],{"class":169,"line":6885},[167,14780,7283],{"class":173},[167,14782,14783,14786],{"class":169,"line":6894},[167,14784,14785],{"class":191},"      catch",[167,14787,6741],{"class":173},[167,14789,14790,14793,14795,14797,14799,14801,14803,14805,14807],{"class":169,"line":6899},[167,14791,14792],{"class":191},"        if",[167,14794,14123],{"class":173},[167,14796,6758],{"class":191},[167,14798,14128],{"class":181},[167,14800,14131],{"class":191},[167,14802,14134],{"class":173},[167,14804,2546],{"class":191},[167,14806,14139],{"class":201},[167,14808,258],{"class":173},[167,14810,14811],{"class":169,"line":6908},[167,14812,14813],{"class":191},"          return\n",[167,14815,14816],{"class":169,"line":6924},[167,14817,14818],{"class":173},"        }\n",[167,14820,14821],{"class":169,"line":6945},[167,14822,209],{"emptyLinePlaceholder":208},[167,14824,14825,14828,14830,14832,14834],{"class":169,"line":6950},[167,14826,14827],{"class":173},"        console.",[167,14829,9348],{"class":181},[167,14831,229],{"class":173},[167,14833,14165],{"class":201},[167,14835,14168],{"class":173},[167,14837,14838],{"class":169,"line":6971},[167,14839,7283],{"class":173},[167,14841,14842],{"class":169,"line":6985},[167,14843,4045],{"class":173},[167,14845,14846],{"class":169,"line":6999},[167,14847,3488],{"class":173},[167,14849,14850],{"class":169,"line":7013},[167,14851,276],{"class":173},[167,14853,14854,14856,14858],{"class":169,"line":7022},[167,14855,282],{"class":173},[167,14857,178],{"class":177},[167,14859,185],{"class":173},[167,14861,14862],{"class":169,"line":7027},[167,14863,209],{"emptyLinePlaceholder":208},[167,14865,14866,14868,14870],{"class":169,"line":7044},[167,14867,174],{"class":173},[167,14869,299],{"class":177},[167,14871,185],{"class":173},[167,14873,14874,14876,14878,14880,14882,14884],{"class":169,"line":7053},[167,14875,307],{"class":173},[167,14877,10113],{"class":177},[167,14879,1240],{"class":181},[167,14881,267],{"class":173},[167,14883,14355],{"class":201},[167,14885,185],{"class":173},[167,14887,14888,14890,14892,14894,14896],{"class":169,"line":7551},[167,14889,1252],{"class":173},[167,14891,15],{"class":177},[167,14893,12330],{"class":173},[167,14895,15],{"class":177},[167,14897,185],{"class":173},[167,14899,14900,14902,14904,14906,14908,14910],{"class":169,"line":7556},[167,14901,1252],{"class":173},[167,14903,15],{"class":177},[167,14905,5690],{"class":181},[167,14907,267],{"class":173},[167,14909,14382],{"class":201},[167,14911,185],{"class":173},[167,14913,14914],{"class":169,"line":7575},[167,14915,14389],{"class":173},[167,14917,14918,14920,14922],{"class":169,"line":7588},[167,14919,1287],{"class":173},[167,14921,15],{"class":177},[167,14923,185],{"class":173},[167,14925,14926,14928,14930],{"class":169,"line":7601},[167,14927,504],{"class":173},[167,14929,10113],{"class":177},[167,14931,185],{"class":173},[167,14933,14934,14936,14938],{"class":169,"line":7614},[167,14935,282],{"class":173},[167,14937,299],{"class":177},[167,14939,185],{"class":173},[33,14941,14942,14947,14952],{},[36,14943,14944,14946],{},[87,14945,6396],{}," abre recursos externos.",[36,14948,14949,14951],{},[87,14950,13526],{}," realiza la limpieza real.",[36,14953,14954,14956],{},[87,14955,13531],{}," deja una confirmación final de que el componente ya terminó de salir.",[22,14958,7674],{"id":7673},[33,14960,14961,14966,14971,14974],{},[36,14962,14963,14965],{},[87,14964,13468],{}," es el hook principal para limpiar lo que el componente abrió.",[36,14967,14968,14970],{},[87,14969,11272],{}," confirma que el desmontaje ya terminó.",[36,14972,14973],{},"Si el componente solo se oculta o queda cacheado, estos hooks pueden no ejecutarse.",[36,14975,14976],{},"El criterio más útil es simple: si registraste listeners, timers, observers o peticiones manuales, define también su cierre.",[924,14978,1604],{},{"title":163,"searchDepth":188,"depth":188,"links":14980},[14981,14982,14983,14984,14985,14993,14998],{"id":6252,"depth":188,"text":6253},{"id":6317,"depth":188,"text":6318},{"id":6344,"depth":188,"text":6345},{"id":13668,"depth":188,"text":13669},{"id":3080,"depth":188,"text":3081,"children":14986},[14987,14989,14991,14992],{"id":13730,"depth":205,"text":14988},"1. Registrar recursos en mounted y olvidarse del cierre",{"id":13770,"depth":205,"text":14990},"2. Dejar toda la limpieza en unmounted",{"id":13790,"depth":205,"text":13791},{"id":13814,"depth":205,"text":13815},{"id":7992,"depth":188,"text":7993,"children":14994},[14995,14996,14997],{"id":13829,"depth":205,"text":13830},{"id":13836,"depth":205,"text":13837},{"id":13846,"depth":205,"text":13847},{"id":7673,"depth":188,"text":7674},"https:\u002F\u002Fres.cloudinary.com\u002Fdenj4fg7f\u002Fimage\u002Fupload\u002Fv1773284773\u002Fvue-lifecycle-unmounting-phase-beforeunmount-unmounted_f9gqy0.png","Ilustración de la fase de desmontaje del ciclo de vida de Vue con beforeUnmount y unmounted","2026-03-12","Qué ocurre cuando un componente sale de pantalla y cómo usar beforeUnmount y unmounted para limpiar listeners, timers y efectos sin dejar fugas ni comportamientos extraños.",{"updatedAt":15004,"coverCaption":15005,"author":945,"keywords":15006},"2026-03-11T22:00:00-05:00","La fase de desmontaje ocurre cuando Vue retira un componente del árbol activo",[3254,13468,11272,14246,15007],"cleanup","\u002Fblog\u002Fvue-lifecycle-unmounting-phase-beforeunmount-unmounted.es",[15010],{"headline":13459,"author":15011,"datePublished":15004,"@type":959},{"name":945,"@type":958},{"title":13459,"description":15002},"blog\u002Fvue-lifecycle-unmounting-phase-beforeunmount-unmounted.es",[15015,15016,15017],{"tag":7720,"color":7721},{"tag":1622,"color":1635},{"tag":5420,"color":5421},"smji8WZsDewTRrh-7nuJ-1afgxZeubOV6QESqNZQknk",{"id":15020,"title":15021,"body":15022,"cover":16567,"coverAlt":16568,"date":16569,"description":16570,"draft":1617,"extension":940,"lab":941,"locale":942,"meta":16571,"navigation":208,"path":16576,"schemaOrg":16577,"seo":16580,"series":7714,"seriesDescription":7715,"seriesOrder":160,"seriesTitle":7716,"slug":941,"stem":16581,"tags":16582,"__hash__":16588},"blog\u002Fblog\u002Fvue-lifecycle-update-phase-beforeupdate-updated.es.md","Ciclos de vida en Vue: fase de actualización (beforeUpdate, updated)",{"type":8,"value":15023,"toc":16555},[15024,15034,15040,15047,15050,15052,15055,15058,15074,15079,15091,15094,15124,15135,15140,15145,15147,15153,15155,15172,15180,15189,15191,15194,15200,15219,15229,15231,15239,15242,15251,15267,15274,15277,15367,15370,15377,15390,15396,15404,15407,15412,15416,15422,15425,15436,15439,15448,15450,15454,15457,15460,15463,15467,15474,15479,15483,15486,15569,15572,16044,16495,16507,16509,16552],[11,15025,15027,15028,1020,15031,6215],{"id":15026},"ciclos-de-vida-en-vue-fase-de-actualización-beforeupdate-updated","Ciclos de vida en Vue: fase de actualización (",[87,15029,15030],{},"beforeUpdate",[87,15032,15033],{},"updated",[15,15035,15036,15037,15039],{},"Muchos componentes no fallan al crearse ni al montarse. Fallan después, cuando el estado cambia y la interfaz empieza a re-renderizarse varias veces. Ahí aparecen mediciones incorrectas, efectos duplicados o hooks usados como si fueran un ",[87,15038,1661],{}," global.",[15,15041,15042,15043,15046],{},"La fase de actualización existe precisamente para entender ese momento: ",[3929,15044,15045],{},"cuándo Vue todavía no ha reflejado el cambio en el DOM y cuándo ya terminó de hacerlo",". Si manejas bien esa diferencia, evitas código reactivo confuso y componentes que se vuelven difíciles de mantener.",[15,15048,15049],{},"En aplicaciones reales, muchos problemas de UI —scroll roto, mediciones incorrectas o integraciones con librerías externas que se desincronizan— aparecen justo en este punto del ciclo de vida.",[11,15051,6253],{"id":6252},[15,15053,15054],{},"Cada vez que una dependencia reactiva usada por el componente cambia, Vue programa una nueva renderización.",[15,15056,15057],{},"Durante ese proceso aparecen dos hooks:",[33,15059,15060,15067],{},[36,15061,15062,13506,15064,1675],{},[87,15063,15030],{},[3929,15065,15066],{},"después de que el estado cambió, pero antes de que Vue actualice el DOM",[36,15068,15069,13506,15071,1675],{},[87,15070,15033],{},[3929,15072,15073],{},"después de que Vue ya aplicó los cambios al DOM",[15,15075,6300,15076,15078],{},[3929,15077,3256],{},", los equivalentes son:",[33,15080,15081,15086],{},[36,15082,15083],{},[87,15084,15085],{},"onBeforeUpdate()",[36,15087,15088],{},[87,15089,15090],{},"onUpdated()",[15,15092,15093],{},"La idea práctica es bastante simple:",[33,15095,15096,15104,15111],{},[36,15097,13596,15098,1020,15101,15103],{},[3929,15099,15100],{},"ver el estado anterior del DOM antes de que cambie",[87,15102,15030],{}," es el momento.",[36,15105,13596,15106,1020,15109,15103],{},[3929,15107,15108],{},"leer o manipular el DOM ya actualizado",[87,15110,15033],{},[36,15112,15113,15114,15117,15118,15120,15121,15123],{},"Si lo que quieres es ",[3929,15115,15116],{},"reaccionar a un dato concreto",", normalmente un ",[87,15119,1661],{}," o un ",[87,15122,1657],{}," será más claro que cualquiera de estos hooks.",[15,15125,15126,15127,15130,15131,15134],{},"También conviene recordar algo importante: ",[3929,15128,15129],{},"Vue agrupa cambios reactivos y actualizaciones del DOM",". Esto significa que estos hooks no expresan ",[9291,15132,15133],{},"\"cambió esta variable\"",", sino algo más amplio:",[5363,15136,15137],{},[15,15138,15139],{},"\"El componente está entrando o saliendo de un ciclo completo de actualización.\"",[15,15141,15142,15143,1675],{},"Por eso no son buenos sustitutos de ",[87,15144,1661],{},[11,15146,6318],{"id":6317},[15,15148,15149,15150,1675],{},"La fase de actualización encaja bien cuando tu lógica depende del ",[3929,15151,15152],{},"paso entre un render y el siguiente",[15,15154,9304],{},[33,15156,15157,15160,15163,15166,15169],{},[36,15158,15159],{},"Comparar el DOM visible antes y después de una actualización.",[36,15161,15162],{},"Ajustar scroll o foco después de que cambió una lista renderizada.",[36,15164,15165],{},"Recalcular una integración con una librería externa cuando el marcado ya está actualizado.",[36,15167,15168],{},"Sincronizar layouts dinámicos.",[36,15170,15171],{},"Depurar renderizados excesivos o entender por qué una vista se está refrescando.",[15,15173,15174,15176,15177,1675],{},[87,15175,15030],{}," suele ser útil cuando quieres ",[3929,15178,15179],{},"leer o limpiar algo del DOM anterior antes de que Vue lo reemplace",[15,15181,15182,15184,15185,15188],{},[87,15183,15033],{}," tiene sentido cuando necesitas ",[3929,15186,15187],{},"confirmar que el HTML ya refleja el nuevo estado"," y solo entonces medir, desplazar o sincronizar una librería.",[11,15190,6345],{"id":6344},[15,15192,15193],{},"No todo cambio reactivo necesita estos hooks.",[15,15195,13618,15196,1023,15198,13623],{},[87,15197,15030],{},[87,15199,15033],{},[33,15201,15202,15205,15210,15213],{},[36,15203,15204],{},"Solo quieres reaccionar a una propiedad concreta.",[36,15206,15207,15208,1675],{},"Puedes resolver el problema con ",[87,15209,1657],{},[36,15211,15212],{},"La lógica no depende del DOM.",[36,15214,15215,15216,15218],{},"Estás pensando en ",[87,15217,15033],{}," para disparar más cambios de estado sin una condición clara.",[15,15220,15221,15222,15224,15225,15228],{},"En especial, ",[87,15223,15033],{}," puede volverse peligroso si dentro cambias el mismo estado que provocó el render. Ahí es donde nacen los ",[3929,15226,15227],{},"bucles de actualización"," o los renders innecesarios.",[11,15230,3081],{"id":3080},[22,15232,3176,15234,15236,15237],{"id":15233},"usar-updated-como-reemplazo-de-watch",[87,15235,15033],{}," como reemplazo de ",[87,15238,1661],{},[15,15240,15241],{},"Es un error muy frecuente.",[15,15243,15244,15246,15247,15250],{},[87,15245,15033],{}," se ejecuta ",[3929,15248,15249],{},"cuando el componente ya se volvió a renderizar",", no cuando una variable específica cambió con intención semántica.",[15,15252,15253,15254,1020,15257,1020,15260,15263,15264,15266],{},"Si necesitas reaccionar a ",[87,15255,15256],{},"search",[87,15258,15259],{},"page",[87,15261,15262],{},"filters"," o cualquier dato concreto, un ",[87,15265,1661],{}," comunica mejor el objetivo y reduce trabajo innecesario.",[22,15268,15270,15271,15273],{"id":15269},"modificar-estado-dentro-de-updated-sin-control","Modificar estado dentro de ",[87,15272,15033],{}," sin control",[15,15275,15276],{},"Este es el camino clásico hacia un bucle:",[154,15278,15282],{"className":156,"code":15279,"filename":15280,"highlights":15281,"language":162,"meta":163,"style":163},"\u003Cscript setup lang=\"ts\">\nimport { onUpdated, ref } from 'vue'\n\nconst count = ref(0)\n\nonUpdated(() => {\n  count.value++\n})\n\u003C\u002Fscript>\n","App.vue",[243],[87,15283,15284,15300,15311,15315,15332,15336,15348,15355,15359],{"__ignoreMap":163},[167,15285,15286,15288,15290,15292,15294,15296,15298],{"class":169,"line":170},[167,15287,174],{"class":173},[167,15289,178],{"class":177},[167,15291,182],{"class":181},[167,15293,1045],{"class":181},[167,15295,267],{"class":173},[167,15297,1050],{"class":201},[167,15299,185],{"class":173},[167,15301,15302,15304,15307,15309],{"class":169,"line":188},[167,15303,192],{"class":191},[167,15305,15306],{"class":173}," { onUpdated, ref } ",[167,15308,198],{"class":191},[167,15310,202],{"class":201},[167,15312,15313],{"class":169,"line":205},[167,15314,209],{"emptyLinePlaceholder":208},[167,15316,15317,15319,15322,15324,15326,15328,15330],{"class":169,"line":160},[167,15318,216],{"class":191},[167,15320,15321],{"class":219}," count",[167,15323,223],{"class":191},[167,15325,226],{"class":181},[167,15327,229],{"class":173},[167,15329,1956],{"class":219},[167,15331,235],{"class":173},[167,15333,15334],{"class":169,"line":238},[167,15335,209],{"emptyLinePlaceholder":208},[167,15337,15339,15342,15344,15346],{"class":15338,"line":243},[169,213],[167,15340,15341],{"class":181},"onUpdated",[167,15343,1488],{"class":173},[167,15345,639],{"class":191},[167,15347,1901],{"class":173},[167,15349,15350,15353],{"class":169,"line":261},[167,15351,15352],{"class":173},"  count.value",[167,15354,3122],{"class":191},[167,15356,15357],{"class":169,"line":273},[167,15358,403],{"class":173},[167,15360,15361,15363,15365],{"class":169,"line":279},[167,15362,282],{"class":173},[167,15364,178],{"class":177},[167,15366,185],{"class":173},[15,15368,15369],{},"Cada actualización provoca otra actualización.",[15,15371,15372,15373,15376],{},"Si necesitas corregir estado, hazlo con una ",[3929,15374,15375],{},"condición muy clara"," o mueve esa lógica a:",[33,15378,15379,15383,15387],{},[36,15380,15381],{},[87,15382,1661],{},[36,15384,15385],{},[87,15386,1657],{},[36,15388,15389],{},"la acción que origina el cambio",[22,15391,15393,15394],{"id":15392},"leer-el-dom-nuevo-en-beforeupdate","Leer el DOM nuevo en ",[87,15395,15030],{},[15,15397,6300,15398,15400,15401,1675],{},[87,15399,15030],{}," el DOM visible todavía representa el ",[3929,15402,15403],{},"render anterior",[15,15405,15406],{},"Si mides ahí esperando el nuevo tamaño, el dato será viejo.",[15,15408,15409,15410,1675],{},"Para leer el resultado final del render, usa ",[87,15411,15033],{},[22,15413,15415],{"id":15414},"meter-lógica-pesada-en-cada-actualización","Meter lógica pesada en cada actualización",[15,15417,15418,15419,1675],{},"Estos hooks pueden dispararse ",[3929,15420,15421],{},"muchas veces",[15,15423,15424],{},"Si dentro colocas:",[33,15426,15427,15430,15433],{},[36,15428,15429],{},"Cálculos costosos",[36,15431,15432],{},"Integraciones pesadas",[36,15434,15435],{},"Consultas repetidas al DOM",[15,15437,15438],{},"El componente se degradará rápido.",[5363,15440,15441],{},[15,15442,15443,15444,15447],{},"Si una tarea no necesita ejecutarse en ",[3929,15445,15446],{},"cada render",", probablemente no debería vivir aquí.",[11,15449,7993],{"id":7992},[22,15451,15453],{"id":15452},"mantener-el-scroll-pegado-al-final-en-un-chat","Mantener el scroll pegado al final en un chat",[15,15455,15456],{},"Cuando llega un mensaje nuevo, el array cambia primero y el DOM se actualiza después.",[15,15458,15459],{},"Si haces scroll demasiado pronto, todavía no existe la nueva altura del contenedor.",[15,15461,15462],{},"La solución es esperar al momento en que el DOM ya fue actualizado.",[22,15464,15466],{"id":15465},"recalcular-una-librería-visual-después-de-actualizar-una-lista","Recalcular una librería visual después de actualizar una lista",[15,15468,15469,15470,15473],{},"Algunas librerías (diagramas, grids, tooltips o librerías de layout) necesitan que ",[3929,15471,15472],{},"el markup ya esté en pantalla"," antes de recalcular posiciones o tamaños.",[15,15475,15476,15478],{},[87,15477,15033],{}," permite ejecutar esa sincronización justo después del render.",[22,15480,15482],{"id":15481},"detectar-renderizados-repetidos-durante-depuración","Detectar renderizados repetidos durante depuración",[15,15484,15485],{},"Estos hooks también sirven para entender si un componente se actualiza más de lo esperado.",[154,15487,15490],{"className":156,"code":15488,"filename":15280,"highlights":15489,"language":162,"meta":163,"style":163},"\u003Cscript>\nonBeforeUpdate(() => {\n  console.log('El componente está a punto de actualizarse')\n})\n\nonUpdated(() => {\n  console.log('El componente terminó de actualizarse')\n})\n\u003C\u002Fscript>\n",[188,243],[87,15491,15492,15500,15512,15525,15529,15533,15544,15557,15561],{"__ignoreMap":163},[167,15493,15494,15496,15498],{"class":169,"line":170},[167,15495,174],{"class":173},[167,15497,178],{"class":177},[167,15499,185],{"class":173},[167,15501,15503,15506,15508,15510],{"class":15502,"line":188},[169,213],[167,15504,15505],{"class":181},"onBeforeUpdate",[167,15507,1488],{"class":173},[167,15509,639],{"class":191},[167,15511,1901],{"class":173},[167,15513,15514,15516,15518,15520,15523],{"class":169,"line":205},[167,15515,2604],{"class":173},[167,15517,2607],{"class":181},[167,15519,229],{"class":173},[167,15521,15522],{"class":201},"'El componente está a punto de actualizarse'",[167,15524,235],{"class":173},[167,15526,15527],{"class":169,"line":160},[167,15528,403],{"class":173},[167,15530,15531],{"class":169,"line":238},[167,15532,209],{"emptyLinePlaceholder":208},[167,15534,15536,15538,15540,15542],{"class":15535,"line":243},[169,213],[167,15537,15341],{"class":181},[167,15539,1488],{"class":173},[167,15541,639],{"class":191},[167,15543,1901],{"class":173},[167,15545,15546,15548,15550,15552,15555],{"class":169,"line":261},[167,15547,2604],{"class":173},[167,15549,2607],{"class":181},[167,15551,229],{"class":173},[167,15553,15554],{"class":201},"'El componente terminó de actualizarse'",[167,15556,235],{"class":173},[167,15558,15559],{"class":169,"line":273},[167,15560,403],{"class":173},[167,15562,15563,15565,15567],{"class":169,"line":279},[167,15564,282],{"class":173},[167,15566,178],{"class":177},[167,15568,185],{"class":173},[15,15570,15571],{},"Esto ayuda a detectar dependencias reactivas que provocan renders innecesarios.",[154,15573,15575],{"className":156,"code":15574,"filename":3256,"language":162,"meta":163,"style":163},"\u003Cscript setup lang=\"ts\">\nimport { onBeforeUpdate, onUpdated, ref } from 'vue'\n\nconst messages = ref([\n  { id: 1, text: 'Primer mensaje' },\n  { id: 2, text: 'Segundo mensaje' }\n])\n\nconst listRef = ref\u003CHTMLOListElement | null>(null)\nconst previousHeight = ref(0)\n\nfunction addMessage() {\n  messages.value.push({\n    id: Date.now(),\n    text: `Mensaje ${messages.value.length + 1}`\n  })\n}\n\nonBeforeUpdate(() => {\n  previousHeight.value = listRef.value?.scrollHeight ?? 0\n})\n\nonUpdated(() => {\n  if (!listRef.value) return\n\n  const nextHeight = listRef.value.scrollHeight\n\n  if (nextHeight > previousHeight.value) {\n    listRef.value.scrollTop = nextHeight\n  }\n})\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Csection class=\"chat-panel\">\n    \u003Cbutton @click=\"addMessage\">\n      Agregar mensaje\n    \u003C\u002Fbutton>\n\n    \u003Col\n      ref=\"listRef\"\n      class=\"messages\"\n    >\n      \u003Cli\n        v-for=\"message in messages\"\n        :key=\"message.id\"\n      >\n        {{ message.text }}\n      \u003C\u002Fli>\n    \u003C\u002Fol>\n  \u003C\u002Fsection>\n\u003C\u002Ftemplate>\n",[87,15576,15577,15593,15604,15608,15621,15635,15648,15652,15656,15682,15699,15703,15712,15722,15733,15761,15765,15769,15773,15783,15799,15803,15807,15817,15830,15834,15846,15850,15863,15873,15877,15881,15889,15893,15901,15916,15931,15936,15944,15948,15955,15965,15975,15979,15985,15994,16003,16007,16012,16020,16028,16036],{"__ignoreMap":163},[167,15578,15579,15581,15583,15585,15587,15589,15591],{"class":169,"line":170},[167,15580,174],{"class":173},[167,15582,178],{"class":177},[167,15584,182],{"class":181},[167,15586,1045],{"class":181},[167,15588,267],{"class":173},[167,15590,1050],{"class":201},[167,15592,185],{"class":173},[167,15594,15595,15597,15600,15602],{"class":169,"line":188},[167,15596,192],{"class":191},[167,15598,15599],{"class":173}," { onBeforeUpdate, onUpdated, ref } ",[167,15601,198],{"class":191},[167,15603,202],{"class":201},[167,15605,15606],{"class":169,"line":205},[167,15607,209],{"emptyLinePlaceholder":208},[167,15609,15610,15612,15615,15617,15619],{"class":169,"line":160},[167,15611,216],{"class":191},[167,15613,15614],{"class":219}," messages",[167,15616,223],{"class":191},[167,15618,226],{"class":181},[167,15620,1823],{"class":173},[167,15622,15623,15625,15627,15630,15633],{"class":169,"line":238},[167,15624,1828],{"class":173},[167,15626,1831],{"class":219},[167,15628,15629],{"class":173},", text: ",[167,15631,15632],{"class":201},"'Primer mensaje'",[167,15634,1852],{"class":173},[167,15636,15637,15639,15641,15643,15646],{"class":169,"line":243},[167,15638,1828],{"class":173},[167,15640,1849],{"class":219},[167,15642,15629],{"class":173},[167,15644,15645],{"class":201},"'Segundo mensaje'",[167,15647,599],{"class":173},[167,15649,15650],{"class":169,"line":261},[167,15651,429],{"class":173},[167,15653,15654],{"class":169,"line":273},[167,15655,209],{"emptyLinePlaceholder":208},[167,15657,15658,15660,15663,15665,15667,15669,15672,15674,15676,15678,15680],{"class":169,"line":279},[167,15659,216],{"class":191},[167,15661,15662],{"class":219}," listRef",[167,15664,223],{"class":191},[167,15666,226],{"class":181},[167,15668,174],{"class":173},[167,15670,15671],{"class":181},"HTMLOListElement",[167,15673,659],{"class":191},[167,15675,6563],{"class":219},[167,15677,6566],{"class":173},[167,15679,6569],{"class":219},[167,15681,235],{"class":173},[167,15683,15684,15686,15689,15691,15693,15695,15697],{"class":169,"line":289},[167,15685,216],{"class":191},[167,15687,15688],{"class":219}," previousHeight",[167,15690,223],{"class":191},[167,15692,226],{"class":181},[167,15694,229],{"class":173},[167,15696,1956],{"class":219},[167,15698,235],{"class":173},[167,15700,15701],{"class":169,"line":294},[167,15702,209],{"emptyLinePlaceholder":208},[167,15704,15705,15707,15710],{"class":169,"line":304},[167,15706,246],{"class":191},[167,15708,15709],{"class":181}," addMessage",[167,15711,763],{"class":173},[167,15713,15714,15717,15720],{"class":169,"line":313},[167,15715,15716],{"class":173},"  messages.value.",[167,15718,15719],{"class":181},"push",[167,15721,372],{"class":173},[167,15723,15724,15727,15730],{"class":169,"line":161},[167,15725,15726],{"class":173},"    id: Date.",[167,15728,15729],{"class":181},"now",[167,15731,15732],{"class":173},"(),\n",[167,15734,15735,15738,15741,15744,15746,15748,15750,15753,15756,15759],{"class":169,"line":335},[167,15736,15737],{"class":173},"    text: ",[167,15739,15740],{"class":201},"`Mensaje ${",[167,15742,15743],{"class":173},"messages",[167,15745,1675],{"class":201},[167,15747,2215],{"class":173},[167,15749,1675],{"class":201},[167,15751,15752],{"class":219},"length",[167,15754,15755],{"class":191}," +",[167,15757,15758],{"class":219}," 1",[167,15760,2228],{"class":201},[167,15762,15763],{"class":169,"line":341},[167,15764,8343],{"class":173},[167,15766,15767],{"class":169,"line":489},[167,15768,276],{"class":173},[167,15770,15771],{"class":169,"line":495},[167,15772,209],{"emptyLinePlaceholder":208},[167,15774,15775,15777,15779,15781],{"class":169,"line":501},[167,15776,15505],{"class":181},[167,15778,1488],{"class":173},[167,15780,639],{"class":191},[167,15782,1901],{"class":173},[167,15784,15785,15788,15790,15793,15796],{"class":169,"line":512},[167,15786,15787],{"class":173},"  previousHeight.value ",[167,15789,267],{"class":191},[167,15791,15792],{"class":173}," listRef.value?.scrollHeight ",[167,15794,15795],{"class":191},"??",[167,15797,15798],{"class":219}," 0\n",[167,15800,15801],{"class":169,"line":781},[167,15802,403],{"class":173},[167,15804,15805],{"class":169,"line":786},[167,15806,209],{"emptyLinePlaceholder":208},[167,15808,15809,15811,15813,15815],{"class":169,"line":2674},[167,15810,15341],{"class":181},[167,15812,1488],{"class":173},[167,15814,639],{"class":191},[167,15816,1901],{"class":173},[167,15818,15819,15821,15823,15825,15828],{"class":169,"line":2688},[167,15820,2540],{"class":191},[167,15822,2522],{"class":173},[167,15824,6637],{"class":191},[167,15826,15827],{"class":173},"listRef.value) ",[167,15829,2552],{"class":191},[167,15831,15832],{"class":169,"line":3571},[167,15833,209],{"emptyLinePlaceholder":208},[167,15835,15836,15838,15841,15843],{"class":169,"line":5024},[167,15837,1438],{"class":191},[167,15839,15840],{"class":219}," nextHeight",[167,15842,223],{"class":191},[167,15844,15845],{"class":173}," listRef.value.scrollHeight\n",[167,15847,15848],{"class":169,"line":5033},[167,15849,209],{"emptyLinePlaceholder":208},[167,15851,15852,15854,15857,15860],{"class":169,"line":5042},[167,15853,2540],{"class":191},[167,15855,15856],{"class":173}," (nextHeight ",[167,15858,15859],{"class":191},">",[167,15861,15862],{"class":173}," previousHeight.value) {\n",[167,15864,15865,15868,15870],{"class":169,"line":6752},[167,15866,15867],{"class":173},"    listRef.value.scrollTop ",[167,15869,267],{"class":191},[167,15871,15872],{"class":173}," nextHeight\n",[167,15874,15875],{"class":169,"line":6774},[167,15876,3488],{"class":173},[167,15878,15879],{"class":169,"line":6779},[167,15880,403],{"class":173},[167,15882,15883,15885,15887],{"class":169,"line":6784},[167,15884,282],{"class":173},[167,15886,178],{"class":177},[167,15888,185],{"class":173},[167,15890,15891],{"class":169,"line":6789},[167,15892,209],{"emptyLinePlaceholder":208},[167,15894,15895,15897,15899],{"class":169,"line":6805},[167,15896,174],{"class":173},[167,15898,299],{"class":177},[167,15900,185],{"class":173},[167,15902,15903,15905,15907,15909,15911,15914],{"class":169,"line":6820},[167,15904,307],{"class":173},[167,15906,10113],{"class":177},[167,15908,1240],{"class":181},[167,15910,267],{"class":173},[167,15912,15913],{"class":201},"\"chat-panel\"",[167,15915,185],{"class":173},[167,15917,15918,15920,15922,15924,15926,15929],{"class":169,"line":6825},[167,15919,1252],{"class":173},[167,15921,507],{"class":177},[167,15923,1177],{"class":181},[167,15925,267],{"class":173},[167,15927,15928],{"class":201},"\"addMessage\"",[167,15930,185],{"class":173},[167,15932,15933],{"class":169,"line":6832},[167,15934,15935],{"class":173},"      Agregar mensaje\n",[167,15937,15938,15940,15942],{"class":169,"line":6841},[167,15939,1287],{"class":173},[167,15941,507],{"class":177},[167,15943,185],{"class":173},[167,15945,15946],{"class":169,"line":6850},[167,15947,209],{"emptyLinePlaceholder":208},[167,15949,15950,15952],{"class":169,"line":6857},[167,15951,1252],{"class":173},[167,15953,15954],{"class":177},"ol\n",[167,15956,15957,15960,15962],{"class":169,"line":6875},[167,15958,15959],{"class":181},"      ref",[167,15961,267],{"class":173},[167,15963,15964],{"class":201},"\"listRef\"\n",[167,15966,15967,15970,15972],{"class":169,"line":6880},[167,15968,15969],{"class":181},"      class",[167,15971,267],{"class":173},[167,15973,15974],{"class":201},"\"messages\"\n",[167,15976,15977],{"class":169,"line":6885},[167,15978,3765],{"class":173},[167,15980,15981,15983],{"class":169,"line":6894},[167,15982,1263],{"class":173},[167,15984,12468],{"class":177},[167,15986,15987,15989,15991],{"class":169,"line":6899},[167,15988,12473],{"class":181},[167,15990,267],{"class":173},[167,15992,15993],{"class":201},"\"message in messages\"\n",[167,15995,15996,15998,16000],{"class":169,"line":6908},[167,15997,12483],{"class":181},[167,15999,267],{"class":173},[167,16001,16002],{"class":201},"\"message.id\"\n",[167,16004,16005],{"class":169,"line":6924},[167,16006,10528],{"class":173},[167,16008,16009],{"class":169,"line":6945},[167,16010,16011],{"class":173},"        {{ message.text }}\n",[167,16013,16014,16016,16018],{"class":169,"line":6950},[167,16015,10166],{"class":173},[167,16017,36],{"class":177},[167,16019,185],{"class":173},[167,16021,16022,16024,16026],{"class":169,"line":6971},[167,16023,1287],{"class":173},[167,16025,3031],{"class":177},[167,16027,185],{"class":173},[167,16029,16030,16032,16034],{"class":169,"line":6985},[167,16031,504],{"class":173},[167,16033,10113],{"class":177},[167,16035,185],{"class":173},[167,16037,16038,16040,16042],{"class":169,"line":6999},[167,16039,282],{"class":173},[167,16041,299],{"class":177},[167,16043,185],{"class":173},[154,16045,16047],{"className":156,"code":16046,"filename":12532,"language":162,"meta":163,"style":163},"\u003Cscript>\nexport default {\n  data() {\n    return {\n      messages: [\n        { id: 1, text: 'Primer mensaje' },\n        { id: 2, text: 'Segundo mensaje' }\n      ],\n      previousHeight: 0\n    }\n  },\n\n  methods: {\n    addMessage() {\n      this.messages.push({\n        id: Date.now(),\n        text: `Mensaje ${this.messages.length + 1}`\n      })\n    }\n  },\n\n  beforeUpdate() {\n    if (this.$refs.listRef instanceof HTMLOListElement) {\n      this.previousHeight = this.$refs.listRef.scrollHeight\n    }\n  },\n\n  updated() {\n    if (!(this.$refs.listRef instanceof HTMLOListElement)) {\n      return\n    }\n\n    const nextHeight = this.$refs.listRef.scrollHeight\n\n    if (nextHeight > this.previousHeight) {\n      this.$refs.listRef.scrollTop = nextHeight\n    }\n  }\n}\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Csection class=\"chat-panel\">\n    \u003Cbutton @click=\"addMessage\">\n      Agregar mensaje\n    \u003C\u002Fbutton>\n\n    \u003Col\n      ref=\"listRef\"\n      class=\"messages\"\n    >\n      \u003Cli\n        v-for=\"message in messages\"\n        :key=\"message.id\"\n      >\n        {{ message.text }}\n      \u003C\u002Fli>\n    \u003C\u002Fol>\n  \u003C\u002Fsection>\n\u003C\u002Ftemplate>\n",[87,16048,16049,16057,16065,16071,16077,16082,16094,16106,16111,16118,16122,16126,16130,16134,16141,16152,16161,16184,16188,16192,16196,16200,16207,16225,16239,16243,16247,16251,16258,16279,16283,16287,16291,16303,16307,16320,16331,16335,16339,16343,16351,16355,16363,16377,16391,16395,16403,16407,16413,16421,16429,16433,16439,16447,16455,16459,16463,16471,16479,16487],{"__ignoreMap":163},[167,16050,16051,16053,16055],{"class":169,"line":170},[167,16052,174],{"class":173},[167,16054,178],{"class":177},[167,16056,185],{"class":173},[167,16058,16059,16061,16063],{"class":169,"line":188},[167,16060,608],{"class":191},[167,16062,3987],{"class":191},[167,16064,1901],{"class":173},[167,16066,16067,16069],{"class":169,"line":205},[167,16068,7172],{"class":181},[167,16070,763],{"class":173},[167,16072,16073,16075],{"class":169,"line":160},[167,16074,1933],{"class":191},[167,16076,1901],{"class":173},[167,16078,16079],{"class":169,"line":238},[167,16080,16081],{"class":173},"      messages: [\n",[167,16083,16084,16086,16088,16090,16092],{"class":169,"line":243},[167,16085,8673],{"class":173},[167,16087,1831],{"class":219},[167,16089,15629],{"class":173},[167,16091,15632],{"class":201},[167,16093,1852],{"class":173},[167,16095,16096,16098,16100,16102,16104],{"class":169,"line":261},[167,16097,8673],{"class":173},[167,16099,1849],{"class":219},[167,16101,15629],{"class":173},[167,16103,15645],{"class":201},[167,16105,599],{"class":173},[167,16107,16108],{"class":169,"line":273},[167,16109,16110],{"class":173},"      ],\n",[167,16112,16113,16116],{"class":169,"line":279},[167,16114,16115],{"class":173},"      previousHeight: ",[167,16117,10677],{"class":219},[167,16119,16120],{"class":169,"line":289},[167,16121,4045],{"class":173},[167,16123,16124],{"class":169,"line":294},[167,16125,398],{"class":173},[167,16127,16128],{"class":169,"line":304},[167,16129,209],{"emptyLinePlaceholder":208},[167,16131,16132],{"class":169,"line":313},[167,16133,4415],{"class":173},[167,16135,16136,16139],{"class":169,"line":161},[167,16137,16138],{"class":181},"    addMessage",[167,16140,763],{"class":173},[167,16142,16143,16145,16148,16150],{"class":169,"line":335},[167,16144,741],{"class":219},[167,16146,16147],{"class":173},".messages.",[167,16149,15719],{"class":181},[167,16151,372],{"class":173},[167,16153,16154,16157,16159],{"class":169,"line":341},[167,16155,16156],{"class":173},"        id: Date.",[167,16158,15729],{"class":181},[167,16160,15732],{"class":173},[167,16162,16163,16166,16168,16170,16172,16174,16176,16178,16180,16182],{"class":169,"line":489},[167,16164,16165],{"class":173},"        text: ",[167,16167,15740],{"class":201},[167,16169,4923],{"class":219},[167,16171,1675],{"class":201},[167,16173,15743],{"class":173},[167,16175,1675],{"class":201},[167,16177,15752],{"class":219},[167,16179,15755],{"class":191},[167,16181,15758],{"class":219},[167,16183,2228],{"class":201},[167,16185,16186],{"class":169,"line":495},[167,16187,8862],{"class":173},[167,16189,16190],{"class":169,"line":501},[167,16191,4045],{"class":173},[167,16193,16194],{"class":169,"line":512},[167,16195,398],{"class":173},[167,16197,16198],{"class":169,"line":781},[167,16199,209],{"emptyLinePlaceholder":208},[167,16201,16202,16205],{"class":169,"line":786},[167,16203,16204],{"class":181},"  beforeUpdate",[167,16206,763],{"class":173},[167,16208,16209,16211,16213,16215,16218,16220,16223],{"class":169,"line":2674},[167,16210,7415],{"class":191},[167,16212,2522],{"class":173},[167,16214,4923],{"class":219},[167,16216,16217],{"class":173},".$refs.listRef ",[167,16219,6758],{"class":191},[167,16221,16222],{"class":181}," HTMLOListElement",[167,16224,258],{"class":173},[167,16226,16227,16229,16232,16234,16236],{"class":169,"line":2688},[167,16228,741],{"class":219},[167,16230,16231],{"class":173},".previousHeight ",[167,16233,267],{"class":191},[167,16235,7347],{"class":219},[167,16237,16238],{"class":173},".$refs.listRef.scrollHeight\n",[167,16240,16241],{"class":169,"line":3571},[167,16242,4045],{"class":173},[167,16244,16245],{"class":169,"line":5024},[167,16246,398],{"class":173},[167,16248,16249],{"class":169,"line":5033},[167,16250,209],{"emptyLinePlaceholder":208},[167,16252,16253,16256],{"class":169,"line":5042},[167,16254,16255],{"class":181},"  updated",[167,16257,763],{"class":173},[167,16259,16260,16262,16264,16266,16268,16270,16272,16274,16276],{"class":169,"line":6752},[167,16261,7415],{"class":191},[167,16263,2522],{"class":173},[167,16265,6637],{"class":191},[167,16267,229],{"class":173},[167,16269,4923],{"class":219},[167,16271,16217],{"class":173},[167,16273,6758],{"class":191},[167,16275,16222],{"class":181},[167,16277,16278],{"class":173},")) {\n",[167,16280,16281],{"class":169,"line":6774},[167,16282,14146],{"class":191},[167,16284,16285],{"class":169,"line":6779},[167,16286,4045],{"class":173},[167,16288,16289],{"class":169,"line":6784},[167,16290,209],{"emptyLinePlaceholder":208},[167,16292,16293,16295,16297,16299,16301],{"class":169,"line":6789},[167,16294,8262],{"class":191},[167,16296,15840],{"class":219},[167,16298,223],{"class":191},[167,16300,7347],{"class":219},[167,16302,16238],{"class":173},[167,16304,16305],{"class":169,"line":6805},[167,16306,209],{"emptyLinePlaceholder":208},[167,16308,16309,16311,16313,16315,16317],{"class":169,"line":6820},[167,16310,7415],{"class":191},[167,16312,15856],{"class":173},[167,16314,15859],{"class":191},[167,16316,7347],{"class":219},[167,16318,16319],{"class":173},".previousHeight) {\n",[167,16321,16322,16324,16327,16329],{"class":169,"line":6825},[167,16323,741],{"class":219},[167,16325,16326],{"class":173},".$refs.listRef.scrollTop ",[167,16328,267],{"class":191},[167,16330,15872],{"class":173},[167,16332,16333],{"class":169,"line":6832},[167,16334,4045],{"class":173},[167,16336,16337],{"class":169,"line":6841},[167,16338,3488],{"class":173},[167,16340,16341],{"class":169,"line":6850},[167,16342,276],{"class":173},[167,16344,16345,16347,16349],{"class":169,"line":6857},[167,16346,282],{"class":173},[167,16348,178],{"class":177},[167,16350,185],{"class":173},[167,16352,16353],{"class":169,"line":6875},[167,16354,209],{"emptyLinePlaceholder":208},[167,16356,16357,16359,16361],{"class":169,"line":6880},[167,16358,174],{"class":173},[167,16360,299],{"class":177},[167,16362,185],{"class":173},[167,16364,16365,16367,16369,16371,16373,16375],{"class":169,"line":6885},[167,16366,307],{"class":173},[167,16368,10113],{"class":177},[167,16370,1240],{"class":181},[167,16372,267],{"class":173},[167,16374,15913],{"class":201},[167,16376,185],{"class":173},[167,16378,16379,16381,16383,16385,16387,16389],{"class":169,"line":6894},[167,16380,1252],{"class":173},[167,16382,507],{"class":177},[167,16384,1177],{"class":181},[167,16386,267],{"class":173},[167,16388,15928],{"class":201},[167,16390,185],{"class":173},[167,16392,16393],{"class":169,"line":6899},[167,16394,15935],{"class":173},[167,16396,16397,16399,16401],{"class":169,"line":6908},[167,16398,1287],{"class":173},[167,16400,507],{"class":177},[167,16402,185],{"class":173},[167,16404,16405],{"class":169,"line":6924},[167,16406,209],{"emptyLinePlaceholder":208},[167,16408,16409,16411],{"class":169,"line":6945},[167,16410,1252],{"class":173},[167,16412,15954],{"class":177},[167,16414,16415,16417,16419],{"class":169,"line":6950},[167,16416,15959],{"class":181},[167,16418,267],{"class":173},[167,16420,15964],{"class":201},[167,16422,16423,16425,16427],{"class":169,"line":6971},[167,16424,15969],{"class":181},[167,16426,267],{"class":173},[167,16428,15974],{"class":201},[167,16430,16431],{"class":169,"line":6985},[167,16432,3765],{"class":173},[167,16434,16435,16437],{"class":169,"line":6999},[167,16436,1263],{"class":173},[167,16438,12468],{"class":177},[167,16440,16441,16443,16445],{"class":169,"line":7013},[167,16442,12473],{"class":181},[167,16444,267],{"class":173},[167,16446,15993],{"class":201},[167,16448,16449,16451,16453],{"class":169,"line":7022},[167,16450,12483],{"class":181},[167,16452,267],{"class":173},[167,16454,16002],{"class":201},[167,16456,16457],{"class":169,"line":7027},[167,16458,10528],{"class":173},[167,16460,16461],{"class":169,"line":7044},[167,16462,16011],{"class":173},[167,16464,16465,16467,16469],{"class":169,"line":7053},[167,16466,10166],{"class":173},[167,16468,36],{"class":177},[167,16470,185],{"class":173},[167,16472,16473,16475,16477],{"class":169,"line":7551},[167,16474,1287],{"class":173},[167,16476,3031],{"class":177},[167,16478,185],{"class":173},[167,16480,16481,16483,16485],{"class":169,"line":7556},[167,16482,504],{"class":173},[167,16484,10113],{"class":177},[167,16486,185],{"class":173},[167,16488,16489,16491,16493],{"class":169,"line":7575},[167,16490,282],{"class":173},[167,16492,299],{"class":177},[167,16494,185],{"class":173},[33,16496,16497,16502],{},[36,16498,16499,16501],{},[87,16500,15085],{}," guarda la altura del render anterior.",[36,16503,16504,16506],{},[87,16505,15090],{}," decide si debe ajustar el scroll una vez que el nuevo mensaje ya existe en el DOM.",[11,16508,7674],{"id":7673},[33,16510,16511,16519,16528,16536,16543],{},[36,16512,16513,16515,16516,1675],{},[87,16514,15030],{}," te permite observar ",[3929,16517,16518],{},"el punto justo antes del parche del DOM",[36,16520,16521,16523,16524,16527],{},[87,16522,15033],{}," sirve cuando ",[3929,16525,16526],{},"la interfaz ya refleja el nuevo estado"," y necesitas actuar sobre ese resultado.",[36,16529,16530,16531,1675],{},"Si el problema gira alrededor de un dato específico, ",[3929,16532,16533,16535],{},[87,16534,1661],{}," suele ser más expresivo",[36,16537,16538,16539,16542],{},"Estos hooks describen ",[3929,16540,16541],{},"el ciclo de actualización del componente",", no el cambio de una variable concreta.",[36,16544,16545,16546],{},"La regla más importante es esta: ",[3929,16547,16548,16549,16551],{},"no conviertas ",[87,16550,15033],{}," en una máquina de mutar estado después de cada render.",[924,16553,16554],{},"html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .s9eBZ, html code.shiki .s9eBZ{--shiki-default:#22863A;--shiki-dark:#85E89D}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":163,"searchDepth":188,"depth":188,"links":16556},[16557,16559,16561,16563,16564,16565,16566],{"id":15233,"depth":188,"text":16558},"Usar updated como reemplazo de watch",{"id":15269,"depth":188,"text":16560},"Modificar estado dentro de updated sin control",{"id":15392,"depth":188,"text":16562},"Leer el DOM nuevo en beforeUpdate",{"id":15414,"depth":188,"text":15415},{"id":15452,"depth":188,"text":15453},{"id":15465,"depth":188,"text":15466},{"id":15481,"depth":188,"text":15482},"https:\u002F\u002Fres.cloudinary.com\u002Fdenj4fg7f\u002Fimage\u002Fupload\u002Fv1773284616\u002Fvue-lifecycle-update-phase-beforeupdate-updated_qql7os.png","Ilustración de la fase de actualización del ciclo de vida de Vue con beforeUpdate y updated","2026-03-11","Qué ocurre cuando Vue vuelve a renderizar un componente y cómo usar beforeUpdate y updated sin convertirlos en sustitutos de watch o computed.",{"updatedAt":16572,"coverCaption":16573,"author":945,"keywords":16574},"2026-03-10T22:00:00-05:00","La fase de actualización ocurre cuando un cambio reactivo obliga a Vue a volver a renderizar el componente.",[3254,15030,15033,15341,16575],"renderizado","\u002Fblog\u002Fvue-lifecycle-update-phase-beforeupdate-updated.es",[16578],{"headline":15021,"author":16579,"datePublished":16572,"@type":959},{"name":945,"@type":958},{"title":15021,"description":16570},"blog\u002Fvue-lifecycle-update-phase-beforeupdate-updated.es",[16583,16584,16585,16586,16587],{"tag":7720,"color":7721},{"tag":1622,"color":1635},{"tag":9165,"color":9166},{"tag":3265,"color":3266},{"tag":5420,"color":5421},"98z2JKjTHZwuUniJlvBcSw0oAKPwayH9G9A608P_wSQ",{"id":16590,"title":16591,"body":16592,"cover":17826,"coverAlt":17827,"date":17828,"description":17829,"draft":1617,"extension":940,"lab":941,"locale":942,"meta":17830,"navigation":208,"path":17835,"schemaOrg":17836,"seo":17839,"series":7714,"seriesDescription":7715,"seriesOrder":205,"seriesTitle":7716,"slug":941,"stem":17840,"tags":17841,"__hash__":17846},"blog\u002Fblog\u002Fvue-lifecycle-mounting-phase-beforemount-mounted.es.md","Ciclos de vida en Vue: fase de montaje (beforeMount, mounted)",{"type":8,"value":16593,"toc":17805},[16594,16603,16609,16612,16614,16620,16623,16635,16638,16649,16652,16680,16692,16694,16697,16699,16713,16718,16729,16731,16734,16740,16772,16775,16777,16826,16841,16843,16849,16855,16858,16873,16878,16885,16895,16904,16909,17032,17039,17046,17049,17052,17069,17079,17216,17224,17228,17234,17243,17249,17251,17255,17260,17264,17269,17273,17276,17526,17765,17779,17781,17803],[11,16595,16597,16598,1020,16601,6215],{"id":16596},"ciclos-de-vida-en-vue-fase-de-montaje-beforemount-mounted","Ciclos de vida en Vue: fase de montaje (",[87,16599,16600],{},"beforeMount",[87,16602,6389],{},[15,16604,16605,16606,16608],{},"Muchos problemas cotidianos en Vue tienen el mismo origen: intentar interactuar con el DOM demasiado pronto o concentrar en ",[87,16607,6389],{}," lógica que en realidad podría ejecutarse antes.",[15,16610,16611],{},"La fase de montaje marca justamente esa frontera. Es el momento en el que Vue deja de preparar el componente “por dentro” y finalmente lo inserta en la página. Entender bien esa transición te ayuda a decidir cuándo enfocar un input, cuándo inicializar una librería externa y cuándo, simplemente, no necesitas ningún hook.",[22,16613,6253],{"id":6252},[15,16615,16616,16617,1675],{},"Durante la fase de montaje, Vue ya tiene lista la reactividad del componente: props, estado, watchers y el árbol de renderizado ya están preparados. Lo que cambia en esta etapa es que ",[3929,16618,16619],{},"el DOM real pasa a existir",[15,16621,16622],{},"Aquí aparecen dos hooks clásicos del ciclo de vida:",[33,16624,16625,16630],{},[36,16626,16627,16629],{},[87,16628,16600],{},": se ejecuta cuando Vue está a punto de montar el componente, pero el DOM real todavía no ha sido insertado.",[36,16631,16632,16634],{},[87,16633,6389],{},": se ejecuta cuando el componente ya fue montado y puedes interactuar con nodos reales del DOM.",[15,16636,16637],{},"Si trabajas con Composition API, los equivalentes son:",[33,16639,16640,16645],{},[36,16641,16642],{},[87,16643,16644],{},"onBeforeMount()",[36,16646,16647],{},[87,16648,6396],{},[15,16650,16651],{},"Una forma práctica de orientarse:",[33,16653,16654,16664,16672],{},[36,16655,16656,16657,16660,16661,1675],{},"Si necesitas preparar ",[3929,16658,16659],{},"estado o lógica que no depende del DOM",", normalmente eso pertenece a ",[87,16662,16663],{},"setup",[36,16665,13596,16666,16669,16670,1675],{},[3929,16667,16668],{},"interactuar con elementos reales de la interfaz",", el punto natural suele ser ",[87,16671,6389],{},[36,16673,16674,16675,16677,16678,1675],{},"Si estás considerando ",[87,16676,16600],{},", conviene revisar primero si ese código no encaja mejor antes, por ejemplo dentro de ",[87,16679,16663],{},[15,16681,16682,16683,16691],{},"Además, en aplicaciones con SSR, ",[3929,16684,16685,16686,6414,16688,16690],{},"ni ",[87,16687,16600],{},[87,16689,6389],{}," se ejecutan en el servidor",". Son hooks que solo existen en el cliente.",[22,16693,6318],{"id":6317},[15,16695,16696],{},"La fase de montaje tiene sentido cuando el componente necesita cruzar la frontera entre el estado reactivo y el navegador real.",[15,16698,9304],{},[33,16700,16701,16704,16707,16710],{},[36,16702,16703],{},"Enfocar un campo de búsqueda cuando aparece la vista.",[36,16705,16706],{},"Inicializar una librería externa que necesita un contenedor del DOM (por ejemplo, un gráfico o un editor).",[36,16708,16709],{},"Medir tamaños, posiciones o scroll después del primer render.",[36,16711,16712],{},"Registrar integraciones con API del navegador que dependen de nodos reales.",[15,16714,16715,16717],{},[87,16716,16600],{}," tiene menos uso en la práctica, pero puede servir para:",[33,16719,16720,16723,16726],{},[36,16721,16722],{},"Dejar trazas o marcas de depuración antes del montaje.",[36,16724,16725],{},"Ajustar algún estado justo antes de que ocurra el primer render en el navegador.",[36,16727,16728],{},"Preparar integraciones que necesitan saber que el montaje es inminente, aunque todavía no interactúen con el DOM.",[22,16730,6345],{"id":6344},[15,16732,16733],{},"No todo debe resolverse en esta fase.",[15,16735,13618,16736,1023,16738,13623],{},[87,16737,16600],{},[87,16739,6389],{},[33,16741,16742,16748,16760,16766],{},[36,16743,16744,16745,1675],{},"Solo estás cargando datos que ",[3929,16746,16747],{},"no dependen del DOM",[36,16749,16750,16751,16753,16754,16756,16757,1675],{},"La lógica pertenece a un ",[87,16752,1661],{},", un ",[87,16755,1657],{}," o a un ",[3929,16758,16759],{},"composable",[36,16761,16762,16763,16765],{},"Estás usando ",[87,16764,6389],{}," como un cajón de sastre para “todo lo que faltó”.",[36,16767,16768,16769,1675],{},"Necesitas lógica compatible con ",[3929,16770,16771],{},"SSR desde el primer render",[15,16773,16774],{},"En especial, si el trabajo puede hacerse antes del montaje, suele ser mejor hacerlo antes. Así el componente llega más limpio a la pantalla y el primer render no carga con tareas innecesarias.",[22,16776,13669],{"id":13668},[56,16778,16779,16794],{},[59,16780,16781],{},[62,16782,16783,16785,16788,16791],{},[65,16784,11376],{},[65,16786,16787],{},"Qué ya existe",[65,16789,16790],{},"Qué todavía no deberías asumir",[65,16792,16793],{},"Uso típico",[75,16795,16796,16811],{},[62,16797,16798,16802,16805,16808],{},[80,16799,16800],{},[87,16801,16600],{},[80,16803,16804],{},"Estado reactivo, props, métodos y render preparado",[80,16806,16807],{},"DOM real disponible",[80,16809,16810],{},"Lógica puntual previa al montaje",[62,16812,16813,16817,16820,16823],{},[80,16814,16815],{},[87,16816,6389],{},[80,16818,16819],{},"Componente insertado en el DOM",[80,16821,16822],{},"Que librerías externas o procesos asíncronos ya hayan terminado",[80,16824,16825],{},"Enfocar, medir, integrar APIs del navegador",[15,16827,16828,16829,16831,16832,16834,16835,16837,16838,1675],{},"En la mayoría de proyectos modernos, ",[87,16830,6389],{}," aparece con frecuencia y ",[87,16833,16600],{}," muy poco. Eso no significa que ",[87,16836,16600],{}," esté mal, sino que ",[3929,16839,16840],{},"casi siempre existe un lugar mejor para esa lógica",[22,16842,3081],{"id":3080},[3083,16844,16846,16847],{"id":16845},"_1-intentar-leer-o-modificar-el-dom-en-beforemount","1. Intentar leer o modificar el DOM en ",[87,16848,16600],{},[15,16850,16851,16852,16854],{},"Es un error clásico. En ",[87,16853,16600],{}," Vue está a punto de montar el componente, pero los nodos reales todavía no existen.",[15,16856,16857],{},"Si necesitas hacer algo como:",[33,16859,16860,16865,16870],{},[36,16861,16862],{},[87,16863,16864],{},"focus()",[36,16866,16867],{},[87,16868,16869],{},"getBoundingClientRect()",[36,16871,16872],{},"inicializar una librería sobre un contenedor",[15,16874,16875,16876,1675],{},"Entonces debes esperar a ",[87,16877,6389],{},[3083,16879,16881,16882,16884],{"id":16880},"_2-mandar-a-mounted-cualquier-carga-inicial-por-costumbre","2. Mandar a ",[87,16883,6389],{}," cualquier carga inicial por costumbre",[15,16886,16887,16888,16891,16892,16894],{},"No todo ",[87,16889,16890],{},"fetch"," debería vivir en ",[87,16893,6389],{},". Si la petición no depende del DOM, puedes iniciarla antes y evitar retrasar la experiencia visual por una convención innecesaria.",[15,16896,16897,16899,16900,16903],{},[87,16898,6389],{}," ",[3929,16901,16902],{},"no es el hook principal",". Es simplemente el hook correcto cuando el navegador real entra en la conversación.",[15,16905,16906,16907,583],{},"Por ejemplo, este tipo de lógica no necesita ",[87,16908,6389],{},[154,16910,16912],{"className":156,"code":16911,"filename":15280,"language":162,"meta":163,"style":163},"\u003Cscript setup lang=\"ts\">\nimport { ref } from 'vue'\n\nconst users = ref([])\n\nasync function loadUsers() {\n  const res = await fetch('\u002Fapi\u002Fusers')\n  users.value = await res.json()\n}\n\nloadUsers()\n\u003C\u002Fscript>\n",[87,16913,16914,16930,16940,16944,16958,16962,16973,16993,17009,17013,17017,17024],{"__ignoreMap":163},[167,16915,16916,16918,16920,16922,16924,16926,16928],{"class":169,"line":170},[167,16917,174],{"class":173},[167,16919,178],{"class":177},[167,16921,182],{"class":181},[167,16923,1045],{"class":181},[167,16925,267],{"class":173},[167,16927,1050],{"class":201},[167,16929,185],{"class":173},[167,16931,16932,16934,16936,16938],{"class":169,"line":188},[167,16933,192],{"class":191},[167,16935,195],{"class":173},[167,16937,198],{"class":191},[167,16939,202],{"class":201},[167,16941,16942],{"class":169,"line":205},[167,16943,209],{"emptyLinePlaceholder":208},[167,16945,16946,16948,16951,16953,16955],{"class":169,"line":160},[167,16947,216],{"class":191},[167,16949,16950],{"class":219}," users",[167,16952,223],{"class":191},[167,16954,226],{"class":181},[167,16956,16957],{"class":173},"([])\n",[167,16959,16960],{"class":169,"line":238},[167,16961,209],{"emptyLinePlaceholder":208},[167,16963,16964,16966,16968,16971],{"class":169,"line":243},[167,16965,2519],{"class":191},[167,16967,1427],{"class":191},[167,16969,16970],{"class":181}," loadUsers",[167,16972,763],{"class":173},[167,16974,16975,16977,16980,16982,16984,16986,16988,16991],{"class":169,"line":261},[167,16976,1438],{"class":191},[167,16978,16979],{"class":219}," res",[167,16981,223],{"class":191},[167,16983,3005],{"class":191},[167,16985,6617],{"class":181},[167,16987,229],{"class":173},[167,16989,16990],{"class":201},"'\u002Fapi\u002Fusers'",[167,16992,235],{"class":173},[167,16994,16995,16998,17000,17002,17005,17007],{"class":169,"line":273},[167,16996,16997],{"class":173},"  users.value ",[167,16999,267],{"class":191},[167,17001,3005],{"class":191},[167,17003,17004],{"class":173}," res.",[167,17006,6682],{"class":181},[167,17008,2913],{"class":173},[167,17010,17011],{"class":169,"line":279},[167,17012,276],{"class":173},[167,17014,17015],{"class":169,"line":289},[167,17016,209],{"emptyLinePlaceholder":208},[167,17018,17019,17022],{"class":169,"line":294},[167,17020,17021],{"class":181},"loadUsers",[167,17023,2913],{"class":173},[167,17025,17026,17028,17030],{"class":169,"line":304},[167,17027,282],{"class":173},[167,17029,178],{"class":177},[167,17031,185],{"class":173},[5363,17033,17034],{},[15,17035,17036,17037,1675],{},"Aquí la carga puede empezar directamente en ",[87,17038,16663],{},[3083,17040,17042,17043,17045],{"id":17041},"_3-crear-listeners-o-timers-en-mounted-y-olvidarse-de-limpiarlos","3. Crear listeners o timers en ",[87,17044,6389],{}," y olvidarse de limpiarlos",[15,17047,17048],{},"Este error no se nota en el montaje, pero aparece después.",[15,17050,17051],{},"Si registras:",[33,17053,17054,17057,17061,17065],{},[36,17055,17056],{},"eventos globales",[36,17058,17059],{},[87,17060,11479],{},[36,17062,17063],{},[87,17064,13582],{},[36,17066,17067],{},[87,17068,13757],{},[15,17070,17071,17072,17074,17075,90,17077,1675],{},"en ",[87,17073,6389],{},", deberías limpiarlos en ",[87,17076,13468],{},[87,17078,14246],{},[154,17080,17082],{"className":156,"code":17081,"filename":15280,"language":162,"meta":163,"style":163},"\u003Cscript setup lang=\"ts\">\nimport { onMounted, onBeforeUnmount } from 'vue'\n\nlet interval: number\n\nonMounted(() => {\n  interval = window.setInterval(() => {\n    console.log('tick')\n  }, 1000)\n})\n\nonBeforeUnmount(() => {\n  clearInterval(interval)\n})\n\u003C\u002Fscript>\n",[87,17083,17084,17100,17111,17115,17126,17130,17140,17157,17170,17179,17183,17187,17197,17204,17208],{"__ignoreMap":163},[167,17085,17086,17088,17090,17092,17094,17096,17098],{"class":169,"line":170},[167,17087,174],{"class":173},[167,17089,178],{"class":177},[167,17091,182],{"class":181},[167,17093,1045],{"class":181},[167,17095,267],{"class":173},[167,17097,1050],{"class":201},[167,17099,185],{"class":173},[167,17101,17102,17104,17107,17109],{"class":169,"line":188},[167,17103,192],{"class":191},[167,17105,17106],{"class":173}," { onMounted, onBeforeUnmount } ",[167,17108,198],{"class":191},[167,17110,202],{"class":201},[167,17112,17113],{"class":169,"line":205},[167,17114,209],{"emptyLinePlaceholder":208},[167,17116,17117,17119,17122,17124],{"class":169,"line":160},[167,17118,13944],{"class":191},[167,17120,17121],{"class":173}," interval",[167,17123,583],{"class":191},[167,17125,6506],{"class":219},[167,17127,17128],{"class":169,"line":238},[167,17129,209],{"emptyLinePlaceholder":208},[167,17131,17132,17134,17136,17138],{"class":169,"line":243},[167,17133,6792],{"class":181},[167,17135,1488],{"class":173},[167,17137,639],{"class":191},[167,17139,1901],{"class":173},[167,17141,17142,17145,17147,17149,17151,17153,17155],{"class":169,"line":261},[167,17143,17144],{"class":173},"  interval ",[167,17146,267],{"class":191},[167,17148,1493],{"class":173},[167,17150,11479],{"class":181},[167,17152,1488],{"class":173},[167,17154,639],{"class":191},[167,17156,1901],{"class":173},[167,17158,17159,17161,17163,17165,17168],{"class":169,"line":273},[167,17160,8890],{"class":173},[167,17162,2607],{"class":181},[167,17164,229],{"class":173},[167,17166,17167],{"class":201},"'tick'",[167,17169,235],{"class":173},[167,17171,17172,17174,17177],{"class":169,"line":279},[167,17173,1953],{"class":173},[167,17175,17176],{"class":219},"1000",[167,17178,235],{"class":173},[167,17180,17181],{"class":169,"line":289},[167,17182,403],{"class":173},[167,17184,17185],{"class":169,"line":294},[167,17186,209],{"emptyLinePlaceholder":208},[167,17188,17189,17191,17193,17195],{"class":169,"line":304},[167,17190,14246],{"class":181},[167,17192,1488],{"class":173},[167,17194,639],{"class":191},[167,17196,1901],{"class":173},[167,17198,17199,17201],{"class":169,"line":313},[167,17200,12130],{"class":181},[167,17202,17203],{"class":173},"(interval)\n",[167,17205,17206],{"class":169,"line":161},[167,17207,403],{"class":173},[167,17209,17210,17212,17214],{"class":169,"line":335},[167,17211,282],{"class":173},[167,17213,178],{"class":177},[167,17215,185],{"class":173},[5363,17217,17218],{},[15,17219,17220,17221,1675],{},"Montar bien también implica ",[3929,17222,17223],{},"dejar preparado el desmontaje",[3083,17225,17227],{"id":17226},"_4-asumir-que-estos-hooks-también-corren-en-ssr","4. Asumir que estos hooks también corren en SSR",[15,17229,17230,17231,1675],{},"En Nuxt o en cualquier flujo con renderizado del lado del servidor, estos hooks ",[3929,17232,17233],{},"solo se ejecutan en el cliente",[15,17235,17236,17237,17239,17240,1675],{},"Si colocas lógica crítica del HTML inicial dentro de ",[87,17238,6389],{},", esa lógica ",[3929,17241,17242],{},"no formará parte del primer render del servidor",[15,17244,17245,17246,1675],{},"En Nuxt, por ejemplo, las cargas de datos iniciales suelen vivir en composables o utilidades como ",[87,17247,17248],{},"useAsyncData",[22,17250,7993],{"id":7992},[3083,17252,17254],{"id":17253},"enfocar-un-input-al-entrar-en-la-vista","Enfocar un input al entrar en la vista",[15,17256,17257,17258,1675],{},"Es uno de los ejemplos más simples y útiles: necesitas que el elemento exista antes de llamar a ",[87,17259,16864],{},[3083,17261,17263],{"id":17262},"inicializar-una-librería-de-terceros","Inicializar una librería de terceros",[15,17265,17266,17267,1675],{},"Si usas un gráfico, un calendario o un editor enriquecido, la librería normalmente requiere un contenedor del DOM. Ese momento natural es ",[87,17268,6389],{},[3083,17270,17272],{"id":17271},"medir-un-bloque-después-del-primer-render","Medir un bloque después del primer render",[15,17274,17275],{},"Algunos componentes necesitan conocer su alto o ancho para decidir animaciones, layout o comportamiento de scroll. Esa medición también pertenece a la fase de montaje.",[154,17277,17279],{"className":156,"code":17278,"filename":3256,"language":162,"meta":163,"style":163},"\u003Cscript setup lang=\"ts\">\nimport { onBeforeMount, onMounted, ref } from 'vue'\n\nconst searchInput = ref\u003CHTMLInputElement | null>(null)\nconst status = ref('Preparando componente...')\n\nonBeforeMount(() => {\n  status.value = 'Vue ya preparó la instancia, pero el input todavía no existe en el DOM.'\n})\n\nonMounted(() => {\n  searchInput.value?.focus()\n  status.value = 'Componente montado. El input ya puede recibir foco.'\n})\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Csection class=\"search-panel\">\n    \u003Cp>{{ status }}\u003C\u002Fp>\n\n    \u003Cinput\n      ref=\"searchInput\"\n      type=\"search\"\n      placeholder=\"Buscar tareas\"\n    >\n  \u003C\u002Fsection>\n\u003C\u002Ftemplate>\n",[87,17280,17281,17297,17308,17312,17338,17355,17359,17370,17379,17383,17387,17397,17407,17416,17420,17428,17432,17440,17455,17467,17471,17478,17487,17496,17506,17510,17518],{"__ignoreMap":163},[167,17282,17283,17285,17287,17289,17291,17293,17295],{"class":169,"line":170},[167,17284,174],{"class":173},[167,17286,178],{"class":177},[167,17288,182],{"class":181},[167,17290,1045],{"class":181},[167,17292,267],{"class":173},[167,17294,1050],{"class":201},[167,17296,185],{"class":173},[167,17298,17299,17301,17304,17306],{"class":169,"line":188},[167,17300,192],{"class":191},[167,17302,17303],{"class":173}," { onBeforeMount, onMounted, ref } ",[167,17305,198],{"class":191},[167,17307,202],{"class":201},[167,17309,17310],{"class":169,"line":205},[167,17311,209],{"emptyLinePlaceholder":208},[167,17313,17314,17316,17319,17321,17323,17325,17328,17330,17332,17334,17336],{"class":169,"line":160},[167,17315,216],{"class":191},[167,17317,17318],{"class":219}," searchInput",[167,17320,223],{"class":191},[167,17322,226],{"class":181},[167,17324,174],{"class":173},[167,17326,17327],{"class":181},"HTMLInputElement",[167,17329,659],{"class":191},[167,17331,6563],{"class":219},[167,17333,6566],{"class":173},[167,17335,6569],{"class":219},[167,17337,235],{"class":173},[167,17339,17340,17342,17344,17346,17348,17350,17353],{"class":169,"line":238},[167,17341,216],{"class":191},[167,17343,11696],{"class":219},[167,17345,223],{"class":191},[167,17347,226],{"class":181},[167,17349,229],{"class":173},[167,17351,17352],{"class":201},"'Preparando componente...'",[167,17354,235],{"class":173},[167,17356,17357],{"class":169,"line":243},[167,17358,209],{"emptyLinePlaceholder":208},[167,17360,17361,17364,17366,17368],{"class":169,"line":261},[167,17362,17363],{"class":181},"onBeforeMount",[167,17365,1488],{"class":173},[167,17367,639],{"class":191},[167,17369,1901],{"class":173},[167,17371,17372,17374,17376],{"class":169,"line":273},[167,17373,11912],{"class":173},[167,17375,267],{"class":191},[167,17377,17378],{"class":201}," 'Vue ya preparó la instancia, pero el input todavía no existe en el DOM.'\n",[167,17380,17381],{"class":169,"line":279},[167,17382,403],{"class":173},[167,17384,17385],{"class":169,"line":289},[167,17386,209],{"emptyLinePlaceholder":208},[167,17388,17389,17391,17393,17395],{"class":169,"line":294},[167,17390,6792],{"class":181},[167,17392,1488],{"class":173},[167,17394,639],{"class":191},[167,17396,1901],{"class":173},[167,17398,17399,17402,17405],{"class":169,"line":304},[167,17400,17401],{"class":173},"  searchInput.value?.",[167,17403,17404],{"class":181},"focus",[167,17406,2913],{"class":173},[167,17408,17409,17411,17413],{"class":169,"line":313},[167,17410,11912],{"class":173},[167,17412,267],{"class":191},[167,17414,17415],{"class":201}," 'Componente montado. El input ya puede recibir foco.'\n",[167,17417,17418],{"class":169,"line":161},[167,17419,403],{"class":173},[167,17421,17422,17424,17426],{"class":169,"line":335},[167,17423,282],{"class":173},[167,17425,178],{"class":177},[167,17427,185],{"class":173},[167,17429,17430],{"class":169,"line":341},[167,17431,209],{"emptyLinePlaceholder":208},[167,17433,17434,17436,17438],{"class":169,"line":489},[167,17435,174],{"class":173},[167,17437,299],{"class":177},[167,17439,185],{"class":173},[167,17441,17442,17444,17446,17448,17450,17453],{"class":169,"line":495},[167,17443,307],{"class":173},[167,17445,10113],{"class":177},[167,17447,1240],{"class":181},[167,17449,267],{"class":173},[167,17451,17452],{"class":201},"\"search-panel\"",[167,17454,185],{"class":173},[167,17456,17457,17459,17461,17463,17465],{"class":169,"line":501},[167,17458,1252],{"class":173},[167,17460,15],{"class":177},[167,17462,12330],{"class":173},[167,17464,15],{"class":177},[167,17466,185],{"class":173},[167,17468,17469],{"class":169,"line":512},[167,17470,209],{"emptyLinePlaceholder":208},[167,17472,17473,17475],{"class":169,"line":781},[167,17474,1252],{"class":173},[167,17476,17477],{"class":177},"input\n",[167,17479,17480,17482,17484],{"class":169,"line":786},[167,17481,15959],{"class":181},[167,17483,267],{"class":173},[167,17485,17486],{"class":201},"\"searchInput\"\n",[167,17488,17489,17491,17493],{"class":169,"line":2674},[167,17490,3735],{"class":181},[167,17492,267],{"class":173},[167,17494,17495],{"class":201},"\"search\"\n",[167,17497,17498,17501,17503],{"class":169,"line":2688},[167,17499,17500],{"class":181},"      placeholder",[167,17502,267],{"class":173},[167,17504,17505],{"class":201},"\"Buscar tareas\"\n",[167,17507,17508],{"class":169,"line":3571},[167,17509,3765],{"class":173},[167,17511,17512,17514,17516],{"class":169,"line":5024},[167,17513,504],{"class":173},[167,17515,10113],{"class":177},[167,17517,185],{"class":173},[167,17519,17520,17522,17524],{"class":169,"line":5033},[167,17521,282],{"class":173},[167,17523,299],{"class":177},[167,17525,185],{"class":173},[154,17527,17529],{"className":156,"code":17528,"filename":3969,"language":162,"meta":163,"style":163},"\u003Cscript>\nexport default {\n  data() {\n    return {\n      status: 'Preparando componente...'\n    }\n  },\n\n  beforeMount() {\n    this.status = 'Vue está a punto de insertar el DOM del componente.'\n  },\n\n  mounted() {\n    this.status = 'Componente montado. El input ya puede recibir foco.'\n\n    if (this.$refs.searchInput instanceof HTMLInputElement) {\n      this.$refs.searchInput.focus()\n    }\n  }\n}\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Csection class=\"search-panel\">\n    \u003Cp>{{ status }}\u003C\u002Fp>\n\n    \u003Cinput\n      ref=\"searchInput\"\n      type=\"search\"\n      placeholder=\"Buscar tareas\"\n    >\n  \u003C\u002Fsection>\n\u003C\u002Ftemplate>\n",[87,17530,17531,17539,17547,17553,17559,17566,17570,17574,17578,17585,17596,17600,17604,17610,17620,17624,17642,17653,17657,17661,17665,17673,17677,17685,17699,17711,17715,17721,17729,17737,17745,17749,17757],{"__ignoreMap":163},[167,17532,17533,17535,17537],{"class":169,"line":170},[167,17534,174],{"class":173},[167,17536,178],{"class":177},[167,17538,185],{"class":173},[167,17540,17541,17543,17545],{"class":169,"line":188},[167,17542,608],{"class":191},[167,17544,3987],{"class":191},[167,17546,1901],{"class":173},[167,17548,17549,17551],{"class":169,"line":205},[167,17550,7172],{"class":181},[167,17552,763],{"class":173},[167,17554,17555,17557],{"class":169,"line":160},[167,17556,1933],{"class":191},[167,17558,1901],{"class":173},[167,17560,17561,17563],{"class":169,"line":238},[167,17562,12581],{"class":173},[167,17564,17565],{"class":201},"'Preparando componente...'\n",[167,17567,17568],{"class":169,"line":243},[167,17569,4045],{"class":173},[167,17571,17572],{"class":169,"line":261},[167,17573,398],{"class":173},[167,17575,17576],{"class":169,"line":273},[167,17577,209],{"emptyLinePlaceholder":208},[167,17579,17580,17583],{"class":169,"line":279},[167,17581,17582],{"class":181},"  beforeMount",[167,17584,763],{"class":173},[167,17586,17587,17589,17591,17593],{"class":169,"line":289},[167,17588,879],{"class":219},[167,17590,12782],{"class":173},[167,17592,267],{"class":191},[167,17594,17595],{"class":201}," 'Vue está a punto de insertar el DOM del componente.'\n",[167,17597,17598],{"class":169,"line":294},[167,17599,398],{"class":173},[167,17601,17602],{"class":169,"line":304},[167,17603,209],{"emptyLinePlaceholder":208},[167,17605,17606,17608],{"class":169,"line":313},[167,17607,12745],{"class":181},[167,17609,763],{"class":173},[167,17611,17612,17614,17616,17618],{"class":169,"line":161},[167,17613,879],{"class":219},[167,17615,12782],{"class":173},[167,17617,267],{"class":191},[167,17619,17415],{"class":201},[167,17621,17622],{"class":169,"line":335},[167,17623,209],{"emptyLinePlaceholder":208},[167,17625,17626,17628,17630,17632,17635,17637,17640],{"class":169,"line":341},[167,17627,7415],{"class":191},[167,17629,2522],{"class":173},[167,17631,4923],{"class":219},[167,17633,17634],{"class":173},".$refs.searchInput ",[167,17636,6758],{"class":191},[167,17638,17639],{"class":181}," HTMLInputElement",[167,17641,258],{"class":173},[167,17643,17644,17646,17649,17651],{"class":169,"line":489},[167,17645,741],{"class":219},[167,17647,17648],{"class":173},".$refs.searchInput.",[167,17650,17404],{"class":181},[167,17652,2913],{"class":173},[167,17654,17655],{"class":169,"line":495},[167,17656,4045],{"class":173},[167,17658,17659],{"class":169,"line":501},[167,17660,3488],{"class":173},[167,17662,17663],{"class":169,"line":512},[167,17664,276],{"class":173},[167,17666,17667,17669,17671],{"class":169,"line":781},[167,17668,282],{"class":173},[167,17670,178],{"class":177},[167,17672,185],{"class":173},[167,17674,17675],{"class":169,"line":786},[167,17676,209],{"emptyLinePlaceholder":208},[167,17678,17679,17681,17683],{"class":169,"line":2674},[167,17680,174],{"class":173},[167,17682,299],{"class":177},[167,17684,185],{"class":173},[167,17686,17687,17689,17691,17693,17695,17697],{"class":169,"line":2688},[167,17688,307],{"class":173},[167,17690,10113],{"class":177},[167,17692,1240],{"class":181},[167,17694,267],{"class":173},[167,17696,17452],{"class":201},[167,17698,185],{"class":173},[167,17700,17701,17703,17705,17707,17709],{"class":169,"line":3571},[167,17702,1252],{"class":173},[167,17704,15],{"class":177},[167,17706,12330],{"class":173},[167,17708,15],{"class":177},[167,17710,185],{"class":173},[167,17712,17713],{"class":169,"line":5024},[167,17714,209],{"emptyLinePlaceholder":208},[167,17716,17717,17719],{"class":169,"line":5033},[167,17718,1252],{"class":173},[167,17720,17477],{"class":177},[167,17722,17723,17725,17727],{"class":169,"line":5042},[167,17724,15959],{"class":181},[167,17726,267],{"class":173},[167,17728,17486],{"class":201},[167,17730,17731,17733,17735],{"class":169,"line":6752},[167,17732,3735],{"class":181},[167,17734,267],{"class":173},[167,17736,17495],{"class":201},[167,17738,17739,17741,17743],{"class":169,"line":6774},[167,17740,17500],{"class":181},[167,17742,267],{"class":173},[167,17744,17505],{"class":201},[167,17746,17747],{"class":169,"line":6779},[167,17748,3765],{"class":173},[167,17750,17751,17753,17755],{"class":169,"line":6784},[167,17752,504],{"class":173},[167,17754,10113],{"class":177},[167,17756,185],{"class":173},[167,17758,17759,17761,17763],{"class":169,"line":6789},[167,17760,282],{"class":173},[167,17762,299],{"class":177},[167,17764,185],{"class":173},[5363,17766,17767],{},[15,17768,17769,17770,17772,17773,17775,17776,17778],{},"Aquí ",[87,17771,16644],{}," solo actualiza un estado informativo. En cambio, ",[87,17774,16864],{}," queda en ",[87,17777,6396],{}," porque necesita un nodo real del DOM.",[22,17780,7674],{"id":7673},[33,17782,17783,17788,17797],{},[36,17784,17785,17787],{},[87,17786,16600],{}," existe, pero en la mayoría de componentes no será tu herramienta principal. Si no necesitas el DOM, casi siempre conviene resolver la lógica antes.",[36,17789,17790,17792,17793,17796],{},[87,17791,6389],{},", en cambio, tiene un papel muy claro: ",[3929,17794,17795],{},"es el hook donde el componente se encuentra con el navegador real",". Inputs, mediciones, gráficos, observers y librerías de terceros suelen empezar ahí.",[36,17798,17799,17800,1675],{},"La mejor forma de usar esta fase no es meter más cosas en ella, sino ",[3929,17801,17802],{},"reservarla únicamente para lo que realmente depende del DOM",[924,17804,16554],{},{"title":163,"searchDepth":188,"depth":188,"links":17806},[17807,17808,17809,17810,17811,17820,17825],{"id":6252,"depth":188,"text":6253},{"id":6317,"depth":188,"text":6318},{"id":6344,"depth":188,"text":6345},{"id":13668,"depth":188,"text":13669},{"id":3080,"depth":188,"text":3081,"children":17812},[17813,17815,17817,17819],{"id":16845,"depth":205,"text":17814},"1. Intentar leer o modificar el DOM en beforeMount",{"id":16880,"depth":205,"text":17816},"2. Mandar a mounted cualquier carga inicial por costumbre",{"id":17041,"depth":205,"text":17818},"3. Crear listeners o timers en mounted y olvidarse de limpiarlos",{"id":17226,"depth":205,"text":17227},{"id":7992,"depth":188,"text":7993,"children":17821},[17822,17823,17824],{"id":17253,"depth":205,"text":17254},{"id":17262,"depth":205,"text":17263},{"id":17271,"depth":205,"text":17272},{"id":7673,"depth":188,"text":7674},"https:\u002F\u002Fres.cloudinary.com\u002Fdenj4fg7f\u002Fimage\u002Fupload\u002Fv1773284431\u002Fvue-lifecycle-mounting-phase-beforemount-mounted_wkrzal.png","Ilustración del ciclo de vida de un componente Vue enfocada en la fase de montaje del DOM","2026-03-10","Qué ocurre justo antes y justo después de que Vue inserte un componente en el DOM, y cómo usar beforeMount y mounted sin meter lógica donde no corresponde.",{"updatedAt":17831,"coverCaption":17832,"author":945,"keywords":17833},"2026-03-09T22:00:00-05:00","La fase de montaje es el momento en el que Vue crea e inserta el DOM del componente en la página.",[3254,16600,6389,6792,17834],"DOM","\u002Fblog\u002Fvue-lifecycle-mounting-phase-beforemount-mounted.es",[17837],{"headline":16591,"author":17838,"datePublished":17831,"@type":959},{"name":945,"@type":958},{"title":16591,"description":17829},"blog\u002Fvue-lifecycle-mounting-phase-beforemount-mounted.es",[17842,17843,17844,17845],{"tag":7720,"color":7721},{"tag":1622,"color":1635},{"tag":9165,"color":9166},{"tag":5420,"color":5421},"GQ-lIt1QfPL-Vw50b8qQ3uquMQjxzjBexBGH1U_jPMM",{"id":17848,"title":17849,"body":17850,"cover":18976,"coverAlt":18977,"date":18978,"description":18979,"draft":1617,"extension":940,"lab":941,"locale":942,"meta":18980,"navigation":208,"path":18984,"schemaOrg":18985,"seo":18988,"series":7714,"seriesDescription":7715,"seriesOrder":188,"seriesTitle":7716,"slug":941,"stem":18989,"tags":18990,"__hash__":18995},"blog\u002Fblog\u002Fvue-lifecycle-creation-phase-beforecreate-created-setup.es.md","Ciclos de vida en Vue: fase de creación (beforeCreate, created, setup)",{"type":8,"value":17851,"toc":18956},[17852,17864,17870,17878,17888,17892,17898,17915,17931,17934,17957,17963,17970,17973,17989,17996,18002,18063,18069,18082,18085,18096,18209,18215,18223,18229,18250,18259,18406,18416,18480,18484,18493,18502,18505,18517,18524,18537,18541,18548,18552,18559,18746,18917,18921,18953],[11,17853,17855,17856,1020,17859,1020,17862,6215],{"id":17854},"ciclos-de-vida-en-vue-fase-de-creación-beforecreate-created-setup","Ciclos de vida en Vue: fase de creación (",[87,17857,17858],{},"beforeCreate",[87,17860,17861],{},"created",[87,17863,16663],{},[15,17865,17866,17867],{},"Cuando empiezas a escribir un componente en Vue, una de las preguntas más comunes es: ",[3929,17868,17869],{},"¿dónde debería colocar la lógica inicial?",[15,17871,17872,17873,17875,17876,1675],{},"La respuesta depende principalmente de si estás trabajando con ",[3929,17874,3969],{}," o con ",[3929,17877,3256],{},[15,17879,17880,17881,17884,17885,1675],{},"La ",[3929,17882,17883],{},"fase de creación"," es el momento en el que Vue construye la instancia del componente, inicializa su sistema de reactividad y prepara su estado interno. En esta etapa, el componente todavía ",[3929,17886,17887],{},"no ha sido montado en el DOM",[22,17889,17891],{"id":17890},"qué-ocurre-en-esta-fase","Qué ocurre en esta fase",[15,17893,17894,17895,17897],{},"En términos prácticos, el orden clásico del ciclo de vida con ",[3929,17896,3969],{}," es:",[3031,17899,17900,17904,17908],{},[36,17901,17902],{},[87,17903,17858],{},[36,17905,17906],{},[87,17907,17861],{},[36,17909,17910,17911,11223,17913,6215],{},"montaje (",[87,17912,16600],{},[87,17914,6389],{},[15,17916,3806,17917,17919,17920,17922,17923,17926,17927,1023,17929,1675],{},[3929,17918,3256],{},", el punto de entrada es ",[87,17921,9234],{},", que se ejecuta ",[3929,17924,17925],{},"antes de los hooks de ciclo de vida de Options API",", incluidos ",[87,17928,17858],{},[87,17930,17861],{},[15,17932,17933],{},"Si quieres quedarte con una idea simple:",[33,17935,17936,17943,17950],{},[36,17937,17938,17942],{},[3929,17939,17940],{},[87,17941,17858],{}," → punto extremadamente temprano; rara vez necesario hoy.",[36,17944,17945,17949],{},[3929,17946,17947],{},[87,17948,17861],{}," → estado reactivo disponible en Options API.",[36,17951,17952,17956],{},[3929,17953,17954],{},[87,17955,16663],{}," → punto de arranque principal en Composition API.",[22,17958,17960,17962],{"id":17959},"beforecreate-cuándo-aparece-y-por-qué-casi-no-se-usa",[87,17961,17858],{},": cuándo aparece y por qué casi no se usa",[15,17964,17965,15246,17967,1675],{},[87,17966,17858],{},[3929,17968,17969],{},"antes de que Vue termine de inicializar el estado reactivo y las opciones de la instancia",[15,17971,17972],{},"En este punto:",[33,17974,17975,17980,17984],{},[36,17976,17977],{},[87,17978,17979],{},"data",[36,17981,17982],{},[87,17983,1657],{},[36,17985,17986],{},[87,17987,17988],{},"methods",[15,17990,17991,17992,17995],{},"Todavía ",[3929,17993,17994],{},"no están inicializados",", por lo que el acceso a la instancia es muy limitado.",[15,17997,17998,17999,1675],{},"Por esta razón, en proyectos modernos con Vue 3 este hook rara vez se utiliza. En la mayoría de casos aparece únicamente en ",[3929,18000,18001],{},"código legado o escenarios muy específicos relacionados con plugins o extensiones del framework",[154,18003,18006],{"className":156,"code":18004,"filename":15280,"highlights":18005,"language":162,"meta":163,"style":163},"\u003Cscript>\nexport default {\n  beforeCreate() {\n    console.log('El componente está arrancando')\n  }\n}\n\u003C\u002Fscript>\n",[205,160,238],[87,18007,18008,18016,18024,18032,18046,18051,18055],{"__ignoreMap":163},[167,18009,18010,18012,18014],{"class":169,"line":170},[167,18011,174],{"class":173},[167,18013,178],{"class":177},[167,18015,185],{"class":173},[167,18017,18018,18020,18022],{"class":169,"line":188},[167,18019,608],{"class":191},[167,18021,3987],{"class":191},[167,18023,1901],{"class":173},[167,18025,18027,18030],{"class":18026,"line":205},[169,213],[167,18028,18029],{"class":181},"  beforeCreate",[167,18031,763],{"class":173},[167,18033,18035,18037,18039,18041,18044],{"class":18034,"line":160},[169,213],[167,18036,8890],{"class":173},[167,18038,2607],{"class":181},[167,18040,229],{"class":173},[167,18042,18043],{"class":201},"'El componente está arrancando'",[167,18045,235],{"class":173},[167,18047,18049],{"class":18048,"line":238},[169,213],[167,18050,3488],{"class":173},[167,18052,18053],{"class":169,"line":243},[167,18054,276],{"class":173},[167,18056,18057,18059,18061],{"class":169,"line":261},[167,18058,282],{"class":173},[167,18060,178],{"class":177},[167,18062,185],{"class":173},[22,18064,18066,18068],{"id":18065},"created-el-punto-útil-en-options-api",[87,18067,17861],{},": el punto útil en Options API",[15,18070,18071,18072,18074,18075,18078,18079,1675],{},"En el hook ",[87,18073,17861],{},", la instancia del componente ya está completamente inicializada en términos de ",[3929,18076,18077],{},"estado reactivo y métodos",", aunque el ",[3929,18080,18081],{},"DOM todavía no ha sido renderizado",[15,18083,18084],{},"Esto lo convierte en un buen lugar para:",[33,18086,18087,18090,18093],{},[36,18088,18089],{},"Inicializar estado derivado de configuración.",[36,18091,18092],{},"Cargar datos de forma temprana.",[36,18094,18095],{},"Preparar timers o listeners que no dependan del DOM.",[154,18097,18100],{"className":156,"code":18098,"filename":15280,"highlights":18099,"language":162,"meta":163,"style":163},"\u003Cscript>\nexport default {\n  data() {\n    return {\n      users: []\n    }\n  },\n  async created() {\n    this.users = await fetch('\u002Fapi\u002Fusers').then((r) => r.json())\n  }\n}\n\u003C\u002Fscript>\n",[273,279,289],[87,18101,18102,18110,18118,18124,18130,18135,18139,18143,18153,18192,18197,18201],{"__ignoreMap":163},[167,18103,18104,18106,18108],{"class":169,"line":170},[167,18105,174],{"class":173},[167,18107,178],{"class":177},[167,18109,185],{"class":173},[167,18111,18112,18114,18116],{"class":169,"line":188},[167,18113,608],{"class":191},[167,18115,3987],{"class":191},[167,18117,1901],{"class":173},[167,18119,18120,18122],{"class":169,"line":205},[167,18121,7172],{"class":181},[167,18123,763],{"class":173},[167,18125,18126,18128],{"class":169,"line":160},[167,18127,1933],{"class":191},[167,18129,1901],{"class":173},[167,18131,18132],{"class":169,"line":238},[167,18133,18134],{"class":173},"      users: []\n",[167,18136,18137],{"class":169,"line":243},[167,18138,4045],{"class":173},[167,18140,18141],{"class":169,"line":261},[167,18142,398],{"class":173},[167,18144,18146,18148,18151],{"class":18145,"line":273},[169,213],[167,18147,7327],{"class":191},[167,18149,18150],{"class":181}," created",[167,18152,763],{"class":173},[167,18154,18156,18158,18161,18163,18165,18167,18169,18171,18173,18176,18178,18181,18183,18185,18188,18190],{"class":18155,"line":279},[169,213],[167,18157,879],{"class":219},[167,18159,18160],{"class":173},".users ",[167,18162,267],{"class":191},[167,18164,3005],{"class":191},[167,18166,6617],{"class":181},[167,18168,229],{"class":173},[167,18170,16990],{"class":201},[167,18172,4266],{"class":173},[167,18174,18175],{"class":181},"then",[167,18177,1914],{"class":173},[167,18179,18180],{"class":254},"r",[167,18182,693],{"class":173},[167,18184,639],{"class":191},[167,18186,18187],{"class":173}," r.",[167,18189,6682],{"class":181},[167,18191,2505],{"class":173},[167,18193,18195],{"class":18194,"line":289},[169,213],[167,18196,3488],{"class":173},[167,18198,18199],{"class":169,"line":294},[167,18200,276],{"class":173},[167,18202,18203,18205,18207],{"class":169,"line":304},[167,18204,282],{"class":173},[167,18206,178],{"class":177},[167,18208,185],{"class":173},[22,18210,18212,18214],{"id":18211},"setup-el-arranque-natural-en-vue-3",[87,18213,16663],{},": el arranque natural en Vue 3",[15,18216,18217,18218,1020,18220,18222],{},"Cuando trabajas con ",[3929,18219,3256],{},[87,18221,9234],{}," es el verdadero punto de entrada del componente.",[15,18224,18225,18226,18228],{},"Dentro de ",[87,18227,16663],{}," defines:",[33,18230,18231,18235,18240,18244,18248],{},[36,18232,18233],{},[87,18234,2081],{},[36,18236,18237],{},[87,18238,18239],{},"reactive",[36,18241,18242],{},[87,18243,1657],{},[36,18245,18246],{},[87,18247,1661],{},[36,18249,1626],{},[15,18251,18252,18253,15246,18255,18258],{},"Además, ",[87,18254,16663],{},[3929,18256,18257],{},"antes de que el componente sea montado",", por lo que permite preparar todo el estado que la vista necesitará en su primer render.",[154,18260,18263],{"className":156,"code":18261,"filename":15280,"highlights":18262,"language":162,"meta":163,"style":163},"\u003Cscript setup>\nimport { ref, computed } from 'vue'\n\nconst count = ref(0)\nconst double = computed(() => count.value * 2)\n\nconsole.log('setup ejecutado')\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cbutton @click=\"count++\">\n    count: {{ count }} \u002F double: {{ double }}\n  \u003C\u002Fbutton>\n\u003C\u002Ftemplate>\n",[261],[87,18264,18265,18275,18286,18290,18306,18331,18335,18350,18358,18362,18370,18385,18390,18398],{"__ignoreMap":163},[167,18266,18267,18269,18271,18273],{"class":169,"line":170},[167,18268,174],{"class":173},[167,18270,178],{"class":177},[167,18272,182],{"class":181},[167,18274,185],{"class":173},[167,18276,18277,18279,18282,18284],{"class":169,"line":188},[167,18278,192],{"class":191},[167,18280,18281],{"class":173}," { ref, computed } ",[167,18283,198],{"class":191},[167,18285,202],{"class":201},[167,18287,18288],{"class":169,"line":205},[167,18289,209],{"emptyLinePlaceholder":208},[167,18291,18292,18294,18296,18298,18300,18302,18304],{"class":169,"line":160},[167,18293,216],{"class":191},[167,18295,15321],{"class":219},[167,18297,223],{"class":191},[167,18299,226],{"class":181},[167,18301,229],{"class":173},[167,18303,1956],{"class":219},[167,18305,235],{"class":173},[167,18307,18308,18310,18313,18315,18317,18319,18321,18324,18326,18329],{"class":169,"line":238},[167,18309,216],{"class":191},[167,18311,18312],{"class":219}," double",[167,18314,223],{"class":191},[167,18316,1894],{"class":181},[167,18318,1488],{"class":173},[167,18320,639],{"class":191},[167,18322,18323],{"class":173}," count.value ",[167,18325,1945],{"class":191},[167,18327,18328],{"class":219}," 2",[167,18330,235],{"class":173},[167,18332,18333],{"class":169,"line":243},[167,18334,209],{"emptyLinePlaceholder":208},[167,18336,18338,18341,18343,18345,18348],{"class":18337,"line":261},[169,213],[167,18339,18340],{"class":173},"console.",[167,18342,2607],{"class":181},[167,18344,229],{"class":173},[167,18346,18347],{"class":201},"'setup ejecutado'",[167,18349,235],{"class":173},[167,18351,18352,18354,18356],{"class":169,"line":273},[167,18353,282],{"class":173},[167,18355,178],{"class":177},[167,18357,185],{"class":173},[167,18359,18360],{"class":169,"line":279},[167,18361,209],{"emptyLinePlaceholder":208},[167,18363,18364,18366,18368],{"class":169,"line":289},[167,18365,174],{"class":173},[167,18367,299],{"class":177},[167,18369,185],{"class":173},[167,18371,18372,18374,18376,18378,18380,18383],{"class":169,"line":294},[167,18373,307],{"class":173},[167,18375,507],{"class":177},[167,18377,1177],{"class":181},[167,18379,267],{"class":173},[167,18381,18382],{"class":201},"\"count++\"",[167,18384,185],{"class":173},[167,18386,18387],{"class":169,"line":304},[167,18388,18389],{"class":173},"    count: {{ count }} \u002F double: {{ double }}\n",[167,18391,18392,18394,18396],{"class":169,"line":313},[167,18393,504],{"class":173},[167,18395,507],{"class":177},[167,18397,185],{"class":173},[167,18399,18400,18402,18404],{"class":169,"line":161},[167,18401,282],{"class":173},[167,18403,299],{"class":177},[167,18405,185],{"class":173},[22,18407,18409,18410,1658,18412,1658,18414],{"id":18408},"comparación-rápida-beforecreate-vs-created-vs-setup","Comparación rápida: ",[87,18411,17858],{},[87,18413,17861],{},[87,18415,16663],{},[56,18417,18418,18434],{},[59,18419,18420],{},[62,18421,18422,18425,18428,18431],{},[65,18423,18424],{},"Punto",[65,18426,18427],{},"API",[65,18429,18430],{},"Qué ya tienes disponible",[65,18432,18433],{},"Cuándo elegirlo",[75,18435,18436,18451,18465],{},[62,18437,18438,18442,18445,18448],{},[80,18439,18440],{},[87,18441,17858],{},[80,18443,18444],{},"Options",[80,18446,18447],{},"Instancia en arranque temprano",[80,18449,18450],{},"Casos muy puntuales o código legado",[62,18452,18453,18457,18459,18462],{},[80,18454,18455],{},[87,18456,17861],{},[80,18458,18444],{},[80,18460,18461],{},"Estado y métodos disponibles, sin DOM",[80,18463,18464],{},"Inicialización de datos o lógica sin DOM",[62,18466,18467,18471,18474,18477],{},[80,18468,18469],{},[87,18470,16663],{},[80,18472,18473],{},"Composition",[80,18475,18476],{},"Reactividad y composables desde el inicio",[80,18478,18479],{},"Opción principal en Vue 3 moderno",[22,18481,18483],{"id":18482},"errores-que-se-repiten-con-frecuencia","Errores que se repiten con frecuencia",[3083,18485,18487,18488,18490,18491],{"id":18486},"_1-intentar-manipular-el-dom-en-created-o-al-inicio-de-setup","1) Intentar manipular el DOM en ",[87,18489,17861],{}," o al inicio de ",[87,18492,16663],{},[15,18494,18495,18496,18498,18499,18501],{},"Ni ",[87,18497,17861],{}," ni el inicio de ",[87,18500,16663],{}," garantizan que el DOM exista.",[15,18503,18504],{},"Si necesitas interactuar con elementos reales del DOM, debes usar:",[33,18506,18507,18512],{},[36,18508,18509,18511],{},[87,18510,6389],{}," (Options API)",[36,18513,18514,18516],{},[87,18515,6792],{}," (Composition API)",[3083,18518,18520,18521,18523],{"id":18519},"_2-usar-beforecreate-por-costumbre","2) Usar ",[87,18522,17858],{}," por costumbre",[15,18525,18526,18527,18530,18531,18533,18534,18536],{},"Muchos ejemplos antiguos de Vue lo utilizan, pero en Vue 3 ",[3929,18528,18529],{},"rara vez aporta ventajas reales"," frente a ",[87,18532,16663],{}," (Composition API) o ",[87,18535,17861],{}," (Options API).",[3083,18538,18540],{"id":18539},"_3-mezclar-mentalmente-options-api-y-composition-api","3) Mezclar mentalmente Options API y Composition API",[15,18542,18543,18544,18547],{},"Vue permite combinar ambas API en un proyecto, pero dentro de un componente conviene ",[3929,18545,18546],{},"tener claro cuál es el punto de entrada principal",". Mezclar ambas sin un criterio claro puede terminar duplicando lógica de inicialización.",[22,18549,18551],{"id":18550},"un-ejemplo-equivalente-en-ambos-estilos","Un ejemplo equivalente en ambos estilos",[15,18553,18554,18555,18558],{},"Supongamos que queremos ",[3929,18556,18557],{},"cargar usuarios cuando se crea el componente",", sin depender del DOM.",[154,18560,18562],{"className":156,"code":18561,"filename":3256,"language":162,"meta":163,"style":163},"\u003Cscript setup>\nimport { ref } from 'vue'\n\nconst users = ref([])\n\nasync function loadUsers() {\n  users.value = await fetch('\u002Fapi\u002Fusers').then((r) => r.json())\n}\n\n\u002F\u002F Se ejecuta durante setup (fase de creación)\nloadUsers()\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cul>\n    \u003Cli v-for=\"user in users\" :key=\"user.id\">\n      {{ user.name }}\n    \u003C\u002Fli>\n  \u003C\u002Ful>\n\u003C\u002Ftemplate>\n",[87,18563,18564,18574,18584,18588,18600,18604,18614,18646,18650,18654,18660,18666,18674,18678,18686,18694,18717,18722,18730,18738],{"__ignoreMap":163},[167,18565,18566,18568,18570,18572],{"class":169,"line":170},[167,18567,174],{"class":173},[167,18569,178],{"class":177},[167,18571,182],{"class":181},[167,18573,185],{"class":173},[167,18575,18576,18578,18580,18582],{"class":169,"line":188},[167,18577,192],{"class":191},[167,18579,195],{"class":173},[167,18581,198],{"class":191},[167,18583,202],{"class":201},[167,18585,18586],{"class":169,"line":205},[167,18587,209],{"emptyLinePlaceholder":208},[167,18589,18590,18592,18594,18596,18598],{"class":169,"line":160},[167,18591,216],{"class":191},[167,18593,16950],{"class":219},[167,18595,223],{"class":191},[167,18597,226],{"class":181},[167,18599,16957],{"class":173},[167,18601,18602],{"class":169,"line":238},[167,18603,209],{"emptyLinePlaceholder":208},[167,18605,18606,18608,18610,18612],{"class":169,"line":243},[167,18607,2519],{"class":191},[167,18609,1427],{"class":191},[167,18611,16970],{"class":181},[167,18613,763],{"class":173},[167,18615,18616,18618,18620,18622,18624,18626,18628,18630,18632,18634,18636,18638,18640,18642,18644],{"class":169,"line":261},[167,18617,16997],{"class":173},[167,18619,267],{"class":191},[167,18621,3005],{"class":191},[167,18623,6617],{"class":181},[167,18625,229],{"class":173},[167,18627,16990],{"class":201},[167,18629,4266],{"class":173},[167,18631,18175],{"class":181},[167,18633,1914],{"class":173},[167,18635,18180],{"class":254},[167,18637,693],{"class":173},[167,18639,639],{"class":191},[167,18641,18187],{"class":173},[167,18643,6682],{"class":181},[167,18645,2505],{"class":173},[167,18647,18648],{"class":169,"line":273},[167,18649,276],{"class":173},[167,18651,18652],{"class":169,"line":279},[167,18653,209],{"emptyLinePlaceholder":208},[167,18655,18656],{"class":169,"line":289},[167,18657,18659],{"class":18658},"sJ8bj","\u002F\u002F Se ejecuta durante setup (fase de creación)\n",[167,18661,18662,18664],{"class":169,"line":294},[167,18663,17021],{"class":181},[167,18665,2913],{"class":173},[167,18667,18668,18670,18672],{"class":169,"line":304},[167,18669,282],{"class":173},[167,18671,178],{"class":177},[167,18673,185],{"class":173},[167,18675,18676],{"class":169,"line":313},[167,18677,209],{"emptyLinePlaceholder":208},[167,18679,18680,18682,18684],{"class":169,"line":161},[167,18681,174],{"class":173},[167,18683,299],{"class":177},[167,18685,185],{"class":173},[167,18687,18688,18690,18692],{"class":169,"line":335},[167,18689,307],{"class":173},[167,18691,33],{"class":177},[167,18693,185],{"class":173},[167,18695,18696,18698,18700,18703,18705,18708,18710,18712,18715],{"class":169,"line":341},[167,18697,1252],{"class":173},[167,18699,36],{"class":177},[167,18701,18702],{"class":181}," v-for",[167,18704,267],{"class":173},[167,18706,18707],{"class":201},"\"user in users\"",[167,18709,10303],{"class":181},[167,18711,267],{"class":173},[167,18713,18714],{"class":201},"\"user.id\"",[167,18716,185],{"class":173},[167,18718,18719],{"class":169,"line":489},[167,18720,18721],{"class":173},"      {{ user.name }}\n",[167,18723,18724,18726,18728],{"class":169,"line":495},[167,18725,1287],{"class":173},[167,18727,36],{"class":177},[167,18729,185],{"class":173},[167,18731,18732,18734,18736],{"class":169,"line":501},[167,18733,504],{"class":173},[167,18735,33],{"class":177},[167,18737,185],{"class":173},[167,18739,18740,18742,18744],{"class":169,"line":512},[167,18741,282],{"class":173},[167,18743,299],{"class":177},[167,18745,185],{"class":173},[154,18747,18749],{"className":156,"code":18748,"filename":3969,"language":162,"meta":163,"style":163},"\u003Cscript>\nexport default {\n  data() {\n    return {\n      users: []\n    }\n  },\n  async created() {\n    this.users = await fetch('\u002Fapi\u002Fusers').then((r) => r.json())\n  }\n}\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cul>\n    \u003Cli v-for=\"user in users\" :key=\"user.id\">\n      {{ user.name }}\n    \u003C\u002Fli>\n  \u003C\u002Ful>\n\u003C\u002Ftemplate>\n",[87,18750,18751,18759,18767,18773,18779,18783,18787,18791,18799,18833,18837,18841,18849,18853,18861,18869,18889,18893,18901,18909],{"__ignoreMap":163},[167,18752,18753,18755,18757],{"class":169,"line":170},[167,18754,174],{"class":173},[167,18756,178],{"class":177},[167,18758,185],{"class":173},[167,18760,18761,18763,18765],{"class":169,"line":188},[167,18762,608],{"class":191},[167,18764,3987],{"class":191},[167,18766,1901],{"class":173},[167,18768,18769,18771],{"class":169,"line":205},[167,18770,7172],{"class":181},[167,18772,763],{"class":173},[167,18774,18775,18777],{"class":169,"line":160},[167,18776,1933],{"class":191},[167,18778,1901],{"class":173},[167,18780,18781],{"class":169,"line":238},[167,18782,18134],{"class":173},[167,18784,18785],{"class":169,"line":243},[167,18786,4045],{"class":173},[167,18788,18789],{"class":169,"line":261},[167,18790,398],{"class":173},[167,18792,18793,18795,18797],{"class":169,"line":273},[167,18794,7327],{"class":191},[167,18796,18150],{"class":181},[167,18798,763],{"class":173},[167,18800,18801,18803,18805,18807,18809,18811,18813,18815,18817,18819,18821,18823,18825,18827,18829,18831],{"class":169,"line":279},[167,18802,879],{"class":219},[167,18804,18160],{"class":173},[167,18806,267],{"class":191},[167,18808,3005],{"class":191},[167,18810,6617],{"class":181},[167,18812,229],{"class":173},[167,18814,16990],{"class":201},[167,18816,4266],{"class":173},[167,18818,18175],{"class":181},[167,18820,1914],{"class":173},[167,18822,18180],{"class":254},[167,18824,693],{"class":173},[167,18826,639],{"class":191},[167,18828,18187],{"class":173},[167,18830,6682],{"class":181},[167,18832,2505],{"class":173},[167,18834,18835],{"class":169,"line":289},[167,18836,3488],{"class":173},[167,18838,18839],{"class":169,"line":294},[167,18840,276],{"class":173},[167,18842,18843,18845,18847],{"class":169,"line":304},[167,18844,282],{"class":173},[167,18846,178],{"class":177},[167,18848,185],{"class":173},[167,18850,18851],{"class":169,"line":313},[167,18852,209],{"emptyLinePlaceholder":208},[167,18854,18855,18857,18859],{"class":169,"line":161},[167,18856,174],{"class":173},[167,18858,299],{"class":177},[167,18860,185],{"class":173},[167,18862,18863,18865,18867],{"class":169,"line":335},[167,18864,307],{"class":173},[167,18866,33],{"class":177},[167,18868,185],{"class":173},[167,18870,18871,18873,18875,18877,18879,18881,18883,18885,18887],{"class":169,"line":341},[167,18872,1252],{"class":173},[167,18874,36],{"class":177},[167,18876,18702],{"class":181},[167,18878,267],{"class":173},[167,18880,18707],{"class":201},[167,18882,10303],{"class":181},[167,18884,267],{"class":173},[167,18886,18714],{"class":201},[167,18888,185],{"class":173},[167,18890,18891],{"class":169,"line":489},[167,18892,18721],{"class":173},[167,18894,18895,18897,18899],{"class":169,"line":495},[167,18896,1287],{"class":173},[167,18898,36],{"class":177},[167,18900,185],{"class":173},[167,18902,18903,18905,18907],{"class":169,"line":501},[167,18904,504],{"class":173},[167,18906,33],{"class":177},[167,18908,185],{"class":173},[167,18910,18911,18913,18915],{"class":169,"line":512},[167,18912,282],{"class":173},[167,18914,299],{"class":177},[167,18916,185],{"class":173},[22,18918,18920],{"id":18919},"cierre","Cierre",[33,18922,18923,18932,18944],{},[36,18924,18925,18926,18931],{},"En componentes modernos basados en Vue 3, ",[3929,18927,18928,18930],{},[87,18929,16663],{}," suele ser el punto de entrada más claro y consistente"," para inicializar estado y lógica.",[36,18933,18934,18935,18937,18938,18943],{},"Si trabajas en componentes escritos con ",[3929,18936,3969],{},", el hook ",[3929,18939,18940,18942],{},[87,18941,17861],{}," sigue siendo completamente válido"," para inicialización que no depende del DOM.",[36,18945,18946,18947,18952],{},"En cambio, ",[3929,18948,18949,18951],{},[87,18950,17858],{}," ha quedado como una pieza más histórica que práctica"," en la mayoría de proyectos actuales.",[924,18954,18955],{},"html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .s9eBZ, html code.shiki .s9eBZ{--shiki-default:#22863A;--shiki-dark:#85E89D}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .s4XuR, html code.shiki .s4XuR{--shiki-default:#E36209;--shiki-dark:#FFAB70}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}",{"title":163,"searchDepth":188,"depth":188,"links":18957},[18958,18959,18961,18963,18965,18967,18974,18975],{"id":17890,"depth":188,"text":17891},{"id":17959,"depth":188,"text":18960},"beforeCreate: cuándo aparece y por qué casi no se usa",{"id":18065,"depth":188,"text":18962},"created: el punto útil en Options API",{"id":18211,"depth":188,"text":18964},"setup: el arranque natural en Vue 3",{"id":18408,"depth":188,"text":18966},"Comparación rápida: beforeCreate vs created vs setup",{"id":18482,"depth":188,"text":18483,"children":18968},[18969,18971,18973],{"id":18486,"depth":205,"text":18970},"1) Intentar manipular el DOM en created o al inicio de setup",{"id":18519,"depth":205,"text":18972},"2) Usar beforeCreate por costumbre",{"id":18539,"depth":205,"text":18540},{"id":18550,"depth":188,"text":18551},{"id":18919,"depth":188,"text":18920},"https:\u002F\u002Fres.cloudinary.com\u002Fdenj4fg7f\u002Fimage\u002Fupload\u002Fv1773284254\u002Fvue-lifecycle-creation-phase-beforecreate-created-setup_fkkyiw.png","Ilustración de un ciclo de vida de un componente Vue, destacando la fase de creación con beforeCreate, created y setup","2026-03-07","Qué pasa realmente en la fase de creación de un componente Vue y cómo decidir entre beforeCreate, created y setup.",{"updatedAt":18981,"coverCaption":18982,"author":945,"keywords":18983},"2026-03-06T20:00:00-05:00","En esta imagen se muestra el ciclo de vida de un componente Vue, con énfasis en la fase de creación donde se ejecutan los hooks beforeCreate, created y setup.",[3254,17858,17861,16663,3256],"\u002Fblog\u002Fvue-lifecycle-creation-phase-beforecreate-created-setup.es",[18986],{"headline":17849,"author":18987,"datePublished":18981,"@type":959},{"name":945,"@type":958},{"title":17849,"description":18979},"blog\u002Fvue-lifecycle-creation-phase-beforecreate-created-setup.es",[18991,18992,18993,18994],{"tag":7720,"color":7721},{"tag":1622,"color":1635},{"tag":3265,"color":3266},{"tag":5420,"color":5421},"gD0R9mljoBWBraFYutY3GdOI6IFtdYK-ul1RE0pCfVo",{"id":18997,"title":18998,"body":18999,"cover":21589,"coverAlt":18998,"date":21590,"description":21591,"draft":1617,"extension":940,"lab":941,"locale":942,"meta":21592,"navigation":208,"path":21598,"schemaOrg":21599,"seo":21602,"series":7714,"seriesDescription":7715,"seriesOrder":170,"seriesTitle":7716,"slug":941,"stem":21603,"tags":21604,"__hash__":21609},"blog\u002Fblog\u002Fvue-lifecycle-hooks-overview.es.md","Ciclos de vida en Vue: Una visión general",{"type":8,"value":19000,"toc":21558},[19001,19005,19007,19018,19020,19026,19048,19051,19069,19076,19080,19083,19127,19131,19141,19144,19149,19155,19213,19224,19228,19234,19237,19248,19351,19359,19363,19369,19372,19384,19456,19463,19467,19472,19475,19486,19493,19498,19501,19568,19626,19633,19638,19644,19647,19661,19728,19786,19790,19796,19799,19806,19811,19814,19881,19939,19946,19951,19954,19961,20028,20086,20090,20093,20099,20106,20111,20178,20236,20243,20248,20251,20262,20388,20495,20501,20510,20517,20523,20590,20648,20655,20660,20727,20784,20787,20794,20800,20877,20944,20948,20954,20957,20962,20968,21041,21102,21107,21113,21184,21245,21249,21256,21262,21265,21336,21395,21399,21403,21434,21437,21459,21466,21468,21474,21547,21555],[11,19002,19004],{"id":19003},"ciclos-de-vida-en-vue-guía-práctica-y-cuándo-usar-cada-hook","Ciclos de vida en Vue: guía práctica y cuándo usar cada hook",[22,19006,6227],{"id":6226},[15,19008,19009,19010,19013,19014,19017],{},"Entender el ",[3929,19011,19012],{},"ciclo de vida de un componente"," te permite saber exactamente ",[3929,19015,19016],{},"cuándo ejecutar cada tipo de lógica",": inicialización, acceso al DOM, sincronización con API, limpieza de efectos secundarios o depuración.",[11,19019,6253],{"id":6252},[15,19021,19022,19023,19025],{},"Un componente en ",[3929,19024,950],{}," atraviesa varias fases:",[3031,19027,19028,19033,19038,19043],{},[36,19029,19030],{},[3929,19031,19032],{},"Creación",[36,19034,19035],{},[3929,19036,19037],{},"Montaje",[36,19039,19040],{},[3929,19041,19042],{},"Actualización",[36,19044,19045],{},[3929,19046,19047],{},"Desmontaje",[15,19049,19050],{},"Además, existen hooks especiales para:",[33,19052,19053,19058,19061,19064],{},[36,19054,19055,19056],{},"Componentes cacheados con ",[87,19057,11154],{},[36,19059,19060],{},"Manejo de errores",[36,19062,19063],{},"Depuración del sistema reactivo",[36,19065,19066],{},[3929,19067,19068],{},"SSR (Server-Side Rendering)",[15,19070,19071,19072,19075],{},"En las siguientes secciones veremos ",[3929,19073,19074],{},"cuándo se ejecuta cada hook y para qué sirve",", con ejemplos.",[22,19077,19079],{"id":19078},"mapa-de-la-serie","Mapa de la serie",[15,19081,19082],{},"Si quieres profundizar en cada grupo de hooks, aquí tienes la ruta completa de esta serie:",[33,19084,19085,19091,19096,19101,19106,19112,19117,19122],{},[36,19086,19087],{},[19088,19089,17849],"a",{"href":19090},"\u002Fblog\u002Fvue-lifecycle-creation-phase-beforecreate-created-setup.es\u002F",[36,19092,19093],{},[19088,19094,16591],{"href":19095},"\u002Fblog\u002Fvue-lifecycle-mounting-phase-beforemount-mounted.es\u002F",[36,19097,19098],{},[19088,19099,15021],{"href":19100},"\u002Fblog\u002Fvue-lifecycle-update-phase-beforeupdate-updated.es\u002F",[36,19102,19103],{},[19088,19104,13459],{"href":19105},"\u002Fblog\u002Fvue-lifecycle-unmounting-phase-beforeunmount-unmounted.es\u002F",[36,19107,19108],{},[19088,19109,19111],{"href":19110},"\u002Fblog\u002Fvue-lifecycle-keepalive-activated-deactivated.es\u002F","Ciclos de vida en Vue: componentes cacheados con KeepAlive (activated, deactivated)",[36,19113,19114],{},[19088,19115,9172],{"href":19116},"\u002Fblog\u002Fvue-lifecycle-error-handling-errorcaptured.es\u002F",[36,19118,19119],{},[19088,19120,7731],{"href":19121},"\u002Fblog\u002Fvue-lifecycle-render-debug-rendertracked-rendertriggered.es\u002F",[36,19123,19124],{},[19088,19125,6205],{"href":19126},"\u002Fblog\u002Fvue-lifecycle-ssr-serverprefetch.es\u002F",[11,19128,19130],{"id":19129},"creación-del-componente","Creación del componente",[15,19132,19133,19134,19137,19138,1675],{},"En esta fase Vue ",[3929,19135,19136],{},"crea la instancia del componente y configura la reactividad",", pero ",[3929,19139,19140],{},"todavía no existe el DOM",[15,19142,19143],{},"Aquí normalmente se inicializa estado, configuración o llamadas iniciales.",[22,19145,19147],{"id":19146},"beforecreate",[87,19148,17858],{},[15,19150,19151,19152,1675],{},"Se ejecuta ",[3929,19153,19154],{},"antes de que Vue configure la reactividad",[154,19156,19159],{"className":156,"code":19157,"filename":15280,"highlights":19158,"language":162,"meta":163,"style":163},"\u003Cscript>\nexport default {\n  beforeCreate() {\n    console.log('El componente está iniciando')\n  }\n}\n\u003C\u002Fscript>\n",[205],[87,19160,19161,19169,19177,19184,19197,19201,19205],{"__ignoreMap":163},[167,19162,19163,19165,19167],{"class":169,"line":170},[167,19164,174],{"class":173},[167,19166,178],{"class":177},[167,19168,185],{"class":173},[167,19170,19171,19173,19175],{"class":169,"line":188},[167,19172,608],{"class":191},[167,19174,3987],{"class":191},[167,19176,1901],{"class":173},[167,19178,19180,19182],{"class":19179,"line":205},[169,213],[167,19181,18029],{"class":181},[167,19183,763],{"class":173},[167,19185,19186,19188,19190,19192,19195],{"class":169,"line":160},[167,19187,8890],{"class":173},[167,19189,2607],{"class":181},[167,19191,229],{"class":173},[167,19193,19194],{"class":201},"'El componente está iniciando'",[167,19196,235],{"class":173},[167,19198,19199],{"class":169,"line":238},[167,19200,3488],{"class":173},[167,19202,19203],{"class":169,"line":243},[167,19204,276],{"class":173},[167,19206,19207,19209,19211],{"class":169,"line":261},[167,19208,282],{"class":173},[167,19210,178],{"class":177},[167,19212,185],{"class":173},[5363,19214,19215],{},[15,19216,19217,19218,19220,19221,19223],{},"No es posible usar ",[87,19219,17858],{}," en Composition API, ya que ",[87,19222,9234],{}," se ejecuta antes de cualquier otro hook.",[22,19225,19226],{"id":17861},[87,19227,17861],{},[15,19229,19230,19231,1675],{},"El estado reactivo ya está disponible, pero ",[3929,19232,19233],{},"el DOM aún no existe",[15,19235,19236],{},"Se suele usar para:",[33,19238,19239,19242,19245],{},[36,19240,19241],{},"Llamadas HTTP",[36,19243,19244],{},"Inicializar estado",[36,19246,19247],{},"Preparar lógica de negocio",[154,19249,19252],{"className":156,"code":19250,"filename":15280,"highlights":19251,"language":162,"meta":163,"style":163},"\u003Cscript>\nexport default {\n  data() {\n    return {\n      users: []\n    }\n  },\n  async created() {\n    this.users = await fetch('\u002Fapi\u002Fusers').then(r => r.json())\n  }\n}\n\u003C\u002Fscript>\n",[273],[87,19253,19254,19262,19270,19276,19282,19286,19290,19294,19303,19335,19339,19343],{"__ignoreMap":163},[167,19255,19256,19258,19260],{"class":169,"line":170},[167,19257,174],{"class":173},[167,19259,178],{"class":177},[167,19261,185],{"class":173},[167,19263,19264,19266,19268],{"class":169,"line":188},[167,19265,608],{"class":191},[167,19267,3987],{"class":191},[167,19269,1901],{"class":173},[167,19271,19272,19274],{"class":169,"line":205},[167,19273,7172],{"class":181},[167,19275,763],{"class":173},[167,19277,19278,19280],{"class":169,"line":160},[167,19279,1933],{"class":191},[167,19281,1901],{"class":173},[167,19283,19284],{"class":169,"line":238},[167,19285,18134],{"class":173},[167,19287,19288],{"class":169,"line":243},[167,19289,4045],{"class":173},[167,19291,19292],{"class":169,"line":261},[167,19293,398],{"class":173},[167,19295,19297,19299,19301],{"class":19296,"line":273},[169,213],[167,19298,7327],{"class":191},[167,19300,18150],{"class":181},[167,19302,763],{"class":173},[167,19304,19305,19307,19309,19311,19313,19315,19317,19319,19321,19323,19325,19327,19329,19331,19333],{"class":169,"line":279},[167,19306,879],{"class":219},[167,19308,18160],{"class":173},[167,19310,267],{"class":191},[167,19312,3005],{"class":191},[167,19314,6617],{"class":181},[167,19316,229],{"class":173},[167,19318,16990],{"class":201},[167,19320,4266],{"class":173},[167,19322,18175],{"class":181},[167,19324,229],{"class":173},[167,19326,18180],{"class":254},[167,19328,8255],{"class":191},[167,19330,18187],{"class":173},[167,19332,6682],{"class":181},[167,19334,2505],{"class":173},[167,19336,19337],{"class":169,"line":289},[167,19338,3488],{"class":173},[167,19340,19341],{"class":169,"line":294},[167,19342,276],{"class":173},[167,19344,19345,19347,19349],{"class":169,"line":304},[167,19346,282],{"class":173},[167,19348,178],{"class":177},[167,19350,185],{"class":173},[5363,19352,19353],{},[15,19354,19217,19355,19220,19357,19223],{},[87,19356,17861],{},[87,19358,9234],{},[22,19360,19361],{"id":16663},[87,19362,9234],{},[15,19364,19365,19366,1675],{},"Es el ",[3929,19367,19368],{},"punto de entrada principal en Composition API",[15,19370,19371],{},"Aquí se define:",[33,19373,19374,19377,19379,19381],{},[36,19375,19376],{},"Estado reactivo",[36,19378,953],{},[36,19380,9237],{},[36,19382,19383],{},"Lógica inicial del componente",[154,19385,19388],{"className":156,"code":19386,"filename":15280,"highlights":19387,"language":162,"meta":163,"style":163},"\u003Cscript setup>\nimport { ref } from 'vue'\n\nconst count = ref(0)\n\nconsole.log('Setup ejecutado')\n\u003C\u002Fscript>\n",[170],[87,19389,19390,19401,19411,19415,19431,19435,19448],{"__ignoreMap":163},[167,19391,19393,19395,19397,19399],{"class":19392,"line":170},[169,213],[167,19394,174],{"class":173},[167,19396,178],{"class":177},[167,19398,182],{"class":181},[167,19400,185],{"class":173},[167,19402,19403,19405,19407,19409],{"class":169,"line":188},[167,19404,192],{"class":191},[167,19406,195],{"class":173},[167,19408,198],{"class":191},[167,19410,202],{"class":201},[167,19412,19413],{"class":169,"line":205},[167,19414,209],{"emptyLinePlaceholder":208},[167,19416,19417,19419,19421,19423,19425,19427,19429],{"class":169,"line":160},[167,19418,216],{"class":191},[167,19420,15321],{"class":219},[167,19422,223],{"class":191},[167,19424,226],{"class":181},[167,19426,229],{"class":173},[167,19428,1956],{"class":219},[167,19430,235],{"class":173},[167,19432,19433],{"class":169,"line":238},[167,19434,209],{"emptyLinePlaceholder":208},[167,19436,19437,19439,19441,19443,19446],{"class":169,"line":243},[167,19438,18340],{"class":173},[167,19440,2607],{"class":181},[167,19442,229],{"class":173},[167,19444,19445],{"class":201},"'Setup ejecutado'",[167,19447,235],{"class":173},[167,19449,19450,19452,19454],{"class":169,"line":261},[167,19451,282],{"class":173},[167,19453,178],{"class":177},[167,19455,185],{"class":173},[5363,19457,19458],{},[15,19459,19217,19460,19462],{},[87,19461,9234],{}," en Options API, ya que es exclusivo de Composition API.",[11,19464,19466],{"id":19465},"montaje-del-componente","Montaje del componente",[15,19468,19133,19469,1675],{},[3929,19470,19471],{},"crea e inserta el DOM del componente",[15,19473,19474],{},"Aquí ya es seguro usar:",[33,19476,19477,19480,19483],{},[36,19478,19479],{},"API del navegador",[36,19481,19482],{},"Librerías externas",[36,19484,19485],{},"Manipulación del DOM",[22,19487,19489,11223,19491],{"id":19488},"onbeforemount-beforemount",[87,19490,17363],{},[87,19492,16600],{},[15,19494,19151,19495,1675],{},[3929,19496,19497],{},"justo antes de insertar el DOM en la página",[15,19499,19500],{},"No es muy común usarlo, pero puede servir para lógica previa al render final.",[154,19502,19505],{"className":156,"code":19503,"filename":3256,"highlights":19504,"language":162,"meta":163,"style":163},"\u003Cscript setup>\nimport { onBeforeMount } from 'vue'\n\nonBeforeMount(() => {\n  console.log('El componente está por montarse')\n})\n\u003C\u002Fscript>\n",[160],[87,19506,19507,19517,19528,19532,19543,19556,19560],{"__ignoreMap":163},[167,19508,19509,19511,19513,19515],{"class":169,"line":170},[167,19510,174],{"class":173},[167,19512,178],{"class":177},[167,19514,182],{"class":181},[167,19516,185],{"class":173},[167,19518,19519,19521,19524,19526],{"class":169,"line":188},[167,19520,192],{"class":191},[167,19522,19523],{"class":173}," { onBeforeMount } ",[167,19525,198],{"class":191},[167,19527,202],{"class":201},[167,19529,19530],{"class":169,"line":205},[167,19531,209],{"emptyLinePlaceholder":208},[167,19533,19535,19537,19539,19541],{"class":19534,"line":160},[169,213],[167,19536,17363],{"class":181},[167,19538,1488],{"class":173},[167,19540,639],{"class":191},[167,19542,1901],{"class":173},[167,19544,19545,19547,19549,19551,19554],{"class":169,"line":238},[167,19546,2604],{"class":173},[167,19548,2607],{"class":181},[167,19550,229],{"class":173},[167,19552,19553],{"class":201},"'El componente está por montarse'",[167,19555,235],{"class":173},[167,19557,19558],{"class":169,"line":243},[167,19559,403],{"class":173},[167,19561,19562,19564,19566],{"class":169,"line":261},[167,19563,282],{"class":173},[167,19565,178],{"class":177},[167,19567,185],{"class":173},[154,19569,19572],{"className":156,"code":19570,"filename":3969,"highlights":19571,"language":162,"meta":163,"style":163},"\u003Cscript>\nexport default {\n  beforeMount() {\n    console.log('Antes de montar el componente')\n  }\n}\n\u003C\u002Fscript>\n",[205],[87,19573,19574,19582,19590,19597,19610,19614,19618],{"__ignoreMap":163},[167,19575,19576,19578,19580],{"class":169,"line":170},[167,19577,174],{"class":173},[167,19579,178],{"class":177},[167,19581,185],{"class":173},[167,19583,19584,19586,19588],{"class":169,"line":188},[167,19585,608],{"class":191},[167,19587,3987],{"class":191},[167,19589,1901],{"class":173},[167,19591,19593,19595],{"class":19592,"line":205},[169,213],[167,19594,17582],{"class":181},[167,19596,763],{"class":173},[167,19598,19599,19601,19603,19605,19608],{"class":169,"line":160},[167,19600,8890],{"class":173},[167,19602,2607],{"class":181},[167,19604,229],{"class":173},[167,19606,19607],{"class":201},"'Antes de montar el componente'",[167,19609,235],{"class":173},[167,19611,19612],{"class":169,"line":238},[167,19613,3488],{"class":173},[167,19615,19616],{"class":169,"line":243},[167,19617,276],{"class":173},[167,19619,19620,19622,19624],{"class":169,"line":261},[167,19621,282],{"class":173},[167,19623,178],{"class":177},[167,19625,185],{"class":173},[22,19627,19629,11223,19631],{"id":19628},"onmounted-mounted",[87,19630,6792],{},[87,19632,6389],{},[15,19634,19151,19635,1675],{},[3929,19636,19637],{},"después de que el componente fue insertado en el DOM",[15,19639,19640,19641,1675],{},"Este es uno de los hooks ",[3929,19642,19643],{},"más usados",[15,19645,19646],{},"Usos típicos:",[33,19648,19649,19652,19655,19658],{},[36,19650,19651],{},"Inicializar charts",[36,19653,19654],{},"Registrar listeners",[36,19656,19657],{},"Enfocar inputs",[36,19659,19660],{},"Integrar librerías externas",[154,19662,19665],{"className":156,"code":19663,"filename":3256,"highlights":19664,"language":162,"meta":163,"style":163},"\u003Cscript setup>\nimport { onMounted } from 'vue'\n\nonMounted(() => {\n  console.log('Componente montado en el DOM')\n})\n\u003C\u002Fscript>\n",[160],[87,19666,19667,19677,19688,19692,19703,19716,19720],{"__ignoreMap":163},[167,19668,19669,19671,19673,19675],{"class":169,"line":170},[167,19670,174],{"class":173},[167,19672,178],{"class":177},[167,19674,182],{"class":181},[167,19676,185],{"class":173},[167,19678,19679,19681,19684,19686],{"class":169,"line":188},[167,19680,192],{"class":191},[167,19682,19683],{"class":173}," { onMounted } ",[167,19685,198],{"class":191},[167,19687,202],{"class":201},[167,19689,19690],{"class":169,"line":205},[167,19691,209],{"emptyLinePlaceholder":208},[167,19693,19695,19697,19699,19701],{"class":19694,"line":160},[169,213],[167,19696,6792],{"class":181},[167,19698,1488],{"class":173},[167,19700,639],{"class":191},[167,19702,1901],{"class":173},[167,19704,19705,19707,19709,19711,19714],{"class":169,"line":238},[167,19706,2604],{"class":173},[167,19708,2607],{"class":181},[167,19710,229],{"class":173},[167,19712,19713],{"class":201},"'Componente montado en el DOM'",[167,19715,235],{"class":173},[167,19717,19718],{"class":169,"line":243},[167,19719,403],{"class":173},[167,19721,19722,19724,19726],{"class":169,"line":261},[167,19723,282],{"class":173},[167,19725,178],{"class":177},[167,19727,185],{"class":173},[154,19729,19732],{"className":156,"code":19730,"filename":3969,"highlights":19731,"language":162,"meta":163,"style":163},"\u003Cscript>\nexport default {\n  mounted() {\n    console.log('Componente montado')\n  }\n}\n\u003C\u002Fscript>\n",[205],[87,19733,19734,19742,19750,19757,19770,19774,19778],{"__ignoreMap":163},[167,19735,19736,19738,19740],{"class":169,"line":170},[167,19737,174],{"class":173},[167,19739,178],{"class":177},[167,19741,185],{"class":173},[167,19743,19744,19746,19748],{"class":169,"line":188},[167,19745,608],{"class":191},[167,19747,3987],{"class":191},[167,19749,1901],{"class":173},[167,19751,19753,19755],{"class":19752,"line":205},[169,213],[167,19754,12745],{"class":181},[167,19756,763],{"class":173},[167,19758,19759,19761,19763,19765,19768],{"class":169,"line":160},[167,19760,8890],{"class":173},[167,19762,2607],{"class":181},[167,19764,229],{"class":173},[167,19766,19767],{"class":201},"'Componente montado'",[167,19769,235],{"class":173},[167,19771,19772],{"class":169,"line":238},[167,19773,3488],{"class":173},[167,19775,19776],{"class":169,"line":243},[167,19777,276],{"class":173},[167,19779,19780,19782,19784],{"class":169,"line":261},[167,19781,282],{"class":173},[167,19783,178],{"class":177},[167,19785,185],{"class":173},[11,19787,19789],{"id":19788},"actualización-del-componente","Actualización del componente",[15,19791,19792,19793,1675],{},"Cuando cambia el estado reactivo, Vue ",[3929,19794,19795],{},"vuelve a renderizar el componente",[15,19797,19798],{},"Estos hooks permiten reaccionar antes o después de que el DOM cambie.",[22,19800,19802,11223,19804],{"id":19801},"onbeforeupdate-beforeupdate",[87,19803,15505],{},[87,19805,15030],{},[15,19807,19151,19808,1675],{},[3929,19809,19810],{},"antes de que Vue actualice el DOM",[15,19812,19813],{},"Puede usarse para inspeccionar el estado previo.",[154,19815,19818],{"className":156,"code":19816,"filename":3256,"highlights":19817,"language":162,"meta":163,"style":163},"\u003Cscript setup>\nimport { onBeforeUpdate } from 'vue'\n\nonBeforeUpdate(() => {\n  console.log('Antes de actualizar el DOM')\n})\n\u003C\u002Fscript>\n",[160],[87,19819,19820,19830,19841,19845,19856,19869,19873],{"__ignoreMap":163},[167,19821,19822,19824,19826,19828],{"class":169,"line":170},[167,19823,174],{"class":173},[167,19825,178],{"class":177},[167,19827,182],{"class":181},[167,19829,185],{"class":173},[167,19831,19832,19834,19837,19839],{"class":169,"line":188},[167,19833,192],{"class":191},[167,19835,19836],{"class":173}," { onBeforeUpdate } ",[167,19838,198],{"class":191},[167,19840,202],{"class":201},[167,19842,19843],{"class":169,"line":205},[167,19844,209],{"emptyLinePlaceholder":208},[167,19846,19848,19850,19852,19854],{"class":19847,"line":160},[169,213],[167,19849,15505],{"class":181},[167,19851,1488],{"class":173},[167,19853,639],{"class":191},[167,19855,1901],{"class":173},[167,19857,19858,19860,19862,19864,19867],{"class":169,"line":238},[167,19859,2604],{"class":173},[167,19861,2607],{"class":181},[167,19863,229],{"class":173},[167,19865,19866],{"class":201},"'Antes de actualizar el DOM'",[167,19868,235],{"class":173},[167,19870,19871],{"class":169,"line":243},[167,19872,403],{"class":173},[167,19874,19875,19877,19879],{"class":169,"line":261},[167,19876,282],{"class":173},[167,19878,178],{"class":177},[167,19880,185],{"class":173},[154,19882,19885],{"className":156,"code":19883,"filename":3969,"highlights":19884,"language":162,"meta":163,"style":163},"\u003Cscript>\nexport default {\n  beforeUpdate() {\n    console.log('Antes del update')\n  }\n}\n\u003C\u002Fscript>\n",[205],[87,19886,19887,19895,19903,19910,19923,19927,19931],{"__ignoreMap":163},[167,19888,19889,19891,19893],{"class":169,"line":170},[167,19890,174],{"class":173},[167,19892,178],{"class":177},[167,19894,185],{"class":173},[167,19896,19897,19899,19901],{"class":169,"line":188},[167,19898,608],{"class":191},[167,19900,3987],{"class":191},[167,19902,1901],{"class":173},[167,19904,19906,19908],{"class":19905,"line":205},[169,213],[167,19907,16204],{"class":181},[167,19909,763],{"class":173},[167,19911,19912,19914,19916,19918,19921],{"class":169,"line":160},[167,19913,8890],{"class":173},[167,19915,2607],{"class":181},[167,19917,229],{"class":173},[167,19919,19920],{"class":201},"'Antes del update'",[167,19922,235],{"class":173},[167,19924,19925],{"class":169,"line":238},[167,19926,3488],{"class":173},[167,19928,19929],{"class":169,"line":243},[167,19930,276],{"class":173},[167,19932,19933,19935,19937],{"class":169,"line":261},[167,19934,282],{"class":173},[167,19936,178],{"class":177},[167,19938,185],{"class":173},[22,19940,19942,11223,19944],{"id":19941},"onupdated-updated",[87,19943,15341],{},[87,19945,15033],{},[15,19947,19151,19948,1675],{},[3929,19949,19950],{},"después de que Vue actualiza el DOM",[15,19952,19953],{},"Útil cuando necesitas medir o interactuar con el DOM actualizado.",[5363,19955,19956],{},[15,19957,19958,19959,1675],{},"⚠️ No debe usarse como reemplazo de ",[87,19960,1661],{},[154,19962,19965],{"className":156,"code":19963,"filename":3256,"highlights":19964,"language":162,"meta":163,"style":163},"\u003Cscript setup>\nimport { onUpdated } from 'vue'\n\nonUpdated(() => {\n  console.log('El DOM ya fue actualizado')\n})\n\u003C\u002Fscript>\n",[160],[87,19966,19967,19977,19988,19992,20003,20016,20020],{"__ignoreMap":163},[167,19968,19969,19971,19973,19975],{"class":169,"line":170},[167,19970,174],{"class":173},[167,19972,178],{"class":177},[167,19974,182],{"class":181},[167,19976,185],{"class":173},[167,19978,19979,19981,19984,19986],{"class":169,"line":188},[167,19980,192],{"class":191},[167,19982,19983],{"class":173}," { onUpdated } ",[167,19985,198],{"class":191},[167,19987,202],{"class":201},[167,19989,19990],{"class":169,"line":205},[167,19991,209],{"emptyLinePlaceholder":208},[167,19993,19995,19997,19999,20001],{"class":19994,"line":160},[169,213],[167,19996,15341],{"class":181},[167,19998,1488],{"class":173},[167,20000,639],{"class":191},[167,20002,1901],{"class":173},[167,20004,20005,20007,20009,20011,20014],{"class":169,"line":238},[167,20006,2604],{"class":173},[167,20008,2607],{"class":181},[167,20010,229],{"class":173},[167,20012,20013],{"class":201},"'El DOM ya fue actualizado'",[167,20015,235],{"class":173},[167,20017,20018],{"class":169,"line":243},[167,20019,403],{"class":173},[167,20021,20022,20024,20026],{"class":169,"line":261},[167,20023,282],{"class":173},[167,20025,178],{"class":177},[167,20027,185],{"class":173},[154,20029,20032],{"className":156,"code":20030,"filename":3969,"highlights":20031,"language":162,"meta":163,"style":163},"\u003Cscript>\nexport default {\n  updated() {\n    console.log('DOM actualizado')\n  }\n}\n\u003C\u002Fscript>\n",[205],[87,20033,20034,20042,20050,20057,20070,20074,20078],{"__ignoreMap":163},[167,20035,20036,20038,20040],{"class":169,"line":170},[167,20037,174],{"class":173},[167,20039,178],{"class":177},[167,20041,185],{"class":173},[167,20043,20044,20046,20048],{"class":169,"line":188},[167,20045,608],{"class":191},[167,20047,3987],{"class":191},[167,20049,1901],{"class":173},[167,20051,20053,20055],{"class":20052,"line":205},[169,213],[167,20054,16255],{"class":181},[167,20056,763],{"class":173},[167,20058,20059,20061,20063,20065,20068],{"class":169,"line":160},[167,20060,8890],{"class":173},[167,20062,2607],{"class":181},[167,20064,229],{"class":173},[167,20066,20067],{"class":201},"'DOM actualizado'",[167,20069,235],{"class":173},[167,20071,20072],{"class":169,"line":238},[167,20073,3488],{"class":173},[167,20075,20076],{"class":169,"line":243},[167,20077,276],{"class":173},[167,20079,20080,20082,20084],{"class":169,"line":261},[167,20081,282],{"class":173},[167,20083,178],{"class":177},[167,20085,185],{"class":173},[11,20087,20089],{"id":20088},"desmontaje-del-componente","Desmontaje del componente",[15,20091,20092],{},"Cuando un componente deja de existir, Vue ejecuta hooks de limpieza.",[15,20094,20095,20096,1675],{},"Esto es ",[3929,20097,20098],{},"clave para evitar fugas de memoria",[22,20100,20102,11223,20104],{"id":20101},"onbeforeunmount-beforeunmount",[87,20103,14246],{},[87,20105,13468],{},[15,20107,19151,20108,1675],{},[3929,20109,20110],{},"justo antes de destruir el componente",[154,20112,20115],{"className":156,"code":20113,"filename":3256,"highlights":20114,"language":162,"meta":163,"style":163},"\u003Cscript setup>\nimport { onBeforeUnmount } from 'vue'\n\nonBeforeUnmount(() => {\n  console.log('El componente será destruido')\n})\n\u003C\u002Fscript>\n",[160],[87,20116,20117,20127,20138,20142,20153,20166,20170],{"__ignoreMap":163},[167,20118,20119,20121,20123,20125],{"class":169,"line":170},[167,20120,174],{"class":173},[167,20122,178],{"class":177},[167,20124,182],{"class":181},[167,20126,185],{"class":173},[167,20128,20129,20131,20134,20136],{"class":169,"line":188},[167,20130,192],{"class":191},[167,20132,20133],{"class":173}," { onBeforeUnmount } ",[167,20135,198],{"class":191},[167,20137,202],{"class":201},[167,20139,20140],{"class":169,"line":205},[167,20141,209],{"emptyLinePlaceholder":208},[167,20143,20145,20147,20149,20151],{"class":20144,"line":160},[169,213],[167,20146,14246],{"class":181},[167,20148,1488],{"class":173},[167,20150,639],{"class":191},[167,20152,1901],{"class":173},[167,20154,20155,20157,20159,20161,20164],{"class":169,"line":238},[167,20156,2604],{"class":173},[167,20158,2607],{"class":181},[167,20160,229],{"class":173},[167,20162,20163],{"class":201},"'El componente será destruido'",[167,20165,235],{"class":173},[167,20167,20168],{"class":169,"line":243},[167,20169,403],{"class":173},[167,20171,20172,20174,20176],{"class":169,"line":261},[167,20173,282],{"class":173},[167,20175,178],{"class":177},[167,20177,185],{"class":173},[154,20179,20182],{"className":156,"code":20180,"filename":3969,"highlights":20181,"language":162,"meta":163,"style":163},"\u003Cscript>\nexport default {\n  beforeUnmount() {\n    console.log('Antes de desmontar')\n  }\n}\n\u003C\u002Fscript>\n",[205],[87,20183,20184,20192,20200,20207,20220,20224,20228],{"__ignoreMap":163},[167,20185,20186,20188,20190],{"class":169,"line":170},[167,20187,174],{"class":173},[167,20189,178],{"class":177},[167,20191,185],{"class":173},[167,20193,20194,20196,20198],{"class":169,"line":188},[167,20195,608],{"class":191},[167,20197,3987],{"class":191},[167,20199,1901],{"class":173},[167,20201,20203,20205],{"class":20202,"line":205},[169,213],[167,20204,14560],{"class":181},[167,20206,763],{"class":173},[167,20208,20209,20211,20213,20215,20218],{"class":169,"line":160},[167,20210,8890],{"class":173},[167,20212,2607],{"class":181},[167,20214,229],{"class":173},[167,20216,20217],{"class":201},"'Antes de desmontar'",[167,20219,235],{"class":173},[167,20221,20222],{"class":169,"line":238},[167,20223,3488],{"class":173},[167,20225,20226],{"class":169,"line":243},[167,20227,276],{"class":173},[167,20229,20230,20232,20234],{"class":169,"line":261},[167,20231,282],{"class":173},[167,20233,178],{"class":177},[167,20235,185],{"class":173},[22,20237,20239,11223,20241],{"id":20238},"onunmounted-unmounted",[87,20240,14299],{},[87,20242,11272],{},[15,20244,19151,20245,1675],{},[3929,20246,20247],{},"después de que el componente fue destruido",[15,20249,20250],{},"Ideal para limpiar:",[33,20252,20253,20256,20259],{},[36,20254,20255],{},"Timers",[36,20257,20258],{},"Sockets",[36,20260,20261],{},"Event listeners",[154,20263,20266],{"className":156,"code":20264,"filename":3256,"highlights":20265,"language":162,"meta":163,"style":163},"\u003Cscript setup>\nimport { onMounted, onUnmounted } from 'vue'\n\nlet timer\n\nonMounted(() => {\n  timer = setInterval(() => {\n    console.log('tick')\n  }, 1000)\n})\n\nonUnmounted(() => {\n  clearInterval(timer)\n})\n\u003C\u002Fscript>\n",[243,304],[87,20267,20268,20278,20289,20293,20300,20304,20315,20330,20342,20350,20354,20358,20369,20376,20380],{"__ignoreMap":163},[167,20269,20270,20272,20274,20276],{"class":169,"line":170},[167,20271,174],{"class":173},[167,20273,178],{"class":177},[167,20275,182],{"class":181},[167,20277,185],{"class":173},[167,20279,20280,20282,20285,20287],{"class":169,"line":188},[167,20281,192],{"class":191},[167,20283,20284],{"class":173}," { onMounted, onUnmounted } ",[167,20286,198],{"class":191},[167,20288,202],{"class":201},[167,20290,20291],{"class":169,"line":205},[167,20292,209],{"emptyLinePlaceholder":208},[167,20294,20295,20297],{"class":169,"line":160},[167,20296,13944],{"class":191},[167,20298,20299],{"class":173}," timer\n",[167,20301,20302],{"class":169,"line":238},[167,20303,209],{"emptyLinePlaceholder":208},[167,20305,20307,20309,20311,20313],{"class":20306,"line":243},[169,213],[167,20308,6792],{"class":181},[167,20310,1488],{"class":173},[167,20312,639],{"class":191},[167,20314,1901],{"class":173},[167,20316,20317,20320,20322,20324,20326,20328],{"class":169,"line":261},[167,20318,20319],{"class":173},"  timer ",[167,20321,267],{"class":191},[167,20323,12066],{"class":181},[167,20325,1488],{"class":173},[167,20327,639],{"class":191},[167,20329,1901],{"class":173},[167,20331,20332,20334,20336,20338,20340],{"class":169,"line":273},[167,20333,8890],{"class":173},[167,20335,2607],{"class":181},[167,20337,229],{"class":173},[167,20339,17167],{"class":201},[167,20341,235],{"class":173},[167,20343,20344,20346,20348],{"class":169,"line":279},[167,20345,1953],{"class":173},[167,20347,17176],{"class":219},[167,20349,235],{"class":173},[167,20351,20352],{"class":169,"line":289},[167,20353,403],{"class":173},[167,20355,20356],{"class":169,"line":294},[167,20357,209],{"emptyLinePlaceholder":208},[167,20359,20361,20363,20365,20367],{"class":20360,"line":304},[169,213],[167,20362,14299],{"class":181},[167,20364,1488],{"class":173},[167,20366,639],{"class":191},[167,20368,1901],{"class":173},[167,20370,20371,20373],{"class":169,"line":313},[167,20372,12130],{"class":181},[167,20374,20375],{"class":173},"(timer)\n",[167,20377,20378],{"class":169,"line":161},[167,20379,403],{"class":173},[167,20381,20382,20384,20386],{"class":169,"line":335},[167,20383,282],{"class":173},[167,20385,178],{"class":177},[167,20387,185],{"class":173},[154,20389,20392],{"className":156,"code":20390,"filename":3969,"highlights":20391,"language":162,"meta":163,"style":163},"\u003Cscript>\nexport default {\n  mounted() {\n    this.timer = setInterval(() => {\n      console.log('tick')\n    }, 1000)\n  },\n  unmounted() {\n    clearInterval(this.timer)\n  }\n}\n\u003C\u002Fscript>\n",[205,273],[87,20393,20394,20402,20410,20417,20434,20447,20456,20460,20467,20479,20483,20487],{"__ignoreMap":163},[167,20395,20396,20398,20400],{"class":169,"line":170},[167,20397,174],{"class":173},[167,20399,178],{"class":177},[167,20401,185],{"class":173},[167,20403,20404,20406,20408],{"class":169,"line":188},[167,20405,608],{"class":191},[167,20407,3987],{"class":191},[167,20409,1901],{"class":173},[167,20411,20413,20415],{"class":20412,"line":205},[169,213],[167,20414,12745],{"class":181},[167,20416,763],{"class":173},[167,20418,20419,20421,20424,20426,20428,20430,20432],{"class":169,"line":160},[167,20420,879],{"class":219},[167,20422,20423],{"class":173},".timer ",[167,20425,267],{"class":191},[167,20427,12066],{"class":181},[167,20429,1488],{"class":173},[167,20431,639],{"class":191},[167,20433,1901],{"class":173},[167,20435,20436,20439,20441,20443,20445],{"class":169,"line":238},[167,20437,20438],{"class":173},"      console.",[167,20440,2607],{"class":181},[167,20442,229],{"class":173},[167,20444,17167],{"class":201},[167,20446,235],{"class":173},[167,20448,20449,20452,20454],{"class":169,"line":243},[167,20450,20451],{"class":173},"    }, ",[167,20453,17176],{"class":219},[167,20455,235],{"class":173},[167,20457,20458],{"class":169,"line":261},[167,20459,398],{"class":173},[167,20461,20463,20465],{"class":20462,"line":273},[169,213],[167,20464,14618],{"class":181},[167,20466,763],{"class":173},[167,20468,20469,20472,20474,20476],{"class":169,"line":279},[167,20470,20471],{"class":181},"    clearInterval",[167,20473,229],{"class":173},[167,20475,4923],{"class":219},[167,20477,20478],{"class":173},".timer)\n",[167,20480,20481],{"class":169,"line":289},[167,20482,3488],{"class":173},[167,20484,20485],{"class":169,"line":294},[167,20486,276],{"class":173},[167,20488,20489,20491,20493],{"class":169,"line":304},[167,20490,282],{"class":173},[167,20492,178],{"class":177},[167,20494,185],{"class":173},[11,20496,20498,20499],{"id":20497},"hooks-de-keepalive","Hooks de ",[87,20500,11154],{},[15,20502,20503,20504,1020,20506,20509],{},"Cuando un componente está dentro de ",[87,20505,11154],{},[3929,20507,20508],{},"no se destruye",", solo se activa o desactiva.",[22,20511,20513,11223,20515],{"id":20512},"onactivated-activated",[87,20514,12182],{},[87,20516,11157],{},[15,20518,20519,20520,1675],{},"Se ejecuta cuando el componente ",[3929,20521,20522],{},"vuelve a mostrarse",[154,20524,20527],{"className":156,"code":20525,"filename":3256,"highlights":20526,"language":162,"meta":163,"style":163},"\u003Cscript setup>\nimport { onActivated } from 'vue'\n\nonActivated(() => {\n  console.log('Componente reactivado')\n})\n\u003C\u002Fscript>\n",[160],[87,20528,20529,20539,20550,20554,20565,20578,20582],{"__ignoreMap":163},[167,20530,20531,20533,20535,20537],{"class":169,"line":170},[167,20532,174],{"class":173},[167,20534,178],{"class":177},[167,20536,182],{"class":181},[167,20538,185],{"class":173},[167,20540,20541,20543,20546,20548],{"class":169,"line":188},[167,20542,192],{"class":191},[167,20544,20545],{"class":173}," { onActivated } ",[167,20547,198],{"class":191},[167,20549,202],{"class":201},[167,20551,20552],{"class":169,"line":205},[167,20553,209],{"emptyLinePlaceholder":208},[167,20555,20557,20559,20561,20563],{"class":20556,"line":160},[169,213],[167,20558,12182],{"class":181},[167,20560,1488],{"class":173},[167,20562,639],{"class":191},[167,20564,1901],{"class":173},[167,20566,20567,20569,20571,20573,20576],{"class":169,"line":238},[167,20568,2604],{"class":173},[167,20570,2607],{"class":181},[167,20572,229],{"class":173},[167,20574,20575],{"class":201},"'Componente reactivado'",[167,20577,235],{"class":173},[167,20579,20580],{"class":169,"line":243},[167,20581,403],{"class":173},[167,20583,20584,20586,20588],{"class":169,"line":261},[167,20585,282],{"class":173},[167,20587,178],{"class":177},[167,20589,185],{"class":173},[154,20591,20594],{"className":156,"code":20592,"filename":3969,"highlights":20593,"language":162,"meta":163,"style":163},"\u003Cscript>\nexport default {\n  activated() {\n    console.log('Componente reactivado')\n  }\n}\n\u003C\u002Fscript>\n",[205],[87,20595,20596,20604,20612,20620,20632,20636,20640],{"__ignoreMap":163},[167,20597,20598,20600,20602],{"class":169,"line":170},[167,20599,174],{"class":173},[167,20601,178],{"class":177},[167,20603,185],{"class":173},[167,20605,20606,20608,20610],{"class":169,"line":188},[167,20607,608],{"class":191},[167,20609,3987],{"class":191},[167,20611,1901],{"class":173},[167,20613,20615,20618],{"class":20614,"line":205},[169,213],[167,20616,20617],{"class":181},"  activated",[167,20619,763],{"class":173},[167,20621,20622,20624,20626,20628,20630],{"class":169,"line":160},[167,20623,8890],{"class":173},[167,20625,2607],{"class":181},[167,20627,229],{"class":173},[167,20629,20575],{"class":201},[167,20631,235],{"class":173},[167,20633,20634],{"class":169,"line":238},[167,20635,3488],{"class":173},[167,20637,20638],{"class":169,"line":243},[167,20639,276],{"class":173},[167,20641,20642,20644,20646],{"class":169,"line":261},[167,20643,282],{"class":173},[167,20645,178],{"class":177},[167,20647,185],{"class":173},[22,20649,20651,11223,20653],{"id":20650},"ondeactivated-deactivated",[87,20652,12239],{},[87,20654,11160],{},[15,20656,20519,20657,1675],{},[3929,20658,20659],{},"se oculta, pero sigue en memoria",[154,20661,20664],{"className":156,"code":20662,"filename":3256,"highlights":20663,"language":162,"meta":163,"style":163},"\u003Cscript setup>\nimport { onDeactivated } from 'vue'\n\nonDeactivated(() => {\n  console.log('Componente desactivado')\n})\n\u003C\u002Fscript>\n",[160],[87,20665,20666,20676,20687,20691,20702,20715,20719],{"__ignoreMap":163},[167,20667,20668,20670,20672,20674],{"class":169,"line":170},[167,20669,174],{"class":173},[167,20671,178],{"class":177},[167,20673,182],{"class":181},[167,20675,185],{"class":173},[167,20677,20678,20680,20683,20685],{"class":169,"line":188},[167,20679,192],{"class":191},[167,20681,20682],{"class":173}," { onDeactivated } ",[167,20684,198],{"class":191},[167,20686,202],{"class":201},[167,20688,20689],{"class":169,"line":205},[167,20690,209],{"emptyLinePlaceholder":208},[167,20692,20694,20696,20698,20700],{"class":20693,"line":160},[169,213],[167,20695,12239],{"class":181},[167,20697,1488],{"class":173},[167,20699,639],{"class":191},[167,20701,1901],{"class":173},[167,20703,20704,20706,20708,20710,20713],{"class":169,"line":238},[167,20705,2604],{"class":173},[167,20707,2607],{"class":181},[167,20709,229],{"class":173},[167,20711,20712],{"class":201},"'Componente desactivado'",[167,20714,235],{"class":173},[167,20716,20717],{"class":169,"line":243},[167,20718,403],{"class":173},[167,20720,20721,20723,20725],{"class":169,"line":261},[167,20722,282],{"class":173},[167,20724,178],{"class":177},[167,20726,185],{"class":173},[154,20728,20731],{"className":156,"code":20729,"filename":3969,"highlights":20730,"language":162,"meta":163,"style":163},"\u003Cscript>\nexport default {\n  deactivated() {\n    console.log('Componente desactivado')\n  }\n}\n\u003C\u002Fscript>\n",[205],[87,20732,20733,20741,20749,20756,20768,20772,20776],{"__ignoreMap":163},[167,20734,20735,20737,20739],{"class":169,"line":170},[167,20736,174],{"class":173},[167,20738,178],{"class":177},[167,20740,185],{"class":173},[167,20742,20743,20745,20747],{"class":169,"line":188},[167,20744,608],{"class":191},[167,20746,3987],{"class":191},[167,20748,1901],{"class":173},[167,20750,20752,20754],{"class":20751,"line":205},[169,213],[167,20753,12833],{"class":181},[167,20755,763],{"class":173},[167,20757,20758,20760,20762,20764,20766],{"class":169,"line":160},[167,20759,8890],{"class":173},[167,20761,2607],{"class":181},[167,20763,229],{"class":173},[167,20765,20712],{"class":201},[167,20767,235],{"class":173},[167,20769,20770],{"class":169,"line":238},[167,20771,3488],{"class":173},[167,20773,20774],{"class":169,"line":243},[167,20775,276],{"class":173},[167,20777,20778,20780,20782],{"class":169,"line":261},[167,20779,282],{"class":173},[167,20781,178],{"class":177},[167,20783,185],{"class":173},[11,20785,19060],{"id":20786},"manejo-de-errores",[22,20788,20790,11223,20792],{"id":20789},"onerrorcaptured-errorcaptured",[87,20791,9916],{},[87,20793,9181],{},[15,20795,20796,20797,1675],{},"Permite capturar errores de ",[3929,20798,20799],{},"componentes hijos",[154,20801,20804],{"className":156,"code":20802,"filename":3256,"highlights":20803,"language":162,"meta":163,"style":163},"\u003Cscript setup>\nimport { onErrorCaptured } from 'vue'\n\nonErrorCaptured((error) => {\n  console.error('Error capturado:', error)\n  return false\n})\n\u003C\u002Fscript>\n",[160],[87,20805,20806,20816,20827,20831,20846,20859,20865,20869],{"__ignoreMap":163},[167,20807,20808,20810,20812,20814],{"class":169,"line":170},[167,20809,174],{"class":173},[167,20811,178],{"class":177},[167,20813,182],{"class":181},[167,20815,185],{"class":173},[167,20817,20818,20820,20823,20825],{"class":169,"line":188},[167,20819,192],{"class":191},[167,20821,20822],{"class":173}," { onErrorCaptured } ",[167,20824,198],{"class":191},[167,20826,202],{"class":201},[167,20828,20829],{"class":169,"line":205},[167,20830,209],{"emptyLinePlaceholder":208},[167,20832,20834,20836,20838,20840,20842,20844],{"class":20833,"line":160},[169,213],[167,20835,9916],{"class":181},[167,20837,1914],{"class":173},[167,20839,9348],{"class":254},[167,20841,693],{"class":173},[167,20843,639],{"class":191},[167,20845,1901],{"class":173},[167,20847,20848,20850,20852,20854,20857],{"class":169,"line":238},[167,20849,2604],{"class":173},[167,20851,9348],{"class":181},[167,20853,229],{"class":173},[167,20855,20856],{"class":201},"'Error capturado:'",[167,20858,14168],{"class":173},[167,20860,20861,20863],{"class":169,"line":243},[167,20862,1534],{"class":191},[167,20864,5589],{"class":219},[167,20866,20867],{"class":169,"line":261},[167,20868,403],{"class":173},[167,20870,20871,20873,20875],{"class":169,"line":273},[167,20872,282],{"class":173},[167,20874,178],{"class":177},[167,20876,185],{"class":173},[154,20878,20881],{"className":156,"code":20879,"filename":3969,"highlights":20880,"language":162,"meta":163,"style":163},"\u003Cscript>\nexport default {\n  errorCaptured(error) {\n    console.error('Error capturado:', error)\n    return false\n  }\n}\n\u003C\u002Fscript>\n",[205],[87,20882,20883,20891,20899,20910,20922,20928,20932,20936],{"__ignoreMap":163},[167,20884,20885,20887,20889],{"class":169,"line":170},[167,20886,174],{"class":173},[167,20888,178],{"class":177},[167,20890,185],{"class":173},[167,20892,20893,20895,20897],{"class":169,"line":188},[167,20894,608],{"class":191},[167,20896,3987],{"class":191},[167,20898,1901],{"class":173},[167,20900,20902,20904,20906,20908],{"class":20901,"line":205},[169,213],[167,20903,10690],{"class":181},[167,20905,229],{"class":173},[167,20907,9348],{"class":254},[167,20909,258],{"class":173},[167,20911,20912,20914,20916,20918,20920],{"class":169,"line":160},[167,20913,8890],{"class":173},[167,20915,9348],{"class":181},[167,20917,229],{"class":173},[167,20919,20856],{"class":201},[167,20921,14168],{"class":173},[167,20923,20924,20926],{"class":169,"line":238},[167,20925,1933],{"class":191},[167,20927,5589],{"class":219},[167,20929,20930],{"class":169,"line":243},[167,20931,3488],{"class":173},[167,20933,20934],{"class":169,"line":261},[167,20935,276],{"class":173},[167,20937,20938,20940,20942],{"class":169,"line":273},[167,20939,282],{"class":173},[167,20941,178],{"class":177},[167,20943,185],{"class":173},[11,20945,20947],{"id":20946},"hooks-de-depuración-del-render","Hooks de depuración del render",[15,20949,20950,20951,1675],{},"Estos hooks ayudan a entender ",[3929,20952,20953],{},"por qué un componente se vuelve a renderizar",[15,20955,20956],{},"No deben usarse normalmente en producción.",[22,20958,20960],{"id":20959},"onrendertracked",[87,20961,8356],{},[15,20963,20964,20965,1675],{},"Se ejecuta cuando Vue ",[3929,20966,20967],{},"rastrea una dependencia reactiva durante el render",[154,20969,20972],{"className":156,"code":20970,"filename":3256,"highlights":20971,"language":162,"meta":163,"style":163},"\u003Cscript setup>\nimport { onRenderTracked } from 'vue'\n\nonRenderTracked((event) => {\n  console.debug('Dependencia rastreada:', event.key)\n})\n\u003C\u002Fscript>\n",[160],[87,20973,20974,20984,20995,20999,21014,21029,21033],{"__ignoreMap":163},[167,20975,20976,20978,20980,20982],{"class":169,"line":170},[167,20977,174],{"class":173},[167,20979,178],{"class":177},[167,20981,182],{"class":181},[167,20983,185],{"class":173},[167,20985,20986,20988,20991,20993],{"class":169,"line":188},[167,20987,192],{"class":191},[167,20989,20990],{"class":173}," { onRenderTracked } ",[167,20992,198],{"class":191},[167,20994,202],{"class":201},[167,20996,20997],{"class":169,"line":205},[167,20998,209],{"emptyLinePlaceholder":208},[167,21000,21002,21004,21006,21008,21010,21012],{"class":21001,"line":160},[169,213],[167,21003,8356],{"class":181},[167,21005,1914],{"class":173},[167,21007,4191],{"class":254},[167,21009,693],{"class":173},[167,21011,639],{"class":191},[167,21013,1901],{"class":173},[167,21015,21016,21018,21021,21023,21026],{"class":169,"line":238},[167,21017,2604],{"class":173},[167,21019,21020],{"class":181},"debug",[167,21022,229],{"class":173},[167,21024,21025],{"class":201},"'Dependencia rastreada:'",[167,21027,21028],{"class":173},", event.key)\n",[167,21030,21031],{"class":169,"line":243},[167,21032,403],{"class":173},[167,21034,21035,21037,21039],{"class":169,"line":261},[167,21036,282],{"class":173},[167,21038,178],{"class":177},[167,21040,185],{"class":173},[154,21042,21045],{"className":156,"code":21043,"filename":3969,"highlights":21044,"language":162,"meta":163,"style":163},"\u003Cscript>\nexport default {\n  renderTracked(event) {\n    console.debug('Dependencia rastreada:', event.key)\n  }\n}\n\u003C\u002Fscript>\n",[205],[87,21046,21047,21055,21063,21074,21086,21090,21094],{"__ignoreMap":163},[167,21048,21049,21051,21053],{"class":169,"line":170},[167,21050,174],{"class":173},[167,21052,178],{"class":177},[167,21054,185],{"class":173},[167,21056,21057,21059,21061],{"class":169,"line":188},[167,21058,608],{"class":191},[167,21060,3987],{"class":191},[167,21062,1901],{"class":173},[167,21064,21066,21068,21070,21072],{"class":21065,"line":205},[169,213],[167,21067,8879],{"class":181},[167,21069,229],{"class":173},[167,21071,4191],{"class":254},[167,21073,258],{"class":173},[167,21075,21076,21078,21080,21082,21084],{"class":169,"line":160},[167,21077,8890],{"class":173},[167,21079,21020],{"class":181},[167,21081,229],{"class":173},[167,21083,21025],{"class":201},[167,21085,21028],{"class":173},[167,21087,21088],{"class":169,"line":238},[167,21089,3488],{"class":173},[167,21091,21092],{"class":169,"line":243},[167,21093,276],{"class":173},[167,21095,21096,21098,21100],{"class":169,"line":261},[167,21097,282],{"class":173},[167,21099,178],{"class":177},[167,21101,185],{"class":173},[22,21103,21105],{"id":21104},"onrendertriggered",[87,21106,8416],{},[15,21108,21109,21110,1675],{},"Se ejecuta cuando ",[3929,21111,21112],{},"una dependencia dispara un re-render",[154,21114,21117],{"className":156,"code":21115,"filename":3256,"highlights":21116,"language":162,"meta":163,"style":163},"\u003Cscript setup>\nimport { onRenderTriggered } from 'vue'\n\nonRenderTriggered((event) => {\n  console.debug('Re-render causado por:', event.key)\n})\n\u003C\u002Fscript>\n",[160],[87,21118,21119,21129,21140,21144,21159,21172,21176],{"__ignoreMap":163},[167,21120,21121,21123,21125,21127],{"class":169,"line":170},[167,21122,174],{"class":173},[167,21124,178],{"class":177},[167,21126,182],{"class":181},[167,21128,185],{"class":173},[167,21130,21131,21133,21136,21138],{"class":169,"line":188},[167,21132,192],{"class":191},[167,21134,21135],{"class":173}," { onRenderTriggered } ",[167,21137,198],{"class":191},[167,21139,202],{"class":201},[167,21141,21142],{"class":169,"line":205},[167,21143,209],{"emptyLinePlaceholder":208},[167,21145,21147,21149,21151,21153,21155,21157],{"class":21146,"line":160},[169,213],[167,21148,8416],{"class":181},[167,21150,1914],{"class":173},[167,21152,4191],{"class":254},[167,21154,693],{"class":173},[167,21156,639],{"class":191},[167,21158,1901],{"class":173},[167,21160,21161,21163,21165,21167,21170],{"class":169,"line":238},[167,21162,2604],{"class":173},[167,21164,21020],{"class":181},[167,21166,229],{"class":173},[167,21168,21169],{"class":201},"'Re-render causado por:'",[167,21171,21028],{"class":173},[167,21173,21174],{"class":169,"line":243},[167,21175,403],{"class":173},[167,21177,21178,21180,21182],{"class":169,"line":261},[167,21179,282],{"class":173},[167,21181,178],{"class":177},[167,21183,185],{"class":173},[154,21185,21188],{"className":156,"code":21186,"filename":3969,"highlights":21187,"language":162,"meta":163,"style":163},"\u003Cscript>\nexport default {\n  renderTriggered(event) {\n    console.debug('Re-render causado por:', event.key)\n  }\n}\n\u003C\u002Fscript>\n",[205],[87,21189,21190,21198,21206,21217,21229,21233,21237],{"__ignoreMap":163},[167,21191,21192,21194,21196],{"class":169,"line":170},[167,21193,174],{"class":173},[167,21195,178],{"class":177},[167,21197,185],{"class":173},[167,21199,21200,21202,21204],{"class":169,"line":188},[167,21201,608],{"class":191},[167,21203,3987],{"class":191},[167,21205,1901],{"class":173},[167,21207,21209,21211,21213,21215],{"class":21208,"line":205},[169,213],[167,21210,8935],{"class":181},[167,21212,229],{"class":173},[167,21214,4191],{"class":254},[167,21216,258],{"class":173},[167,21218,21219,21221,21223,21225,21227],{"class":169,"line":160},[167,21220,8890],{"class":173},[167,21222,21020],{"class":181},[167,21224,229],{"class":173},[167,21226,21169],{"class":201},[167,21228,21028],{"class":173},[167,21230,21231],{"class":169,"line":238},[167,21232,3488],{"class":173},[167,21234,21235],{"class":169,"line":243},[167,21236,276],{"class":173},[167,21238,21239,21241,21243],{"class":169,"line":261},[167,21240,282],{"class":173},[167,21242,178],{"class":177},[167,21244,185],{"class":173},[11,21246,21248],{"id":21247},"ssr-server-side-rendering","SSR (Server Side Rendering)",[22,21250,21252,11223,21254],{"id":21251},"onserverprefetch-serverprefetch",[87,21253,6704],{},[87,21255,6214],{},[15,21257,21258,21259,1675],{},"Permite ",[3929,21260,21261],{},"cargar datos antes de renderizar el HTML en el servidor",[15,21263,21264],{},"Esto evita pantallas vacías durante el primer render.",[154,21266,21269],{"className":156,"code":21267,"filename":3256,"highlights":21268,"language":162,"meta":163,"style":163},"\u003Cscript setup>\nimport { onServerPrefetch } from 'vue'\n\nonServerPrefetch(async () => {\n  await fetch('\u002Fapi\u002Fdata')\n})\n\u003C\u002Fscript>\n",[160],[87,21270,21271,21281,21292,21296,21311,21324,21328],{"__ignoreMap":163},[167,21272,21273,21275,21277,21279],{"class":169,"line":170},[167,21274,174],{"class":173},[167,21276,178],{"class":177},[167,21278,182],{"class":181},[167,21280,185],{"class":173},[167,21282,21283,21285,21288,21290],{"class":169,"line":188},[167,21284,192],{"class":191},[167,21286,21287],{"class":173}," { onServerPrefetch } ",[167,21289,198],{"class":191},[167,21291,202],{"class":201},[167,21293,21294],{"class":169,"line":205},[167,21295,209],{"emptyLinePlaceholder":208},[167,21297,21299,21301,21303,21305,21307,21309],{"class":21298,"line":160},[169,213],[167,21300,6704],{"class":181},[167,21302,229],{"class":173},[167,21304,2519],{"class":191},[167,21306,1464],{"class":173},[167,21308,639],{"class":191},[167,21310,1901],{"class":173},[167,21312,21313,21315,21317,21319,21322],{"class":169,"line":238},[167,21314,2571],{"class":191},[167,21316,6617],{"class":181},[167,21318,229],{"class":173},[167,21320,21321],{"class":201},"'\u002Fapi\u002Fdata'",[167,21323,235],{"class":173},[167,21325,21326],{"class":169,"line":243},[167,21327,403],{"class":173},[167,21329,21330,21332,21334],{"class":169,"line":261},[167,21331,282],{"class":173},[167,21333,178],{"class":177},[167,21335,185],{"class":173},[154,21337,21340],{"className":156,"code":21338,"filename":3969,"highlights":21339,"language":162,"meta":163,"style":163},"\u003Cscript>\nexport default {\n  async serverPrefetch() {\n    await fetch('\u002Fapi\u002Fdata')\n  }\n}\n\u003C\u002Fscript>\n",[205],[87,21341,21342,21350,21358,21367,21379,21383,21387],{"__ignoreMap":163},[167,21343,21344,21346,21348],{"class":169,"line":170},[167,21345,174],{"class":173},[167,21347,178],{"class":177},[167,21349,185],{"class":173},[167,21351,21352,21354,21356],{"class":169,"line":188},[167,21353,608],{"class":191},[167,21355,3987],{"class":191},[167,21357,1901],{"class":173},[167,21359,21361,21363,21365],{"class":21360,"line":205},[169,213],[167,21362,7327],{"class":191},[167,21364,7330],{"class":181},[167,21366,763],{"class":173},[167,21368,21369,21371,21373,21375,21377],{"class":169,"line":160},[167,21370,6726],{"class":191},[167,21372,6617],{"class":181},[167,21374,229],{"class":173},[167,21376,21321],{"class":201},[167,21378,235],{"class":173},[167,21380,21381],{"class":169,"line":238},[167,21382,3488],{"class":173},[167,21384,21385],{"class":169,"line":243},[167,21386,276],{"class":173},[167,21388,21389,21391,21393],{"class":169,"line":261},[167,21390,282],{"class":173},[167,21392,178],{"class":177},[167,21394,185],{"class":173},[11,21396,21398],{"id":21397},"cuándo-usar-hooks-y-cuándo-no","Cuándo usar hooks (y cuándo no)",[22,21400,21402],{"id":21401},"úsalos-cuando","Úsalos cuando:",[33,21404,21405,21413,21421,21428],{},[36,21406,21407,21408,2522,21411,6215],{},"Necesitas ",[3929,21409,21410],{},"acceder al DOM real",[87,21412,6792],{},[36,21414,21415,21416,2522,21419,6215],{},"Haces ",[3929,21417,21418],{},"limpieza de recursos",[87,21420,14299],{},[36,21422,21423,21424,2522,21426,6215],{},"Trabajas con ",[3929,21425,973],{},[87,21427,6704],{},[36,21429,21430,21431],{},"Necesitas reaccionar a ",[3929,21432,21433],{},"fases del ciclo del componente",[22,21435,7925],{"id":21436},"evítalos-cuando",[33,21438,21439,21446,21453],{},[36,21440,7911,21441,21445],{},[3929,21442,21443],{},[87,21444,1657],{}," resuelve el problema",[36,21447,7911,21448,21452],{},[3929,21449,21450],{},[87,21451,1661],{}," es suficiente",[36,21454,21455,21456],{},"Solo quieres reaccionar a ",[3929,21457,21458],{},"cambios de estado específicos",[15,21460,21461,21462,21465],{},"Los hooks coordinan ",[3929,21463,21464],{},"momentos del ciclo",", no deberían contener toda la lógica del componente.",[11,21467,7674],{"id":7673},[15,21469,21470,21471,583],{},"Los hooks del ciclo de vida permiten controlar ",[3929,21472,21473],{},"momentos clave del componente",[56,21475,21476,21486],{},[59,21477,21478],{},[62,21479,21480,21483],{},[65,21481,21482],{},"Fase",[65,21484,21485],{},"Hooks principales",[75,21487,21488,21498,21508,21518,21528,21539],{},[62,21489,21490,21492],{},[80,21491,19032],{},[80,21493,21494,1020,21496],{},[87,21495,16663],{},[87,21497,17861],{},[62,21499,21500,21502],{},[80,21501,19037],{},[80,21503,21504,1020,21506],{},[87,21505,6792],{},[87,21507,6389],{},[62,21509,21510,21512],{},[80,21511,19042],{},[80,21513,21514,1020,21516],{},[87,21515,15341],{},[87,21517,15033],{},[62,21519,21520,21522],{},[80,21521,19047],{},[80,21523,21524,1020,21526],{},[87,21525,14299],{},[87,21527,11272],{},[62,21529,21530,21533],{},[80,21531,21532],{},"Cache",[80,21534,21535,1020,21537],{},[87,21536,12182],{},[87,21538,12239],{},[62,21540,21541,21543],{},[80,21542,973],{},[80,21544,21545],{},[87,21546,6704],{},[5363,21548,21549],{},[15,21550,21551,21552],{},"Si dudas qué hook usar, pregúntate primero:\n",[3929,21553,21554],{},"¿En qué momento de la vida del componente necesito ejecutar esta lógica?",[924,21556,21557],{},"html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .s9eBZ, html code.shiki .s9eBZ{--shiki-default:#22863A;--shiki-dark:#85E89D}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .s4XuR, html code.shiki .s4XuR{--shiki-default:#E36209;--shiki-dark:#FFAB70}",{"title":163,"searchDepth":188,"depth":188,"links":21559},[21560,21561,21562,21563,21564,21565,21567,21569,21571,21573,21575,21577,21579,21581,21583,21584,21585,21587,21588],{"id":6226,"depth":188,"text":6227},{"id":19078,"depth":188,"text":19079},{"id":19146,"depth":188,"text":17858},{"id":17861,"depth":188,"text":17861},{"id":16663,"depth":188,"text":9234},{"id":19488,"depth":188,"text":21566},"onBeforeMount \u002F beforeMount",{"id":19628,"depth":188,"text":21568},"onMounted \u002F mounted",{"id":19801,"depth":188,"text":21570},"onBeforeUpdate \u002F beforeUpdate",{"id":19941,"depth":188,"text":21572},"onUpdated \u002F updated",{"id":20101,"depth":188,"text":21574},"onBeforeUnmount \u002F beforeUnmount",{"id":20238,"depth":188,"text":21576},"onUnmounted \u002F unmounted",{"id":20512,"depth":188,"text":21578},"onActivated \u002F activated",{"id":20650,"depth":188,"text":21580},"onDeactivated \u002F deactivated",{"id":20789,"depth":188,"text":21582},"onErrorCaptured \u002F errorCaptured",{"id":20959,"depth":188,"text":8356},{"id":21104,"depth":188,"text":8416},{"id":21251,"depth":188,"text":21586},"onServerPrefetch \u002F serverPrefetch",{"id":21401,"depth":188,"text":21402},{"id":21436,"depth":188,"text":7925},"https:\u002F\u002Fres.cloudinary.com\u002Fdenj4fg7f\u002Fimage\u002Fupload\u002Fv1772676391\u002Fvue-lifecycle-hooks-overview_ovnxzy.png","2026-03-05","Un mapa claro de todos los ciclos de vida de Vue 3 para entender cuándo usar cada hook.",{"updatedAt":21593,"readingTime":273,"coverCaption":21594,"author":945,"keywords":21595},"2026-03-04T21:30:00-05:00","Panorama de los hooks del ciclo de vida en Vue 3.",[3254,21596,3256,3969,21597],"Ciclos de vida","Hooks","\u002Fblog\u002Fvue-lifecycle-hooks-overview.es",[21600],{"headline":18998,"author":21601,"datePublished":21593,"@type":959},{"name":945,"@type":958},{"title":18998,"description":21591},"blog\u002Fvue-lifecycle-hooks-overview.es",[21605,21606,21607,21608],{"tag":7720,"color":7721},{"tag":1622,"color":1635},{"tag":3265,"color":3266},{"tag":5420,"color":5421},"SBKJnT6tEFXx0FslfjbqCoy_-zKjHKGzNv961L2uqmc",{"id":21611,"title":21612,"body":21613,"cover":23647,"coverAlt":21612,"date":23648,"description":23649,"draft":1617,"extension":940,"lab":941,"locale":942,"meta":23650,"navigation":208,"path":23656,"schemaOrg":23657,"seo":23660,"series":941,"seriesDescription":941,"seriesOrder":941,"seriesTitle":941,"slug":941,"stem":23661,"tags":23662,"__hash__":23667},"blog\u002Fblog\u002Fvue-3-reactivity-internals.es.md","Cómo funciona internamente el sistema de reactividad en Vue 3",{"type":8,"value":21614,"toc":23618},[21615,21618,21630,21634,21640,21651,21654,21662,21666,21670,21678,21690,21697,21701,21704,21728,21764,21767,21780,21787,21792,21795,21838,21844,21848,21857,21872,22757,22851,22855,22906,22909,22913,22921,22939,22964,22970,22976,22979,23111,23114,23128,23136,23144,23165,23168,23185,23189,23192,23203,23206,23363,23366,23368,23372,23414,23417,23429,23433,23444,23452,23460,23522,23525,23536,23540,23543,23567,23571,23574,23585,23588,23610,23615],[11,21616,21612],{"id":21617},"cómo-funciona-internamente-el-sistema-de-reactividad-en-vue-3",[15,21619,21620,21621,1020,21623,1020,21625,1020,21627,21629],{},"Vue 3 introdujo un sistema de reactividad completamente rediseñado respecto a Vue 2, basado en Proxy y en un grafo dinámico de dependencias. Aunque la API pública (",[87,21622,2081],{},[87,21624,18239],{},[87,21626,1657],{},[87,21628,1661],{},") resulta simple, su funcionamiento interno responde a un modelo cuidadosamente optimizado para granularidad, rendimiento y previsibilidad. Entender este modelo no es opcional en aplicaciones grandes: es la diferencia entre depurar síntomas y resolver causas.",[22,21631,21633],{"id":21632},"introducción-basada-en-un-problema-real","Introducción basada en un problema real",[15,21635,21636,21637,21639],{},"En equipos que ya utilizan Vue 3 en producción, las dudas más costosas no suelen ser “cómo usar ",[87,21638,2081],{},"”, sino estas:",[33,21641,21642,21645,21648],{},[36,21643,21644],{},"¿Cómo sabe Vue exactamente qué actualizar y qué no tocar?",[36,21646,21647],{},"¿Por qué un cambio parece correcto, pero no re-renderiza?",[36,21649,21650],{},"¿Por qué una pantalla vuelve a renderizar demasiado y se vuelve lenta?",[15,21652,21653],{},"La respuesta no está en una API aislada. Está en el motor interno: cómo Vue registra dependencias al leer estado y cómo decide qué efectos ejecutar al escribir estado.",[15,21655,21656,21657,90,21659,21661],{},"Cuando este modelo mental no está claro, se depura a ciegas. Cuando sí lo está, se puede razonar sobre causa raíz, costo de render y comportamiento de ",[87,21658,1657],{},[87,21660,1664],{}," con precisión.",[22,21663,21665],{"id":21664},"modelo-mental-simplificado","Modelo mental simplificado",[3083,21667,21669],{"id":21668},"dependency-tracking-en-una-frase","Dependency tracking en una frase",[15,21671,21672,21673,1020,21675,21677],{},"Cada vez que un efecto activo (render, ",[87,21674,1657],{},[87,21676,1664],{},") lee una propiedad reactiva, Vue registra una relación:",[154,21679,21684],{"className":21680,"code":21681,"filename":21682,"language":21683,"meta":163,"style":163},"language-txt shiki shiki-themes github-light github-dark","efecto X depende de target.key\n","dependency-rule.txt","txt",[87,21685,21686],{"__ignoreMap":163},[167,21687,21688],{"class":169,"line":170},[167,21689,21681],{},[15,21691,21692,21693,21696],{},"Luego, si ",[87,21694,21695],{},"target.key"," cambia, Vue solo notifica los efectos suscritos a esa clave.",[3083,21698,21700],{"id":21699},"estructura-interna-weakmap-map-set","Estructura interna: WeakMap → Map → Set",[15,21702,21703],{},"Un modelo simplificado del almacenamiento de dependencias:",[33,21705,21706,21714,21722],{},[36,21707,21708,21711,21712,4266],{},[87,21709,21710],{},"WeakMap",": índice por objeto reactivo (",[87,21713,7835],{},[36,21715,21716,21719,21720,4266],{},[87,21717,21718],{},"Map",": índice por propiedad dentro de ese objeto (",[87,21721,7841],{},[36,21723,21724,21727],{},[87,21725,21726],{},"Set",": efectos que dependen de esa propiedad.",[154,21729,21732],{"className":21680,"code":21730,"filename":21731,"language":21683,"meta":163,"style":163},"bucket (WeakMap)\n  -> targetA (Map)\n       -> \"count\" (Set: effectRender, effectComputed)\n       -> \"ok\"    (Set: effectRender)\n  -> targetB (Map)\n       -> \"name\"  (Set: effectProfile)\n","dependency-graph.txt",[87,21733,21734,21739,21744,21749,21754,21759],{"__ignoreMap":163},[167,21735,21736],{"class":169,"line":170},[167,21737,21738],{},"bucket (WeakMap)\n",[167,21740,21741],{"class":169,"line":188},[167,21742,21743],{},"  -> targetA (Map)\n",[167,21745,21746],{"class":169,"line":205},[167,21747,21748],{},"       -> \"count\" (Set: effectRender, effectComputed)\n",[167,21750,21751],{"class":169,"line":160},[167,21752,21753],{},"       -> \"ok\"    (Set: effectRender)\n",[167,21755,21756],{"class":169,"line":238},[167,21757,21758],{},"  -> targetB (Map)\n",[167,21760,21761],{"class":169,"line":243},[167,21762,21763],{},"       -> \"name\"  (Set: effectProfile)\n",[15,21765,21766],{},"Esta estructura permite:",[33,21768,21769,21774,21777],{},[36,21770,21771,21772,4266],{},"Evitar memory leaks (gracias a ",[87,21773,21710],{},[36,21775,21776],{},"Tener granularidad por propiedad.",[36,21778,21779],{},"Ejecutar únicamente los efectos necesarios.",[3083,21781,21783,21786],{"id":21782},"activeeffect-la-pieza-crítica",[87,21784,21785],{},"activeEffect",": la pieza crítica",[15,21788,21789,21790,1675],{},"Vue mantiene una referencia global temporal al efecto que está ejecutándose: ",[87,21791,21785],{},[15,21793,21794],{},"Flujo:",[3031,21796,21797,21807,21816,21830],{},[36,21798,21799,21800,21803,21804,1675],{},"Empieza ",[87,21801,21802],{},"effect(fn)"," → ",[87,21805,21806],{},"activeEffect = fn",[36,21808,18225,21809,21812,21813,1675],{},[87,21810,21811],{},"fn",", una lectura reactiva ejecuta ",[87,21814,21815],{},"track(target, key)",[36,21817,21818,21821,21822,21824,21825,21827,21828,1675],{},[87,21819,21820],{},"track"," asocia ",[87,21823,21785],{}," al ",[87,21826,21726],{}," de ",[87,21829,21695],{},[36,21831,21832,21833,1020,21835,21837],{},"Al terminar ",[87,21834,21811],{},[87,21836,21785],{}," vuelve al anterior (stack de efectos anidados).",[15,21839,21840,21841,21843],{},"Sin ",[87,21842,21785],{},", no hay tracking.",[22,21845,21847],{"id":21846},"mini-implementación-desde-cero-en-javascript-puro","Mini implementación desde cero en JavaScript puro",[15,21849,21850,21851,21853,21854,21856],{},"La implementación real es más compleja (maneja tipos de operación, colecciones como ",[87,21852,21718],{},"\u002F",[87,21855,21726],{},", flags internos, etc.), pero este modelo replica las piezas esenciales:",[33,21858,21859,21863,21868],{},[36,21860,21861],{},[87,21862,21815],{},[36,21864,21865],{},[87,21866,21867],{},"trigger(target, key)",[36,21869,21870],{},[87,21871,21802],{},[154,21873,21876],{"className":2875,"code":21874,"filename":21875,"language":2878,"meta":163,"style":163},"\u002F\u002F Grafo global de dependencias.\nconst bucket = new WeakMap()\n\n\u002F\u002F Effect activo y pila para efectos anidados.\nlet activeEffect = null\nconst effectStack = []\n\nfunction cleanup(effectFn) {\n  for (const deps of effectFn.deps) {\n    deps.delete(effectFn)\n  }\n  effectFn.deps.length = 0\n}\n\nfunction effect(fn, options = {}) {\n  const effectFn = () => {\n    cleanup(effectFn)\n    activeEffect = effectFn\n    effectStack.push(effectFn)\n    const result = fn()\n    effectStack.pop()\n    activeEffect = effectStack[effectStack.length - 1] ?? null\n    return result\n  }\n\n  effectFn.deps = []\n  effectFn.options = options\n\n  if (!options.lazy) {\n    effectFn()\n  }\n\n  return effectFn\n}\n\nfunction track(target, key) {\n  if (!activeEffect) return\n\n  let depsMap = bucket.get(target)\n  if (!depsMap) {\n    depsMap = new Map()\n    bucket.set(target, depsMap)\n  }\n\n  let deps = depsMap.get(key)\n  if (!deps) {\n    deps = new Set()\n    depsMap.set(key, deps)\n  }\n\n  if (!deps.has(activeEffect)) {\n    deps.add(activeEffect)\n    activeEffect.deps.push(deps)\n  }\n}\n\nfunction trigger(target, key) {\n  const depsMap = bucket.get(target)\n  if (!depsMap) return\n\n  const deps = depsMap.get(key)\n  if (!deps) return\n\n  const effectsToRun = new Set()\n  deps.forEach((effectFn) => {\n    if (effectFn !== activeEffect) effectsToRun.add(effectFn)\n  })\n\n  effectsToRun.forEach((effectFn) => {\n    if (effectFn.options.scheduler) {\n      effectFn.options.scheduler(effectFn)\n    } else {\n      effectFn()\n    }\n  })\n}\n\nfunction reactive(obj) {\n  return new Proxy(obj, {\n    get(target, key, receiver) {\n      track(target, key)\n      return Reflect.get(target, key, receiver)\n    },\n    set(target, key, value, receiver) {\n      const oldValue = target[key]\n      const result = Reflect.set(target, key, value, receiver)\n      if (!Object.is(oldValue, value)) {\n        trigger(target, key)\n      }\n      return result\n    }\n  })\n}\n","reactivity-core.js",[87,21877,21878,21883,21899,21903,21908,21919,21931,21935,21949,21967,21977,21981,21992,21996,22000,22021,22036,22043,22053,22062,22076,22085,22108,22115,22119,22123,22132,22142,22146,22157,22164,22168,22172,22178,22182,22186,22203,22216,22220,22238,22249,22263,22273,22277,22281,22298,22309,22323,22333,22337,22341,22358,22367,22377,22381,22385,22389,22406,22421,22434,22438,22452,22465,22469,22484,22502,22518,22522,22526,22543,22550,22560,22569,22576,22580,22584,22588,22592,22605,22617,22637,22645,22657,22661,22684,22696,22711,22728,22735,22739,22745,22749,22753],{"__ignoreMap":163},[167,21879,21880],{"class":169,"line":170},[167,21881,21882],{"class":18658},"\u002F\u002F Grafo global de dependencias.\n",[167,21884,21885,21887,21890,21892,21894,21897],{"class":169,"line":188},[167,21886,216],{"class":191},[167,21888,21889],{"class":219}," bucket",[167,21891,223],{"class":191},[167,21893,4220],{"class":191},[167,21895,21896],{"class":181}," WeakMap",[167,21898,2913],{"class":173},[167,21900,21901],{"class":169,"line":205},[167,21902,209],{"emptyLinePlaceholder":208},[167,21904,21905],{"class":169,"line":160},[167,21906,21907],{"class":18658},"\u002F\u002F Effect activo y pila para efectos anidados.\n",[167,21909,21910,21912,21915,21917],{"class":169,"line":238},[167,21911,13944],{"class":191},[167,21913,21914],{"class":173}," activeEffect ",[167,21916,267],{"class":191},[167,21918,12142],{"class":219},[167,21920,21921,21923,21926,21928],{"class":169,"line":243},[167,21922,216],{"class":191},[167,21924,21925],{"class":219}," effectStack",[167,21927,223],{"class":191},[167,21929,21930],{"class":173}," []\n",[167,21932,21933],{"class":169,"line":261},[167,21934,209],{"emptyLinePlaceholder":208},[167,21936,21937,21939,21942,21944,21947],{"class":169,"line":273},[167,21938,246],{"class":191},[167,21940,21941],{"class":181}," cleanup",[167,21943,229],{"class":173},[167,21945,21946],{"class":254},"effectFn",[167,21948,258],{"class":173},[167,21950,21951,21954,21956,21958,21961,21964],{"class":169,"line":279},[167,21952,21953],{"class":191},"  for",[167,21955,2522],{"class":173},[167,21957,216],{"class":191},[167,21959,21960],{"class":219}," deps",[167,21962,21963],{"class":191}," of",[167,21965,21966],{"class":173}," effectFn.deps) {\n",[167,21968,21969,21972,21974],{"class":169,"line":289},[167,21970,21971],{"class":173},"    deps.",[167,21973,7858],{"class":181},[167,21975,21976],{"class":173},"(effectFn)\n",[167,21978,21979],{"class":169,"line":294},[167,21980,3488],{"class":173},[167,21982,21983,21986,21988,21990],{"class":169,"line":304},[167,21984,21985],{"class":173},"  effectFn.deps.",[167,21987,15752],{"class":219},[167,21989,223],{"class":191},[167,21991,15798],{"class":219},[167,21993,21994],{"class":169,"line":313},[167,21995,276],{"class":173},[167,21997,21998],{"class":169,"line":161},[167,21999,209],{"emptyLinePlaceholder":208},[167,22001,22002,22004,22007,22009,22011,22013,22016,22018],{"class":169,"line":335},[167,22003,246],{"class":191},[167,22005,22006],{"class":181}," effect",[167,22008,229],{"class":173},[167,22010,21811],{"class":254},[167,22012,1020],{"class":173},[167,22014,22015],{"class":254},"options",[167,22017,223],{"class":191},[167,22019,22020],{"class":173}," {}) {\n",[167,22022,22023,22025,22028,22030,22032,22034],{"class":169,"line":341},[167,22024,1438],{"class":191},[167,22026,22027],{"class":181}," effectFn",[167,22029,223],{"class":191},[167,22031,1464],{"class":173},[167,22033,639],{"class":191},[167,22035,1901],{"class":173},[167,22037,22038,22041],{"class":169,"line":489},[167,22039,22040],{"class":181},"    cleanup",[167,22042,21976],{"class":173},[167,22044,22045,22048,22050],{"class":169,"line":495},[167,22046,22047],{"class":173},"    activeEffect ",[167,22049,267],{"class":191},[167,22051,22052],{"class":173}," effectFn\n",[167,22054,22055,22058,22060],{"class":169,"line":501},[167,22056,22057],{"class":173},"    effectStack.",[167,22059,15719],{"class":181},[167,22061,21976],{"class":173},[167,22063,22064,22066,22069,22071,22074],{"class":169,"line":512},[167,22065,8262],{"class":191},[167,22067,22068],{"class":219}," result",[167,22070,223],{"class":191},[167,22072,22073],{"class":181}," fn",[167,22075,2913],{"class":173},[167,22077,22078,22080,22083],{"class":169,"line":781},[167,22079,22057],{"class":173},[167,22081,22082],{"class":181},"pop",[167,22084,2913],{"class":173},[167,22086,22087,22089,22091,22094,22096,22099,22101,22104,22106],{"class":169,"line":786},[167,22088,22047],{"class":173},[167,22090,267],{"class":191},[167,22092,22093],{"class":173}," effectStack[effectStack.",[167,22095,15752],{"class":219},[167,22097,22098],{"class":191}," -",[167,22100,15758],{"class":219},[167,22102,22103],{"class":173},"] ",[167,22105,15795],{"class":191},[167,22107,12142],{"class":219},[167,22109,22110,22112],{"class":169,"line":2674},[167,22111,1933],{"class":191},[167,22113,22114],{"class":173}," result\n",[167,22116,22117],{"class":169,"line":2688},[167,22118,3488],{"class":173},[167,22120,22121],{"class":169,"line":3571},[167,22122,209],{"emptyLinePlaceholder":208},[167,22124,22125,22128,22130],{"class":169,"line":5024},[167,22126,22127],{"class":173},"  effectFn.deps ",[167,22129,267],{"class":191},[167,22131,21930],{"class":173},[167,22133,22134,22137,22139],{"class":169,"line":5033},[167,22135,22136],{"class":173},"  effectFn.options ",[167,22138,267],{"class":191},[167,22140,22141],{"class":173}," options\n",[167,22143,22144],{"class":169,"line":5042},[167,22145,209],{"emptyLinePlaceholder":208},[167,22147,22148,22150,22152,22154],{"class":169,"line":6752},[167,22149,2540],{"class":191},[167,22151,2522],{"class":173},[167,22153,6637],{"class":191},[167,22155,22156],{"class":173},"options.lazy) {\n",[167,22158,22159,22162],{"class":169,"line":6774},[167,22160,22161],{"class":181},"    effectFn",[167,22163,2913],{"class":173},[167,22165,22166],{"class":169,"line":6779},[167,22167,3488],{"class":173},[167,22169,22170],{"class":169,"line":6784},[167,22171,209],{"emptyLinePlaceholder":208},[167,22173,22174,22176],{"class":169,"line":6789},[167,22175,1534],{"class":191},[167,22177,22052],{"class":173},[167,22179,22180],{"class":169,"line":6805},[167,22181,276],{"class":173},[167,22183,22184],{"class":169,"line":6820},[167,22185,209],{"emptyLinePlaceholder":208},[167,22187,22188,22190,22193,22195,22197,22199,22201],{"class":169,"line":6825},[167,22189,246],{"class":191},[167,22191,22192],{"class":181}," track",[167,22194,229],{"class":173},[167,22196,7835],{"class":254},[167,22198,1020],{"class":173},[167,22200,7841],{"class":254},[167,22202,258],{"class":173},[167,22204,22205,22207,22209,22211,22214],{"class":169,"line":6832},[167,22206,2540],{"class":191},[167,22208,2522],{"class":173},[167,22210,6637],{"class":191},[167,22212,22213],{"class":173},"activeEffect) ",[167,22215,2552],{"class":191},[167,22217,22218],{"class":169,"line":6841},[167,22219,209],{"emptyLinePlaceholder":208},[167,22221,22222,22225,22228,22230,22233,22235],{"class":169,"line":6850},[167,22223,22224],{"class":191},"  let",[167,22226,22227],{"class":173}," depsMap ",[167,22229,267],{"class":191},[167,22231,22232],{"class":173}," bucket.",[167,22234,4229],{"class":181},[167,22236,22237],{"class":173},"(target)\n",[167,22239,22240,22242,22244,22246],{"class":169,"line":6857},[167,22241,2540],{"class":191},[167,22243,2522],{"class":173},[167,22245,6637],{"class":191},[167,22247,22248],{"class":173},"depsMap) {\n",[167,22250,22251,22254,22256,22258,22261],{"class":169,"line":6875},[167,22252,22253],{"class":173},"    depsMap ",[167,22255,267],{"class":191},[167,22257,4220],{"class":191},[167,22259,22260],{"class":181}," Map",[167,22262,2913],{"class":173},[167,22264,22265,22268,22270],{"class":169,"line":6880},[167,22266,22267],{"class":173},"    bucket.",[167,22269,7852],{"class":181},[167,22271,22272],{"class":173},"(target, depsMap)\n",[167,22274,22275],{"class":169,"line":6885},[167,22276,3488],{"class":173},[167,22278,22279],{"class":169,"line":6894},[167,22280,209],{"emptyLinePlaceholder":208},[167,22282,22283,22285,22288,22290,22293,22295],{"class":169,"line":6899},[167,22284,22224],{"class":191},[167,22286,22287],{"class":173}," deps ",[167,22289,267],{"class":191},[167,22291,22292],{"class":173}," depsMap.",[167,22294,4229],{"class":181},[167,22296,22297],{"class":173},"(key)\n",[167,22299,22300,22302,22304,22306],{"class":169,"line":6908},[167,22301,2540],{"class":191},[167,22303,2522],{"class":173},[167,22305,6637],{"class":191},[167,22307,22308],{"class":173},"deps) {\n",[167,22310,22311,22314,22316,22318,22321],{"class":169,"line":6924},[167,22312,22313],{"class":173},"    deps ",[167,22315,267],{"class":191},[167,22317,4220],{"class":191},[167,22319,22320],{"class":181}," Set",[167,22322,2913],{"class":173},[167,22324,22325,22328,22330],{"class":169,"line":6945},[167,22326,22327],{"class":173},"    depsMap.",[167,22329,7852],{"class":181},[167,22331,22332],{"class":173},"(key, deps)\n",[167,22334,22335],{"class":169,"line":6950},[167,22336,3488],{"class":173},[167,22338,22339],{"class":169,"line":6971},[167,22340,209],{"emptyLinePlaceholder":208},[167,22342,22343,22345,22347,22349,22352,22355],{"class":169,"line":6985},[167,22344,2540],{"class":191},[167,22346,2522],{"class":173},[167,22348,6637],{"class":191},[167,22350,22351],{"class":173},"deps.",[167,22353,22354],{"class":181},"has",[167,22356,22357],{"class":173},"(activeEffect)) {\n",[167,22359,22360,22362,22364],{"class":169,"line":6999},[167,22361,21971],{"class":173},[167,22363,7855],{"class":181},[167,22365,22366],{"class":173},"(activeEffect)\n",[167,22368,22369,22372,22374],{"class":169,"line":7013},[167,22370,22371],{"class":173},"    activeEffect.deps.",[167,22373,15719],{"class":181},[167,22375,22376],{"class":173},"(deps)\n",[167,22378,22379],{"class":169,"line":7022},[167,22380,3488],{"class":173},[167,22382,22383],{"class":169,"line":7027},[167,22384,276],{"class":173},[167,22386,22387],{"class":169,"line":7044},[167,22388,209],{"emptyLinePlaceholder":208},[167,22390,22391,22393,22396,22398,22400,22402,22404],{"class":169,"line":7053},[167,22392,246],{"class":191},[167,22394,22395],{"class":181}," trigger",[167,22397,229],{"class":173},[167,22399,7835],{"class":254},[167,22401,1020],{"class":173},[167,22403,7841],{"class":254},[167,22405,258],{"class":173},[167,22407,22408,22410,22413,22415,22417,22419],{"class":169,"line":7551},[167,22409,1438],{"class":191},[167,22411,22412],{"class":219}," depsMap",[167,22414,223],{"class":191},[167,22416,22232],{"class":173},[167,22418,4229],{"class":181},[167,22420,22237],{"class":173},[167,22422,22423,22425,22427,22429,22432],{"class":169,"line":7556},[167,22424,2540],{"class":191},[167,22426,2522],{"class":173},[167,22428,6637],{"class":191},[167,22430,22431],{"class":173},"depsMap) ",[167,22433,2552],{"class":191},[167,22435,22436],{"class":169,"line":7575},[167,22437,209],{"emptyLinePlaceholder":208},[167,22439,22440,22442,22444,22446,22448,22450],{"class":169,"line":7588},[167,22441,1438],{"class":191},[167,22443,21960],{"class":219},[167,22445,223],{"class":191},[167,22447,22292],{"class":173},[167,22449,4229],{"class":181},[167,22451,22297],{"class":173},[167,22453,22454,22456,22458,22460,22463],{"class":169,"line":7601},[167,22455,2540],{"class":191},[167,22457,2522],{"class":173},[167,22459,6637],{"class":191},[167,22461,22462],{"class":173},"deps) ",[167,22464,2552],{"class":191},[167,22466,22467],{"class":169,"line":7614},[167,22468,209],{"emptyLinePlaceholder":208},[167,22470,22471,22473,22476,22478,22480,22482],{"class":169,"line":7623},[167,22472,1438],{"class":191},[167,22474,22475],{"class":219}," effectsToRun",[167,22477,223],{"class":191},[167,22479,4220],{"class":191},[167,22481,22320],{"class":181},[167,22483,2913],{"class":173},[167,22485,22486,22489,22492,22494,22496,22498,22500],{"class":169,"line":7628},[167,22487,22488],{"class":173},"  deps.",[167,22490,22491],{"class":181},"forEach",[167,22493,1914],{"class":173},[167,22495,21946],{"class":254},[167,22497,693],{"class":173},[167,22499,639],{"class":191},[167,22501,1901],{"class":173},[167,22503,22504,22506,22509,22511,22514,22516],{"class":169,"line":7643},[167,22505,7415],{"class":191},[167,22507,22508],{"class":173}," (effectFn ",[167,22510,701],{"class":191},[167,22512,22513],{"class":173}," activeEffect) effectsToRun.",[167,22515,7855],{"class":181},[167,22517,21976],{"class":173},[167,22519,22520],{"class":169,"line":7652},[167,22521,8343],{"class":173},[167,22523,22524],{"class":169,"line":10069},[167,22525,209],{"emptyLinePlaceholder":208},[167,22527,22528,22531,22533,22535,22537,22539,22541],{"class":169,"line":10080},[167,22529,22530],{"class":173},"  effectsToRun.",[167,22532,22491],{"class":181},[167,22534,1914],{"class":173},[167,22536,21946],{"class":254},[167,22538,693],{"class":173},[167,22540,639],{"class":191},[167,22542,1901],{"class":173},[167,22544,22545,22547],{"class":169,"line":10085},[167,22546,7415],{"class":191},[167,22548,22549],{"class":173}," (effectFn.options.scheduler) {\n",[167,22551,22552,22555,22558],{"class":169,"line":10094},[167,22553,22554],{"class":173},"      effectFn.options.",[167,22556,22557],{"class":181},"scheduler",[167,22559,21976],{"class":173},[167,22561,22562,22564,22567],{"class":169,"line":10099},[167,22563,7359],{"class":173},[167,22565,22566],{"class":191},"else",[167,22568,1901],{"class":173},[167,22570,22571,22574],{"class":169,"line":10108},[167,22572,22573],{"class":181},"      effectFn",[167,22575,2913],{"class":173},[167,22577,22578],{"class":169,"line":10125},[167,22579,4045],{"class":173},[167,22581,22582],{"class":169,"line":10134},[167,22583,8343],{"class":173},[167,22585,22586],{"class":169,"line":10148},[167,22587,276],{"class":173},[167,22589,22590],{"class":169,"line":10157},[167,22591,209],{"emptyLinePlaceholder":208},[167,22593,22594,22596,22598,22600,22603],{"class":169,"line":10163},[167,22595,246],{"class":191},[167,22597,846],{"class":181},[167,22599,229],{"class":173},[167,22601,22602],{"class":254},"obj",[167,22604,258],{"class":173},[167,22606,22607,22609,22611,22614],{"class":169,"line":10173},[167,22608,1534],{"class":191},[167,22610,4220],{"class":191},[167,22612,22613],{"class":181}," Proxy",[167,22615,22616],{"class":173},"(obj, {\n",[167,22618,22619,22622,22624,22626,22628,22630,22632,22635],{"class":169,"line":10182},[167,22620,22621],{"class":181},"    get",[167,22623,229],{"class":173},[167,22625,7835],{"class":254},[167,22627,1020],{"class":173},[167,22629,7841],{"class":254},[167,22631,1020],{"class":173},[167,22633,22634],{"class":254},"receiver",[167,22636,258],{"class":173},[167,22638,22639,22642],{"class":169,"line":10187},[167,22640,22641],{"class":181},"      track",[167,22643,22644],{"class":173},"(target, key)\n",[167,22646,22647,22649,22652,22654],{"class":169,"line":10210},[167,22648,8763],{"class":191},[167,22650,22651],{"class":173}," Reflect.",[167,22653,4229],{"class":181},[167,22655,22656],{"class":173},"(target, key, receiver)\n",[167,22658,22659],{"class":169,"line":10224},[167,22660,755],{"class":173},[167,22662,22663,22666,22668,22670,22672,22674,22676,22678,22680,22682],{"class":169,"line":10237},[167,22664,22665],{"class":181},"    set",[167,22667,229],{"class":173},[167,22669,7835],{"class":254},[167,22671,1020],{"class":173},[167,22673,7841],{"class":254},[167,22675,1020],{"class":173},[167,22677,2215],{"class":254},[167,22679,1020],{"class":173},[167,22681,22634],{"class":254},[167,22683,258],{"class":173},[167,22685,22686,22688,22691,22693],{"class":169,"line":10252},[167,22687,4431],{"class":191},[167,22689,22690],{"class":219}," oldValue",[167,22692,223],{"class":191},[167,22694,22695],{"class":173}," target[key]\n",[167,22697,22698,22700,22702,22704,22706,22708],{"class":169,"line":10279},[167,22699,4431],{"class":191},[167,22701,22068],{"class":219},[167,22703,223],{"class":191},[167,22705,22651],{"class":173},[167,22707,7852],{"class":181},[167,22709,22710],{"class":173},"(target, key, value, receiver)\n",[167,22712,22713,22715,22717,22719,22722,22725],{"class":169,"line":10288},[167,22714,7257],{"class":191},[167,22716,2522],{"class":173},[167,22718,6637],{"class":191},[167,22720,22721],{"class":173},"Object.",[167,22723,22724],{"class":181},"is",[167,22726,22727],{"class":173},"(oldValue, value)) {\n",[167,22729,22730,22733],{"class":169,"line":10293},[167,22731,22732],{"class":181},"        trigger",[167,22734,22644],{"class":173},[167,22736,22737],{"class":169,"line":10313},[167,22738,7283],{"class":173},[167,22740,22741,22743],{"class":169,"line":10322},[167,22742,8763],{"class":191},[167,22744,22114],{"class":173},[167,22746,22747],{"class":169,"line":10977},[167,22748,4045],{"class":173},[167,22750,22751],{"class":169,"line":10990},[167,22752,8343],{"class":173},[167,22754,22755],{"class":169,"line":11003},[167,22756,276],{"class":173},[154,22758,22761],{"className":2875,"code":22759,"filename":22760,"language":2878,"meta":163,"style":163},"const state = reactive({ count: 0, ok: true })\n\neffect(() => {\n  console.log(\"render ->\", state.ok ? state.count : \"hidden\")\n})\n\nstate.count++\nstate.ok = false\n","demo.js",[87,22762,22763,22786,22790,22801,22827,22831,22835,22842],{"__ignoreMap":163},[167,22764,22765,22767,22770,22772,22774,22777,22779,22782,22784],{"class":169,"line":170},[167,22766,216],{"class":191},[167,22768,22769],{"class":219}," state",[167,22771,223],{"class":191},[167,22773,846],{"class":181},[167,22775,22776],{"class":173},"({ count: ",[167,22778,1956],{"class":219},[167,22780,22781],{"class":173},", ok: ",[167,22783,390],{"class":219},[167,22785,2238],{"class":173},[167,22787,22788],{"class":169,"line":188},[167,22789,209],{"emptyLinePlaceholder":208},[167,22791,22792,22795,22797,22799],{"class":169,"line":205},[167,22793,22794],{"class":181},"effect",[167,22796,1488],{"class":173},[167,22798,639],{"class":191},[167,22800,1901],{"class":173},[167,22802,22803,22805,22807,22809,22812,22815,22817,22820,22822,22825],{"class":169,"line":160},[167,22804,2604],{"class":173},[167,22806,2607],{"class":181},[167,22808,229],{"class":173},[167,22810,22811],{"class":201},"\"render ->\"",[167,22813,22814],{"class":173},", state.ok ",[167,22816,8312],{"class":191},[167,22818,22819],{"class":173}," state.count ",[167,22821,583],{"class":191},[167,22823,22824],{"class":201}," \"hidden\"",[167,22826,235],{"class":173},[167,22828,22829],{"class":169,"line":238},[167,22830,403],{"class":173},[167,22832,22833],{"class":169,"line":243},[167,22834,209],{"emptyLinePlaceholder":208},[167,22836,22837,22840],{"class":169,"line":261},[167,22838,22839],{"class":173},"state.count",[167,22841,3122],{"class":191},[167,22843,22844,22847,22849],{"class":169,"line":273},[167,22845,22846],{"class":173},"state.ok ",[167,22848,267],{"class":191},[167,22850,5589],{"class":219},[3083,22852,22854],{"id":22853},"paso-a-paso-de-lo-que-ocurre","Paso a paso de lo que ocurre",[3031,22856,22857,22862,22880,22888,22898],{},[36,22858,22859,22861],{},[87,22860,22794],{}," ejecuta la función de render y la marca como activa.",[36,22863,22864,22865,1023,22868,22870,22871,22873,22874,22877,22878,1675],{},"Al leer ",[87,22866,22867],{},"state.ok",[87,22869,22839],{},", el ",[87,22872,4229],{}," del ",[87,22875,22876],{},"Proxy"," dispara ",[87,22879,21820],{},[36,22881,22882,22884,22885,1675],{},[87,22883,21820],{}," guarda dependencias en ",[87,22886,22887],{},"WeakMap → Map → Set",[36,22889,22890,22891,22870,22893,22877,22895,1675],{},"Cuando cambias ",[87,22892,22839],{},[87,22894,7852],{},[87,22896,22897],{},"trigger",[36,22899,22900,22902,22903,22905],{},[87,22901,22897],{}," busca el ",[87,22904,21726],{}," de esa key y re-ejecuta solo los efectos dependientes.",[15,22907,22908],{},"Este patrón es exactamente el núcleo del sistema de reactividad de Vue 3.",[22,22910,22912],{"id":22911},"conexión-con-vue-real","Conexión con Vue real",[3083,22914,22916,22918,22919],{"id":22915},"reactive-usa-proxy",[87,22917,18239],{}," usa ",[87,22920,22876],{},[15,22922,22923,22925,22926,22928,22929,1020,22931,1020,22933,1020,22935,22938],{},[87,22924,18239],{}," no “magia” valores: crea un ",[87,22927,22876],{}," que intercepta operaciones (",[87,22930,4229],{},[87,22932,7852],{},[87,22934,22354],{},[87,22936,22937],{},"deleteProperty",", iteración, etc.).",[33,22940,22941,22946,22951],{},[36,22942,6300,22943,22945],{},[87,22944,4229],{}," se hace tracking.",[36,22947,6300,22948,22950],{},[87,22949,7852],{}," se hace trigger.",[36,22952,22953,22954,1020,22956,1020,22958,1020,22960,22963],{},"Para arrays y colecciones (",[87,22955,21718],{},[87,22957,21726],{},[87,22959,21710],{},[87,22961,22962],{},"WeakSet",") existen manejadores específicos.",[3083,22965,22967,22969],{"id":22966},"ref-envuelve-primitivos",[87,22968,2081],{}," envuelve primitivos",[15,22971,22972,22973,1675],{},"Como un primitivo no puede proxificarse por propiedad, Vue usa un objeto contenedor con getter\u002Fsetter en ",[87,22974,22975],{},".value",[15,22977,22978],{},"Simplificación conceptual:",[154,22980,22983],{"className":2875,"code":22981,"filename":22982,"language":2878,"meta":163,"style":163},"function ref(raw) {\n  const box = {\n    get value() {\n      track(box, \"value\")\n      return raw\n    },\n    set value(newValue) {\n      if (!Object.is(raw, newValue)) {\n        raw = newValue\n        trigger(box, \"value\")\n      }\n    }\n  }\n  return box\n}\n","ref.js",[87,22984,22985,22998,23009,23018,23030,23037,23041,23053,23068,23078,23088,23092,23096,23100,23107],{"__ignoreMap":163},[167,22986,22987,22989,22991,22993,22996],{"class":169,"line":170},[167,22988,246],{"class":191},[167,22990,226],{"class":181},[167,22992,229],{"class":173},[167,22994,22995],{"class":254},"raw",[167,22997,258],{"class":173},[167,22999,23000,23002,23005,23007],{"class":169,"line":188},[167,23001,1438],{"class":191},[167,23003,23004],{"class":219}," box",[167,23006,223],{"class":191},[167,23008,1901],{"class":173},[167,23010,23011,23013,23016],{"class":169,"line":205},[167,23012,22621],{"class":191},[167,23014,23015],{"class":181}," value",[167,23017,763],{"class":173},[167,23019,23020,23022,23025,23028],{"class":169,"line":160},[167,23021,22641],{"class":181},[167,23023,23024],{"class":173},"(box, ",[167,23026,23027],{"class":201},"\"value\"",[167,23029,235],{"class":173},[167,23031,23032,23034],{"class":169,"line":238},[167,23033,8763],{"class":191},[167,23035,23036],{"class":173}," raw\n",[167,23038,23039],{"class":169,"line":243},[167,23040,755],{"class":173},[167,23042,23043,23045,23047,23049,23051],{"class":169,"line":261},[167,23044,22665],{"class":191},[167,23046,23015],{"class":181},[167,23048,229],{"class":173},[167,23050,7864],{"class":254},[167,23052,258],{"class":173},[167,23054,23055,23057,23059,23061,23063,23065],{"class":169,"line":273},[167,23056,7257],{"class":191},[167,23058,2522],{"class":173},[167,23060,6637],{"class":191},[167,23062,22721],{"class":173},[167,23064,22724],{"class":181},[167,23066,23067],{"class":173},"(raw, newValue)) {\n",[167,23069,23070,23073,23075],{"class":169,"line":279},[167,23071,23072],{"class":173},"        raw ",[167,23074,267],{"class":191},[167,23076,23077],{"class":173}," newValue\n",[167,23079,23080,23082,23084,23086],{"class":169,"line":289},[167,23081,22732],{"class":181},[167,23083,23024],{"class":173},[167,23085,23027],{"class":201},[167,23087,235],{"class":173},[167,23089,23090],{"class":169,"line":294},[167,23091,7283],{"class":173},[167,23093,23094],{"class":169,"line":304},[167,23095,4045],{"class":173},[167,23097,23098],{"class":169,"line":313},[167,23099,3488],{"class":173},[167,23101,23102,23104],{"class":169,"line":161},[167,23103,1534],{"class":191},[167,23105,23106],{"class":173}," box\n",[167,23108,23109],{"class":169,"line":335},[167,23110,276],{"class":173},[15,23112,23113],{},"En Vue real:",[33,23115,23116,23122],{},[36,23117,23118,23119,23121],{},"Los objetos pasados a ",[87,23120,2081],{}," se convierten internamente en reactivos.",[36,23123,23124,23125,23127],{},"En templates, ",[87,23126,22975],{}," se desempaqueta automáticamente (ref unwrapping).",[3083,23129,23131,23133,23134],{"id":23130},"computed-se-construye-sobre-effect",[87,23132,1657],{}," se construye sobre ",[87,23135,22794],{},[15,23137,23138,23140,23141,23143],{},[87,23139,1657],{}," se implementa usando un ",[87,23142,22794],{}," lazy:",[3031,23145,23146,23151,23154,23157],{},[36,23147,23148,23149,1675],{},"No se evalúa hasta que alguien lee ",[87,23150,22975],{},[36,23152,23153],{},"Cachea el resultado.",[36,23155,23156],{},"Se invalida cuando cambia una dependencia interna.",[36,23158,23159,23160,21853,23162,23164],{},"Expone su propio ",[87,23161,21820],{},[87,23163,22897],{}," para quienes dependen del computed.",[15,23166,23167],{},"Internamente, combina:",[33,23169,23170,23176,23182],{},[36,23171,23172,23173],{},"Un efecto con ",[87,23174,23175],{},"lazy: true",[36,23177,23178,23179],{},"Un flag ",[87,23180,23181],{},"dirty",[36,23183,23184],{},"Un scheduler que marca como inválido en lugar de recalcular inmediatamente",[3083,23186,23188],{"id":23187},"scheduler-y-batching","Scheduler y batching",[15,23190,23191],{},"Vue evita trabajo redundante dentro del mismo tick:",[3031,23193,23194,23197,23200],{},[36,23195,23196],{},"En lugar de ejecutar cada efecto inmediatamente, puede encolarlo.",[36,23198,23199],{},"Deduplica jobs repetidos.",[36,23201,23202],{},"Hace flush en una microtask.",[15,23204,23205],{},"Mini scheduler conceptual:",[154,23207,23210],{"className":2875,"code":23208,"filename":23209,"language":2878,"meta":163,"style":163},"const queue = new Set()\nlet flushing = false\nconst p = Promise.resolve()\n\nfunction scheduler(job) {\n  queue.add(job)\n  if (flushing) return\n  flushing = true\n  p.then(() => {\n    queue.forEach((j) => j())\n    queue.clear()\n    flushing = false\n  })\n}\n","scheduler.js",[87,23211,23212,23227,23238,23257,23261,23275,23285,23294,23303,23316,23337,23346,23355,23359],{"__ignoreMap":163},[167,23213,23214,23216,23219,23221,23223,23225],{"class":169,"line":170},[167,23215,216],{"class":191},[167,23217,23218],{"class":219}," queue",[167,23220,223],{"class":191},[167,23222,4220],{"class":191},[167,23224,22320],{"class":181},[167,23226,2913],{"class":173},[167,23228,23229,23231,23234,23236],{"class":169,"line":188},[167,23230,13944],{"class":191},[167,23232,23233],{"class":173}," flushing ",[167,23235,267],{"class":191},[167,23237,5589],{"class":219},[167,23239,23240,23242,23245,23247,23250,23252,23255],{"class":169,"line":205},[167,23241,216],{"class":191},[167,23243,23244],{"class":219}," p",[167,23246,223],{"class":191},[167,23248,23249],{"class":219}," Promise",[167,23251,1675],{"class":173},[167,23253,23254],{"class":181},"resolve",[167,23256,2913],{"class":173},[167,23258,23259],{"class":169,"line":160},[167,23260,209],{"emptyLinePlaceholder":208},[167,23262,23263,23265,23268,23270,23273],{"class":169,"line":238},[167,23264,246],{"class":191},[167,23266,23267],{"class":181}," scheduler",[167,23269,229],{"class":173},[167,23271,23272],{"class":254},"job",[167,23274,258],{"class":173},[167,23276,23277,23280,23282],{"class":169,"line":243},[167,23278,23279],{"class":173},"  queue.",[167,23281,7855],{"class":181},[167,23283,23284],{"class":173},"(job)\n",[167,23286,23287,23289,23292],{"class":169,"line":261},[167,23288,2540],{"class":191},[167,23290,23291],{"class":173}," (flushing) ",[167,23293,2552],{"class":191},[167,23295,23296,23299,23301],{"class":169,"line":273},[167,23297,23298],{"class":173},"  flushing ",[167,23300,267],{"class":191},[167,23302,3483],{"class":219},[167,23304,23305,23308,23310,23312,23314],{"class":169,"line":279},[167,23306,23307],{"class":173},"  p.",[167,23309,18175],{"class":181},[167,23311,1488],{"class":173},[167,23313,639],{"class":191},[167,23315,1901],{"class":173},[167,23317,23318,23321,23323,23325,23328,23330,23332,23335],{"class":169,"line":289},[167,23319,23320],{"class":173},"    queue.",[167,23322,22491],{"class":181},[167,23324,1914],{"class":173},[167,23326,23327],{"class":254},"j",[167,23329,693],{"class":173},[167,23331,639],{"class":191},[167,23333,23334],{"class":181}," j",[167,23336,2505],{"class":173},[167,23338,23339,23341,23344],{"class":169,"line":294},[167,23340,23320],{"class":173},[167,23342,23343],{"class":181},"clear",[167,23345,2913],{"class":173},[167,23347,23348,23351,23353],{"class":169,"line":304},[167,23349,23350],{"class":173},"    flushing ",[167,23352,267],{"class":191},[167,23354,5589],{"class":219},[167,23356,23357],{"class":169,"line":313},[167,23358,8343],{"class":173},[167,23360,23361],{"class":169,"line":161},[167,23362,276],{"class":173},[15,23364,23365],{},"Esto explica por qué 10 mutaciones síncronas pueden producir un único render final.",[22,23367,3081],{"id":3080},[3083,23369,23371],{"id":23370},"la-desestructuración-rompe-la-reactividad","La desestructuración rompe la reactividad",[154,23373,23376],{"className":2875,"code":23374,"filename":23375,"language":2878,"meta":163,"style":163},"const state = reactive({ count: 0 })\nconst { count } = state \u002F\u002F count deja de estar enlazado\n","destructuring-breaks-reactivity.js",[87,23377,23378,23394],{"__ignoreMap":163},[167,23379,23380,23382,23384,23386,23388,23390,23392],{"class":169,"line":170},[167,23381,216],{"class":191},[167,23383,22769],{"class":219},[167,23385,223],{"class":191},[167,23387,846],{"class":181},[167,23389,22776],{"class":173},[167,23391,1956],{"class":219},[167,23393,2238],{"class":173},[167,23395,23396,23398,23400,23403,23406,23408,23411],{"class":169,"line":188},[167,23397,216],{"class":191},[167,23399,577],{"class":173},[167,23401,23402],{"class":219},"count",[167,23404,23405],{"class":173}," } ",[167,23407,267],{"class":191},[167,23409,23410],{"class":173}," state ",[167,23412,23413],{"class":18658},"\u002F\u002F count deja de estar enlazado\n",[15,23415,23416],{},"Corrección:",[33,23418,23419,23424],{},[36,23420,3176,23421],{},[87,23422,23423],{},"toRef(state, \"count\")",[36,23425,23426,23427,1675],{},"Acceder como ",[87,23428,22839],{},[3083,23430,23432],{"id":23431},"mutaciones-fuera-del-proxy","Mutaciones fuera del proxy",[15,23434,23435,23436,23438,23439,23441,23442,1675],{},"Si mutas una referencia “raw” fuera del ",[87,23437,22876],{},", Vue no puede disparar ",[87,23440,22897],{},".\nTodo acceso\u002Fescritura que deba ser reactivo debe pasar por el proxy o por ",[87,23443,22975],{},[3083,23445,23447,1658,23450],{"id":23446},"shallowref-vs-ref",[87,23448,23449],{},"shallowRef",[87,23451,2081],{},[15,23453,23454,23456,23457,23459],{},[87,23455,23449],{}," solo rastrea el reemplazo de ",[87,23458,22975],{},", no mutaciones profundas.",[154,23461,23464],{"className":2875,"code":23462,"filename":23463,"language":2878,"meta":163,"style":163},"const user = shallowRef({ name: \"Ana\" })\nuser.value.name = \"Eva\" \u002F\u002F no dispara por sí solo\nuser.value = { ...user.value, name: \"Eva\" } \u002F\u002F sí dispara\n","shallow-ref-example.js",[87,23465,23466,23486,23499],{"__ignoreMap":163},[167,23467,23468,23470,23473,23475,23478,23481,23484],{"class":169,"line":170},[167,23469,216],{"class":191},[167,23471,23472],{"class":219}," user",[167,23474,223],{"class":191},[167,23476,23477],{"class":181}," shallowRef",[167,23479,23480],{"class":173},"({ name: ",[167,23482,23483],{"class":201},"\"Ana\"",[167,23485,2238],{"class":173},[167,23487,23488,23491,23493,23496],{"class":169,"line":188},[167,23489,23490],{"class":173},"user.value.name ",[167,23492,267],{"class":191},[167,23494,23495],{"class":201}," \"Eva\"",[167,23497,23498],{"class":18658}," \u002F\u002F no dispara por sí solo\n",[167,23500,23501,23504,23506,23508,23511,23514,23517,23519],{"class":169,"line":205},[167,23502,23503],{"class":173},"user.value ",[167,23505,267],{"class":191},[167,23507,577],{"class":173},[167,23509,23510],{"class":191},"...",[167,23512,23513],{"class":173},"user.value, name: ",[167,23515,23516],{"class":201},"\"Eva\"",[167,23518,23405],{"class":173},[167,23520,23521],{"class":18658},"\u002F\u002F sí dispara\n",[15,23523,23524],{},"Es útil cuando:",[33,23526,23527,23530,23533],{},[36,23528,23529],{},"Manejas estructuras grandes,",[36,23531,23532],{},"Trabajas con librerías externas,",[36,23534,23535],{},"Quieres controlar manualmente cuándo invalidar.",[3083,23537,23539],{"id":23538},"effects-que-se-ejecutan-más-de-lo-esperado","Effects que se ejecutan más de lo esperado",[15,23541,23542],{},"Causas típicas:",[33,23544,23545,23551,23556,23564],{},[36,23546,23547,23548,23550],{},"Leer demasiadas fuentes dentro de un mismo ",[87,23549,1664],{},";",[36,23552,23553,23554,23550],{},"Crear objetos nuevos en cada evaluación de ",[87,23555,1657],{},[36,23557,3176,23558,23560,23561,23563],{},[87,23559,1664],{}," cuando ",[87,23562,1657],{}," era suficiente;",[36,23565,23566],{},"Mutar estado dentro de un efecto sin aislar dependencias.",[22,23568,23570],{"id":23569},"conclusión","Conclusión",[15,23572,23573],{},"Cuando entiendes el motor interno de Vue 3, cambia tu forma de construir UI:",[33,23575,23576,23579,23582],{},[36,23577,23578],{},"Pasas de ensayo-error a diagnóstico por dependencias;",[36,23580,23581],{},"Distingues entre problema de tracking y problema de rendering;",[36,23583,23584],{},"Diseñas estado para reducir renders y costo computacional.",[15,23586,23587],{},"En aplicaciones grandes, esto impacta directamente en:",[33,23589,23590,23593,23596],{},[36,23591,23592],{},"Rendimiento estable bajo carga;",[36,23594,23595],{},"Menos bugs intermitentes de sincronización;",[36,23597,23598,23599,1020,23601,1020,23603,1020,23605,1020,23607,23609],{},"Decisiones más finas sobre ",[87,23600,2081],{},[87,23602,18239],{},[87,23604,23449],{},[87,23606,1657],{},[87,23608,1661],{}," y scheduling.",[5363,23611,23612],{},[15,23613,23614],{},"La reactividad de Vue 3 no es magia. Es un grafo de dependencias bien diseñado y un scheduler eficiente. Entenderlo te permite escribir código más predecible, más performante y mucho más fácil de depurar.",[924,23616,23617],{},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .s4XuR, html code.shiki .s4XuR{--shiki-default:#E36209;--shiki-dark:#FFAB70}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}",{"title":163,"searchDepth":188,"depth":188,"links":23619},[23620,23621,23627,23630,23639,23646],{"id":21632,"depth":188,"text":21633},{"id":21664,"depth":188,"text":21665,"children":23622},[23623,23624,23625],{"id":21668,"depth":205,"text":21669},{"id":21699,"depth":205,"text":21700},{"id":21782,"depth":205,"text":23626},"activeEffect: la pieza crítica",{"id":21846,"depth":188,"text":21847,"children":23628},[23629],{"id":22853,"depth":205,"text":22854},{"id":22911,"depth":188,"text":22912,"children":23631},[23632,23634,23636,23638],{"id":22915,"depth":205,"text":23633},"reactive usa Proxy",{"id":22966,"depth":205,"text":23635},"ref envuelve primitivos",{"id":23130,"depth":205,"text":23637},"computed se construye sobre effect",{"id":23187,"depth":205,"text":23188},{"id":3080,"depth":188,"text":3081,"children":23640},[23641,23642,23643,23645],{"id":23370,"depth":205,"text":23371},{"id":23431,"depth":205,"text":23432},{"id":23446,"depth":205,"text":23644},"shallowRef vs ref",{"id":23538,"depth":205,"text":23539},{"id":23569,"depth":188,"text":23570},"https:\u002F\u002Fres.cloudinary.com\u002Fdenj4fg7f\u002Fimage\u002Fupload\u002Fv1772497884\u002Fvue-3-reactivity-internals_hhru1s.png","2026-03-03","Disección técnica del motor reactivo de Vue 3: dependency tracking, estructura WeakMap->Map->Set, activeEffect, scheduler, batching y errores reales de arquitectura.",{"updatedAt":23651,"coverCaption":23652,"author":945,"keywords":23653},"2026-03-02T20:00:00-05:00","Portada temporal: reemplazar por arte final de TODOvue",[950,3255,23654,22557,23655,1657],"dependency tracking","batching","\u002Fblog\u002Fvue-3-reactivity-internals.es",[23658],{"headline":21612,"author":23659,"datePublished":23651,"@type":959},{"name":945,"@type":958},{"title":21612,"description":23649},"blog\u002Fvue-3-reactivity-internals.es",[23663,23664,23665,23666],{"tag":3265,"color":3266},{"tag":952,"color":966},{"tag":3269,"color":3270},{"tag":7726,"color":7727},"rGnK0yeWSoPTGptH72z9OmVf4RB34BbFjfhRirLS9g8",{"id":23669,"title":23670,"body":23671,"cover":26441,"coverAlt":26442,"date":26443,"description":26444,"draft":1617,"extension":940,"lab":941,"locale":942,"meta":26445,"navigation":208,"path":26451,"schemaOrg":26452,"seo":26455,"series":26456,"seriesDescription":26457,"seriesOrder":294,"seriesTitle":26458,"slug":941,"stem":26459,"tags":26460,"__hash__":26470},"blog\u002Fblog\u002Fdirectives-vue-custom-directives-guide.es.md","Directivas en Vue: Directivas personalizadas",{"type":8,"value":23672,"toc":26423},[23673,23677,23681,23688,23716,23726,23728,23734,23737,23754,23757,23767,23774,23813,23823,23827,23847,23851,23871,23873,23977,23979,23997,24003,24672,25131,25151,25155,25161,25316,25410,25445,25451,25946,26274,26368,26381,26383,26420],[11,23674,23676],{"id":23675},"directivas-personalizadas-en-vue-3","Directivas personalizadas en Vue 3",[22,23678,23680],{"id":23679},"por-qué-es-importante","Por qué es importante",[15,23682,23683,23684,23687],{},"Las directivas personalizadas te permiten encapsular ",[3929,23685,23686],{},"manipulación imperativa de DOM"," que no encaja bien en un componente o en un composable “puro”. Son especialmente útiles para comportamientos de bajo nivel como:",[33,23689,23690,23696,23702,23708],{},[36,23691,23692,23693,6215],{},"Foco automático (",[87,23694,23695],{},"v-autofocus",[36,23697,23698,23699,6215],{},"Atajos de teclado (",[87,23700,23701],{},"v-hotkey",[36,23703,23704,23705,6215],{},"Clic fuera para cerrar (",[87,23706,23707],{},"v-click-outside",[36,23709,23710,23711,1020,23713,23715],{},"Integración con API del navegador o librerías no reactivas (por ejemplo, ",[87,23712,13757],{},[87,23714,13582],{},", tooltips)",[15,23717,23718,23719,1020,23722,23725],{},"Si no las diseñas bien, es fácil terminar con ",[3929,23720,23721],{},"listeners duplicados",[3929,23723,23724],{},"fugas de memoria"," o lógica duplicada en múltiples vistas.",[22,23727,6253],{"id":6252},[15,23729,23730,23731,1675],{},"Una directiva personalizada es un objeto (o una función abreviada) con hooks que Vue ejecuta sobre un ",[3929,23732,23733],{},"elemento real del DOM",[15,23735,23736],{},"En Vue 3, una directiva puede exponer estos hooks (los más usados en la práctica):",[33,23738,23739,23744,23749],{},[36,23740,23741,23743],{},[87,23742,6389],{},": El elemento ya está en el DOM (ideal para agregar listeners u observers).",[36,23745,23746,23748],{},[87,23747,15033],{},": El componente se actualizó y necesitas refrescar el comportamiento.",[36,23750,23751,23753],{},[87,23752,11272],{},": Limpieza de listeners, timers, observers, etc.",[15,23755,23756],{},"Y también existen hooks “before-*” que son útiles en algunos casos:",[33,23758,23759],{},[36,23760,23761,1020,23763,1020,23765],{},[87,23762,16600],{},[87,23764,15030],{},[87,23766,13468],{},[15,23768,23769,23770,23773],{},"El ",[87,23771,23772],{},"binding"," te da acceso al valor recibido, argumento y modificadores:",[33,23775,23776,23785,23795,23804],{},[36,23777,23778,23781,23782,4266],{},[87,23779,23780],{},"binding.value",": Valor actual (",[87,23783,23784],{},"v-mi-directiva=\"valor\"",[36,23786,23787,23790,23791,21853,23793,4266],{},[87,23788,23789],{},"binding.oldValue",": Valor anterior (solo disponible en ",[87,23792,15030],{},[87,23794,15033],{},[36,23796,23797,23800,23801,4266],{},[87,23798,23799],{},"binding.arg",": Argumento (",[87,23802,23803],{},"v-mi-directiva:delay=\"300\"",[36,23805,23806,23809,23810,4266],{},[87,23807,23808],{},"binding.modifiers",": Modificadores (",[87,23811,23812],{},"v-mi-directiva.once.capture",[15,23814,23815,23816,23819,23820,1675],{},"Regla práctica: usa directivas para ",[3929,23817,23818],{},"comportamiento del elemento",", no para ",[3929,23821,23822],{},"estado de negocio",[22,23824,23826],{"id":23825},"cuándo-usar-directivas-personalizadas","Cuándo usar directivas personalizadas",[3031,23828,23829,23832,23840],{},[36,23830,23831],{},"Cuando necesitas lógica imperativa de DOM reutilizable en varios componentes.",[36,23833,23834,23835,1020,23837,23839],{},"Cuando integras APIs no reactivas (",[87,23836,13757],{},[87,23838,13582],{},", tooltips de terceros).",[36,23841,23842,23843,1020,23845,4266],{},"Cuando quieres un contrato declarativo en template para un comportamiento concreto (",[87,23844,23695],{},[87,23846,23707],{},[22,23848,23850],{"id":23849},"cuándo-evitarlas","Cuándo evitarlas",[3031,23852,23853,23856,23868],{},[36,23854,23855],{},"Cuando la solución real es un componente (estructura visual + estado + eventos).",[36,23857,23858,23859,1020,23862,1020,23865,4266],{},"Cuando la lógica se resuelve con bindings o directivas nativas (",[87,23860,23861],{},"v-model",[87,23863,23864],{},"v-bind",[87,23866,23867],{},"v-on",[36,23869,23870],{},"Cuando intentas usar una directiva para coordinar estado global o flujos de datos complejos.",[22,23872,3081],{"id":3080},[3031,23874,23875,23895,23916,23936,23957],{},[36,23876,23877,23882],{},[3929,23878,23879,23880,1675],{},"No limpiar recursos en ",[87,23881,11272],{},[33,23883,23884,23890],{},[36,23885,23886,23887,23889],{},"Por qué pasa: se agrega un listener en ",[87,23888,6389],{}," y se olvida removerlo.",[36,23891,23892,23893,1675],{},"Solución: guarda referencias (en el elemento o en un closure controlado) y limpia siempre en ",[87,23894,11272],{},[36,23896,23897,23900],{},[3929,23898,23899],{},"Acoplar la directiva a un caso único.",[33,23901,23902,23905],{},[36,23903,23904],{},"Por qué pasa: nombres genéricos con lógica demasiado específica.",[36,23906,23907,23908,1020,23910,1023,23913,1675],{},"Solución: define un contrato claro con ",[87,23909,2215],{},[87,23911,23912],{},"arg",[87,23914,23915],{},"modifiers",[36,23917,23918,23921],{},[3929,23919,23920],{},"Asumir que una directiva aplicada sobre un componente “siempre” afecta un único nodo DOM.",[33,23922,23923,23926],{},[36,23924,23925],{},"Por qué pasa: se presupone un único root estable o que el componente “forwardea” atributos\u002Fdirectivas como esperamos.",[36,23927,23928,23929,1020,23931,1020,23933,23935],{},"Solución: para comportamientos de bajo nivel, prioriza aplicarla a elementos HTML concretos (",[87,23930,2646],{},[87,23932,1237],{},[87,23934,507],{},"). Si la aplicas sobre un componente, asegúrate de que ese componente tenga un root claro y que no rompa el forwarding (casos como múltiples roots o ciertas configuraciones pueden sorprender).",[36,23937,23938,23941],{},[3929,23939,23940],{},"Capturar un callback y no actualizarlo.",[33,23942,23943,23952],{},[36,23944,23945,23946,23948,23949,23951],{},"Por qué pasa: se registra un handler en ",[87,23947,6389],{}," que cierra sobre ",[87,23950,23780],{}," inicial. Si el callback cambia, el listener sigue llamando al antiguo.",[36,23953,23954,23955,1675],{},"Solución: guarda el callback “vigente” en el elemento y actualízalo en ",[87,23956,15033],{},[36,23958,23959,23964],{},[3929,23960,23961,23962,1675],{},"Ejecutar trabajo pesado en cada ",[87,23963,15033],{},[33,23965,23966,23969],{},[36,23967,23968],{},"Por qué pasa: falta comparación entre valor anterior y actual.",[36,23970,23971,23972,1023,23974,23976],{},"Solución: salir temprano cuando corresponda (por ejemplo, comparando ",[87,23973,23780],{},[87,23975,23789],{}," cuando aplique).",[22,23978,7993],{"id":7992},[33,23980,23981,23986,23991],{},[36,23982,23983,23985],{},[87,23984,23695],{},": enfoca un input al montar.",[36,23987,23988,23990],{},[87,23989,23707],{},": cierra menú o modal al hacer clic fuera.",[36,23992,23993,23996],{},[87,23994,23995],{},"v-intersect",": dispara callback cuando un bloque entra en el viewport.",[3083,23998,24000,24002],{"id":23999},"v-click-outside-con-callback-actualizable",[87,24001,23707],{}," (con callback actualizable)",[154,24004,24006],{"className":156,"code":24005,"filename":3256,"language":162,"meta":163,"style":163},"\u003Cscript setup lang=\"ts\">\nimport type { Directive } from \"vue\";\nimport { ref } from \"vue\";\n\ntype ClickOutsideHandler = (event: MouseEvent) => void;\n\ntype ElWithClickOutside = HTMLElement & {\n  __clickOutsideHandler__?: (event: MouseEvent) => void;\n  __clickOutsideCallback__?: ClickOutsideHandler;\n};\n\nconst isOpen = ref(false);\n\nconst vClickOutside: Directive\u003CElWithClickOutside, ClickOutsideHandler> = {\n  mounted(el, binding) {\n    if (typeof binding.value !== \"function\") return;\n\n    \u002F\u002F Guardamos el callback vigente (importante si cambia con el tiempo)\n    el.__clickOutsideCallback__ = binding.value;\n\n    const handler = (event: MouseEvent) => {\n      const target = event.target as Node | null;\n      if (!target) return;\n\n      \u002F\u002F Si el click es fuera del elemento, llamamos al callback actual\n      if (!el.contains(target)) {\n        el.__clickOutsideCallback__?.(event);\n      }\n    };\n\n    el.__clickOutsideHandler__ = handler;\n\n    \u002F\u002F Capture ayuda con overlays \u002F stopPropagation dentro del dropdown\n    document.addEventListener(\"click\", handler, true);\n  },\n\n  updated(el, binding) {\n    \u002F\u002F Mantén el callback al día si cambió\n    if (typeof binding.value === \"function\") {\n      el.__clickOutsideCallback__ = binding.value;\n    }\n  },\n\n  unmounted(el) {\n    if (el.__clickOutsideHandler__) {\n      document.removeEventListener(\"click\", el.__clickOutsideHandler__, true);\n    }\n    delete el.__clickOutsideHandler__;\n    delete el.__clickOutsideCallback__;\n  },\n};\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Csection class=\"dropdown-demo\">\n    \u003Cbutton type=\"button\" @click=\"isOpen = !isOpen\">Alternar menú\u003C\u002Fbutton>\n\n    \u003Cdiv v-if=\"isOpen\" v-click-outside=\"() => (isOpen = false)\">\n      \u003Cp>Panel abierto\u003C\u002Fp>\n      \u003Cp>Haz click fuera para cerrarlo.\u003C\u002Fp>\n    \u003C\u002Fdiv>\n  \u003C\u002Fsection>\n\u003C\u002Ftemplate>\n",[87,24007,24008,24024,24041,24053,24057,24084,24088,24105,24129,24140,24145,24149,24166,24170,24199,24214,24237,24241,24246,24256,24260,24283,24306,24321,24325,24330,24347,24358,24362,24367,24371,24381,24385,24390,24409,24413,24417,24431,24436,24452,24461,24465,24469,24473,24483,24490,24508,24512,24520,24527,24531,24535,24543,24547,24555,24570,24596,24600,24622,24635,24648,24656,24664],{"__ignoreMap":163},[167,24009,24010,24012,24014,24016,24018,24020,24022],{"class":169,"line":170},[167,24011,174],{"class":173},[167,24013,178],{"class":177},[167,24015,182],{"class":181},[167,24017,1045],{"class":181},[167,24019,267],{"class":173},[167,24021,1050],{"class":201},[167,24023,185],{"class":173},[167,24025,24026,24028,24030,24033,24035,24038],{"class":169,"line":188},[167,24027,192],{"class":191},[167,24029,1169],{"class":191},[167,24031,24032],{"class":173}," { Directive } ",[167,24034,198],{"class":191},[167,24036,24037],{"class":201}," \"vue\"",[167,24039,24040],{"class":173},";\n",[167,24042,24043,24045,24047,24049,24051],{"class":169,"line":205},[167,24044,192],{"class":191},[167,24046,195],{"class":173},[167,24048,198],{"class":191},[167,24050,24037],{"class":201},[167,24052,24040],{"class":173},[167,24054,24055],{"class":169,"line":160},[167,24056,209],{"emptyLinePlaceholder":208},[167,24058,24059,24061,24064,24066,24068,24070,24072,24075,24077,24079,24082],{"class":169,"line":238},[167,24060,569],{"class":191},[167,24062,24063],{"class":181}," ClickOutsideHandler",[167,24065,223],{"class":191},[167,24067,2522],{"class":173},[167,24069,4191],{"class":254},[167,24071,583],{"class":191},[167,24073,24074],{"class":181}," MouseEvent",[167,24076,693],{"class":173},[167,24078,639],{"class":191},[167,24080,24081],{"class":219}," void",[167,24083,24040],{"class":173},[167,24085,24086],{"class":169,"line":243},[167,24087,209],{"emptyLinePlaceholder":208},[167,24089,24090,24092,24095,24097,24100,24103],{"class":169,"line":261},[167,24091,569],{"class":191},[167,24093,24094],{"class":181}," ElWithClickOutside",[167,24096,223],{"class":191},[167,24098,24099],{"class":181}," HTMLElement",[167,24101,24102],{"class":191}," &",[167,24104,1901],{"class":173},[167,24106,24107,24110,24113,24115,24117,24119,24121,24123,24125,24127],{"class":169,"line":273},[167,24108,24109],{"class":181},"  __clickOutsideHandler__",[167,24111,24112],{"class":191},"?:",[167,24114,2522],{"class":173},[167,24116,4191],{"class":254},[167,24118,583],{"class":191},[167,24120,24074],{"class":181},[167,24122,693],{"class":173},[167,24124,639],{"class":191},[167,24126,24081],{"class":219},[167,24128,24040],{"class":173},[167,24130,24131,24134,24136,24138],{"class":169,"line":279},[167,24132,24133],{"class":254},"  __clickOutsideCallback__",[167,24135,24112],{"class":191},[167,24137,24063],{"class":181},[167,24139,24040],{"class":173},[167,24141,24142],{"class":169,"line":289},[167,24143,24144],{"class":173},"};\n",[167,24146,24147],{"class":169,"line":294},[167,24148,209],{"emptyLinePlaceholder":208},[167,24150,24151,24153,24155,24157,24159,24161,24163],{"class":169,"line":304},[167,24152,216],{"class":191},[167,24154,5519],{"class":219},[167,24156,223],{"class":191},[167,24158,226],{"class":181},[167,24160,229],{"class":173},[167,24162,3388],{"class":219},[167,24164,24165],{"class":173},");\n",[167,24167,24168],{"class":169,"line":313},[167,24169,209],{"emptyLinePlaceholder":208},[167,24171,24172,24174,24177,24179,24182,24184,24187,24189,24192,24195,24197],{"class":169,"line":161},[167,24173,216],{"class":191},[167,24175,24176],{"class":219}," vClickOutside",[167,24178,583],{"class":191},[167,24180,24181],{"class":181}," Directive",[167,24183,174],{"class":173},[167,24185,24186],{"class":181},"ElWithClickOutside",[167,24188,1020],{"class":173},[167,24190,24191],{"class":181},"ClickOutsideHandler",[167,24193,24194],{"class":173},"> ",[167,24196,267],{"class":191},[167,24198,1901],{"class":173},[167,24200,24201,24203,24205,24208,24210,24212],{"class":169,"line":335},[167,24202,12745],{"class":181},[167,24204,229],{"class":173},[167,24206,24207],{"class":254},"el",[167,24209,1020],{"class":173},[167,24211,23772],{"class":254},[167,24213,258],{"class":173},[167,24215,24216,24218,24220,24222,24225,24227,24230,24232,24235],{"class":169,"line":341},[167,24217,7415],{"class":191},[167,24219,2522],{"class":173},[167,24221,11753],{"class":191},[167,24223,24224],{"class":173}," binding.value ",[167,24226,701],{"class":191},[167,24228,24229],{"class":201}," \"function\"",[167,24231,693],{"class":173},[167,24233,24234],{"class":191},"return",[167,24236,24040],{"class":173},[167,24238,24239],{"class":169,"line":489},[167,24240,209],{"emptyLinePlaceholder":208},[167,24242,24243],{"class":169,"line":495},[167,24244,24245],{"class":18658},"    \u002F\u002F Guardamos el callback vigente (importante si cambia con el tiempo)\n",[167,24247,24248,24251,24253],{"class":169,"line":501},[167,24249,24250],{"class":173},"    el.__clickOutsideCallback__ ",[167,24252,267],{"class":191},[167,24254,24255],{"class":173}," binding.value;\n",[167,24257,24258],{"class":169,"line":512},[167,24259,209],{"emptyLinePlaceholder":208},[167,24261,24262,24264,24267,24269,24271,24273,24275,24277,24279,24281],{"class":169,"line":781},[167,24263,8262],{"class":191},[167,24265,24266],{"class":181}," handler",[167,24268,223],{"class":191},[167,24270,2522],{"class":173},[167,24272,4191],{"class":254},[167,24274,583],{"class":191},[167,24276,24074],{"class":181},[167,24278,693],{"class":173},[167,24280,639],{"class":191},[167,24282,1901],{"class":173},[167,24284,24285,24287,24290,24292,24295,24297,24300,24302,24304],{"class":169,"line":786},[167,24286,4431],{"class":191},[167,24288,24289],{"class":219}," target",[167,24291,223],{"class":191},[167,24293,24294],{"class":173}," event.target ",[167,24296,6688],{"class":191},[167,24298,24299],{"class":181}," Node",[167,24301,659],{"class":191},[167,24303,6563],{"class":219},[167,24305,24040],{"class":173},[167,24307,24308,24310,24312,24314,24317,24319],{"class":169,"line":2674},[167,24309,7257],{"class":191},[167,24311,2522],{"class":173},[167,24313,6637],{"class":191},[167,24315,24316],{"class":173},"target) ",[167,24318,24234],{"class":191},[167,24320,24040],{"class":173},[167,24322,24323],{"class":169,"line":2688},[167,24324,209],{"emptyLinePlaceholder":208},[167,24326,24327],{"class":169,"line":3571},[167,24328,24329],{"class":18658},"      \u002F\u002F Si el click es fuera del elemento, llamamos al callback actual\n",[167,24331,24332,24334,24336,24338,24341,24344],{"class":169,"line":5024},[167,24333,7257],{"class":191},[167,24335,2522],{"class":173},[167,24337,6637],{"class":191},[167,24339,24340],{"class":173},"el.",[167,24342,24343],{"class":181},"contains",[167,24345,24346],{"class":173},"(target)) {\n",[167,24348,24349,24352,24355],{"class":169,"line":5033},[167,24350,24351],{"class":173},"        el.",[167,24353,24354],{"class":181},"__clickOutsideCallback__",[167,24356,24357],{"class":173},"?.(event);\n",[167,24359,24360],{"class":169,"line":5042},[167,24361,7283],{"class":173},[167,24363,24364],{"class":169,"line":6752},[167,24365,24366],{"class":173},"    };\n",[167,24368,24369],{"class":169,"line":6774},[167,24370,209],{"emptyLinePlaceholder":208},[167,24372,24373,24376,24378],{"class":169,"line":6779},[167,24374,24375],{"class":173},"    el.__clickOutsideHandler__ ",[167,24377,267],{"class":191},[167,24379,24380],{"class":173}," handler;\n",[167,24382,24383],{"class":169,"line":6784},[167,24384,209],{"emptyLinePlaceholder":208},[167,24386,24387],{"class":169,"line":6789},[167,24388,24389],{"class":18658},"    \u002F\u002F Capture ayuda con overlays \u002F stopPropagation dentro del dropdown\n",[167,24391,24392,24395,24397,24399,24402,24405,24407],{"class":169,"line":6805},[167,24393,24394],{"class":173},"    document.",[167,24396,1496],{"class":181},[167,24398,229],{"class":173},[167,24400,24401],{"class":201},"\"click\"",[167,24403,24404],{"class":173},", handler, ",[167,24406,390],{"class":219},[167,24408,24165],{"class":173},[167,24410,24411],{"class":169,"line":6820},[167,24412,398],{"class":173},[167,24414,24415],{"class":169,"line":6825},[167,24416,209],{"emptyLinePlaceholder":208},[167,24418,24419,24421,24423,24425,24427,24429],{"class":169,"line":6832},[167,24420,16255],{"class":181},[167,24422,229],{"class":173},[167,24424,24207],{"class":254},[167,24426,1020],{"class":173},[167,24428,23772],{"class":254},[167,24430,258],{"class":173},[167,24432,24433],{"class":169,"line":6841},[167,24434,24435],{"class":18658},"    \u002F\u002F Mantén el callback al día si cambió\n",[167,24437,24438,24440,24442,24444,24446,24448,24450],{"class":169,"line":6850},[167,24439,7415],{"class":191},[167,24441,2522],{"class":173},[167,24443,11753],{"class":191},[167,24445,24224],{"class":173},[167,24447,2546],{"class":191},[167,24449,24229],{"class":201},[167,24451,258],{"class":173},[167,24453,24454,24457,24459],{"class":169,"line":6857},[167,24455,24456],{"class":173},"      el.__clickOutsideCallback__ ",[167,24458,267],{"class":191},[167,24460,24255],{"class":173},[167,24462,24463],{"class":169,"line":6875},[167,24464,4045],{"class":173},[167,24466,24467],{"class":169,"line":6880},[167,24468,398],{"class":173},[167,24470,24471],{"class":169,"line":6885},[167,24472,209],{"emptyLinePlaceholder":208},[167,24474,24475,24477,24479,24481],{"class":169,"line":6894},[167,24476,14618],{"class":181},[167,24478,229],{"class":173},[167,24480,24207],{"class":254},[167,24482,258],{"class":173},[167,24484,24485,24487],{"class":169,"line":6899},[167,24486,7415],{"class":191},[167,24488,24489],{"class":173}," (el.__clickOutsideHandler__) {\n",[167,24491,24492,24495,24497,24499,24501,24504,24506],{"class":169,"line":6908},[167,24493,24494],{"class":173},"      document.",[167,24496,1519],{"class":181},[167,24498,229],{"class":173},[167,24500,24401],{"class":201},[167,24502,24503],{"class":173},", el.__clickOutsideHandler__, ",[167,24505,390],{"class":219},[167,24507,24165],{"class":173},[167,24509,24510],{"class":169,"line":6924},[167,24511,4045],{"class":173},[167,24513,24514,24517],{"class":169,"line":6945},[167,24515,24516],{"class":191},"    delete",[167,24518,24519],{"class":173}," el.__clickOutsideHandler__;\n",[167,24521,24522,24524],{"class":169,"line":6950},[167,24523,24516],{"class":191},[167,24525,24526],{"class":173}," el.__clickOutsideCallback__;\n",[167,24528,24529],{"class":169,"line":6971},[167,24530,398],{"class":173},[167,24532,24533],{"class":169,"line":6985},[167,24534,24144],{"class":173},[167,24536,24537,24539,24541],{"class":169,"line":6999},[167,24538,282],{"class":173},[167,24540,178],{"class":177},[167,24542,185],{"class":173},[167,24544,24545],{"class":169,"line":7013},[167,24546,209],{"emptyLinePlaceholder":208},[167,24548,24549,24551,24553],{"class":169,"line":7022},[167,24550,174],{"class":173},[167,24552,299],{"class":177},[167,24554,185],{"class":173},[167,24556,24557,24559,24561,24563,24565,24568],{"class":169,"line":7027},[167,24558,307],{"class":173},[167,24560,10113],{"class":177},[167,24562,1240],{"class":181},[167,24564,267],{"class":173},[167,24566,24567],{"class":201},"\"dropdown-demo\"",[167,24569,185],{"class":173},[167,24571,24572,24574,24576,24578,24580,24582,24584,24586,24589,24592,24594],{"class":169,"line":7044},[167,24573,1252],{"class":173},[167,24575,507],{"class":177},[167,24577,1169],{"class":181},[167,24579,267],{"class":173},[167,24581,1174],{"class":201},[167,24583,1177],{"class":181},[167,24585,267],{"class":173},[167,24587,24588],{"class":201},"\"isOpen = !isOpen\"",[167,24590,24591],{"class":173},">Alternar menú\u003C\u002F",[167,24593,507],{"class":177},[167,24595,185],{"class":173},[167,24597,24598],{"class":169,"line":7053},[167,24599,209],{"emptyLinePlaceholder":208},[167,24601,24602,24604,24606,24608,24610,24612,24615,24617,24620],{"class":169,"line":7551},[167,24603,1252],{"class":173},[167,24605,1237],{"class":177},[167,24607,5690],{"class":181},[167,24609,267],{"class":173},[167,24611,5695],{"class":201},[167,24613,24614],{"class":181}," v-click-outside",[167,24616,267],{"class":173},[167,24618,24619],{"class":201},"\"() => (isOpen = false)\"",[167,24621,185],{"class":173},[167,24623,24624,24626,24628,24631,24633],{"class":169,"line":7556},[167,24625,1263],{"class":173},[167,24627,15],{"class":177},[167,24629,24630],{"class":173},">Panel abierto\u003C\u002F",[167,24632,15],{"class":177},[167,24634,185],{"class":173},[167,24636,24637,24639,24641,24644,24646],{"class":169,"line":7575},[167,24638,1263],{"class":173},[167,24640,15],{"class":177},[167,24642,24643],{"class":173},">Haz click fuera para cerrarlo.\u003C\u002F",[167,24645,15],{"class":177},[167,24647,185],{"class":173},[167,24649,24650,24652,24654],{"class":169,"line":7588},[167,24651,1287],{"class":173},[167,24653,1237],{"class":177},[167,24655,185],{"class":173},[167,24657,24658,24660,24662],{"class":169,"line":7601},[167,24659,504],{"class":173},[167,24661,10113],{"class":177},[167,24663,185],{"class":173},[167,24665,24666,24668,24670],{"class":169,"line":7614},[167,24667,282],{"class":173},[167,24669,299],{"class":177},[167,24671,185],{"class":173},[154,24673,24675],{"className":156,"code":24674,"filename":3969,"language":162,"meta":163,"style":163},"\u003Cscript>\nexport default {\n  name: \"ClickOutsideExample\",\n  data() {\n    return {\n      isOpen: false,\n    };\n  },\n  directives: {\n    clickOutside: {\n      mounted(el, binding) {\n        if (typeof binding.value !== \"function\") return;\n\n        el.__clickOutsideCallback__ = binding.value;\n\n        el.__clickOutsideHandler__ = (event) => {\n          const target = event.target;\n          if (target && !el.contains(target)) {\n            el.__clickOutsideCallback__?.(event);\n          }\n        };\n\n        document.addEventListener(\"click\", el.__clickOutsideHandler__, true);\n      },\n      updated(el, binding) {\n        if (typeof binding.value === \"function\") {\n          el.__clickOutsideCallback__ = binding.value;\n        }\n      },\n      unmounted(el) {\n        if (el.__clickOutsideHandler__) {\n          document.removeEventListener(\"click\", el.__clickOutsideHandler__, true);\n        }\n        delete el.__clickOutsideHandler__;\n        delete el.__clickOutsideCallback__;\n      },\n    },\n  },\n};\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Csection class=\"dropdown-demo\">\n    \u003Cbutton type=\"button\" @click=\"isOpen = !isOpen\">Alternar menú\u003C\u002Fbutton>\n\n    \u003Cdiv v-if=\"isOpen\" v-click-outside=\"() => (isOpen = false)\">\n      \u003Cp>Panel abierto\u003C\u002Fp>\n      \u003Cp>Haz click fuera para cerrarlo.\u003C\u002Fp>\n    \u003C\u002Fdiv>\n  \u003C\u002Fsection>\n\u003C\u002Ftemplate>\n",[87,24676,24677,24685,24693,24702,24708,24714,24723,24727,24731,24736,24741,24756,24776,24780,24789,24793,24812,24824,24842,24851,24856,24861,24865,24882,24886,24901,24917,24926,24930,24934,24945,24951,24968,24972,24979,24985,24989,24993,24997,25001,25009,25013,25021,25035,25059,25063,25083,25095,25107,25115,25123],{"__ignoreMap":163},[167,24678,24679,24681,24683],{"class":169,"line":170},[167,24680,174],{"class":173},[167,24682,178],{"class":177},[167,24684,185],{"class":173},[167,24686,24687,24689,24691],{"class":169,"line":188},[167,24688,608],{"class":191},[167,24690,3987],{"class":191},[167,24692,1901],{"class":173},[167,24694,24695,24697,24700],{"class":169,"line":205},[167,24696,4394],{"class":173},[167,24698,24699],{"class":201},"\"ClickOutsideExample\"",[167,24701,393],{"class":173},[167,24703,24704,24706],{"class":169,"line":160},[167,24705,7172],{"class":181},[167,24707,763],{"class":173},[167,24709,24710,24712],{"class":169,"line":238},[167,24711,1933],{"class":191},[167,24713,1901],{"class":173},[167,24715,24716,24719,24721],{"class":169,"line":243},[167,24717,24718],{"class":173},"      isOpen: ",[167,24720,3388],{"class":219},[167,24722,393],{"class":173},[167,24724,24725],{"class":169,"line":261},[167,24726,24366],{"class":173},[167,24728,24729],{"class":169,"line":273},[167,24730,398],{"class":173},[167,24732,24733],{"class":169,"line":279},[167,24734,24735],{"class":173},"  directives: {\n",[167,24737,24738],{"class":169,"line":289},[167,24739,24740],{"class":173},"    clickOutside: {\n",[167,24742,24743,24746,24748,24750,24752,24754],{"class":169,"line":294},[167,24744,24745],{"class":181},"      mounted",[167,24747,229],{"class":173},[167,24749,24207],{"class":254},[167,24751,1020],{"class":173},[167,24753,23772],{"class":254},[167,24755,258],{"class":173},[167,24757,24758,24760,24762,24764,24766,24768,24770,24772,24774],{"class":169,"line":304},[167,24759,14792],{"class":191},[167,24761,2522],{"class":173},[167,24763,11753],{"class":191},[167,24765,24224],{"class":173},[167,24767,701],{"class":191},[167,24769,24229],{"class":201},[167,24771,693],{"class":173},[167,24773,24234],{"class":191},[167,24775,24040],{"class":173},[167,24777,24778],{"class":169,"line":313},[167,24779,209],{"emptyLinePlaceholder":208},[167,24781,24782,24785,24787],{"class":169,"line":161},[167,24783,24784],{"class":173},"        el.__clickOutsideCallback__ ",[167,24786,267],{"class":191},[167,24788,24255],{"class":173},[167,24790,24791],{"class":169,"line":335},[167,24792,209],{"emptyLinePlaceholder":208},[167,24794,24795,24797,24800,24802,24804,24806,24808,24810],{"class":169,"line":341},[167,24796,24351],{"class":173},[167,24798,24799],{"class":181},"__clickOutsideHandler__",[167,24801,223],{"class":191},[167,24803,2522],{"class":173},[167,24805,4191],{"class":254},[167,24807,693],{"class":173},[167,24809,639],{"class":191},[167,24811,1901],{"class":173},[167,24813,24814,24817,24819,24821],{"class":169,"line":489},[167,24815,24816],{"class":191},"          const",[167,24818,24289],{"class":219},[167,24820,223],{"class":191},[167,24822,24823],{"class":173}," event.target;\n",[167,24825,24826,24829,24832,24834,24836,24838,24840],{"class":169,"line":495},[167,24827,24828],{"class":191},"          if",[167,24830,24831],{"class":173}," (target ",[167,24833,8335],{"class":191},[167,24835,5621],{"class":191},[167,24837,24340],{"class":173},[167,24839,24343],{"class":181},[167,24841,24346],{"class":173},[167,24843,24844,24847,24849],{"class":169,"line":501},[167,24845,24846],{"class":173},"            el.",[167,24848,24354],{"class":181},[167,24850,24357],{"class":173},[167,24852,24853],{"class":169,"line":512},[167,24854,24855],{"class":173},"          }\n",[167,24857,24858],{"class":169,"line":781},[167,24859,24860],{"class":173},"        };\n",[167,24862,24863],{"class":169,"line":786},[167,24864,209],{"emptyLinePlaceholder":208},[167,24866,24867,24870,24872,24874,24876,24878,24880],{"class":169,"line":2674},[167,24868,24869],{"class":173},"        document.",[167,24871,1496],{"class":181},[167,24873,229],{"class":173},[167,24875,24401],{"class":201},[167,24877,24503],{"class":173},[167,24879,390],{"class":219},[167,24881,24165],{"class":173},[167,24883,24884],{"class":169,"line":2688},[167,24885,8638],{"class":173},[167,24887,24888,24891,24893,24895,24897,24899],{"class":169,"line":3571},[167,24889,24890],{"class":181},"      updated",[167,24892,229],{"class":173},[167,24894,24207],{"class":254},[167,24896,1020],{"class":173},[167,24898,23772],{"class":254},[167,24900,258],{"class":173},[167,24902,24903,24905,24907,24909,24911,24913,24915],{"class":169,"line":5024},[167,24904,14792],{"class":191},[167,24906,2522],{"class":173},[167,24908,11753],{"class":191},[167,24910,24224],{"class":173},[167,24912,2546],{"class":191},[167,24914,24229],{"class":201},[167,24916,258],{"class":173},[167,24918,24919,24922,24924],{"class":169,"line":5033},[167,24920,24921],{"class":173},"          el.__clickOutsideCallback__ ",[167,24923,267],{"class":191},[167,24925,24255],{"class":173},[167,24927,24928],{"class":169,"line":5042},[167,24929,14818],{"class":173},[167,24931,24932],{"class":169,"line":6752},[167,24933,8638],{"class":173},[167,24935,24936,24939,24941,24943],{"class":169,"line":6774},[167,24937,24938],{"class":181},"      unmounted",[167,24940,229],{"class":173},[167,24942,24207],{"class":254},[167,24944,258],{"class":173},[167,24946,24947,24949],{"class":169,"line":6779},[167,24948,14792],{"class":191},[167,24950,24489],{"class":173},[167,24952,24953,24956,24958,24960,24962,24964,24966],{"class":169,"line":6784},[167,24954,24955],{"class":173},"          document.",[167,24957,1519],{"class":181},[167,24959,229],{"class":173},[167,24961,24401],{"class":201},[167,24963,24503],{"class":173},[167,24965,390],{"class":219},[167,24967,24165],{"class":173},[167,24969,24970],{"class":169,"line":6789},[167,24971,14818],{"class":173},[167,24973,24974,24977],{"class":169,"line":6805},[167,24975,24976],{"class":191},"        delete",[167,24978,24519],{"class":173},[167,24980,24981,24983],{"class":169,"line":6820},[167,24982,24976],{"class":191},[167,24984,24526],{"class":173},[167,24986,24987],{"class":169,"line":6825},[167,24988,8638],{"class":173},[167,24990,24991],{"class":169,"line":6832},[167,24992,755],{"class":173},[167,24994,24995],{"class":169,"line":6841},[167,24996,398],{"class":173},[167,24998,24999],{"class":169,"line":6850},[167,25000,24144],{"class":173},[167,25002,25003,25005,25007],{"class":169,"line":6857},[167,25004,282],{"class":173},[167,25006,178],{"class":177},[167,25008,185],{"class":173},[167,25010,25011],{"class":169,"line":6875},[167,25012,209],{"emptyLinePlaceholder":208},[167,25014,25015,25017,25019],{"class":169,"line":6880},[167,25016,174],{"class":173},[167,25018,299],{"class":177},[167,25020,185],{"class":173},[167,25022,25023,25025,25027,25029,25031,25033],{"class":169,"line":6885},[167,25024,307],{"class":173},[167,25026,10113],{"class":177},[167,25028,1240],{"class":181},[167,25030,267],{"class":173},[167,25032,24567],{"class":201},[167,25034,185],{"class":173},[167,25036,25037,25039,25041,25043,25045,25047,25049,25051,25053,25055,25057],{"class":169,"line":6894},[167,25038,1252],{"class":173},[167,25040,507],{"class":177},[167,25042,1169],{"class":181},[167,25044,267],{"class":173},[167,25046,1174],{"class":201},[167,25048,1177],{"class":181},[167,25050,267],{"class":173},[167,25052,24588],{"class":201},[167,25054,24591],{"class":173},[167,25056,507],{"class":177},[167,25058,185],{"class":173},[167,25060,25061],{"class":169,"line":6899},[167,25062,209],{"emptyLinePlaceholder":208},[167,25064,25065,25067,25069,25071,25073,25075,25077,25079,25081],{"class":169,"line":6908},[167,25066,1252],{"class":173},[167,25068,1237],{"class":177},[167,25070,5690],{"class":181},[167,25072,267],{"class":173},[167,25074,5695],{"class":201},[167,25076,24614],{"class":181},[167,25078,267],{"class":173},[167,25080,24619],{"class":201},[167,25082,185],{"class":173},[167,25084,25085,25087,25089,25091,25093],{"class":169,"line":6924},[167,25086,1263],{"class":173},[167,25088,15],{"class":177},[167,25090,24630],{"class":173},[167,25092,15],{"class":177},[167,25094,185],{"class":173},[167,25096,25097,25099,25101,25103,25105],{"class":169,"line":6945},[167,25098,1263],{"class":173},[167,25100,15],{"class":177},[167,25102,24643],{"class":173},[167,25104,15],{"class":177},[167,25106,185],{"class":173},[167,25108,25109,25111,25113],{"class":169,"line":6950},[167,25110,1287],{"class":173},[167,25112,1237],{"class":177},[167,25114,185],{"class":173},[167,25116,25117,25119,25121],{"class":169,"line":6971},[167,25118,504],{"class":173},[167,25120,10113],{"class":177},[167,25122,185],{"class":173},[167,25124,25125,25127,25129],{"class":169,"line":6985},[167,25126,282],{"class":173},[167,25128,299],{"class":177},[167,25130,185],{"class":173},[5363,25132,25133],{},[15,25134,6300,25135,25137,25138,25141,25142,25145,25146,21803,25149,4266],{},[87,25136,1003],{},", cualquier variable ",[3929,25139,25140],{},"camelCase"," que empiece por ",[87,25143,25144],{},"v"," puede usarse como directiva (",[87,25147,25148],{},"vClickOutside",[87,25150,23707],{},[22,25152,25154],{"id":25153},"más-ejemplos-útiles","Más ejemplos útiles",[3083,25156,25158,25160],{"id":25157},"v-autofocus-básico-y-práctico",[87,25159,23695],{}," (básico y práctico)",[154,25162,25165],{"className":542,"code":25163,"filename":25164,"language":546,"meta":163,"style":163},"import type { Directive } from \"vue\";\n\nexport const vAutofocus: Directive\u003CHTMLElement, boolean | undefined> = {\n  mounted(el, binding) {\n    \u002F\u002F v-autofocus=\"false\" desactiva el comportamiento\n    if (binding.value === false) return;\n\n    \u002F\u002F En inputs\u002Ftextarea suele ser lo esperado\n    if (typeof (el as any).focus === \"function\") {\n      (el as any).focus();\n    }\n  },\n};\n","main.ts",[87,25166,25167,25181,25185,25218,25232,25237,25254,25258,25263,25288,25304,25308,25312],{"__ignoreMap":163},[167,25168,25169,25171,25173,25175,25177,25179],{"class":169,"line":170},[167,25170,192],{"class":191},[167,25172,1169],{"class":191},[167,25174,24032],{"class":173},[167,25176,198],{"class":191},[167,25178,24037],{"class":201},[167,25180,24040],{"class":173},[167,25182,25183],{"class":169,"line":188},[167,25184,209],{"emptyLinePlaceholder":208},[167,25186,25187,25189,25191,25194,25196,25198,25200,25203,25205,25208,25210,25212,25214,25216],{"class":169,"line":205},[167,25188,608],{"class":191},[167,25190,611],{"class":191},[167,25192,25193],{"class":219}," vAutofocus",[167,25195,583],{"class":191},[167,25197,24181],{"class":181},[167,25199,174],{"class":173},[167,25201,25202],{"class":181},"HTMLElement",[167,25204,1020],{"class":173},[167,25206,25207],{"class":219},"boolean",[167,25209,659],{"class":191},[167,25211,662],{"class":219},[167,25213,24194],{"class":173},[167,25215,267],{"class":191},[167,25217,1901],{"class":173},[167,25219,25220,25222,25224,25226,25228,25230],{"class":169,"line":160},[167,25221,12745],{"class":181},[167,25223,229],{"class":173},[167,25225,24207],{"class":254},[167,25227,1020],{"class":173},[167,25229,23772],{"class":254},[167,25231,258],{"class":173},[167,25233,25234],{"class":169,"line":238},[167,25235,25236],{"class":18658},"    \u002F\u002F v-autofocus=\"false\" desactiva el comportamiento\n",[167,25238,25239,25241,25244,25246,25248,25250,25252],{"class":169,"line":243},[167,25240,7415],{"class":191},[167,25242,25243],{"class":173}," (binding.value ",[167,25245,2546],{"class":191},[167,25247,5773],{"class":219},[167,25249,693],{"class":173},[167,25251,24234],{"class":191},[167,25253,24040],{"class":173},[167,25255,25256],{"class":169,"line":261},[167,25257,209],{"emptyLinePlaceholder":208},[167,25259,25260],{"class":169,"line":273},[167,25261,25262],{"class":18658},"    \u002F\u002F En inputs\u002Ftextarea suele ser lo esperado\n",[167,25264,25265,25267,25269,25271,25274,25276,25279,25282,25284,25286],{"class":169,"line":279},[167,25266,7415],{"class":191},[167,25268,2522],{"class":173},[167,25270,11753],{"class":191},[167,25272,25273],{"class":173}," (el ",[167,25275,6688],{"class":191},[167,25277,25278],{"class":219}," any",[167,25280,25281],{"class":173},").focus ",[167,25283,2546],{"class":191},[167,25285,24229],{"class":201},[167,25287,258],{"class":173},[167,25289,25290,25293,25295,25297,25299,25301],{"class":169,"line":289},[167,25291,25292],{"class":173},"      (el ",[167,25294,6688],{"class":191},[167,25296,25278],{"class":219},[167,25298,4266],{"class":173},[167,25300,17404],{"class":181},[167,25302,25303],{"class":173},"();\n",[167,25305,25306],{"class":169,"line":294},[167,25307,4045],{"class":173},[167,25309,25310],{"class":169,"line":304},[167,25311,398],{"class":173},[167,25313,25314],{"class":169,"line":313},[167,25315,24144],{"class":173},[154,25317,25320],{"className":2875,"code":25318,"filename":25319,"language":2878,"meta":163,"style":163},"export const vAutofocus = {\n  mounted(el, binding) {\n    \u002F\u002F v-autofocus=\"false\" desactiva el comportamiento\n    if (binding.value === false) return;\n    \u002F\u002F En inputs\u002Ftextarea suele ser lo esperado\n    if (typeof el.focus === \"function\") {\n      el.focus();\n    }\n  },\n};\n","main.js",[87,25321,25322,25334,25348,25352,25368,25372,25389,25398,25402,25406],{"__ignoreMap":163},[167,25323,25324,25326,25328,25330,25332],{"class":169,"line":170},[167,25325,608],{"class":191},[167,25327,611],{"class":191},[167,25329,25193],{"class":219},[167,25331,223],{"class":191},[167,25333,1901],{"class":173},[167,25335,25336,25338,25340,25342,25344,25346],{"class":169,"line":188},[167,25337,12745],{"class":181},[167,25339,229],{"class":173},[167,25341,24207],{"class":254},[167,25343,1020],{"class":173},[167,25345,23772],{"class":254},[167,25347,258],{"class":173},[167,25349,25350],{"class":169,"line":205},[167,25351,25236],{"class":18658},[167,25353,25354,25356,25358,25360,25362,25364,25366],{"class":169,"line":160},[167,25355,7415],{"class":191},[167,25357,25243],{"class":173},[167,25359,2546],{"class":191},[167,25361,5773],{"class":219},[167,25363,693],{"class":173},[167,25365,24234],{"class":191},[167,25367,24040],{"class":173},[167,25369,25370],{"class":169,"line":238},[167,25371,25262],{"class":18658},[167,25373,25374,25376,25378,25380,25383,25385,25387],{"class":169,"line":243},[167,25375,7415],{"class":191},[167,25377,2522],{"class":173},[167,25379,11753],{"class":191},[167,25381,25382],{"class":173}," el.focus ",[167,25384,2546],{"class":191},[167,25386,24229],{"class":201},[167,25388,258],{"class":173},[167,25390,25391,25394,25396],{"class":169,"line":261},[167,25392,25393],{"class":173},"      el.",[167,25395,17404],{"class":181},[167,25397,25303],{"class":173},[167,25399,25400],{"class":169,"line":273},[167,25401,4045],{"class":173},[167,25403,25404],{"class":169,"line":279},[167,25405,398],{"class":173},[167,25407,25408],{"class":169,"line":289},[167,25409,24144],{"class":173},[154,25411,25413],{"className":156,"code":25412,"filename":15280,"language":162,"meta":163,"style":163},"\u003Cinput v-autofocus \u002F>\n\u003Cinput v-autofocus=\"isDesktop\" \u002F>\n",[87,25414,25415,25426],{"__ignoreMap":163},[167,25416,25417,25419,25421,25424],{"class":169,"line":170},[167,25418,174],{"class":173},[167,25420,2646],{"class":177},[167,25422,25423],{"class":181}," v-autofocus",[167,25425,5321],{"class":173},[167,25427,25428,25430,25432,25434,25436,25438,25441,25443],{"class":169,"line":188},[167,25429,174],{"class":173},[167,25431,2646],{"class":177},[167,25433,25423],{"class":181},[167,25435,267],{"class":173},[167,25437,5076],{"class":201},[167,25439,25440],{"class":173},"isDesktop",[167,25442,5076],{"class":201},[167,25444,5321],{"class":173},[3083,25446,25448,25450],{"id":25447},"v-intersect-intersectionobserver",[87,25449,23995],{}," (IntersectionObserver)",[154,25452,25454],{"className":542,"code":25453,"filename":25164,"language":546,"meta":163,"style":163},"import type { Directive } from \"vue\";\n\ntype IntersectValue = {\n  onEnter?: (entry: IntersectionObserverEntry) => void;\n  onLeave?: (entry: IntersectionObserverEntry) => void;\n  options?: IntersectionObserverInit;\n};\n\ntype ElWithObserver = HTMLElement & { __io__?: IntersectionObserver };\n\nexport const vIntersect: Directive\u003CElWithObserver, IntersectValue> = {\n  mounted(el, binding) {\n    const { onEnter, onLeave, options } = binding.value ?? {};\n\n    const io = new IntersectionObserver((entries) => {\n      for (const entry of entries) {\n        if (entry.isIntersecting) onEnter?.(entry);\n        else onLeave?.(entry);\n      }\n    }, options);\n\n    io.observe(el);\n    el.__io__ = io;\n  },\n  updated(el, binding) {\n    \u002F\u002F Si cambian options de forma dinámica, lo más seguro es recrear el observer\n    \u002F\u002F (micro-optimización: solo recrear si realmente cambian)\n    \u002F\u002F Aquí lo dejamos simple y explícito:\n    el.__io__?.disconnect();\n    delete el.__io__;\n    const { onEnter, onLeave, options } = binding.value ?? {};\n    const io = new IntersectionObserver((entries) => {\n      for (const entry of entries) {\n        if (entry.isIntersecting) onEnter?.(entry);\n        else onLeave?.(entry);\n      }\n    }, options);\n    io.observe(el);\n    el.__io__ = io;\n  },\n  unmounted(el) {\n    el.__io__?.disconnect();\n    delete el.__io__;\n  },\n};\n",[87,25455,25456,25470,25474,25485,25510,25533,25545,25549,25553,25579,25583,25612,25626,25655,25659,25683,25700,25712,25722,25726,25731,25735,25746,25756,25760,25774,25779,25784,25789,25799,25806,25832,25854,25868,25878,25886,25890,25894,25902,25910,25914,25924,25932,25938,25942],{"__ignoreMap":163},[167,25457,25458,25460,25462,25464,25466,25468],{"class":169,"line":170},[167,25459,192],{"class":191},[167,25461,1169],{"class":191},[167,25463,24032],{"class":173},[167,25465,198],{"class":191},[167,25467,24037],{"class":201},[167,25469,24040],{"class":173},[167,25471,25472],{"class":169,"line":188},[167,25473,209],{"emptyLinePlaceholder":208},[167,25475,25476,25478,25481,25483],{"class":169,"line":205},[167,25477,569],{"class":191},[167,25479,25480],{"class":181}," IntersectValue",[167,25482,223],{"class":191},[167,25484,1901],{"class":173},[167,25486,25487,25490,25492,25494,25497,25499,25502,25504,25506,25508],{"class":169,"line":160},[167,25488,25489],{"class":181},"  onEnter",[167,25491,24112],{"class":191},[167,25493,2522],{"class":173},[167,25495,25496],{"class":254},"entry",[167,25498,583],{"class":191},[167,25500,25501],{"class":181}," IntersectionObserverEntry",[167,25503,693],{"class":173},[167,25505,639],{"class":191},[167,25507,24081],{"class":219},[167,25509,24040],{"class":173},[167,25511,25512,25515,25517,25519,25521,25523,25525,25527,25529,25531],{"class":169,"line":238},[167,25513,25514],{"class":181},"  onLeave",[167,25516,24112],{"class":191},[167,25518,2522],{"class":173},[167,25520,25496],{"class":254},[167,25522,583],{"class":191},[167,25524,25501],{"class":181},[167,25526,693],{"class":173},[167,25528,639],{"class":191},[167,25530,24081],{"class":219},[167,25532,24040],{"class":173},[167,25534,25535,25538,25540,25543],{"class":169,"line":243},[167,25536,25537],{"class":254},"  options",[167,25539,24112],{"class":191},[167,25541,25542],{"class":181}," IntersectionObserverInit",[167,25544,24040],{"class":173},[167,25546,25547],{"class":169,"line":261},[167,25548,24144],{"class":173},[167,25550,25551],{"class":169,"line":273},[167,25552,209],{"emptyLinePlaceholder":208},[167,25554,25555,25557,25560,25562,25564,25566,25568,25571,25573,25576],{"class":169,"line":279},[167,25556,569],{"class":191},[167,25558,25559],{"class":181}," ElWithObserver",[167,25561,223],{"class":191},[167,25563,24099],{"class":181},[167,25565,24102],{"class":191},[167,25567,577],{"class":173},[167,25569,25570],{"class":254},"__io__",[167,25572,24112],{"class":191},[167,25574,25575],{"class":181}," IntersectionObserver",[167,25577,25578],{"class":173}," };\n",[167,25580,25581],{"class":169,"line":289},[167,25582,209],{"emptyLinePlaceholder":208},[167,25584,25585,25587,25589,25592,25594,25596,25598,25601,25603,25606,25608,25610],{"class":169,"line":294},[167,25586,608],{"class":191},[167,25588,611],{"class":191},[167,25590,25591],{"class":219}," vIntersect",[167,25593,583],{"class":191},[167,25595,24181],{"class":181},[167,25597,174],{"class":173},[167,25599,25600],{"class":181},"ElWithObserver",[167,25602,1020],{"class":173},[167,25604,25605],{"class":181},"IntersectValue",[167,25607,24194],{"class":173},[167,25609,267],{"class":191},[167,25611,1901],{"class":173},[167,25613,25614,25616,25618,25620,25622,25624],{"class":169,"line":304},[167,25615,12745],{"class":181},[167,25617,229],{"class":173},[167,25619,24207],{"class":254},[167,25621,1020],{"class":173},[167,25623,23772],{"class":254},[167,25625,258],{"class":173},[167,25627,25628,25630,25632,25635,25637,25640,25642,25644,25646,25648,25650,25652],{"class":169,"line":313},[167,25629,8262],{"class":191},[167,25631,577],{"class":173},[167,25633,25634],{"class":219},"onEnter",[167,25636,1020],{"class":173},[167,25638,25639],{"class":219},"onLeave",[167,25641,1020],{"class":173},[167,25643,22015],{"class":219},[167,25645,23405],{"class":173},[167,25647,267],{"class":191},[167,25649,24224],{"class":173},[167,25651,15795],{"class":191},[167,25653,25654],{"class":173}," {};\n",[167,25656,25657],{"class":169,"line":161},[167,25658,209],{"emptyLinePlaceholder":208},[167,25660,25661,25663,25666,25668,25670,25672,25674,25677,25679,25681],{"class":169,"line":335},[167,25662,8262],{"class":191},[167,25664,25665],{"class":219}," io",[167,25667,223],{"class":191},[167,25669,4220],{"class":191},[167,25671,25575],{"class":181},[167,25673,1914],{"class":173},[167,25675,25676],{"class":254},"entries",[167,25678,693],{"class":173},[167,25680,639],{"class":191},[167,25682,1901],{"class":173},[167,25684,25685,25688,25690,25692,25695,25697],{"class":169,"line":341},[167,25686,25687],{"class":191},"      for",[167,25689,2522],{"class":173},[167,25691,216],{"class":191},[167,25693,25694],{"class":219}," entry",[167,25696,21963],{"class":191},[167,25698,25699],{"class":173}," entries) {\n",[167,25701,25702,25704,25707,25709],{"class":169,"line":489},[167,25703,14792],{"class":191},[167,25705,25706],{"class":173}," (entry.isIntersecting) ",[167,25708,25634],{"class":181},[167,25710,25711],{"class":173},"?.(entry);\n",[167,25713,25714,25717,25720],{"class":169,"line":495},[167,25715,25716],{"class":191},"        else",[167,25718,25719],{"class":181}," onLeave",[167,25721,25711],{"class":173},[167,25723,25724],{"class":169,"line":501},[167,25725,7283],{"class":173},[167,25727,25728],{"class":169,"line":512},[167,25729,25730],{"class":173},"    }, options);\n",[167,25732,25733],{"class":169,"line":781},[167,25734,209],{"emptyLinePlaceholder":208},[167,25736,25737,25740,25743],{"class":169,"line":786},[167,25738,25739],{"class":173},"    io.",[167,25741,25742],{"class":181},"observe",[167,25744,25745],{"class":173},"(el);\n",[167,25747,25748,25751,25753],{"class":169,"line":2674},[167,25749,25750],{"class":173},"    el.__io__ ",[167,25752,267],{"class":191},[167,25754,25755],{"class":173}," io;\n",[167,25757,25758],{"class":169,"line":2688},[167,25759,398],{"class":173},[167,25761,25762,25764,25766,25768,25770,25772],{"class":169,"line":3571},[167,25763,16255],{"class":181},[167,25765,229],{"class":173},[167,25767,24207],{"class":254},[167,25769,1020],{"class":173},[167,25771,23772],{"class":254},[167,25773,258],{"class":173},[167,25775,25776],{"class":169,"line":5024},[167,25777,25778],{"class":18658},"    \u002F\u002F Si cambian options de forma dinámica, lo más seguro es recrear el observer\n",[167,25780,25781],{"class":169,"line":5033},[167,25782,25783],{"class":18658},"    \u002F\u002F (micro-optimización: solo recrear si realmente cambian)\n",[167,25785,25786],{"class":169,"line":5042},[167,25787,25788],{"class":18658},"    \u002F\u002F Aquí lo dejamos simple y explícito:\n",[167,25790,25791,25794,25797],{"class":169,"line":6752},[167,25792,25793],{"class":173},"    el.__io__?.",[167,25795,25796],{"class":181},"disconnect",[167,25798,25303],{"class":173},[167,25800,25801,25803],{"class":169,"line":6774},[167,25802,24516],{"class":191},[167,25804,25805],{"class":173}," el.__io__;\n",[167,25807,25808,25810,25812,25814,25816,25818,25820,25822,25824,25826,25828,25830],{"class":169,"line":6779},[167,25809,8262],{"class":191},[167,25811,577],{"class":173},[167,25813,25634],{"class":219},[167,25815,1020],{"class":173},[167,25817,25639],{"class":219},[167,25819,1020],{"class":173},[167,25821,22015],{"class":219},[167,25823,23405],{"class":173},[167,25825,267],{"class":191},[167,25827,24224],{"class":173},[167,25829,15795],{"class":191},[167,25831,25654],{"class":173},[167,25833,25834,25836,25838,25840,25842,25844,25846,25848,25850,25852],{"class":169,"line":6784},[167,25835,8262],{"class":191},[167,25837,25665],{"class":219},[167,25839,223],{"class":191},[167,25841,4220],{"class":191},[167,25843,25575],{"class":181},[167,25845,1914],{"class":173},[167,25847,25676],{"class":254},[167,25849,693],{"class":173},[167,25851,639],{"class":191},[167,25853,1901],{"class":173},[167,25855,25856,25858,25860,25862,25864,25866],{"class":169,"line":6789},[167,25857,25687],{"class":191},[167,25859,2522],{"class":173},[167,25861,216],{"class":191},[167,25863,25694],{"class":219},[167,25865,21963],{"class":191},[167,25867,25699],{"class":173},[167,25869,25870,25872,25874,25876],{"class":169,"line":6805},[167,25871,14792],{"class":191},[167,25873,25706],{"class":173},[167,25875,25634],{"class":181},[167,25877,25711],{"class":173},[167,25879,25880,25882,25884],{"class":169,"line":6820},[167,25881,25716],{"class":191},[167,25883,25719],{"class":181},[167,25885,25711],{"class":173},[167,25887,25888],{"class":169,"line":6825},[167,25889,7283],{"class":173},[167,25891,25892],{"class":169,"line":6832},[167,25893,25730],{"class":173},[167,25895,25896,25898,25900],{"class":169,"line":6841},[167,25897,25739],{"class":173},[167,25899,25742],{"class":181},[167,25901,25745],{"class":173},[167,25903,25904,25906,25908],{"class":169,"line":6850},[167,25905,25750],{"class":173},[167,25907,267],{"class":191},[167,25909,25755],{"class":173},[167,25911,25912],{"class":169,"line":6857},[167,25913,398],{"class":173},[167,25915,25916,25918,25920,25922],{"class":169,"line":6875},[167,25917,14618],{"class":181},[167,25919,229],{"class":173},[167,25921,24207],{"class":254},[167,25923,258],{"class":173},[167,25925,25926,25928,25930],{"class":169,"line":6880},[167,25927,25793],{"class":173},[167,25929,25796],{"class":181},[167,25931,25303],{"class":173},[167,25933,25934,25936],{"class":169,"line":6885},[167,25935,24516],{"class":191},[167,25937,25805],{"class":173},[167,25939,25940],{"class":169,"line":6894},[167,25941,398],{"class":173},[167,25943,25944],{"class":169,"line":6899},[167,25945,24144],{"class":173},[154,25947,25949],{"className":2875,"code":25948,"filename":25319,"language":2878,"meta":163,"style":163},"export const vIntersect = {\n  mounted(el, binding) {\n    const { onEnter, onLeave, options } = binding.value ?? {};\n\n    const io = new IntersectionObserver((entries) => {\n      for (const entry of entries) {\n        if (entry.isIntersecting) onEnter?.(entry);\n        else onLeave?.(entry);\n      }\n    }, options);\n    \n    io.observe(el);\n    el.__io__ = io;\n  },\n  updated(el, binding) {\n    \u002F\u002F Si cambian options de forma dinámica, lo más seguro es recrear el observer\n    \u002F\u002F (micro-optimización: solo recrear si realmente cambian)\n    \u002F\u002F Aquí lo dejamos simple y explícito:\n    el.__io__?.disconnect();\n    delete el.__io__;\n    const { onEnter, onLeave, options } = binding.value ?? {};\n    const io = new IntersectionObserver((entries) => {\n      for (const entry of entries) {\n        if (entry.isIntersecting) onEnter?.(entry);\n        else onLeave?.(entry);\n      }\n    }, options);\n    io.observe(el);\n    el.__io__ = io;\n  },\n  unmounted(el) {\n    el.__io__?.disconnect();\n    delete el.__io__;\n  },\n};\n",[87,25950,25951,25963,25977,26003,26007,26029,26043,26053,26061,26065,26069,26074,26082,26090,26094,26108,26112,26116,26120,26128,26134,26160,26182,26196,26206,26214,26218,26222,26230,26238,26242,26252,26260,26266,26270],{"__ignoreMap":163},[167,25952,25953,25955,25957,25959,25961],{"class":169,"line":170},[167,25954,608],{"class":191},[167,25956,611],{"class":191},[167,25958,25591],{"class":219},[167,25960,223],{"class":191},[167,25962,1901],{"class":173},[167,25964,25965,25967,25969,25971,25973,25975],{"class":169,"line":188},[167,25966,12745],{"class":181},[167,25968,229],{"class":173},[167,25970,24207],{"class":254},[167,25972,1020],{"class":173},[167,25974,23772],{"class":254},[167,25976,258],{"class":173},[167,25978,25979,25981,25983,25985,25987,25989,25991,25993,25995,25997,25999,26001],{"class":169,"line":205},[167,25980,8262],{"class":191},[167,25982,577],{"class":173},[167,25984,25634],{"class":219},[167,25986,1020],{"class":173},[167,25988,25639],{"class":219},[167,25990,1020],{"class":173},[167,25992,22015],{"class":219},[167,25994,23405],{"class":173},[167,25996,267],{"class":191},[167,25998,24224],{"class":173},[167,26000,15795],{"class":191},[167,26002,25654],{"class":173},[167,26004,26005],{"class":169,"line":160},[167,26006,209],{"emptyLinePlaceholder":208},[167,26008,26009,26011,26013,26015,26017,26019,26021,26023,26025,26027],{"class":169,"line":238},[167,26010,8262],{"class":191},[167,26012,25665],{"class":219},[167,26014,223],{"class":191},[167,26016,4220],{"class":191},[167,26018,25575],{"class":181},[167,26020,1914],{"class":173},[167,26022,25676],{"class":254},[167,26024,693],{"class":173},[167,26026,639],{"class":191},[167,26028,1901],{"class":173},[167,26030,26031,26033,26035,26037,26039,26041],{"class":169,"line":243},[167,26032,25687],{"class":191},[167,26034,2522],{"class":173},[167,26036,216],{"class":191},[167,26038,25694],{"class":219},[167,26040,21963],{"class":191},[167,26042,25699],{"class":173},[167,26044,26045,26047,26049,26051],{"class":169,"line":261},[167,26046,14792],{"class":191},[167,26048,25706],{"class":173},[167,26050,25634],{"class":181},[167,26052,25711],{"class":173},[167,26054,26055,26057,26059],{"class":169,"line":273},[167,26056,25716],{"class":191},[167,26058,25719],{"class":181},[167,26060,25711],{"class":173},[167,26062,26063],{"class":169,"line":279},[167,26064,7283],{"class":173},[167,26066,26067],{"class":169,"line":289},[167,26068,25730],{"class":173},[167,26070,26071],{"class":169,"line":294},[167,26072,26073],{"class":173},"    \n",[167,26075,26076,26078,26080],{"class":169,"line":304},[167,26077,25739],{"class":173},[167,26079,25742],{"class":181},[167,26081,25745],{"class":173},[167,26083,26084,26086,26088],{"class":169,"line":313},[167,26085,25750],{"class":173},[167,26087,267],{"class":191},[167,26089,25755],{"class":173},[167,26091,26092],{"class":169,"line":161},[167,26093,398],{"class":173},[167,26095,26096,26098,26100,26102,26104,26106],{"class":169,"line":335},[167,26097,16255],{"class":181},[167,26099,229],{"class":173},[167,26101,24207],{"class":254},[167,26103,1020],{"class":173},[167,26105,23772],{"class":254},[167,26107,258],{"class":173},[167,26109,26110],{"class":169,"line":341},[167,26111,25778],{"class":18658},[167,26113,26114],{"class":169,"line":489},[167,26115,25783],{"class":18658},[167,26117,26118],{"class":169,"line":495},[167,26119,25788],{"class":18658},[167,26121,26122,26124,26126],{"class":169,"line":501},[167,26123,25793],{"class":173},[167,26125,25796],{"class":181},[167,26127,25303],{"class":173},[167,26129,26130,26132],{"class":169,"line":512},[167,26131,24516],{"class":191},[167,26133,25805],{"class":173},[167,26135,26136,26138,26140,26142,26144,26146,26148,26150,26152,26154,26156,26158],{"class":169,"line":781},[167,26137,8262],{"class":191},[167,26139,577],{"class":173},[167,26141,25634],{"class":219},[167,26143,1020],{"class":173},[167,26145,25639],{"class":219},[167,26147,1020],{"class":173},[167,26149,22015],{"class":219},[167,26151,23405],{"class":173},[167,26153,267],{"class":191},[167,26155,24224],{"class":173},[167,26157,15795],{"class":191},[167,26159,25654],{"class":173},[167,26161,26162,26164,26166,26168,26170,26172,26174,26176,26178,26180],{"class":169,"line":786},[167,26163,8262],{"class":191},[167,26165,25665],{"class":219},[167,26167,223],{"class":191},[167,26169,4220],{"class":191},[167,26171,25575],{"class":181},[167,26173,1914],{"class":173},[167,26175,25676],{"class":254},[167,26177,693],{"class":173},[167,26179,639],{"class":191},[167,26181,1901],{"class":173},[167,26183,26184,26186,26188,26190,26192,26194],{"class":169,"line":2674},[167,26185,25687],{"class":191},[167,26187,2522],{"class":173},[167,26189,216],{"class":191},[167,26191,25694],{"class":219},[167,26193,21963],{"class":191},[167,26195,25699],{"class":173},[167,26197,26198,26200,26202,26204],{"class":169,"line":2688},[167,26199,14792],{"class":191},[167,26201,25706],{"class":173},[167,26203,25634],{"class":181},[167,26205,25711],{"class":173},[167,26207,26208,26210,26212],{"class":169,"line":3571},[167,26209,25716],{"class":191},[167,26211,25719],{"class":181},[167,26213,25711],{"class":173},[167,26215,26216],{"class":169,"line":5024},[167,26217,7283],{"class":173},[167,26219,26220],{"class":169,"line":5033},[167,26221,25730],{"class":173},[167,26223,26224,26226,26228],{"class":169,"line":5042},[167,26225,25739],{"class":173},[167,26227,25742],{"class":181},[167,26229,25745],{"class":173},[167,26231,26232,26234,26236],{"class":169,"line":6752},[167,26233,25750],{"class":173},[167,26235,267],{"class":191},[167,26237,25755],{"class":173},[167,26239,26240],{"class":169,"line":6774},[167,26241,398],{"class":173},[167,26243,26244,26246,26248,26250],{"class":169,"line":6779},[167,26245,14618],{"class":181},[167,26247,229],{"class":173},[167,26249,24207],{"class":254},[167,26251,258],{"class":173},[167,26253,26254,26256,26258],{"class":169,"line":6784},[167,26255,25793],{"class":173},[167,26257,25796],{"class":181},[167,26259,25303],{"class":173},[167,26261,26262,26264],{"class":169,"line":6789},[167,26263,24516],{"class":191},[167,26265,25805],{"class":173},[167,26267,26268],{"class":169,"line":6805},[167,26269,398],{"class":173},[167,26271,26272],{"class":169,"line":6820},[167,26273,24144],{"class":173},[154,26275,26277],{"className":156,"code":26276,"filename":15280,"language":162,"meta":163,"style":163},"\u003Cdiv\n  v-intersect=\"{\n    onEnter: () => (visible = true),\n    onLeave: () => (visible = false),\n    options: { threshold: 0.2 }\n  }\"\n>\n  ...\n\u003C\u002Fdiv>\n",[87,26278,26279,26286,26298,26317,26334,26344,26351,26355,26360],{"__ignoreMap":163},[167,26280,26281,26283],{"class":169,"line":170},[167,26282,174],{"class":173},[167,26284,26285],{"class":177},"div\n",[167,26287,26288,26291,26293,26295],{"class":169,"line":188},[167,26289,26290],{"class":181},"  v-intersect",[167,26292,267],{"class":173},[167,26294,5076],{"class":201},[167,26296,26297],{"class":173},"{\n",[167,26299,26300,26303,26305,26307,26310,26312,26315],{"class":169,"line":205},[167,26301,26302],{"class":181},"    onEnter",[167,26304,636],{"class":173},[167,26306,639],{"class":191},[167,26308,26309],{"class":173}," (visible ",[167,26311,267],{"class":191},[167,26313,26314],{"class":219}," true",[167,26316,9750],{"class":173},[167,26318,26319,26322,26324,26326,26328,26330,26332],{"class":169,"line":160},[167,26320,26321],{"class":181},"    onLeave",[167,26323,636],{"class":173},[167,26325,639],{"class":191},[167,26327,26309],{"class":173},[167,26329,267],{"class":191},[167,26331,5773],{"class":219},[167,26333,9750],{"class":173},[167,26335,26336,26339,26342],{"class":169,"line":238},[167,26337,26338],{"class":173},"    options: { threshold: ",[167,26340,26341],{"class":219},"0.2",[167,26343,599],{"class":173},[167,26345,26346,26349],{"class":169,"line":243},[167,26347,26348],{"class":173},"  }",[167,26350,5081],{"class":201},[167,26352,26353],{"class":169,"line":261},[167,26354,185],{"class":173},[167,26356,26357],{"class":169,"line":273},[167,26358,26359],{"class":173},"  ...\n",[167,26361,26362,26364,26366],{"class":169,"line":279},[167,26363,282],{"class":173},[167,26365,1237],{"class":177},[167,26367,185],{"class":173},[5363,26369,26370],{},[15,26371,26372,26373,26375,26376,1658,26378,26380],{},"Si vas a recrear observers en ",[87,26374,15033],{},", intenta comparar ",[87,26377,23780],{},[87,26379,23789],{}," para evitar trabajo innecesario.",[22,26382,7674],{"id":7673},[33,26384,26385,26391,26397,26407,26417],{},[36,26386,26387,26388,1675],{},"Las directivas personalizadas son ideales para encapsular ",[3929,26389,26390],{},"comportamiento de DOM reutilizable",[36,26392,26393,26394,26396],{},"El hook ",[87,26395,11272],{}," es obligatorio para limpieza y evitar fugas.",[36,26398,26399,26400,1020,26402,1020,26404,26406],{},"Mantén un contrato simple (",[87,26401,2215],{},[87,26403,23912],{},[87,26405,23915],{},") y evita mezclar estado de negocio.",[36,26408,26409,26410,26413,26414,26416],{},"En Vue 3, ",[3929,26411,26412],{},"si el callback puede cambiar",", actualízalo en ",[87,26415,15033],{}," para no quedarte con una referencia vieja.",[36,26418,26419],{},"Prioriza Composition API; usa Options API cuando lo necesites por compatibilidad incremental.",[924,26421,26422],{},"html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .s9eBZ, html code.shiki .s9eBZ{--shiki-default:#22863A;--shiki-dark:#85E89D}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .s4XuR, html code.shiki .s4XuR{--shiki-default:#E36209;--shiki-dark:#FFAB70}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":163,"searchDepth":188,"depth":188,"links":26424},[26425,26426,26427,26428,26429,26430,26434,26440],{"id":23679,"depth":188,"text":23680},{"id":6252,"depth":188,"text":6253},{"id":23825,"depth":188,"text":23826},{"id":23849,"depth":188,"text":23850},{"id":3080,"depth":188,"text":3081},{"id":7992,"depth":188,"text":7993,"children":26431},[26432],{"id":23999,"depth":205,"text":26433},"v-click-outside (con callback actualizable)",{"id":25153,"depth":188,"text":25154,"children":26435},[26436,26438],{"id":25157,"depth":205,"text":26437},"v-autofocus (básico y práctico)",{"id":25447,"depth":205,"text":26439},"v-intersect (IntersectionObserver)",{"id":7673,"depth":188,"text":7674},"https:\u002F\u002Fres.cloudinary.com\u002Fdenj4fg7f\u002Fimage\u002Fupload\u002Fv1772207944\u002Fdirectives-vue-custom-directives-guide_nwp7od.png","Ejemplo de directiva personalizada en Vue 3","2026-02-27","Aprende a crear directivas personalizadas en Vue 3 con casos reales, ciclo de vida, limpieza correcta y ejemplos equivalentes en Composition API y Options API.",{"updatedAt":26446,"coverCaption":26442,"author":945,"keywords":26447},"2026-02-27T12:30:00-05:00",[3254,26448,26449,26450,3256,3969],"directivas personalizadas","custom directives","ciclo de vida","\u002Fblog\u002Fdirectives-vue-custom-directives-guide.es",[26453],{"headline":23676,"author":26454,"datePublished":26446,"@type":959},{"name":945,"@type":958},{"title":23670,"description":26444},"vue-directives","Ruta paso a paso para dominar las directivas principales de Vue.","Directivas en Vue","blog\u002Fdirectives-vue-custom-directives-guide.es",[26461,26464,26467,26468,26469],{"tag":26462,"color":26463},"Directivas","#6C5CE7",{"tag":26465,"color":26466},"Directivas Personalizadas","#7D5FFF",{"tag":952,"color":966},{"tag":3265,"color":3266},{"tag":7726,"color":7727},"wVpr_e--WXOvyGkAScAp5eWTfVDbzY9Te6sVUdj96GA",{"id":26472,"title":26473,"body":26474,"cover":27734,"coverAlt":27735,"date":27736,"description":27737,"draft":1617,"extension":940,"lab":941,"locale":942,"meta":27738,"navigation":208,"path":27743,"schemaOrg":27744,"seo":27748,"series":26456,"seriesDescription":26457,"seriesOrder":289,"seriesTitle":26458,"slug":941,"stem":27749,"tags":27750,"__hash__":27757},"blog\u002Fblog\u002Fdirectives-vue-v-cloak-guide.es.md","Directivas en Vue: v-cloak",{"type":8,"value":26475,"toc":27712},[26476,26483,26496,26500,26503,26508,26513,26528,26530,26538,26543,26548,26582,26595,26605,26609,26616,26619,26632,26635,26646,26648,26652,26663,26665,26667,26681,26688,26690,26697,26704,26711,26721,26725,26731,26735,26740,26742,26746,26774,26782,26786,26923,27061,27176,27180,27186,27190,27426,27655,27681,27683,27688,27693,27709],[11,26477,26479,26480],{"id":26478},"directivas-en-vue-v-cloak","Directivas en Vue: ",[87,26481,26482],{},"v-cloak",[15,26484,26485,26487,26488,26491,26492,26495],{},[87,26486,26482],{}," resuelve un problema visual clásico en aplicaciones con ",[3929,26489,26490],{},"Vue",": el parpadeo de plantillas sin compilar (",[87,26493,26494],{},"{{ ... }}",") antes de que la instancia termine de montarse. Es una directiva simple, pero estratégica cuando te importa la percepción de calidad en la primera carga.",[22,26497,26499],{"id":26498},"por-qué-importa","Por qué importa",[15,26501,26502],{},"Si tu HTML inicial contiene expresiones de Vue, el navegador puede renderizarlas en crudo durante unos milisegundos, especialmente si el bundle aún no se ha descargado o ejecutado.\nEse “flash” degrada la experiencia y transmite sensación de inestabilidad.",[15,26504,26505,26507],{},[87,26506,26482],{}," evita ese estado intermedio ocultando el contenido hasta que Vue haya completado el montaje y compilado el template.",[15,26509,26510],{},[3929,26511,26512],{},"Beneficios directos:",[33,26514,26515,26522,26525],{},[36,26516,26517,26518,26521],{},"El usuario no ve ",[87,26519,26520],{},"{{ message }}"," ni estructuras sin procesar.",[36,26523,26524],{},"La carga inicial se percibe más limpia y profesional.",[36,26526,26527],{},"Reduces ruido visual en landing pages, layouts estáticos o integraciones progresivas.",[22,26529,6253],{"id":6252},[15,26531,26532,26534,26535,26537],{},[87,26533,26482],{}," funciona en conjunto con CSS.\nVue elimina automáticamente el atributo ",[87,26536,26482],{}," del nodo cuando la instancia ha sido montada y el template compilado.",[15,26539,26540],{},[3929,26541,26542],{},"Patrón típico:",[3031,26544,26545],{},[36,26546,26547],{},"Añades una regla CSS global:",[154,26549,26554],{"className":26550,"code":26551,"filename":26552,"language":26553,"meta":163,"style":163},"language-css shiki shiki-themes github-light github-dark","[v-cloak] {\n display: none;\n}\n","style.css","css",[87,26555,26556,26566,26578],{"__ignoreMap":163},[167,26557,26558,26561,26563],{"class":169,"line":170},[167,26559,26560],{"class":173},"[",[167,26562,26482],{"class":181},[167,26564,26565],{"class":173},"] {\n",[167,26567,26568,26571,26573,26576],{"class":169,"line":188},[167,26569,26570],{"class":219}," display",[167,26572,1103],{"class":173},[167,26574,26575],{"class":219},"none",[167,26577,24040],{"class":173},[167,26579,26580],{"class":169,"line":205},[167,26581,276],{"class":173},[3031,26583,26584,26589,26592],{"start":188},[36,26585,26586,26587,1675],{},"Marcas el contenedor raíz (o el fragmento necesario) con ",[87,26588,26482],{},[36,26590,26591],{},"Mientras Vue no monta, el bloque permanece oculto.",[36,26593,26594],{},"Cuando Vue monta, elimina el atributo y el contenido aparece ya procesado.",[5363,26596,26597],{},[15,26598,26599,26601,26602,4266],{},[87,26600,26482],{}," no transforma datos ni agrega reactividad. Solo controla la visibilidad durante la fase previa al montaje (",[87,26603,26604],{},"before mount",[22,26606,26608],{"id":26607},"consideraciones-en-vue-3-y-ssr","Consideraciones en Vue 3 y SSR",[15,26610,26611,26612,26615],{},"En aplicaciones con SSR (por ejemplo, usando ",[3929,26613,26614],{},"Nuxt 4","), el HTML ya llega compilado desde el servidor, por lo que normalmente no existe riesgo de mostrar interpolaciones en crudo.",[15,26617,26618],{},"En esos casos:",[33,26620,26621,26626,26629],{},[36,26622,26623,26625],{},[87,26624,26482],{}," suele ser innecesario.",[36,26627,26628],{},"No corrige problemas de hydration mismatch.",[36,26630,26631],{},"No sustituye una estrategia adecuada de loading o streaming.",[15,26633,26634],{},"Su utilidad es mayor en:",[33,26636,26637,26640,26643],{},[36,26638,26639],{},"Integraciones progresivas sobre HTML existente.",[36,26641,26642],{},"Aplicaciones SPA donde el bundle puede tardar en ejecutarse.",[36,26644,26645],{},"Entornos donde el HTML inicial contiene marcadores Vue sin procesar.",[22,26647,6318],{"id":6317},[15,26649,1577,26650,13623],{},[87,26651,26482],{},[33,26653,26654,26657,26660],{},[36,26655,26656],{},"Sirves HTML inicial con plantillas Vue visibles (CMS, integración progresiva).",[36,26658,26659],{},"La app tarda perceptiblemente en montar por tamaño del bundle o red lenta.",[36,26661,26662],{},"Quieres blindar la primera impresión visual de componentes críticos (hero, login, pricing).",[22,26664,6345],{"id":6344},[15,26666,6351],{},[33,26668,26669,26672,26675,26678],{},[36,26670,26671],{},"No existe riesgo real de mostrar interpolaciones.",[36,26673,26674],{},"Puedes resolver el estado inicial con skeletons o placeholders más ricos.",[36,26676,26677],{},"Ocultar el contenedor completo afecta accesibilidad o continuidad visual.",[36,26679,26680],{},"Estás en SSR donde el HTML ya llega procesado correctamente.",[5363,26682,26683],{},[15,26684,26685,26687],{},[87,26686,26482],{}," no es una estrategia de performance; es un ajuste de acabado visual.",[22,26689,3081],{"id":3080},[3083,26691,26693,26694,26696],{"id":26692},"_1-usar-v-cloak-sin-css","1) Usar ",[87,26695,26482],{}," sin CSS",[15,26698,26699,26700,26703],{},"Si no defines ",[87,26701,26702],{},"[v-cloak] { display: none; }",", la directiva no tendrá efecto visible.",[3083,26705,26707,26708],{"id":26706},"_2-declarar-la-regla-en-un-style-scoped","2) Declarar la regla en un ",[87,26709,26710],{},"\u003Cstyle scoped>",[15,26712,26713,26714,26716,26717,26720],{},"Si la regla vive en un ",[87,26715,26710],{}," de otro componente, no afectará al nodo marcado.\nDeclárala en estilos globales (por ejemplo, en ",[87,26718,26719],{},"main.css"," o en el layout raíz).",[3083,26722,26724],{"id":26723},"_3-ocultar-demasiado-contenido","3) Ocultar demasiado contenido",[15,26726,26727,26728,26730],{},"Aplicar ",[87,26729,26482],{}," al wrapper completo puede dejar la pantalla vacía durante el arranque.\nEn vistas complejas, úsalo solo en fragmentos donde exista riesgo real de parpadeo.",[3083,26732,26734],{"id":26733},"_4-esperar-que-resuelva-hydration-mismatches","4) Esperar que resuelva hydration mismatches",[15,26736,26737,26739],{},[87,26738,26482],{}," no corrige diferencias entre el HTML del servidor y el render del cliente.\nLos hydration mismatches deben resolverse alineando la lógica de renderizado entre servidor y cliente.",[22,26741,7993],{"id":7992},[3083,26743,26745],{"id":26744},"_1-uso-mínimo-global","1) Uso mínimo global",[154,26747,26749],{"className":26550,"code":26748,"filename":26552,"language":26553,"meta":163,"style":163},"[v-cloak] {\n  display: none;\n}\n",[87,26750,26751,26759,26770],{"__ignoreMap":163},[167,26752,26753,26755,26757],{"class":169,"line":170},[167,26754,26560],{"class":173},[167,26756,26482],{"class":181},[167,26758,26565],{"class":173},[167,26760,26761,26764,26766,26768],{"class":169,"line":188},[167,26762,26763],{"class":219},"  display",[167,26765,1103],{"class":173},[167,26767,26575],{"class":219},[167,26769,24040],{"class":173},[167,26771,26772],{"class":169,"line":205},[167,26773,276],{"class":173},[5363,26775,26776],{},[15,26777,26778,26779,26781],{},"Con esa regla global, cualquier bloque marcado con ",[87,26780,26482],{}," permanecerá oculto hasta que Vue elimine el atributo tras el montaje.",[3083,26783,26785],{"id":26784},"_2-hero-con-texto-reactivo","2) Hero con texto reactivo",[154,26787,26790],{"className":156,"code":26788,"filename":3256,"highlights":26789,"language":162,"meta":163,"style":163},"\u003Cscript setup lang=\"ts\">\nimport { ref } from \"vue\";\n\nconst headline = ref(\"Aprende Vue sin fricción\");\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Csection v-cloak class=\"hero\">\n    \u003Ch1>{{ headline }}\u003C\u002Fh1>\n    \u003Cp>Guías prácticas para equipos frontend.\u003C\u002Fp>\n  \u003C\u002Fsection>\n\u003C\u002Ftemplate>\n",[273],[87,26791,26792,26808,26820,26824,26842,26850,26854,26862,26881,26894,26907,26915],{"__ignoreMap":163},[167,26793,26794,26796,26798,26800,26802,26804,26806],{"class":169,"line":170},[167,26795,174],{"class":173},[167,26797,178],{"class":177},[167,26799,182],{"class":181},[167,26801,1045],{"class":181},[167,26803,267],{"class":173},[167,26805,1050],{"class":201},[167,26807,185],{"class":173},[167,26809,26810,26812,26814,26816,26818],{"class":169,"line":188},[167,26811,192],{"class":191},[167,26813,195],{"class":173},[167,26815,198],{"class":191},[167,26817,24037],{"class":201},[167,26819,24040],{"class":173},[167,26821,26822],{"class":169,"line":205},[167,26823,209],{"emptyLinePlaceholder":208},[167,26825,26826,26828,26831,26833,26835,26837,26840],{"class":169,"line":160},[167,26827,216],{"class":191},[167,26829,26830],{"class":219}," headline",[167,26832,223],{"class":191},[167,26834,226],{"class":181},[167,26836,229],{"class":173},[167,26838,26839],{"class":201},"\"Aprende Vue sin fricción\"",[167,26841,24165],{"class":173},[167,26843,26844,26846,26848],{"class":169,"line":238},[167,26845,282],{"class":173},[167,26847,178],{"class":177},[167,26849,185],{"class":173},[167,26851,26852],{"class":169,"line":243},[167,26853,209],{"emptyLinePlaceholder":208},[167,26855,26856,26858,26860],{"class":169,"line":261},[167,26857,174],{"class":173},[167,26859,299],{"class":177},[167,26861,185],{"class":173},[167,26863,26865,26867,26869,26872,26874,26876,26879],{"class":26864,"line":273},[169,213],[167,26866,307],{"class":173},[167,26868,10113],{"class":177},[167,26870,26871],{"class":181}," v-cloak",[167,26873,1240],{"class":181},[167,26875,267],{"class":173},[167,26877,26878],{"class":201},"\"hero\"",[167,26880,185],{"class":173},[167,26882,26883,26885,26887,26890,26892],{"class":169,"line":279},[167,26884,1252],{"class":173},[167,26886,11],{"class":177},[167,26888,26889],{"class":173},">{{ headline }}\u003C\u002F",[167,26891,11],{"class":177},[167,26893,185],{"class":173},[167,26895,26896,26898,26900,26903,26905],{"class":169,"line":289},[167,26897,1252],{"class":173},[167,26899,15],{"class":177},[167,26901,26902],{"class":173},">Guías prácticas para equipos frontend.\u003C\u002F",[167,26904,15],{"class":177},[167,26906,185],{"class":173},[167,26908,26909,26911,26913],{"class":169,"line":294},[167,26910,504],{"class":173},[167,26912,10113],{"class":177},[167,26914,185],{"class":173},[167,26916,26917,26919,26921],{"class":169,"line":304},[167,26918,282],{"class":173},[167,26920,299],{"class":177},[167,26922,185],{"class":173},[154,26924,26927],{"className":156,"code":26925,"filename":3969,"highlights":26926,"language":162,"meta":163,"style":163},"\u003Cscript lang=\"ts\">\nexport default {\n  data() {\n    return {\n      headline: \"Aprende Vue sin fricción\",\n    };\n  },\n};\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Csection v-cloak class=\"hero\">\n    \u003Ch1>{{ headline }}\u003C\u002Fh1>\n    \u003Cp>Guías prácticas para equipos frontend.\u003C\u002Fp>\n  \u003C\u002Fsection>\n\u003C\u002Ftemplate>\n",[304],[87,26928,26929,26943,26951,26957,26963,26972,26976,26980,26984,26992,26996,27004,27021,27033,27045,27053],{"__ignoreMap":163},[167,26930,26931,26933,26935,26937,26939,26941],{"class":169,"line":170},[167,26932,174],{"class":173},[167,26934,178],{"class":177},[167,26936,1045],{"class":181},[167,26938,267],{"class":173},[167,26940,1050],{"class":201},[167,26942,185],{"class":173},[167,26944,26945,26947,26949],{"class":169,"line":188},[167,26946,608],{"class":191},[167,26948,3987],{"class":191},[167,26950,1901],{"class":173},[167,26952,26953,26955],{"class":169,"line":205},[167,26954,7172],{"class":181},[167,26956,763],{"class":173},[167,26958,26959,26961],{"class":169,"line":160},[167,26960,1933],{"class":191},[167,26962,1901],{"class":173},[167,26964,26965,26968,26970],{"class":169,"line":238},[167,26966,26967],{"class":173},"      headline: ",[167,26969,26839],{"class":201},[167,26971,393],{"class":173},[167,26973,26974],{"class":169,"line":243},[167,26975,24366],{"class":173},[167,26977,26978],{"class":169,"line":261},[167,26979,398],{"class":173},[167,26981,26982],{"class":169,"line":273},[167,26983,24144],{"class":173},[167,26985,26986,26988,26990],{"class":169,"line":279},[167,26987,282],{"class":173},[167,26989,178],{"class":177},[167,26991,185],{"class":173},[167,26993,26994],{"class":169,"line":289},[167,26995,209],{"emptyLinePlaceholder":208},[167,26997,26998,27000,27002],{"class":169,"line":294},[167,26999,174],{"class":173},[167,27001,299],{"class":177},[167,27003,185],{"class":173},[167,27005,27007,27009,27011,27013,27015,27017,27019],{"class":27006,"line":304},[169,213],[167,27008,307],{"class":173},[167,27010,10113],{"class":177},[167,27012,26871],{"class":181},[167,27014,1240],{"class":181},[167,27016,267],{"class":173},[167,27018,26878],{"class":201},[167,27020,185],{"class":173},[167,27022,27023,27025,27027,27029,27031],{"class":169,"line":313},[167,27024,1252],{"class":173},[167,27026,11],{"class":177},[167,27028,26889],{"class":173},[167,27030,11],{"class":177},[167,27032,185],{"class":173},[167,27034,27035,27037,27039,27041,27043],{"class":169,"line":161},[167,27036,1252],{"class":173},[167,27038,15],{"class":177},[167,27040,26902],{"class":173},[167,27042,15],{"class":177},[167,27044,185],{"class":173},[167,27046,27047,27049,27051],{"class":169,"line":335},[167,27048,504],{"class":173},[167,27050,10113],{"class":177},[167,27052,185],{"class":173},[167,27054,27055,27057,27059],{"class":169,"line":341},[167,27056,282],{"class":173},[167,27058,299],{"class":177},[167,27060,185],{"class":173},[154,27062,27065],{"className":26550,"code":27063,"filename":26552,"highlights":27064,"language":26553,"meta":163,"style":163},"[v-cloak] {\n  display: none;\n}\n\n.hero {\n  background: linear-gradient(135deg, #6C5CE7, #B173BF);\n  color: white;\n  padding: 2rem;\n  border-radius: 8px;\n}\n",[170,188,205],[87,27066,27067,27076,27087,27092,27096,27103,27131,27143,27157,27172],{"__ignoreMap":163},[167,27068,27070,27072,27074],{"class":27069,"line":170},[169,213],[167,27071,26560],{"class":173},[167,27073,26482],{"class":181},[167,27075,26565],{"class":173},[167,27077,27079,27081,27083,27085],{"class":27078,"line":188},[169,213],[167,27080,26763],{"class":219},[167,27082,1103],{"class":173},[167,27084,26575],{"class":219},[167,27086,24040],{"class":173},[167,27088,27090],{"class":27089,"line":205},[169,213],[167,27091,276],{"class":173},[167,27093,27094],{"class":169,"line":160},[167,27095,209],{"emptyLinePlaceholder":208},[167,27097,27098,27101],{"class":169,"line":238},[167,27099,27100],{"class":181},".hero",[167,27102,1901],{"class":173},[167,27104,27105,27108,27110,27113,27115,27118,27121,27123,27125,27127,27129],{"class":169,"line":243},[167,27106,27107],{"class":219},"  background",[167,27109,1103],{"class":173},[167,27111,27112],{"class":219},"linear-gradient",[167,27114,229],{"class":173},[167,27116,27117],{"class":219},"135",[167,27119,27120],{"class":191},"deg",[167,27122,1020],{"class":173},[167,27124,26463],{"class":219},[167,27126,1020],{"class":173},[167,27128,5421],{"class":219},[167,27130,24165],{"class":173},[167,27132,27133,27136,27138,27141],{"class":169,"line":261},[167,27134,27135],{"class":219},"  color",[167,27137,1103],{"class":173},[167,27139,27140],{"class":219},"white",[167,27142,24040],{"class":173},[167,27144,27145,27148,27150,27152,27155],{"class":169,"line":273},[167,27146,27147],{"class":219},"  padding",[167,27149,1103],{"class":173},[167,27151,1849],{"class":219},[167,27153,27154],{"class":191},"rem",[167,27156,24040],{"class":173},[167,27158,27159,27162,27164,27167,27170],{"class":169,"line":279},[167,27160,27161],{"class":219},"  border-radius",[167,27163,1103],{"class":173},[167,27165,27166],{"class":219},"8",[167,27168,27169],{"class":191},"px",[167,27171,24040],{"class":173},[167,27173,27174],{"class":169,"line":289},[167,27175,276],{"class":173},[3083,27177,27179],{"id":27178},"_3-integración-progresiva-en-html-existente","3) Integración progresiva en HTML existente",[15,27181,27182,27183,27185],{},"Cuando montas Vue en una sección específica de una página legacy (por ejemplo, un bloque de login o un widget interactivo), ",[87,27184,26482],{}," evita mostrar marcadores sin procesar durante el bootstrap inicial.",[3083,27187,27189],{"id":27188},"_4-ejemplo-completo-con-estado-asíncrono","4) Ejemplo completo con estado asíncrono",[154,27191,27193],{"className":156,"code":27192,"filename":3256,"language":162,"meta":163,"style":163},"\u003Cscript setup lang=\"ts\">\nimport { onMounted, ref } from \"vue\";\n\nconst user = ref\u003C{ name: string } | null>(null);\n\nonMounted(async () => {\n  await new Promise((resolve) => setTimeout(resolve, 350));\n  user.value = { name: \"Cristhian\" };\n});\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Caside v-cloak class=\"welcome-card\">\n    \u003Ch2>Panel\u003C\u002Fh2>\n    \u003Cp v-if=\"user\">Hola, {{ user.name }}\u003C\u002Fp>\n    \u003Cp v-else>Cargando perfil...\u003C\u002Fp>\n  \u003C\u002Faside>\n\u003C\u002Ftemplate>\n",[87,27194,27195,27211,27224,27228,27258,27262,27276,27304,27319,27324,27332,27336,27344,27362,27375,27395,27410,27418],{"__ignoreMap":163},[167,27196,27197,27199,27201,27203,27205,27207,27209],{"class":169,"line":170},[167,27198,174],{"class":173},[167,27200,178],{"class":177},[167,27202,182],{"class":181},[167,27204,1045],{"class":181},[167,27206,267],{"class":173},[167,27208,1050],{"class":201},[167,27210,185],{"class":173},[167,27212,27213,27215,27218,27220,27222],{"class":169,"line":188},[167,27214,192],{"class":191},[167,27216,27217],{"class":173}," { onMounted, ref } ",[167,27219,198],{"class":191},[167,27221,24037],{"class":201},[167,27223,24040],{"class":173},[167,27225,27226],{"class":169,"line":205},[167,27227,209],{"emptyLinePlaceholder":208},[167,27229,27230,27232,27234,27236,27238,27240,27242,27244,27246,27248,27250,27252,27254,27256],{"class":169,"line":160},[167,27231,216],{"class":191},[167,27233,23472],{"class":219},[167,27235,223],{"class":191},[167,27237,226],{"class":181},[167,27239,1068],{"class":173},[167,27241,592],{"class":254},[167,27243,583],{"class":191},[167,27245,586],{"class":219},[167,27247,23405],{"class":173},[167,27249,11759],{"class":191},[167,27251,6563],{"class":219},[167,27253,6566],{"class":173},[167,27255,6569],{"class":219},[167,27257,24165],{"class":173},[167,27259,27260],{"class":169,"line":238},[167,27261,209],{"emptyLinePlaceholder":208},[167,27263,27264,27266,27268,27270,27272,27274],{"class":169,"line":243},[167,27265,6792],{"class":181},[167,27267,229],{"class":173},[167,27269,2519],{"class":191},[167,27271,1464],{"class":173},[167,27273,639],{"class":191},[167,27275,1901],{"class":173},[167,27277,27278,27280,27282,27284,27286,27288,27290,27292,27295,27298,27301],{"class":169,"line":261},[167,27279,2571],{"class":191},[167,27281,4220],{"class":191},[167,27283,23249],{"class":219},[167,27285,1914],{"class":173},[167,27287,23254],{"class":254},[167,27289,693],{"class":173},[167,27291,639],{"class":191},[167,27293,27294],{"class":181}," setTimeout",[167,27296,27297],{"class":173},"(resolve, ",[167,27299,27300],{"class":219},"350",[167,27302,27303],{"class":173},"));\n",[167,27305,27306,27309,27311,27314,27317],{"class":169,"line":273},[167,27307,27308],{"class":173},"  user.value ",[167,27310,267],{"class":191},[167,27312,27313],{"class":173}," { name: ",[167,27315,27316],{"class":201},"\"Cristhian\"",[167,27318,25578],{"class":173},[167,27320,27321],{"class":169,"line":279},[167,27322,27323],{"class":173},"});\n",[167,27325,27326,27328,27330],{"class":169,"line":289},[167,27327,282],{"class":173},[167,27329,178],{"class":177},[167,27331,185],{"class":173},[167,27333,27334],{"class":169,"line":294},[167,27335,209],{"emptyLinePlaceholder":208},[167,27337,27338,27340,27342],{"class":169,"line":304},[167,27339,174],{"class":173},[167,27341,299],{"class":177},[167,27343,185],{"class":173},[167,27345,27346,27348,27351,27353,27355,27357,27360],{"class":169,"line":313},[167,27347,307],{"class":173},[167,27349,27350],{"class":177},"aside",[167,27352,26871],{"class":181},[167,27354,1240],{"class":181},[167,27356,267],{"class":173},[167,27358,27359],{"class":201},"\"welcome-card\"",[167,27361,185],{"class":173},[167,27363,27364,27366,27368,27371,27373],{"class":169,"line":161},[167,27365,1252],{"class":173},[167,27367,22],{"class":177},[167,27369,27370],{"class":173},">Panel\u003C\u002F",[167,27372,22],{"class":177},[167,27374,185],{"class":173},[167,27376,27377,27379,27381,27383,27385,27388,27391,27393],{"class":169,"line":335},[167,27378,1252],{"class":173},[167,27380,15],{"class":177},[167,27382,5690],{"class":181},[167,27384,267],{"class":173},[167,27386,27387],{"class":201},"\"user\"",[167,27389,27390],{"class":173},">Hola, {{ user.name }}\u003C\u002F",[167,27392,15],{"class":177},[167,27394,185],{"class":173},[167,27396,27397,27399,27401,27403,27406,27408],{"class":169,"line":341},[167,27398,1252],{"class":173},[167,27400,15],{"class":177},[167,27402,7034],{"class":181},[167,27404,27405],{"class":173},">Cargando perfil...\u003C\u002F",[167,27407,15],{"class":177},[167,27409,185],{"class":173},[167,27411,27412,27414,27416],{"class":169,"line":489},[167,27413,504],{"class":173},[167,27415,27350],{"class":177},[167,27417,185],{"class":173},[167,27419,27420,27422,27424],{"class":169,"line":495},[167,27421,282],{"class":173},[167,27423,299],{"class":177},[167,27425,185],{"class":173},[154,27427,27429],{"className":156,"code":27428,"filename":3969,"language":162,"meta":163,"style":163},"\u003Cscript lang=\"ts\">\nexport default {\n  name: \"WelcomeCard\",\n  data() {\n    return {\n      user: null as null | { name: string },\n    };\n  },\n  async mounted() {\n    await new Promise((resolve) => setTimeout(resolve, 350));\n    this.user = { name: \"Cristhian\" };\n  },\n};\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Caside v-cloak class=\"welcome-card\">\n    \u003Ch2>Panel\u003C\u002Fh2>\n    \u003Cp v-if=\"user\">Hola, {{ user.name }}\u003C\u002Fp>\n    \u003Cp v-else>Cargando perfil...\u003C\u002Fp>\n  \u003C\u002Faside>\n\u003C\u002Ftemplate>\n",[87,27430,27431,27445,27453,27462,27468,27474,27497,27501,27505,27513,27537,27551,27555,27559,27567,27571,27579,27595,27607,27625,27639,27647],{"__ignoreMap":163},[167,27432,27433,27435,27437,27439,27441,27443],{"class":169,"line":170},[167,27434,174],{"class":173},[167,27436,178],{"class":177},[167,27438,1045],{"class":181},[167,27440,267],{"class":173},[167,27442,1050],{"class":201},[167,27444,185],{"class":173},[167,27446,27447,27449,27451],{"class":169,"line":188},[167,27448,608],{"class":191},[167,27450,3987],{"class":191},[167,27452,1901],{"class":173},[167,27454,27455,27457,27460],{"class":169,"line":205},[167,27456,4394],{"class":173},[167,27458,27459],{"class":201},"\"WelcomeCard\"",[167,27461,393],{"class":173},[167,27463,27464,27466],{"class":169,"line":160},[167,27465,7172],{"class":181},[167,27467,763],{"class":173},[167,27469,27470,27472],{"class":169,"line":238},[167,27471,1933],{"class":191},[167,27473,1901],{"class":173},[167,27475,27476,27479,27481,27483,27485,27487,27489,27491,27493,27495],{"class":169,"line":243},[167,27477,27478],{"class":173},"      user: ",[167,27480,6569],{"class":219},[167,27482,654],{"class":191},[167,27484,6563],{"class":219},[167,27486,659],{"class":191},[167,27488,577],{"class":173},[167,27490,592],{"class":254},[167,27492,583],{"class":191},[167,27494,586],{"class":219},[167,27496,1852],{"class":173},[167,27498,27499],{"class":169,"line":261},[167,27500,24366],{"class":173},[167,27502,27503],{"class":169,"line":273},[167,27504,398],{"class":173},[167,27506,27507,27509,27511],{"class":169,"line":279},[167,27508,7327],{"class":191},[167,27510,7408],{"class":181},[167,27512,763],{"class":173},[167,27514,27515,27517,27519,27521,27523,27525,27527,27529,27531,27533,27535],{"class":169,"line":289},[167,27516,6726],{"class":191},[167,27518,4220],{"class":191},[167,27520,23249],{"class":219},[167,27522,1914],{"class":173},[167,27524,23254],{"class":254},[167,27526,693],{"class":173},[167,27528,639],{"class":191},[167,27530,27294],{"class":181},[167,27532,27297],{"class":173},[167,27534,27300],{"class":219},[167,27536,27303],{"class":173},[167,27538,27539,27541,27543,27545,27547,27549],{"class":169,"line":294},[167,27540,879],{"class":219},[167,27542,744],{"class":173},[167,27544,267],{"class":191},[167,27546,27313],{"class":173},[167,27548,27316],{"class":201},[167,27550,25578],{"class":173},[167,27552,27553],{"class":169,"line":304},[167,27554,398],{"class":173},[167,27556,27557],{"class":169,"line":313},[167,27558,24144],{"class":173},[167,27560,27561,27563,27565],{"class":169,"line":161},[167,27562,282],{"class":173},[167,27564,178],{"class":177},[167,27566,185],{"class":173},[167,27568,27569],{"class":169,"line":335},[167,27570,209],{"emptyLinePlaceholder":208},[167,27572,27573,27575,27577],{"class":169,"line":341},[167,27574,174],{"class":173},[167,27576,299],{"class":177},[167,27578,185],{"class":173},[167,27580,27581,27583,27585,27587,27589,27591,27593],{"class":169,"line":489},[167,27582,307],{"class":173},[167,27584,27350],{"class":177},[167,27586,26871],{"class":181},[167,27588,1240],{"class":181},[167,27590,267],{"class":173},[167,27592,27359],{"class":201},[167,27594,185],{"class":173},[167,27596,27597,27599,27601,27603,27605],{"class":169,"line":495},[167,27598,1252],{"class":173},[167,27600,22],{"class":177},[167,27602,27370],{"class":173},[167,27604,22],{"class":177},[167,27606,185],{"class":173},[167,27608,27609,27611,27613,27615,27617,27619,27621,27623],{"class":169,"line":501},[167,27610,1252],{"class":173},[167,27612,15],{"class":177},[167,27614,5690],{"class":181},[167,27616,267],{"class":173},[167,27618,27387],{"class":201},[167,27620,27390],{"class":173},[167,27622,15],{"class":177},[167,27624,185],{"class":173},[167,27626,27627,27629,27631,27633,27635,27637],{"class":169,"line":512},[167,27628,1252],{"class":173},[167,27630,15],{"class":177},[167,27632,7034],{"class":181},[167,27634,27405],{"class":173},[167,27636,15],{"class":177},[167,27638,185],{"class":173},[167,27640,27641,27643,27645],{"class":169,"line":781},[167,27642,504],{"class":173},[167,27644,27350],{"class":177},[167,27646,185],{"class":173},[167,27648,27649,27651,27653],{"class":169,"line":786},[167,27650,282],{"class":173},[167,27652,299],{"class":177},[167,27654,185],{"class":173},[154,27656,27657],{"className":26550,"code":26748,"filename":26552,"language":26553,"meta":163,"style":163},[87,27658,27659,27667,27677],{"__ignoreMap":163},[167,27660,27661,27663,27665],{"class":169,"line":170},[167,27662,26560],{"class":173},[167,27664,26482],{"class":181},[167,27666,26565],{"class":173},[167,27668,27669,27671,27673,27675],{"class":169,"line":188},[167,27670,26763],{"class":219},[167,27672,1103],{"class":173},[167,27674,26575],{"class":219},[167,27676,24040],{"class":173},[167,27678,27679],{"class":169,"line":205},[167,27680,276],{"class":173},[22,27682,7674],{"id":7673},[15,27684,27685,27687],{},[87,27686,26482],{}," es una directiva de acabado visual: no modifica tu lógica ni tu modelo de reactividad, pero sí mejora la calidad percibida del render inicial en contextos donde el template puede mostrarse sin compilar.",[15,27689,27690],{},[3929,27691,27692],{},"Puntos clave:",[33,27694,27695,27700,27703,27706],{},[36,27696,27697,27698,1675],{},"Requiere una regla CSS global: ",[87,27699,26702],{},[36,27701,27702],{},"Previene el flash de interpolaciones sin procesar.",[36,27704,27705],{},"No sustituye optimización de rendimiento ni resuelve hydration mismatches.",[36,27707,27708],{},"Debe aplicarse de forma selectiva y consciente del contexto (SPA vs SSR).",[924,27710,27711],{},"html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .s9eBZ, html code.shiki .s9eBZ{--shiki-default:#22863A;--shiki-dark:#85E89D}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .s4XuR, html code.shiki .s4XuR{--shiki-default:#E36209;--shiki-dark:#FFAB70}",{"title":163,"searchDepth":188,"depth":188,"links":27713},[27714,27715,27716,27717,27718,27719,27727,27733],{"id":26498,"depth":188,"text":26499},{"id":6252,"depth":188,"text":6253},{"id":26607,"depth":188,"text":26608},{"id":6317,"depth":188,"text":6318},{"id":6344,"depth":188,"text":6345},{"id":3080,"depth":188,"text":3081,"children":27720},[27721,27723,27725,27726],{"id":26692,"depth":205,"text":27722},"1) Usar v-cloak sin CSS",{"id":26706,"depth":205,"text":27724},"2) Declarar la regla en un \u003Cstyle scoped>",{"id":26723,"depth":205,"text":26724},{"id":26733,"depth":205,"text":26734},{"id":7992,"depth":188,"text":7993,"children":27728},[27729,27730,27731,27732],{"id":26744,"depth":205,"text":26745},{"id":26784,"depth":205,"text":26785},{"id":27178,"depth":205,"text":27179},{"id":27188,"depth":205,"text":27189},{"id":7673,"depth":188,"text":7674},"https:\u002F\u002Fres.cloudinary.com\u002Fdenj4fg7f\u002Fimage\u002Fupload\u002Fv1771976009\u002Fdirectives-vue-v-cloak-guide_vhkz2i.png","Portada temporal para el artículo sobre v-cloak en Vue","2026-02-25","Aprende a usar v-cloak en Vue 3 para evitar el parpadeo de plantillas sin compilar, con Composition API y Options API, casos reales, errores comunes y buenas prácticas.",{"updatedAt":27739,"coverCaption":23652,"author":945,"keywords":27740},"2026-02-25T12:30:00-05:00",[3254,26482,27741,27742,3256,3969],"FOUC","hydration","\u002Fblog\u002Fdirectives-vue-v-cloak-guide.es",[27745],{"headline":27746,"author":27747,"datePublished":27739,"@type":959},"Directiva v-cloak en Vue: evita parpadeos antes del montaje",{"name":945,"@type":958},{"title":26473,"description":27737},"blog\u002Fdirectives-vue-v-cloak-guide.es",[27751,27752,27755,27756],{"tag":26462,"color":26463},{"tag":27753,"color":27754},"Templates","#00B894",{"tag":9165,"color":9166},{"tag":5420,"color":5421},"JfS7unY1XQ1HsdW8oWBHbTqDpzHjl2-9BrnPQZr3SRE",{"id":27759,"title":27760,"body":27761,"cover":30398,"coverAlt":30399,"date":30400,"description":30401,"draft":1617,"extension":940,"lab":941,"locale":942,"meta":30402,"navigation":208,"path":30406,"schemaOrg":30407,"seo":30411,"series":26456,"seriesDescription":26457,"seriesOrder":279,"seriesTitle":26458,"slug":941,"stem":30412,"tags":30413,"__hash__":30419},"blog\u002Fblog\u002Fdirectives-vue-v-once-v-memo-v-pre-guide.es.md","Directivas en Vue: v-once \u002F v-memo \u002F v-pre",{"type":8,"value":27762,"toc":30368},[27763,27775,27788,27790,27793,27796,27813,27816,27818,27822,27825,27828,27832,27843,27852,27856,27866,27869,27871,27874,27894,27897,27911,27913,27916,27933,27936,27938,27955,27958,27975,27977,27984,27990,27999,28005,28008,28013,28020,28025,28032,28036,28039,28044,28046,28052,28190,28322,28334,28340,28687,28958,28974,28980,29078,29195,29199,29211,29812,30334,30336,30345,30362,30365],[11,27764,26479,27766,11223,27769,11223,27772],{"id":27765},"directivas-en-vue-v-once-v-memo-v-pre",[87,27767,27768],{},"v-once",[87,27770,27771],{},"v-memo",[87,27773,27774],{},"v-pre",[15,27776,27777,1020,27779,1023,27781,27783,27784,27787],{},[87,27778,27768],{},[87,27780,27771],{},[87,27782,27774],{}," son directivas enfocadas en rendimiento y control de compilación\u002Frender. No son para “poner en todo”, pero en escenarios concretos reducen trabajo innecesario y evitan ",[9291,27785,27786],{},"re-renders"," costosos.",[22,27789,26499],{"id":26498},[15,27791,27792],{},"En apps grandes, muchos problemas de rendimiento no vienen de una sola operación pesada, sino de miles de renders pequeños que se repiten sin necesidad.",[15,27794,27795],{},"Estas directivas te permiten:",[33,27797,27798,27803,27808],{},[36,27799,27800,27801,4266],{},"Congelar fragmentos estáticos (",[87,27802,27768],{},[36,27804,27805,27806,4266],{},"Reutilizar subárboles cuando dependencias clave no cambian (",[87,27807,27771],{},[36,27809,27810,27811,4266],{},"Omitir compilación de expresiones para contenido literal (",[87,27812,27774],{},[15,27814,27815],{},"Usadas con criterio, mejoran la fluidez sin romper la legibilidad.",[22,27817,6253],{"id":6252},[3083,27819,27820],{"id":27768},[87,27821,27768],{},[15,27823,27824],{},"Renderiza el nodo una sola vez. En actualizaciones posteriores, Vue reutiliza el resultado y no vuelve a evaluarlo.",[15,27826,27827],{},"Ideal para contenido realmente inmutable (versión de build, texto legal fijo, metadata de entorno, etc.).",[3083,27829,27830],{"id":27771},[87,27831,27771],{},[15,27833,27834,27835,27838,27839,27842],{},"Memoiza (cachea) un subárbol del template con base en un ",[3929,27836,27837],{},"arreglo de dependencias",". Si ninguna dependencia cambia, Vue omite el ",[9291,27840,27841],{},"patch"," de ese subárbol.",[15,27844,27845,27846,27848,27849,1675],{},"Útil cuando una porción del template es costosa y depende de pocas señales estables. Nota importante: ",[87,27847,27771],{}," existe desde Vue ",[3929,27850,27851],{},"3.2+",[3083,27853,27854],{"id":27774},[87,27855,27774],{},[15,27857,27858,27859,27862,27863,27865],{},"Le dice a Vue que ",[3929,27860,27861],{},"no compile"," ese bloque. Las interpolaciones ",[87,27864,26494],{}," se muestran como texto literal.",[15,27867,27868],{},"Es perfecto para ejemplos de código o snippets donde quieres imprimir sintaxis de Vue sin evaluarla.",[22,27870,6318],{"id":6317},[15,27872,27873],{},"Usa estas directivas cuando tengas una razón concreta y medible:",[33,27875,27876,27881,27889],{},[36,27877,27878,27880],{},[87,27879,27768],{},": bloques estáticos que no deben reaccionar a cambios.",[36,27882,27883,27885,27886,1675],{},[87,27884,27771],{},": listas o tarjetas complejas con alto costo de render cuando conoces ",[3929,27887,27888],{},"dependencias exactas",[36,27890,27891,27893],{},[87,27892,27774],{},": documentación, tutoriales o demos donde quieres mostrar moustaches literalmente.",[15,27895,27896],{},"Casos reales:",[33,27898,27899,27905,27908],{},[36,27900,27901,27902,27904],{},"Dashboard con cards densas que solo cambian por ",[87,27903,580],{}," y estado puntual.",[36,27906,27907],{},"Pantalla de onboarding con secciones 100% estáticas.",[36,27909,27910],{},"Vista de documentación dentro de tu app que muestra sintaxis de Vue “en crudo”.",[22,27912,6345],{"id":6344},[15,27914,27915],{},"Evítalas cuando solo intentas “optimizar por optimizar”:",[33,27917,27918,27923,27928],{},[36,27919,2091,27920,27922],{},[87,27921,27768],{}," en datos que luego deben actualizarse.",[36,27924,2091,27925,27927],{},[87,27926,27771],{}," sin entender bien sus dependencias; puede ocultar cambios esperados.",[36,27929,2091,27930,27932],{},[87,27931,27774],{}," en bloques que sí necesitan bindings o eventos.",[15,27934,27935],{},"Si no has detectado un problema real de render, primero mide con Vue Devtools antes de complejizar el template.",[22,27937,11367],{"id":11366},[33,27939,27940,27945,27950],{},[36,27941,27942,27944],{},[87,27943,27768],{},": congelado permanente después del primer render.",[36,27946,27947,27949],{},[87,27948,27771],{},": congelado condicional según dependencias.",[36,27951,27952,27954],{},[87,27953,27774],{},": sin compilación de plantilla; salida literal.",[15,27956,27957],{},"Regla rápida:",[33,27959,27960,27965,27970],{},[36,27961,27962,27963,1675],{},"Quieres “no volver a actualizar nunca”: ",[87,27964,27768],{},[36,27966,27967,27968,1675],{},"Quieres “actualizar solo si cambian X dependencias”: ",[87,27969,27771],{},[36,27971,27972,27973,1675],{},"Quieres “mostrar template sin interpretar”: ",[87,27974,27774],{},[22,27976,3081],{"id":3080},[3083,27978,27980,27981,27983],{"id":27979},"_1-aplicar-v-once-sobre-datos-que-sí-cambian","1) Aplicar ",[87,27982,27768],{}," sobre datos que sí cambian",[15,27985,27986,27987,27989],{},"Si la fuente cambia pero el nodo tiene ",[87,27988,27768],{},", la UI quedará desfasada.",[15,27991,27992,27995,27996,27998],{},[3929,27993,27994],{},"Solución:"," limita ",[87,27997,27768],{}," a contenido estrictamente inmutable.",[3083,28000,28002,28003],{"id":28001},"_2-definir-mal-dependencias-en-v-memo","2) Definir mal dependencias en ",[87,28004,27771],{},[15,28006,28007],{},"Si olvidas una dependencia relevante, Vue puede reutilizar un subárbol viejo.\nSi incluyes demasiadas dependencias, pierdes el beneficio.",[15,28009,28010,28012],{},[3929,28011,27994],{}," declara solo señales que realmente afectan el HTML renderizado (y asegúrate de incluir todas).",[3083,28014,28016,28017,28019],{"id":28015},"_3-esperar-que-v-pre-procese-directivas-o-interpolaciones","3) Esperar que ",[87,28018,27774],{}," procese directivas o interpolaciones",[15,28021,3806,28022,28024],{},[87,28023,27774],{},", Vue no interpreta nada dentro del bloque (ni moustaches, ni directivas anidadas).",[15,28026,28027,22918,28029,28031],{},[3929,28028,27994],{},[87,28030,27774],{}," solo para salida literal\u002Fdocumentación.",[3083,28033,28035],{"id":28034},"_4-usarlas-sin-validar-impacto","4) Usarlas sin validar impacto",[15,28037,28038],{},"Agregar estas directivas indiscriminadamente puede aumentar complejidad sin mejorar performance real.",[15,28040,28041,28043],{},[3929,28042,27994],{}," perfila primero y optimiza donde el costo sea comprobable.",[22,28045,7993],{"id":7992},[3083,28047,28049,28050],{"id":28048},"_1-bloque-estático-con-v-once","1) Bloque estático con ",[87,28051,27768],{},[154,28053,28056],{"className":156,"code":28054,"filename":3256,"highlights":28055,"language":162,"meta":163,"style":163},"\u003Cscript setup lang=\"ts\">\nimport { ref } from \"vue\";\n\nconst counter = ref(0);\nconst buildVersion = \"2026.02.24\";\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cbutton @click=\"counter++\">Clicks: {{ counter }}\u003C\u002Fbutton>\n\n  \u003Cp v-once>Build: {{ buildVersion }}\u003C\u002Fp>\n\u003C\u002Ftemplate>\n",[294],[87,28057,28058,28074,28086,28090,28107,28121,28129,28133,28141,28161,28165,28182],{"__ignoreMap":163},[167,28059,28060,28062,28064,28066,28068,28070,28072],{"class":169,"line":170},[167,28061,174],{"class":173},[167,28063,178],{"class":177},[167,28065,182],{"class":181},[167,28067,1045],{"class":181},[167,28069,267],{"class":173},[167,28071,1050],{"class":201},[167,28073,185],{"class":173},[167,28075,28076,28078,28080,28082,28084],{"class":169,"line":188},[167,28077,192],{"class":191},[167,28079,195],{"class":173},[167,28081,198],{"class":191},[167,28083,24037],{"class":201},[167,28085,24040],{"class":173},[167,28087,28088],{"class":169,"line":205},[167,28089,209],{"emptyLinePlaceholder":208},[167,28091,28092,28094,28097,28099,28101,28103,28105],{"class":169,"line":160},[167,28093,216],{"class":191},[167,28095,28096],{"class":219}," counter",[167,28098,223],{"class":191},[167,28100,226],{"class":181},[167,28102,229],{"class":173},[167,28104,1956],{"class":219},[167,28106,24165],{"class":173},[167,28108,28109,28111,28114,28116,28119],{"class":169,"line":238},[167,28110,216],{"class":191},[167,28112,28113],{"class":219}," buildVersion",[167,28115,223],{"class":191},[167,28117,28118],{"class":201}," \"2026.02.24\"",[167,28120,24040],{"class":173},[167,28122,28123,28125,28127],{"class":169,"line":243},[167,28124,282],{"class":173},[167,28126,178],{"class":177},[167,28128,185],{"class":173},[167,28130,28131],{"class":169,"line":261},[167,28132,209],{"emptyLinePlaceholder":208},[167,28134,28135,28137,28139],{"class":169,"line":273},[167,28136,174],{"class":173},[167,28138,299],{"class":177},[167,28140,185],{"class":173},[167,28142,28143,28145,28147,28149,28151,28154,28157,28159],{"class":169,"line":279},[167,28144,307],{"class":173},[167,28146,507],{"class":177},[167,28148,1177],{"class":181},[167,28150,267],{"class":173},[167,28152,28153],{"class":201},"\"counter++\"",[167,28155,28156],{"class":173},">Clicks: {{ counter }}\u003C\u002F",[167,28158,507],{"class":177},[167,28160,185],{"class":173},[167,28162,28163],{"class":169,"line":289},[167,28164,209],{"emptyLinePlaceholder":208},[167,28166,28168,28170,28172,28175,28178,28180],{"class":28167,"line":294},[169,213],[167,28169,307],{"class":173},[167,28171,15],{"class":177},[167,28173,28174],{"class":181}," v-once",[167,28176,28177],{"class":173},">Build: {{ buildVersion }}\u003C\u002F",[167,28179,15],{"class":177},[167,28181,185],{"class":173},[167,28183,28184,28186,28188],{"class":169,"line":304},[167,28185,282],{"class":173},[167,28187,299],{"class":177},[167,28189,185],{"class":173},[154,28191,28194],{"className":156,"code":28192,"filename":3969,"highlights":28193,"language":162,"meta":163,"style":163},"\u003Cscript lang=\"ts\">\nexport default {\n  data() {\n    return {\n      counter: 0,\n      buildVersion: \"2026.02.24\",\n    };\n  },\n};\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cbutton @click=\"counter++\">Clicks: {{ counter }}\u003C\u002Fbutton>\n  \u003Cp v-once>Build: {{ buildVersion }}\u003C\u002Fp>\n\u003C\u002Ftemplate>\n",[161],[87,28195,28196,28210,28218,28224,28230,28239,28249,28253,28257,28261,28269,28273,28281,28299,28314],{"__ignoreMap":163},[167,28197,28198,28200,28202,28204,28206,28208],{"class":169,"line":170},[167,28199,174],{"class":173},[167,28201,178],{"class":177},[167,28203,1045],{"class":181},[167,28205,267],{"class":173},[167,28207,1050],{"class":201},[167,28209,185],{"class":173},[167,28211,28212,28214,28216],{"class":169,"line":188},[167,28213,608],{"class":191},[167,28215,3987],{"class":191},[167,28217,1901],{"class":173},[167,28219,28220,28222],{"class":169,"line":205},[167,28221,7172],{"class":181},[167,28223,763],{"class":173},[167,28225,28226,28228],{"class":169,"line":160},[167,28227,1933],{"class":191},[167,28229,1901],{"class":173},[167,28231,28232,28235,28237],{"class":169,"line":238},[167,28233,28234],{"class":173},"      counter: ",[167,28236,1956],{"class":219},[167,28238,393],{"class":173},[167,28240,28241,28244,28247],{"class":169,"line":243},[167,28242,28243],{"class":173},"      buildVersion: ",[167,28245,28246],{"class":201},"\"2026.02.24\"",[167,28248,393],{"class":173},[167,28250,28251],{"class":169,"line":261},[167,28252,24366],{"class":173},[167,28254,28255],{"class":169,"line":273},[167,28256,398],{"class":173},[167,28258,28259],{"class":169,"line":279},[167,28260,24144],{"class":173},[167,28262,28263,28265,28267],{"class":169,"line":289},[167,28264,282],{"class":173},[167,28266,178],{"class":177},[167,28268,185],{"class":173},[167,28270,28271],{"class":169,"line":294},[167,28272,209],{"emptyLinePlaceholder":208},[167,28274,28275,28277,28279],{"class":169,"line":304},[167,28276,174],{"class":173},[167,28278,299],{"class":177},[167,28280,185],{"class":173},[167,28282,28283,28285,28287,28289,28291,28293,28295,28297],{"class":169,"line":313},[167,28284,307],{"class":173},[167,28286,507],{"class":177},[167,28288,1177],{"class":181},[167,28290,267],{"class":173},[167,28292,28153],{"class":201},[167,28294,28156],{"class":173},[167,28296,507],{"class":177},[167,28298,185],{"class":173},[167,28300,28302,28304,28306,28308,28310,28312],{"class":28301,"line":161},[169,213],[167,28303,307],{"class":173},[167,28305,15],{"class":177},[167,28307,28174],{"class":181},[167,28309,28177],{"class":173},[167,28311,15],{"class":177},[167,28313,185],{"class":173},[167,28315,28316,28318,28320],{"class":169,"line":335},[167,28317,282],{"class":173},[167,28319,299],{"class":177},[167,28321,185],{"class":173},[5363,28323,28324],{},[15,28325,28326,28327,28330,28331,28333],{},"Nota: este ejemplo asume que ",[87,28328,28329],{},"buildVersion"," es inmutable. Si en tu app podría cambiar (p. ej., viene de una llamada async), ",[87,28332,27768],{}," no es lo correcto.",[3083,28335,28337,28338],{"id":28336},"_2-segmento-pesado-con-v-memo","2) Segmento pesado con ",[87,28339,27771],{},[154,28341,28344],{"className":156,"code":28342,"filename":3256,"highlights":28343,"language":162,"meta":163,"style":163},"\u003Cscript setup lang=\"ts\">\nimport { ref } from \"vue\";\n\ntype UserCard = { id: number; name: string; isOnline: boolean; score: number };\n\nconst selectedId = ref\u003Cnumber | null>(null);\nconst users = ref\u003CUserCard[]>([\n  { id: 1, name: \"Ana\", isOnline: true, score: 98 },\n  { id: 2, name: \"Luis\", isOnline: false, score: 77 },\n  { id: 3, name: \"Marta\", isOnline: true, score: 88 },\n]);\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Carticle\n    v-for=\"user in users\"\n    :key=\"user.id\"\n    v-memo=\"[user.id, user.isOnline, selectedId === user.id]\"\n    class=\"card\"\n  >\n    \u003Ch3>{{ user.name }}\u003C\u002Fh3>\n    \u003Cp>Puntaje: {{ user.score }}\u003C\u002Fp>\n    \u003Cp>{{ user.isOnline ? \"En línea\" : \"Desconectado\" }}\u003C\u002Fp>\n    \u003Cbutton @click=\"selectedId = user.id\">Seleccionar\u003C\u002Fbutton>\n  \u003C\u002Farticle>\n\u003C\u002Ftemplate>\n",[495],[87,28345,28346,28362,28374,28378,28424,28428,28453,28470,28493,28515,28537,28542,28550,28554,28562,28569,28578,28587,28598,28608,28612,28625,28638,28651,28671,28679],{"__ignoreMap":163},[167,28347,28348,28350,28352,28354,28356,28358,28360],{"class":169,"line":170},[167,28349,174],{"class":173},[167,28351,178],{"class":177},[167,28353,182],{"class":181},[167,28355,1045],{"class":181},[167,28357,267],{"class":173},[167,28359,1050],{"class":201},[167,28361,185],{"class":173},[167,28363,28364,28366,28368,28370,28372],{"class":169,"line":188},[167,28365,192],{"class":191},[167,28367,195],{"class":173},[167,28369,198],{"class":191},[167,28371,24037],{"class":201},[167,28373,24040],{"class":173},[167,28375,28376],{"class":169,"line":205},[167,28377,209],{"emptyLinePlaceholder":208},[167,28379,28380,28382,28385,28387,28389,28391,28393,28395,28397,28399,28401,28403,28405,28408,28410,28413,28415,28418,28420,28422],{"class":169,"line":160},[167,28381,569],{"class":191},[167,28383,28384],{"class":181}," UserCard",[167,28386,223],{"class":191},[167,28388,577],{"class":173},[167,28390,580],{"class":254},[167,28392,583],{"class":191},[167,28394,8489],{"class":219},[167,28396,589],{"class":173},[167,28398,592],{"class":254},[167,28400,583],{"class":191},[167,28402,586],{"class":219},[167,28404,589],{"class":173},[167,28406,28407],{"class":254},"isOnline",[167,28409,583],{"class":191},[167,28411,28412],{"class":219}," boolean",[167,28414,589],{"class":173},[167,28416,28417],{"class":254},"score",[167,28419,583],{"class":191},[167,28421,8489],{"class":219},[167,28423,25578],{"class":173},[167,28425,28426],{"class":169,"line":238},[167,28427,209],{"emptyLinePlaceholder":208},[167,28429,28430,28432,28435,28437,28439,28441,28443,28445,28447,28449,28451],{"class":169,"line":243},[167,28431,216],{"class":191},[167,28433,28434],{"class":219}," selectedId",[167,28436,223],{"class":191},[167,28438,226],{"class":181},[167,28440,174],{"class":173},[167,28442,13925],{"class":219},[167,28444,659],{"class":191},[167,28446,6563],{"class":219},[167,28448,6566],{"class":173},[167,28450,6569],{"class":219},[167,28452,24165],{"class":173},[167,28454,28455,28457,28459,28461,28463,28465,28467],{"class":169,"line":261},[167,28456,216],{"class":191},[167,28458,16950],{"class":219},[167,28460,223],{"class":191},[167,28462,226],{"class":181},[167,28464,174],{"class":173},[167,28466,5305],{"class":181},[167,28468,28469],{"class":173},"[]>([\n",[167,28471,28472,28474,28476,28478,28480,28483,28485,28488,28491],{"class":169,"line":273},[167,28473,1828],{"class":173},[167,28475,1831],{"class":219},[167,28477,1834],{"class":173},[167,28479,23483],{"class":201},[167,28481,28482],{"class":173},", isOnline: ",[167,28484,390],{"class":219},[167,28486,28487],{"class":173},", score: ",[167,28489,28490],{"class":219},"98",[167,28492,1852],{"class":173},[167,28494,28495,28497,28499,28501,28504,28506,28508,28510,28513],{"class":169,"line":279},[167,28496,1828],{"class":173},[167,28498,1849],{"class":219},[167,28500,1834],{"class":173},[167,28502,28503],{"class":201},"\"Luis\"",[167,28505,28482],{"class":173},[167,28507,3388],{"class":219},[167,28509,28487],{"class":173},[167,28511,28512],{"class":219},"77",[167,28514,1852],{"class":173},[167,28516,28517,28519,28521,28523,28526,28528,28530,28532,28535],{"class":169,"line":289},[167,28518,1828],{"class":173},[167,28520,8199],{"class":219},[167,28522,1834],{"class":173},[167,28524,28525],{"class":201},"\"Marta\"",[167,28527,28482],{"class":173},[167,28529,390],{"class":219},[167,28531,28487],{"class":173},[167,28533,28534],{"class":219},"88",[167,28536,1852],{"class":173},[167,28538,28539],{"class":169,"line":294},[167,28540,28541],{"class":173},"]);\n",[167,28543,28544,28546,28548],{"class":169,"line":304},[167,28545,282],{"class":173},[167,28547,178],{"class":177},[167,28549,185],{"class":173},[167,28551,28552],{"class":169,"line":313},[167,28553,209],{"emptyLinePlaceholder":208},[167,28555,28556,28558,28560],{"class":169,"line":161},[167,28557,174],{"class":173},[167,28559,299],{"class":177},[167,28561,185],{"class":173},[167,28563,28564,28566],{"class":169,"line":335},[167,28565,307],{"class":173},[167,28567,28568],{"class":177},"article\n",[167,28570,28571,28573,28575],{"class":169,"line":341},[167,28572,3526],{"class":181},[167,28574,267],{"class":173},[167,28576,28577],{"class":201},"\"user in users\"\n",[167,28579,28580,28582,28584],{"class":169,"line":489},[167,28581,3537],{"class":181},[167,28583,267],{"class":173},[167,28585,28586],{"class":201},"\"user.id\"\n",[167,28588,28590,28593,28595],{"class":28589,"line":495},[169,213],[167,28591,28592],{"class":181},"    v-memo",[167,28594,267],{"class":173},[167,28596,28597],{"class":201},"\"[user.id, user.isOnline, selectedId === user.id]\"\n",[167,28599,28600,28603,28605],{"class":169,"line":501},[167,28601,28602],{"class":181},"    class",[167,28604,267],{"class":173},[167,28606,28607],{"class":201},"\"card\"\n",[167,28609,28610],{"class":169,"line":512},[167,28611,492],{"class":173},[167,28613,28614,28616,28618,28621,28623],{"class":169,"line":781},[167,28615,1252],{"class":173},[167,28617,3083],{"class":177},[167,28619,28620],{"class":173},">{{ user.name }}\u003C\u002F",[167,28622,3083],{"class":177},[167,28624,185],{"class":173},[167,28626,28627,28629,28631,28634,28636],{"class":169,"line":786},[167,28628,1252],{"class":173},[167,28630,15],{"class":177},[167,28632,28633],{"class":173},">Puntaje: {{ user.score }}\u003C\u002F",[167,28635,15],{"class":177},[167,28637,185],{"class":173},[167,28639,28640,28642,28644,28647,28649],{"class":169,"line":2674},[167,28641,1252],{"class":173},[167,28643,15],{"class":177},[167,28645,28646],{"class":173},">{{ user.isOnline ? \"En línea\" : \"Desconectado\" }}\u003C\u002F",[167,28648,15],{"class":177},[167,28650,185],{"class":173},[167,28652,28653,28655,28657,28659,28661,28664,28667,28669],{"class":169,"line":2688},[167,28654,1252],{"class":173},[167,28656,507],{"class":177},[167,28658,1177],{"class":181},[167,28660,267],{"class":173},[167,28662,28663],{"class":201},"\"selectedId = user.id\"",[167,28665,28666],{"class":173},">Seleccionar\u003C\u002F",[167,28668,507],{"class":177},[167,28670,185],{"class":173},[167,28672,28673,28675,28677],{"class":169,"line":3571},[167,28674,504],{"class":173},[167,28676,3692],{"class":177},[167,28678,185],{"class":173},[167,28680,28681,28683,28685],{"class":169,"line":5024},[167,28682,282],{"class":173},[167,28684,299],{"class":177},[167,28686,185],{"class":173},[154,28688,28691],{"className":156,"code":28689,"filename":3969,"highlights":28690,"language":162,"meta":163,"style":163},"\u003Cscript lang=\"ts\">\nexport default {\n  data() {\n    return {\n      selectedId: null as number | null,\n      users: [\n        { id: 1, name: \"Ana\", isOnline: true, score: 98 },\n        { id: 2, name: \"Luis\", isOnline: false, score: 77 },\n        { id: 3, name: \"Marta\", isOnline: true, score: 88 },\n      ],\n    };\n  },\n};\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Carticle\n    v-for=\"user in users\"\n    :key=\"user.id\"\n    v-memo=\"[user.id, user.isOnline, selectedId === user.id]\"\n    class=\"card\"\n  >\n    \u003Ch3>{{ user.name }}\u003C\u002Fh3>\n    \u003Cp>Puntaje: {{ user.score }}\u003C\u002Fp>\n    \u003Cp>{{ user.isOnline ? \"En línea\" : \"Desconectado\" }}\u003C\u002Fp>\n    \u003Cbutton @click=\"selectedId = user.id\">Seleccionar\u003C\u002Fbutton>\n  \u003C\u002Farticle>\n\u003C\u002Ftemplate>\n",[512],[87,28692,28693,28707,28715,28721,28727,28744,28749,28769,28789,28809,28813,28817,28821,28825,28833,28837,28845,28851,28859,28867,28876,28884,28888,28900,28912,28924,28942,28950],{"__ignoreMap":163},[167,28694,28695,28697,28699,28701,28703,28705],{"class":169,"line":170},[167,28696,174],{"class":173},[167,28698,178],{"class":177},[167,28700,1045],{"class":181},[167,28702,267],{"class":173},[167,28704,1050],{"class":201},[167,28706,185],{"class":173},[167,28708,28709,28711,28713],{"class":169,"line":188},[167,28710,608],{"class":191},[167,28712,3987],{"class":191},[167,28714,1901],{"class":173},[167,28716,28717,28719],{"class":169,"line":205},[167,28718,7172],{"class":181},[167,28720,763],{"class":173},[167,28722,28723,28725],{"class":169,"line":160},[167,28724,1933],{"class":191},[167,28726,1901],{"class":173},[167,28728,28729,28732,28734,28736,28738,28740,28742],{"class":169,"line":238},[167,28730,28731],{"class":173},"      selectedId: ",[167,28733,6569],{"class":219},[167,28735,654],{"class":191},[167,28737,8489],{"class":219},[167,28739,659],{"class":191},[167,28741,6563],{"class":219},[167,28743,393],{"class":173},[167,28745,28746],{"class":169,"line":243},[167,28747,28748],{"class":173},"      users: [\n",[167,28750,28751,28753,28755,28757,28759,28761,28763,28765,28767],{"class":169,"line":261},[167,28752,8673],{"class":173},[167,28754,1831],{"class":219},[167,28756,1834],{"class":173},[167,28758,23483],{"class":201},[167,28760,28482],{"class":173},[167,28762,390],{"class":219},[167,28764,28487],{"class":173},[167,28766,28490],{"class":219},[167,28768,1852],{"class":173},[167,28770,28771,28773,28775,28777,28779,28781,28783,28785,28787],{"class":169,"line":273},[167,28772,8673],{"class":173},[167,28774,1849],{"class":219},[167,28776,1834],{"class":173},[167,28778,28503],{"class":201},[167,28780,28482],{"class":173},[167,28782,3388],{"class":219},[167,28784,28487],{"class":173},[167,28786,28512],{"class":219},[167,28788,1852],{"class":173},[167,28790,28791,28793,28795,28797,28799,28801,28803,28805,28807],{"class":169,"line":279},[167,28792,8673],{"class":173},[167,28794,8199],{"class":219},[167,28796,1834],{"class":173},[167,28798,28525],{"class":201},[167,28800,28482],{"class":173},[167,28802,390],{"class":219},[167,28804,28487],{"class":173},[167,28806,28534],{"class":219},[167,28808,1852],{"class":173},[167,28810,28811],{"class":169,"line":289},[167,28812,16110],{"class":173},[167,28814,28815],{"class":169,"line":294},[167,28816,24366],{"class":173},[167,28818,28819],{"class":169,"line":304},[167,28820,398],{"class":173},[167,28822,28823],{"class":169,"line":313},[167,28824,24144],{"class":173},[167,28826,28827,28829,28831],{"class":169,"line":161},[167,28828,282],{"class":173},[167,28830,178],{"class":177},[167,28832,185],{"class":173},[167,28834,28835],{"class":169,"line":335},[167,28836,209],{"emptyLinePlaceholder":208},[167,28838,28839,28841,28843],{"class":169,"line":341},[167,28840,174],{"class":173},[167,28842,299],{"class":177},[167,28844,185],{"class":173},[167,28846,28847,28849],{"class":169,"line":489},[167,28848,307],{"class":173},[167,28850,28568],{"class":177},[167,28852,28853,28855,28857],{"class":169,"line":495},[167,28854,3526],{"class":181},[167,28856,267],{"class":173},[167,28858,28577],{"class":201},[167,28860,28861,28863,28865],{"class":169,"line":501},[167,28862,3537],{"class":181},[167,28864,267],{"class":173},[167,28866,28586],{"class":201},[167,28868,28870,28872,28874],{"class":28869,"line":512},[169,213],[167,28871,28592],{"class":181},[167,28873,267],{"class":173},[167,28875,28597],{"class":201},[167,28877,28878,28880,28882],{"class":169,"line":781},[167,28879,28602],{"class":181},[167,28881,267],{"class":173},[167,28883,28607],{"class":201},[167,28885,28886],{"class":169,"line":786},[167,28887,492],{"class":173},[167,28889,28890,28892,28894,28896,28898],{"class":169,"line":2674},[167,28891,1252],{"class":173},[167,28893,3083],{"class":177},[167,28895,28620],{"class":173},[167,28897,3083],{"class":177},[167,28899,185],{"class":173},[167,28901,28902,28904,28906,28908,28910],{"class":169,"line":2688},[167,28903,1252],{"class":173},[167,28905,15],{"class":177},[167,28907,28633],{"class":173},[167,28909,15],{"class":177},[167,28911,185],{"class":173},[167,28913,28914,28916,28918,28920,28922],{"class":169,"line":3571},[167,28915,1252],{"class":173},[167,28917,15],{"class":177},[167,28919,28646],{"class":173},[167,28921,15],{"class":177},[167,28923,185],{"class":173},[167,28925,28926,28928,28930,28932,28934,28936,28938,28940],{"class":169,"line":5024},[167,28927,1252],{"class":173},[167,28929,507],{"class":177},[167,28931,1177],{"class":181},[167,28933,267],{"class":173},[167,28935,28663],{"class":201},[167,28937,28666],{"class":173},[167,28939,507],{"class":177},[167,28941,185],{"class":173},[167,28943,28944,28946,28948],{"class":169,"line":5033},[167,28945,504],{"class":173},[167,28947,3692],{"class":177},[167,28949,185],{"class":173},[167,28951,28952,28954,28956],{"class":169,"line":5042},[167,28953,282],{"class":173},[167,28955,299],{"class":177},[167,28957,185],{"class":173},[5363,28959,28960],{},[15,28961,28962,28963,28965,28966,28969,28970,28973],{},"Importante: el arreglo de ",[87,28964,27771],{}," debe incluir ",[3929,28967,28968],{},"todo"," lo que afecte el HTML. Si ",[87,28971,28972],{},"user.score"," puede cambiar, también debería estar en dependencias (si no, el DOM podría quedarse con un puntaje viejo).",[3083,28975,28977,28978],{"id":28976},"_3-bloque-literal-con-v-pre","3) Bloque literal con ",[87,28979,27774],{},[154,28981,28984],{"className":156,"code":28982,"filename":3256,"highlights":28983,"language":162,"meta":163,"style":163},"\u003Cscript setup lang=\"ts\">\nconst message = \"No debe renderizarse dentro del bloque v-pre\";\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cp>{{ message }}\u003C\u002Fp>\n\n  \u003Cpre v-pre>{{ message }} + {{ 2 + 2 }}\u003C\u002Fpre>\n\u003C\u002Ftemplate>\n",[273],[87,28985,28986,29002,29016,29024,29028,29036,29049,29053,29070],{"__ignoreMap":163},[167,28987,28988,28990,28992,28994,28996,28998,29000],{"class":169,"line":170},[167,28989,174],{"class":173},[167,28991,178],{"class":177},[167,28993,182],{"class":181},[167,28995,1045],{"class":181},[167,28997,267],{"class":173},[167,28999,1050],{"class":201},[167,29001,185],{"class":173},[167,29003,29004,29006,29009,29011,29014],{"class":169,"line":188},[167,29005,216],{"class":191},[167,29007,29008],{"class":219}," message",[167,29010,223],{"class":191},[167,29012,29013],{"class":201}," \"No debe renderizarse dentro del bloque v-pre\"",[167,29015,24040],{"class":173},[167,29017,29018,29020,29022],{"class":169,"line":205},[167,29019,282],{"class":173},[167,29021,178],{"class":177},[167,29023,185],{"class":173},[167,29025,29026],{"class":169,"line":160},[167,29027,209],{"emptyLinePlaceholder":208},[167,29029,29030,29032,29034],{"class":169,"line":238},[167,29031,174],{"class":173},[167,29033,299],{"class":177},[167,29035,185],{"class":173},[167,29037,29038,29040,29042,29045,29047],{"class":169,"line":243},[167,29039,307],{"class":173},[167,29041,15],{"class":177},[167,29043,29044],{"class":173},">{{ message }}\u003C\u002F",[167,29046,15],{"class":177},[167,29048,185],{"class":173},[167,29050,29051],{"class":169,"line":261},[167,29052,209],{"emptyLinePlaceholder":208},[167,29054,29056,29058,29060,29063,29066,29068],{"class":29055,"line":273},[169,213],[167,29057,307],{"class":173},[167,29059,154],{"class":177},[167,29061,29062],{"class":181}," v-pre",[167,29064,29065],{"class":173},">{{ message }} + {{ 2 + 2 }}\u003C\u002F",[167,29067,154],{"class":177},[167,29069,185],{"class":173},[167,29071,29072,29074,29076],{"class":169,"line":279},[167,29073,282],{"class":173},[167,29075,299],{"class":177},[167,29077,185],{"class":173},[154,29079,29082],{"className":156,"code":29080,"filename":3969,"highlights":29081,"language":162,"meta":163,"style":163},"\u003Cscript lang=\"ts\">\nexport default {\n  data() {\n    return {\n      message: \"No debe renderizarse dentro del bloque v-pre\",\n    };\n  },\n};\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cp>{{ message }}\u003C\u002Fp>\n  \u003Cpre v-pre>{{ message }} + {{ 2 + 2 }}\u003C\u002Fpre>\n\u003C\u002Ftemplate>\n",[313],[87,29083,29084,29098,29106,29112,29118,29128,29132,29136,29140,29148,29152,29160,29172,29187],{"__ignoreMap":163},[167,29085,29086,29088,29090,29092,29094,29096],{"class":169,"line":170},[167,29087,174],{"class":173},[167,29089,178],{"class":177},[167,29091,1045],{"class":181},[167,29093,267],{"class":173},[167,29095,1050],{"class":201},[167,29097,185],{"class":173},[167,29099,29100,29102,29104],{"class":169,"line":188},[167,29101,608],{"class":191},[167,29103,3987],{"class":191},[167,29105,1901],{"class":173},[167,29107,29108,29110],{"class":169,"line":205},[167,29109,7172],{"class":181},[167,29111,763],{"class":173},[167,29113,29114,29116],{"class":169,"line":160},[167,29115,1933],{"class":191},[167,29117,1901],{"class":173},[167,29119,29120,29123,29126],{"class":169,"line":238},[167,29121,29122],{"class":173},"      message: ",[167,29124,29125],{"class":201},"\"No debe renderizarse dentro del bloque v-pre\"",[167,29127,393],{"class":173},[167,29129,29130],{"class":169,"line":243},[167,29131,24366],{"class":173},[167,29133,29134],{"class":169,"line":261},[167,29135,398],{"class":173},[167,29137,29138],{"class":169,"line":273},[167,29139,24144],{"class":173},[167,29141,29142,29144,29146],{"class":169,"line":279},[167,29143,282],{"class":173},[167,29145,178],{"class":177},[167,29147,185],{"class":173},[167,29149,29150],{"class":169,"line":289},[167,29151,209],{"emptyLinePlaceholder":208},[167,29153,29154,29156,29158],{"class":169,"line":294},[167,29155,174],{"class":173},[167,29157,299],{"class":177},[167,29159,185],{"class":173},[167,29161,29162,29164,29166,29168,29170],{"class":169,"line":304},[167,29163,307],{"class":173},[167,29165,15],{"class":177},[167,29167,29044],{"class":173},[167,29169,15],{"class":177},[167,29171,185],{"class":173},[167,29173,29175,29177,29179,29181,29183,29185],{"class":29174,"line":313},[169,213],[167,29176,307],{"class":173},[167,29178,154],{"class":177},[167,29180,29062],{"class":181},[167,29182,29065],{"class":173},[167,29184,154],{"class":177},[167,29186,185],{"class":173},[167,29188,29189,29191,29193],{"class":169,"line":161},[167,29190,282],{"class":173},[167,29192,299],{"class":177},[167,29194,185],{"class":173},[3083,29196,29198],{"id":29197},"_4-ejemplo-completo","4) Ejemplo completo",[15,29200,29201,29202,29204,29205,29207,29208,29210],{},"Componente de lista con cabecera estática (",[87,29203,27768],{},"), tarjetas memoizadas (",[87,29206,27771],{},") y snippet literal (",[87,29209,27774],{},"):",[154,29212,29214],{"className":156,"code":29213,"filename":3256,"language":162,"meta":163,"style":163},"\u003Cscript setup lang=\"ts\">\nimport { computed, ref } from \"vue\";\n\ntype Task = { id: number; title: string; done: boolean; owner: string };\n\nconst selectedOwner = ref\u003C\"all\" | string>(\"all\");\nconst tasks = ref\u003CTask[]>([\n  { id: 1, title: \"Configurar CI\", done: true, owner: \"Ana\" },\n  { id: 2, title: \"Refactor store\", done: false, owner: \"Luis\" },\n  { id: 3, title: \"Actualizar docs\", done: false, owner: \"Ana\" },\n]);\n\nconst owners = computed(() => [\"all\", ...new Set(tasks.value.map((t) => t.owner))]);\nconst visibleTasks = computed(() =>\n  selectedOwner.value === \"all\"\n    ? tasks.value\n    : tasks.value.filter((t) => t.owner === selectedOwner.value)\n);\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cheader v-once>\n    \u003Ch2>Panel de tareas del sprint\u003C\u002Fh2>\n    \u003Cp>Contenido institucional estático\u003C\u002Fp>\n  \u003C\u002Fheader>\n\n  \u003Clabel>\n    Filtrar por owner\n    \u003Cselect v-model=\"selectedOwner\">\n      \u003Coption v-for=\"owner in owners\" :key=\"owner\" :value=\"owner\">{{ owner }}\u003C\u002Foption>\n    \u003C\u002Fselect>\n  \u003C\u002Flabel>\n\n  \u003Csection\n    v-for=\"task in visibleTasks\"\n    :key=\"task.id\"\n    v-memo=\"[task.id, task.title, task.owner, task.done, selectedOwner]\"\n    class=\"task-card\"\n  >\n    \u003Ch3>{{ task.title }}\u003C\u002Fh3>\n    \u003Cp>Owner: {{ task.owner }}\u003C\u002Fp>\n    \u003Cp>Estado: {{ task.done ? \"Completada\" : \"Pendiente\" }}\u003C\u002Fp>\n  \u003C\u002Fsection>\n\n  \u003Caside>\n    \u003Ch4>Snippet para docs\u003C\u002Fh4>\n    \u003Ccode v-pre>{{ title }} - {{ owner }}\u003C\u002Fcode>\n  \u003C\u002Faside>\n\u003C\u002Ftemplate>\n",[87,29215,29216,29232,29244,29248,29293,29297,29323,29339,29360,29381,29402,29406,29410,29453,29467,29477,29484,29509,29513,29521,29525,29533,29543,29556,29569,29577,29581,29589,29594,29609,29644,29652,29660,29664,29671,29679,29687,29696,29705,29709,29721,29734,29747,29755,29759,29767,29781,29796,29804],{"__ignoreMap":163},[167,29217,29218,29220,29222,29224,29226,29228,29230],{"class":169,"line":170},[167,29219,174],{"class":173},[167,29221,178],{"class":177},[167,29223,182],{"class":181},[167,29225,1045],{"class":181},[167,29227,267],{"class":173},[167,29229,1050],{"class":201},[167,29231,185],{"class":173},[167,29233,29234,29236,29238,29240,29242],{"class":169,"line":188},[167,29235,192],{"class":191},[167,29237,1801],{"class":173},[167,29239,198],{"class":191},[167,29241,24037],{"class":201},[167,29243,24040],{"class":173},[167,29245,29246],{"class":169,"line":205},[167,29247,209],{"emptyLinePlaceholder":208},[167,29249,29250,29252,29254,29256,29258,29260,29262,29264,29266,29269,29271,29273,29275,29278,29280,29282,29284,29287,29289,29291],{"class":169,"line":160},[167,29251,569],{"class":191},[167,29253,11601],{"class":181},[167,29255,223],{"class":191},[167,29257,577],{"class":173},[167,29259,580],{"class":254},[167,29261,583],{"class":191},[167,29263,8489],{"class":219},[167,29265,589],{"class":173},[167,29267,29268],{"class":254},"title",[167,29270,583],{"class":191},[167,29272,586],{"class":219},[167,29274,589],{"class":173},[167,29276,29277],{"class":254},"done",[167,29279,583],{"class":191},[167,29281,28412],{"class":219},[167,29283,589],{"class":173},[167,29285,29286],{"class":254},"owner",[167,29288,583],{"class":191},[167,29290,586],{"class":219},[167,29292,25578],{"class":173},[167,29294,29295],{"class":169,"line":238},[167,29296,209],{"emptyLinePlaceholder":208},[167,29298,29299,29301,29304,29306,29308,29310,29313,29315,29317,29319,29321],{"class":169,"line":243},[167,29300,216],{"class":191},[167,29302,29303],{"class":219}," selectedOwner",[167,29305,223],{"class":191},[167,29307,226],{"class":181},[167,29309,174],{"class":173},[167,29311,29312],{"class":201},"\"all\"",[167,29314,659],{"class":191},[167,29316,586],{"class":219},[167,29318,6566],{"class":173},[167,29320,29312],{"class":201},[167,29322,24165],{"class":173},[167,29324,29325,29327,29329,29331,29333,29335,29337],{"class":169,"line":261},[167,29326,216],{"class":191},[167,29328,3364],{"class":219},[167,29330,223],{"class":191},[167,29332,226],{"class":181},[167,29334,174],{"class":173},[167,29336,11655],{"class":181},[167,29338,28469],{"class":173},[167,29340,29341,29343,29345,29347,29350,29352,29354,29356,29358],{"class":169,"line":273},[167,29342,1828],{"class":173},[167,29344,1831],{"class":219},[167,29346,3379],{"class":173},[167,29348,29349],{"class":201},"\"Configurar CI\"",[167,29351,8160],{"class":173},[167,29353,390],{"class":219},[167,29355,8165],{"class":173},[167,29357,23483],{"class":201},[167,29359,1852],{"class":173},[167,29361,29362,29364,29366,29368,29371,29373,29375,29377,29379],{"class":169,"line":279},[167,29363,1828],{"class":173},[167,29365,1849],{"class":219},[167,29367,3379],{"class":173},[167,29369,29370],{"class":201},"\"Refactor store\"",[167,29372,8160],{"class":173},[167,29374,3388],{"class":219},[167,29376,8165],{"class":173},[167,29378,28503],{"class":201},[167,29380,1852],{"class":173},[167,29382,29383,29385,29387,29389,29392,29394,29396,29398,29400],{"class":169,"line":289},[167,29384,1828],{"class":173},[167,29386,8199],{"class":219},[167,29388,3379],{"class":173},[167,29390,29391],{"class":201},"\"Actualizar docs\"",[167,29393,8160],{"class":173},[167,29395,3388],{"class":219},[167,29397,8165],{"class":173},[167,29399,23483],{"class":201},[167,29401,1852],{"class":173},[167,29403,29404],{"class":169,"line":294},[167,29405,28541],{"class":173},[167,29407,29408],{"class":169,"line":304},[167,29409,209],{"emptyLinePlaceholder":208},[167,29411,29412,29414,29417,29419,29421,29423,29425,29427,29429,29431,29434,29436,29439,29441,29443,29446,29448,29450],{"class":169,"line":313},[167,29413,216],{"class":191},[167,29415,29416],{"class":219}," owners",[167,29418,223],{"class":191},[167,29420,1894],{"class":181},[167,29422,1488],{"class":173},[167,29424,639],{"class":191},[167,29426,1098],{"class":173},[167,29428,29312],{"class":201},[167,29430,1020],{"class":173},[167,29432,29433],{"class":191},"...new",[167,29435,22320],{"class":181},[167,29437,29438],{"class":173},"(tasks.value.",[167,29440,9840],{"class":181},[167,29442,1914],{"class":173},[167,29444,29445],{"class":254},"t",[167,29447,693],{"class":173},[167,29449,639],{"class":191},[167,29451,29452],{"class":173}," t.owner))]);\n",[167,29454,29455,29457,29459,29461,29463,29465],{"class":169,"line":161},[167,29456,216],{"class":191},[167,29458,8229],{"class":219},[167,29460,223],{"class":191},[167,29462,1894],{"class":181},[167,29464,1488],{"class":173},[167,29466,9713],{"class":191},[167,29468,29469,29472,29474],{"class":169,"line":335},[167,29470,29471],{"class":173},"  selectedOwner.value ",[167,29473,2546],{"class":191},[167,29475,29476],{"class":201}," \"all\"\n",[167,29478,29479,29482],{"class":169,"line":341},[167,29480,29481],{"class":191},"    ?",[167,29483,11888],{"class":173},[167,29485,29486,29489,29491,29493,29495,29497,29499,29501,29504,29506],{"class":169,"line":489},[167,29487,29488],{"class":191},"    :",[167,29490,3447],{"class":173},[167,29492,8248],{"class":181},[167,29494,1914],{"class":173},[167,29496,29445],{"class":254},[167,29498,693],{"class":173},[167,29500,639],{"class":191},[167,29502,29503],{"class":173}," t.owner ",[167,29505,2546],{"class":191},[167,29507,29508],{"class":173}," selectedOwner.value)\n",[167,29510,29511],{"class":169,"line":495},[167,29512,24165],{"class":173},[167,29514,29515,29517,29519],{"class":169,"line":501},[167,29516,282],{"class":173},[167,29518,178],{"class":177},[167,29520,185],{"class":173},[167,29522,29523],{"class":169,"line":512},[167,29524,209],{"emptyLinePlaceholder":208},[167,29526,29527,29529,29531],{"class":169,"line":781},[167,29528,174],{"class":173},[167,29530,299],{"class":177},[167,29532,185],{"class":173},[167,29534,29535,29537,29539,29541],{"class":169,"line":786},[167,29536,307],{"class":173},[167,29538,1255],{"class":177},[167,29540,28174],{"class":181},[167,29542,185],{"class":173},[167,29544,29545,29547,29549,29552,29554],{"class":169,"line":2674},[167,29546,1252],{"class":173},[167,29548,22],{"class":177},[167,29550,29551],{"class":173},">Panel de tareas del sprint\u003C\u002F",[167,29553,22],{"class":177},[167,29555,185],{"class":173},[167,29557,29558,29560,29562,29565,29567],{"class":169,"line":2688},[167,29559,1252],{"class":173},[167,29561,15],{"class":177},[167,29563,29564],{"class":173},">Contenido institucional estático\u003C\u002F",[167,29566,15],{"class":177},[167,29568,185],{"class":173},[167,29570,29571,29573,29575],{"class":169,"line":3571},[167,29572,504],{"class":173},[167,29574,1255],{"class":177},[167,29576,185],{"class":173},[167,29578,29579],{"class":169,"line":5024},[167,29580,209],{"emptyLinePlaceholder":208},[167,29582,29583,29585,29587],{"class":169,"line":5033},[167,29584,307],{"class":173},[167,29586,9871],{"class":177},[167,29588,185],{"class":173},[167,29590,29591],{"class":169,"line":5042},[167,29592,29593],{"class":173},"    Filtrar por owner\n",[167,29595,29596,29598,29600,29602,29604,29607],{"class":169,"line":6752},[167,29597,1252],{"class":173},[167,29599,1093],{"class":177},[167,29601,2649],{"class":181},[167,29603,267],{"class":173},[167,29605,29606],{"class":201},"\"selectedOwner\"",[167,29608,185],{"class":173},[167,29610,29611,29613,29616,29618,29620,29623,29625,29627,29630,29633,29635,29637,29640,29642],{"class":169,"line":6774},[167,29612,1263],{"class":173},[167,29614,29615],{"class":177},"option",[167,29617,18702],{"class":181},[167,29619,267],{"class":173},[167,29621,29622],{"class":201},"\"owner in owners\"",[167,29624,10303],{"class":181},[167,29626,267],{"class":173},[167,29628,29629],{"class":201},"\"owner\"",[167,29631,29632],{"class":181}," :value",[167,29634,267],{"class":173},[167,29636,29629],{"class":201},[167,29638,29639],{"class":173},">{{ owner }}\u003C\u002F",[167,29641,29615],{"class":177},[167,29643,185],{"class":173},[167,29645,29646,29648,29650],{"class":169,"line":6779},[167,29647,1287],{"class":173},[167,29649,1093],{"class":177},[167,29651,185],{"class":173},[167,29653,29654,29656,29658],{"class":169,"line":6784},[167,29655,504],{"class":173},[167,29657,9871],{"class":177},[167,29659,185],{"class":173},[167,29661,29662],{"class":169,"line":6789},[167,29663,209],{"emptyLinePlaceholder":208},[167,29665,29666,29668],{"class":169,"line":6805},[167,29667,307],{"class":173},[167,29669,29670],{"class":177},"section\n",[167,29672,29673,29675,29677],{"class":169,"line":6820},[167,29674,3526],{"class":181},[167,29676,267],{"class":173},[167,29678,12478],{"class":201},[167,29680,29681,29683,29685],{"class":169,"line":6825},[167,29682,3537],{"class":181},[167,29684,267],{"class":173},[167,29686,3542],{"class":201},[167,29688,29689,29691,29693],{"class":169,"line":6832},[167,29690,28592],{"class":181},[167,29692,267],{"class":173},[167,29694,29695],{"class":201},"\"[task.id, task.title, task.owner, task.done, selectedOwner]\"\n",[167,29697,29698,29700,29702],{"class":169,"line":6841},[167,29699,28602],{"class":181},[167,29701,267],{"class":173},[167,29703,29704],{"class":201},"\"task-card\"\n",[167,29706,29707],{"class":169,"line":6850},[167,29708,492],{"class":173},[167,29710,29711,29713,29715,29717,29719],{"class":169,"line":6857},[167,29712,1252],{"class":173},[167,29714,3083],{"class":177},[167,29716,4975],{"class":173},[167,29718,3083],{"class":177},[167,29720,185],{"class":173},[167,29722,29723,29725,29727,29730,29732],{"class":169,"line":6875},[167,29724,1252],{"class":173},[167,29726,15],{"class":177},[167,29728,29729],{"class":173},">Owner: {{ task.owner }}\u003C\u002F",[167,29731,15],{"class":177},[167,29733,185],{"class":173},[167,29735,29736,29738,29740,29743,29745],{"class":169,"line":6880},[167,29737,1252],{"class":173},[167,29739,15],{"class":177},[167,29741,29742],{"class":173},">Estado: {{ task.done ? \"Completada\" : \"Pendiente\" }}\u003C\u002F",[167,29744,15],{"class":177},[167,29746,185],{"class":173},[167,29748,29749,29751,29753],{"class":169,"line":6885},[167,29750,504],{"class":173},[167,29752,10113],{"class":177},[167,29754,185],{"class":173},[167,29756,29757],{"class":169,"line":6894},[167,29758,209],{"emptyLinePlaceholder":208},[167,29760,29761,29763,29765],{"class":169,"line":6899},[167,29762,307],{"class":173},[167,29764,27350],{"class":177},[167,29766,185],{"class":173},[167,29768,29769,29771,29774,29777,29779],{"class":169,"line":6908},[167,29770,1252],{"class":173},[167,29772,29773],{"class":177},"h4",[167,29775,29776],{"class":173},">Snippet para docs\u003C\u002F",[167,29778,29773],{"class":177},[167,29780,185],{"class":173},[167,29782,29783,29785,29787,29789,29792,29794],{"class":169,"line":6924},[167,29784,1252],{"class":173},[167,29786,87],{"class":177},[167,29788,29062],{"class":181},[167,29790,29791],{"class":173},">{{ title }} - {{ owner }}\u003C\u002F",[167,29793,87],{"class":177},[167,29795,185],{"class":173},[167,29797,29798,29800,29802],{"class":169,"line":6945},[167,29799,504],{"class":173},[167,29801,27350],{"class":177},[167,29803,185],{"class":173},[167,29805,29806,29808,29810],{"class":169,"line":6950},[167,29807,282],{"class":173},[167,29809,299],{"class":177},[167,29811,185],{"class":173},[154,29813,29815],{"className":156,"code":29814,"filename":3969,"language":162,"meta":163,"style":163},"\u003Cscript lang=\"ts\">\nexport default {\n  data() {\n    return {\n      selectedOwner: \"all\",\n      tasks: [\n        { id: 1, title: \"Configurar CI\", done: true, owner: \"Ana\" },\n        { id: 2, title: \"Refactor store\", done: false, owner: \"Luis\" },\n        { id: 3, title: \"Actualizar docs\", done: false, owner: \"Ana\" },\n      ],\n    };\n  },\n  computed: {\n    owners() {\n      return [\"all\", ...new Set(this.tasks.map((t) => t.owner))];\n    },\n    visibleTasks() {\n      return this.selectedOwner === \"all\"\n        ? this.tasks\n        : this.tasks.filter((t) => t.owner === this.selectedOwner);\n    },\n  },\n};\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cheader v-once>\n    \u003Ch2>Panel de tareas del sprint\u003C\u002Fh2>\n    \u003Cp>Contenido institucional estático\u003C\u002Fp>\n  \u003C\u002Fheader>\n\n  \u003Clabel>\n    Filtrar por owner\n    \u003Cselect v-model=\"selectedOwner\">\n      \u003Coption v-for=\"owner in owners\" :key=\"owner\" :value=\"owner\">{{ owner }}\u003C\u002Foption>\n    \u003C\u002Fselect>\n  \u003C\u002Flabel>\n\n  \u003Csection\n    v-for=\"task in visibleTasks\"\n    :key=\"task.id\"\n    v-memo=\"[task.id, task.title, task.owner, task.done, selectedOwner]\"\n    class=\"task-card\"\n  >\n    \u003Ch3>{{ task.title }}\u003C\u002Fh3>\n    \u003Cp>Owner: {{ task.owner }}\u003C\u002Fp>\n    \u003Cp>Estado: {{ task.done ? \"Completada\" : \"Pendiente\" }}\u003C\u002Fp>\n  \u003C\u002Fsection>\n\n  \u003Caside>\n    \u003Ch4>Snippet para docs\u003C\u002Fh4>\n    \u003Ccode v-pre>{{ title }} - {{ owner }}\u003C\u002Fcode>\n  \u003C\u002Faside>\n\u003C\u002Ftemplate>\n",[87,29816,29817,29831,29839,29845,29851,29860,29864,29884,29904,29924,29928,29932,29936,29940,29947,29980,29984,29990,30003,30012,30040,30044,30048,30052,30060,30064,30072,30082,30094,30106,30114,30118,30126,30130,30144,30174,30182,30190,30194,30200,30208,30216,30224,30232,30236,30248,30260,30272,30280,30284,30292,30304,30318,30326],{"__ignoreMap":163},[167,29818,29819,29821,29823,29825,29827,29829],{"class":169,"line":170},[167,29820,174],{"class":173},[167,29822,178],{"class":177},[167,29824,1045],{"class":181},[167,29826,267],{"class":173},[167,29828,1050],{"class":201},[167,29830,185],{"class":173},[167,29832,29833,29835,29837],{"class":169,"line":188},[167,29834,608],{"class":191},[167,29836,3987],{"class":191},[167,29838,1901],{"class":173},[167,29840,29841,29843],{"class":169,"line":205},[167,29842,7172],{"class":181},[167,29844,763],{"class":173},[167,29846,29847,29849],{"class":169,"line":160},[167,29848,1933],{"class":191},[167,29850,1901],{"class":173},[167,29852,29853,29856,29858],{"class":169,"line":238},[167,29854,29855],{"class":173},"      selectedOwner: ",[167,29857,29312],{"class":201},[167,29859,393],{"class":173},[167,29861,29862],{"class":169,"line":243},[167,29863,8668],{"class":173},[167,29865,29866,29868,29870,29872,29874,29876,29878,29880,29882],{"class":169,"line":261},[167,29867,8673],{"class":173},[167,29869,1831],{"class":219},[167,29871,3379],{"class":173},[167,29873,29349],{"class":201},[167,29875,8160],{"class":173},[167,29877,390],{"class":219},[167,29879,8165],{"class":173},[167,29881,23483],{"class":201},[167,29883,1852],{"class":173},[167,29885,29886,29888,29890,29892,29894,29896,29898,29900,29902],{"class":169,"line":273},[167,29887,8673],{"class":173},[167,29889,1849],{"class":219},[167,29891,3379],{"class":173},[167,29893,29370],{"class":201},[167,29895,8160],{"class":173},[167,29897,3388],{"class":219},[167,29899,8165],{"class":173},[167,29901,28503],{"class":201},[167,29903,1852],{"class":173},[167,29905,29906,29908,29910,29912,29914,29916,29918,29920,29922],{"class":169,"line":279},[167,29907,8673],{"class":173},[167,29909,8199],{"class":219},[167,29911,3379],{"class":173},[167,29913,29391],{"class":201},[167,29915,8160],{"class":173},[167,29917,3388],{"class":219},[167,29919,8165],{"class":173},[167,29921,23483],{"class":201},[167,29923,1852],{"class":173},[167,29925,29926],{"class":169,"line":289},[167,29927,16110],{"class":173},[167,29929,29930],{"class":169,"line":294},[167,29931,24366],{"class":173},[167,29933,29934],{"class":169,"line":304},[167,29935,398],{"class":173},[167,29937,29938],{"class":169,"line":313},[167,29939,8751],{"class":173},[167,29941,29942,29945],{"class":169,"line":161},[167,29943,29944],{"class":181},"    owners",[167,29946,763],{"class":173},[167,29948,29949,29951,29953,29955,29957,29959,29961,29963,29965,29967,29969,29971,29973,29975,29977],{"class":169,"line":335},[167,29950,8763],{"class":191},[167,29952,1098],{"class":173},[167,29954,29312],{"class":201},[167,29956,1020],{"class":173},[167,29958,29433],{"class":191},[167,29960,22320],{"class":181},[167,29962,229],{"class":173},[167,29964,4923],{"class":219},[167,29966,8768],{"class":173},[167,29968,9840],{"class":181},[167,29970,1914],{"class":173},[167,29972,29445],{"class":254},[167,29974,693],{"class":173},[167,29976,639],{"class":191},[167,29978,29979],{"class":173}," t.owner))];\n",[167,29981,29982],{"class":169,"line":341},[167,29983,755],{"class":173},[167,29985,29986,29988],{"class":169,"line":489},[167,29987,8756],{"class":181},[167,29989,763],{"class":173},[167,29991,29992,29994,29996,29999,30001],{"class":169,"line":495},[167,29993,8763],{"class":191},[167,29995,7347],{"class":219},[167,29997,29998],{"class":173},".selectedOwner ",[167,30000,2546],{"class":191},[167,30002,29476],{"class":201},[167,30004,30005,30008,30010],{"class":169,"line":501},[167,30006,30007],{"class":191},"        ?",[167,30009,7347],{"class":219},[167,30011,12728],{"class":173},[167,30013,30014,30017,30019,30021,30023,30025,30027,30029,30031,30033,30035,30037],{"class":169,"line":512},[167,30015,30016],{"class":191},"        :",[167,30018,7347],{"class":219},[167,30020,8768],{"class":173},[167,30022,8248],{"class":181},[167,30024,1914],{"class":173},[167,30026,29445],{"class":254},[167,30028,693],{"class":173},[167,30030,639],{"class":191},[167,30032,29503],{"class":173},[167,30034,2546],{"class":191},[167,30036,7347],{"class":219},[167,30038,30039],{"class":173},".selectedOwner);\n",[167,30041,30042],{"class":169,"line":781},[167,30043,755],{"class":173},[167,30045,30046],{"class":169,"line":786},[167,30047,398],{"class":173},[167,30049,30050],{"class":169,"line":2674},[167,30051,24144],{"class":173},[167,30053,30054,30056,30058],{"class":169,"line":2688},[167,30055,282],{"class":173},[167,30057,178],{"class":177},[167,30059,185],{"class":173},[167,30061,30062],{"class":169,"line":3571},[167,30063,209],{"emptyLinePlaceholder":208},[167,30065,30066,30068,30070],{"class":169,"line":5024},[167,30067,174],{"class":173},[167,30069,299],{"class":177},[167,30071,185],{"class":173},[167,30073,30074,30076,30078,30080],{"class":169,"line":5033},[167,30075,307],{"class":173},[167,30077,1255],{"class":177},[167,30079,28174],{"class":181},[167,30081,185],{"class":173},[167,30083,30084,30086,30088,30090,30092],{"class":169,"line":5042},[167,30085,1252],{"class":173},[167,30087,22],{"class":177},[167,30089,29551],{"class":173},[167,30091,22],{"class":177},[167,30093,185],{"class":173},[167,30095,30096,30098,30100,30102,30104],{"class":169,"line":6752},[167,30097,1252],{"class":173},[167,30099,15],{"class":177},[167,30101,29564],{"class":173},[167,30103,15],{"class":177},[167,30105,185],{"class":173},[167,30107,30108,30110,30112],{"class":169,"line":6774},[167,30109,504],{"class":173},[167,30111,1255],{"class":177},[167,30113,185],{"class":173},[167,30115,30116],{"class":169,"line":6779},[167,30117,209],{"emptyLinePlaceholder":208},[167,30119,30120,30122,30124],{"class":169,"line":6784},[167,30121,307],{"class":173},[167,30123,9871],{"class":177},[167,30125,185],{"class":173},[167,30127,30128],{"class":169,"line":6789},[167,30129,29593],{"class":173},[167,30131,30132,30134,30136,30138,30140,30142],{"class":169,"line":6805},[167,30133,1252],{"class":173},[167,30135,1093],{"class":177},[167,30137,2649],{"class":181},[167,30139,267],{"class":173},[167,30141,29606],{"class":201},[167,30143,185],{"class":173},[167,30145,30146,30148,30150,30152,30154,30156,30158,30160,30162,30164,30166,30168,30170,30172],{"class":169,"line":6820},[167,30147,1263],{"class":173},[167,30149,29615],{"class":177},[167,30151,18702],{"class":181},[167,30153,267],{"class":173},[167,30155,29622],{"class":201},[167,30157,10303],{"class":181},[167,30159,267],{"class":173},[167,30161,29629],{"class":201},[167,30163,29632],{"class":181},[167,30165,267],{"class":173},[167,30167,29629],{"class":201},[167,30169,29639],{"class":173},[167,30171,29615],{"class":177},[167,30173,185],{"class":173},[167,30175,30176,30178,30180],{"class":169,"line":6825},[167,30177,1287],{"class":173},[167,30179,1093],{"class":177},[167,30181,185],{"class":173},[167,30183,30184,30186,30188],{"class":169,"line":6832},[167,30185,504],{"class":173},[167,30187,9871],{"class":177},[167,30189,185],{"class":173},[167,30191,30192],{"class":169,"line":6841},[167,30193,209],{"emptyLinePlaceholder":208},[167,30195,30196,30198],{"class":169,"line":6850},[167,30197,307],{"class":173},[167,30199,29670],{"class":177},[167,30201,30202,30204,30206],{"class":169,"line":6857},[167,30203,3526],{"class":181},[167,30205,267],{"class":173},[167,30207,12478],{"class":201},[167,30209,30210,30212,30214],{"class":169,"line":6875},[167,30211,3537],{"class":181},[167,30213,267],{"class":173},[167,30215,3542],{"class":201},[167,30217,30218,30220,30222],{"class":169,"line":6880},[167,30219,28592],{"class":181},[167,30221,267],{"class":173},[167,30223,29695],{"class":201},[167,30225,30226,30228,30230],{"class":169,"line":6885},[167,30227,28602],{"class":181},[167,30229,267],{"class":173},[167,30231,29704],{"class":201},[167,30233,30234],{"class":169,"line":6894},[167,30235,492],{"class":173},[167,30237,30238,30240,30242,30244,30246],{"class":169,"line":6899},[167,30239,1252],{"class":173},[167,30241,3083],{"class":177},[167,30243,4975],{"class":173},[167,30245,3083],{"class":177},[167,30247,185],{"class":173},[167,30249,30250,30252,30254,30256,30258],{"class":169,"line":6908},[167,30251,1252],{"class":173},[167,30253,15],{"class":177},[167,30255,29729],{"class":173},[167,30257,15],{"class":177},[167,30259,185],{"class":173},[167,30261,30262,30264,30266,30268,30270],{"class":169,"line":6924},[167,30263,1252],{"class":173},[167,30265,15],{"class":177},[167,30267,29742],{"class":173},[167,30269,15],{"class":177},[167,30271,185],{"class":173},[167,30273,30274,30276,30278],{"class":169,"line":6945},[167,30275,504],{"class":173},[167,30277,10113],{"class":177},[167,30279,185],{"class":173},[167,30281,30282],{"class":169,"line":6950},[167,30283,209],{"emptyLinePlaceholder":208},[167,30285,30286,30288,30290],{"class":169,"line":6971},[167,30287,307],{"class":173},[167,30289,27350],{"class":177},[167,30291,185],{"class":173},[167,30293,30294,30296,30298,30300,30302],{"class":169,"line":6985},[167,30295,1252],{"class":173},[167,30297,29773],{"class":177},[167,30299,29776],{"class":173},[167,30301,29773],{"class":177},[167,30303,185],{"class":173},[167,30305,30306,30308,30310,30312,30314,30316],{"class":169,"line":6999},[167,30307,1252],{"class":173},[167,30309,87],{"class":177},[167,30311,29062],{"class":181},[167,30313,29791],{"class":173},[167,30315,87],{"class":177},[167,30317,185],{"class":173},[167,30319,30320,30322,30324],{"class":169,"line":7013},[167,30321,504],{"class":173},[167,30323,27350],{"class":177},[167,30325,185],{"class":173},[167,30327,30328,30330,30332],{"class":169,"line":7022},[167,30329,282],{"class":173},[167,30331,299],{"class":177},[167,30333,185],{"class":173},[22,30335,7674],{"id":7673},[15,30337,30338,1020,30340,1023,30342,30344],{},[87,30339,27768],{},[87,30341,27771],{},[87,30343,27774],{}," son herramientas de precisión:",[33,30346,30347,30352,30357],{},[36,30348,30349,30351],{},[87,30350,27768],{}," para congelar contenido inmutable.",[36,30353,30354,30356],{},[87,30355,27771],{}," para evitar renders cuando dependencias clave no cambian.",[36,30358,30359,30361],{},[87,30360,27774],{}," para mostrar template literal sin compilación.",[15,30363,30364],{},"La clave no es usarlas en todo, sino en puntos donde el costo de render sea real y el comportamiento esperado sea claro.",[924,30366,30367],{},"html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .s9eBZ, html code.shiki .s9eBZ{--shiki-default:#22863A;--shiki-dark:#85E89D}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .s4XuR, html code.shiki .s4XuR{--shiki-default:#E36209;--shiki-dark:#FFAB70}",{"title":163,"searchDepth":188,"depth":188,"links":30369},[30370,30371,30376,30377,30378,30379,30388,30397],{"id":26498,"depth":188,"text":26499},{"id":6252,"depth":188,"text":6253,"children":30372},[30373,30374,30375],{"id":27768,"depth":205,"text":27768},{"id":27771,"depth":205,"text":27771},{"id":27774,"depth":205,"text":27774},{"id":6317,"depth":188,"text":6318},{"id":6344,"depth":188,"text":6345},{"id":11366,"depth":188,"text":11367},{"id":3080,"depth":188,"text":3081,"children":30380},[30381,30383,30385,30387],{"id":27979,"depth":205,"text":30382},"1) Aplicar v-once sobre datos que sí cambian",{"id":28001,"depth":205,"text":30384},"2) Definir mal dependencias en v-memo",{"id":28015,"depth":205,"text":30386},"3) Esperar que v-pre procese directivas o interpolaciones",{"id":28034,"depth":205,"text":28035},{"id":7992,"depth":188,"text":7993,"children":30389},[30390,30392,30394,30396],{"id":28048,"depth":205,"text":30391},"1) Bloque estático con v-once",{"id":28336,"depth":205,"text":30393},"2) Segmento pesado con v-memo",{"id":28976,"depth":205,"text":30395},"3) Bloque literal con v-pre",{"id":29197,"depth":205,"text":29198},{"id":7673,"depth":188,"text":7674},"https:\u002F\u002Fres.cloudinary.com\u002Fdenj4fg7f\u002Fimage\u002Fupload\u002Fv1771897190\u002Fdirectives-vue-v-once-v-memo-v-pre-guide_ljsdlv.png","Imagen temporal para portada del artículo sobre v-once, v-memo y v-pre en Vue","2026-02-24","Aprende cuándo usar v-once, v-memo y v-pre en Vue 3 para optimizar renderizado, evitar trabajo innecesario y mantener componentes claros.",{"updatedAt":30403,"coverCaption":23652,"author":945,"keywords":30404},"2026-02-23T21:00:00-05:00",[3254,27768,27771,27774,30405],"optimización render","\u002Fblog\u002Fdirectives-vue-v-once-v-memo-v-pre-guide.es",[30408],{"headline":30409,"author":30410,"datePublished":30403,"@type":959},"Directivas en Vue: v-once, v-memo y v-pre para renderizado eficiente",{"name":945,"@type":958},{"title":27760,"description":30401},"blog\u002Fdirectives-vue-v-once-v-memo-v-pre-guide.es",[30414,30415,30416,30417,30418],{"tag":26462,"color":26463},{"tag":3269,"color":3270},{"tag":9165,"color":9166},{"tag":3265,"color":3266},{"tag":7726,"color":7727},"ltUtJZ-ViSqRogEpVIS3x2XdEz345biUTyEg7SJpXLo",{"id":30421,"title":30422,"body":30423,"cover":31673,"coverAlt":31674,"date":31675,"description":31676,"draft":1617,"extension":940,"lab":941,"locale":941,"meta":31677,"navigation":208,"path":31682,"schemaOrg":31683,"seo":31686,"series":26456,"seriesDescription":26457,"seriesOrder":273,"seriesTitle":26458,"slug":941,"stem":31687,"tags":31688,"__hash__":31693},"blog\u002Fblog\u002Fdirectives-vue-v-text-v-html-guide.es.md","Directivas en Vue: v-text y v-html",{"type":8,"value":30424,"toc":31636},[30425,30434,30442,30459,30464,30466,30474,30488,30493,30497,30501,30508,30537,30540,30557,30566,30570,30577,30606,30609,30633,30637,30642,30661,30666,30687,30691,30696,30701,30706,30724,30726,30732,30735,30763,30779,30786,30789,30806,30817,30824,30833,30837,30840,30842,30848,30883,30890,30925,30929,30992,30994,31302,31589,31591,31619,31633],[11,30426,26479,30428,1658,30431],{"id":30427},"directivas-en-vue-v-text-vs-v-html",[87,30429,30430],{},"v-text",[87,30432,30433],{},"v-html",[15,30435,30436,30437,1023,30439,30441],{},"En Vue, ",[87,30438,30430],{},[87,30440,30433],{}," permiten renderizar contenido dinámico en el DOM, pero no hacen lo mismo ni implican el mismo nivel de riesgo.",[33,30443,30444,30452],{},[36,30445,30446,30448,30449,1675],{},[87,30447,30430],{}," inserta ",[3929,30450,30451],{},"texto plano",[36,30453,30454,30448,30456,1675],{},[87,30455,30433],{},[3929,30457,30458],{},"HTML interpretado por el navegador",[5363,30460,30461],{},[15,30462,30463],{},"Entender esta diferencia es clave para evitar bugs de UI y, sobre todo, vulnerabilidades de seguridad como XSS.",[22,30465,26499],{"id":26498},[15,30467,30468,30469,1023,30471,30473],{},"En proyectos reales es habitual recibir contenido desde APIs, CMS o incluso formularios de usuario. Elegir incorrectamente entre ",[87,30470,30430],{},[87,30472,30433],{}," puede provocar:",[33,30475,30476,30479,30482,30485],{},[36,30477,30478],{},"Diseños rotos por etiquetas inesperadas.",[36,30480,30481],{},"Exposición a ataques XSS.",[36,30483,30484],{},"Lógica de sanitización duplicada en múltiples componentes.",[36,30486,30487],{},"Inconsistencias visuales difíciles de depurar.",[5363,30489,30490],{},[15,30491,30492],{},"Tomar la decisión correcta desde el inicio mejora la seguridad, el mantenimiento y la coherencia del código.",[22,30494,30496],{"id":30495},"concepto-base","Concepto base",[3083,30498,30499],{"id":30430},[87,30500,30430],{},[15,30502,30503,30504,30507],{},"Renderiza el valor como contenido textual del nodo (",[87,30505,30506],{},"textContent",").\nSi el valor incluye etiquetas HTML, estas se muestran como texto literal, no se interpretan.",[154,30509,30511],{"className":156,"code":30510,"filename":15280,"language":162,"meta":163,"style":163},"\u003Cp v-text=\"message\">\u003C\u002Fp>\n",[87,30512,30513],{"__ignoreMap":163},[167,30514,30515,30517,30519,30522,30524,30526,30529,30531,30533,30535],{"class":169,"line":170},[167,30516,174],{"class":173},[167,30518,15],{"class":177},[167,30520,30521],{"class":181}," v-text",[167,30523,267],{"class":173},[167,30525,5076],{"class":201},[167,30527,30528],{"class":173},"message",[167,30530,5076],{"class":201},[167,30532,1277],{"class":173},[167,30534,15],{"class":177},[167,30536,185],{"class":173},[15,30538,30539],{},"Es equivalente a la interpolación estándar:",[154,30541,30543],{"className":156,"code":30542,"filename":15280,"language":162,"meta":163,"style":163},"\u003Cp>{{ message }}\u003C\u002Fp>\n",[87,30544,30545],{"__ignoreMap":163},[167,30546,30547,30549,30551,30553,30555],{"class":169,"line":170},[167,30548,174],{"class":173},[167,30550,15],{"class":177},[167,30552,29044],{"class":173},[167,30554,15],{"class":177},[167,30556,185],{"class":173},[5363,30558,30559],{},[15,30560,30561,30562,30565],{},"En la práctica, la interpolación (",[87,30563,30564],{},"{{ }}",") es la forma más común y legible para texto dinámico.",[3083,30567,30568],{"id":30433},[87,30569,30433],{},[15,30571,30572,30573,30576],{},"Renderiza el valor como HTML dentro del nodo (",[87,30574,30575],{},"innerHTML",").\nSi el string contiene etiquetas, el navegador las procesa como parte del DOM.",[154,30578,30580],{"className":156,"code":30579,"filename":15280,"language":162,"meta":163,"style":163},"\u003Cdiv v-html=\"htmlSnippet\">\u003C\u002Fdiv>\n",[87,30581,30582],{"__ignoreMap":163},[167,30583,30584,30586,30588,30591,30593,30595,30598,30600,30602,30604],{"class":169,"line":170},[167,30585,174],{"class":173},[167,30587,1237],{"class":177},[167,30589,30590],{"class":181}," v-html",[167,30592,267],{"class":173},[167,30594,5076],{"class":201},[167,30596,30597],{"class":173},"htmlSnippet",[167,30599,5076],{"class":201},[167,30601,1277],{"class":173},[167,30603,1237],{"class":177},[167,30605,185],{"class":173},[15,30607,30608],{},"Consideraciones importantes:",[33,30610,30611,30619,30627,30630],{},[36,30612,30613,16899,30615,30618],{},[87,30614,30433],{},[3929,30616,30617],{},"no compila plantillas Vue"," dentro del contenido inyectado.",[36,30620,30621,30622,1020,30624,7859],{},"No enlaza directivas (",[87,30623,13492],{},[87,30625,30626],{},"@click",[36,30628,30629],{},"No debe utilizarse con contenido no confiable.",[36,30631,30632],{},"El contenido inyectado queda fuera del scope del compilador de plantillas.",[22,30634,30636],{"id":30635},"cuándo-usar-cada-uno","Cuándo usar cada uno",[3083,30638,1577,30640,13623],{"id":30639},"usa-v-text-cuando",[87,30641,30430],{},[33,30643,30644,30647,30655,30658],{},[36,30645,30646],{},"Renderizas texto dinámico simple y seguro.",[36,30648,30649,30650,90,30652,30654],{},"El contenido puede incluir ",[87,30651,174],{},[87,30653,15859],{}," y necesitas que se muestren literalmente.",[36,30656,30657],{},"No necesitas formato enriquecido.",[36,30659,30660],{},"Quieres la opción más segura por defecto.",[3083,30662,1577,30664,13623],{"id":30663},"usa-v-html-cuando",[87,30665,30433],{},[33,30667,30668,30671,30674,30684],{},[36,30669,30670],{},"Renderizas contenido HTML previamente sanitizado.",[36,30672,30673],{},"El contenido proviene de un CMS controlado o backend confiable.",[36,30675,30676,30677,1020,30680,30683],{},"Necesitas respetar formato enriquecido (",[87,30678,30679],{},"\u003Cstrong>",[87,30681,30682],{},"\u003Cem>",", listas, enlaces, etc.).",[36,30685,30686],{},"Existe una estrategia clara y centralizada de sanitización.",[22,30688,30690],{"id":30689},"cuándo-evitarlos","Cuándo evitarlos",[3083,30692,13618,30694,13623],{"id":30693},"evita-v-text-cuando",[87,30695,30430],{},[33,30697,30698],{},[36,30699,30700],{},"Necesitas HTML real con formato enriquecido.",[3083,30702,13618,30704,13623],{"id":30703},"evita-v-html-cuando",[87,30705,30433],{},[33,30707,30708,30711,30714,30717],{},[36,30709,30710],{},"El contenido proviene directamente de input de usuario sin sanitizar.",[36,30712,30713],{},"No tienes una estrategia centralizada de sanitización.",[36,30715,30716],{},"El mismo resultado puede lograrse con componentes explícitos (más seguro y mantenible).",[36,30718,30719,30720,30723],{},"Puedes modelar la estructura con datos y renderizarla con ",[87,30721,30722],{},"v-for"," y componentes en lugar de inyectar HTML crudo.",[22,30725,3081],{"id":3080},[3083,30727,26693,30729,30731],{"id":30728},"_1-usar-v-html-con-contenido-no-confiable",[87,30730,30433],{}," con contenido no confiable",[15,30733,30734],{},"Incorrecto:",[154,30736,30738],{"className":156,"code":30737,"filename":15280,"language":162,"meta":163,"style":163},"\u003Cdiv v-html=\"userBio\">\u003C\u002Fdiv>\n",[87,30739,30740],{"__ignoreMap":163},[167,30741,30742,30744,30746,30748,30750,30752,30755,30757,30759,30761],{"class":169,"line":170},[167,30743,174],{"class":173},[167,30745,1237],{"class":177},[167,30747,30590],{"class":181},[167,30749,267],{"class":173},[167,30751,5076],{"class":201},[167,30753,30754],{"class":173},"userBio",[167,30756,5076],{"class":201},[167,30758,1277],{"class":173},[167,30760,1237],{"class":177},[167,30762,185],{"class":173},[15,30764,3168,30765,30767,30768,30771,30772,1020,30775,30778],{},[87,30766,30754],{}," no está sanitizado, puede inyectar ",[87,30769,30770],{},"\u003Cscript>",", atributos peligrosos (",[87,30773,30774],{},"onerror",[87,30776,30777],{},"onclick",") o URLs maliciosas.",[3083,30780,30782,30783,30785],{"id":30781},"_2-esperar-que-v-html-procese-directivas-de-vue","2) Esperar que ",[87,30784,30433],{}," procese directivas de Vue",[15,30787,30788],{},"Esto no funciona:",[154,30790,30792],{"className":2875,"code":30791,"filename":25319,"language":2878,"meta":163,"style":163},"const html = '\u003Cbutton @click=\"save\">Guardar\u003C\u002Fbutton>'\n",[87,30793,30794],{"__ignoreMap":163},[167,30795,30796,30798,30801,30803],{"class":169,"line":170},[167,30797,216],{"class":191},[167,30799,30800],{"class":219}," html",[167,30802,223],{"class":191},[167,30804,30805],{"class":201}," '\u003Cbutton @click=\"save\">Guardar\u003C\u002Fbutton>'\n",[5363,30807,30808],{},[15,30809,30810,30811,16899,30813,30816],{},"Las directivas dentro de un string inyectado con ",[87,30812,30433],{},[3929,30814,30815],{},"no se compilan ni se enlazan"," al contexto del componente.",[3083,30818,30820,30821,30823],{"id":30819},"_3-usar-v-html-por-flexibilidad","3) Usar ",[87,30822,30433],{}," “por flexibilidad”",[15,30825,30826,30827,30829,30830,30832],{},"Si solo necesitas texto, usa interpolación (",[87,30828,30564],{},") o ",[87,30831,30430],{},".\nEs más simple, más legible y más seguro.",[3083,30834,30836],{"id":30835},"_4-repetir-la-sanitización-en-cada-componente","4) Repetir la sanitización en cada componente",[15,30838,30839],{},"La sanitización debe vivir en una función, composable o utility centralizada.\nDuplicarla en cada vista aumenta el riesgo de inconsistencias y errores.",[22,30841,7993],{"id":7992},[3083,30843,30845,30846,6215],{"id":30844},"_1-mensaje-dinámico-seguro-v-text","1) Mensaje dinámico seguro (",[87,30847,30430],{},[154,30849,30851],{"className":156,"code":30850,"filename":15280,"language":162,"meta":163,"style":163},"\u003Cp class=\"status\" v-text=\"statusMessage\">\u003C\u002Fp>\n",[87,30852,30853],{"__ignoreMap":163},[167,30854,30855,30857,30859,30861,30863,30866,30868,30870,30872,30875,30877,30879,30881],{"class":169,"line":170},[167,30856,174],{"class":173},[167,30858,15],{"class":177},[167,30860,1240],{"class":181},[167,30862,267],{"class":173},[167,30864,30865],{"class":201},"\"status\"",[167,30867,30521],{"class":181},[167,30869,267],{"class":173},[167,30871,5076],{"class":201},[167,30873,30874],{"class":173},"statusMessage",[167,30876,5076],{"class":201},[167,30878,1277],{"class":173},[167,30880,15],{"class":177},[167,30882,185],{"class":173},[3083,30884,30886,30887,30889],{"id":30885},"_2-descripción-enriquecida-desde-un-cms-v-html-sanitización-previa","2) Descripción enriquecida desde un CMS (",[87,30888,30433],{}," + sanitización previa)",[154,30891,30893],{"className":156,"code":30892,"filename":15280,"language":162,"meta":163,"style":163},"\u003Carticle class=\"prose\" v-html=\"safeHtml\">\u003C\u002Farticle>\n",[87,30894,30895],{"__ignoreMap":163},[167,30896,30897,30899,30901,30903,30905,30908,30910,30912,30914,30917,30919,30921,30923],{"class":169,"line":170},[167,30898,174],{"class":173},[167,30900,3692],{"class":177},[167,30902,1240],{"class":181},[167,30904,267],{"class":173},[167,30906,30907],{"class":201},"\"prose\"",[167,30909,30590],{"class":181},[167,30911,267],{"class":173},[167,30913,5076],{"class":201},[167,30915,30916],{"class":173},"safeHtml",[167,30918,5076],{"class":201},[167,30920,1277],{"class":173},[167,30922,3692],{"class":177},[167,30924,185],{"class":173},[3083,30926,30928],{"id":30927},"_3-fallback-entre-html-permitido-y-texto-plano","3) Fallback entre HTML permitido y texto plano",[154,30930,30932],{"className":156,"code":30931,"filename":15280,"language":162,"meta":163,"style":163},"\u003Cdiv v-if=\"allowRichText\" v-html=\"safeHtml\">\u003C\u002Fdiv>\n\u003Cp v-else v-text=\"plainText\">\u003C\u002Fp>\n",[87,30933,30934,30967],{"__ignoreMap":163},[167,30935,30936,30938,30940,30942,30944,30946,30949,30951,30953,30955,30957,30959,30961,30963,30965],{"class":169,"line":170},[167,30937,174],{"class":173},[167,30939,1237],{"class":177},[167,30941,5690],{"class":191},[167,30943,267],{"class":173},[167,30945,5076],{"class":201},[167,30947,30948],{"class":173},"allowRichText",[167,30950,5076],{"class":201},[167,30952,30590],{"class":181},[167,30954,267],{"class":173},[167,30956,5076],{"class":201},[167,30958,30916],{"class":173},[167,30960,5076],{"class":201},[167,30962,1277],{"class":173},[167,30964,1237],{"class":177},[167,30966,185],{"class":173},[167,30968,30969,30971,30973,30975,30977,30979,30981,30984,30986,30988,30990],{"class":169,"line":188},[167,30970,174],{"class":173},[167,30972,15],{"class":177},[167,30974,7034],{"class":191},[167,30976,30521],{"class":181},[167,30978,267],{"class":173},[167,30980,5076],{"class":201},[167,30982,30983],{"class":173},"plainText",[167,30985,5076],{"class":201},[167,30987,1277],{"class":173},[167,30989,15],{"class":177},[167,30991,185],{"class":173},[22,30993,8023],{"id":8022},[154,30995,30997],{"className":156,"code":30996,"filename":3256,"language":162,"meta":163,"style":163},"\u003Cscript setup lang=\"ts\">\nimport { computed, ref } from \"vue\";\n\nconst allowRichText = ref(true);\nconst rawFromCms = ref(\"\u003Ch3>Novedades\u003C\u002Fh3>\u003Cp>\u003Cstrong>Vue 3\u003C\u002Fstrong> mejora DX.\u003C\u002Fp>\");\nconst plainFallback = ref(\"Novedades: Vue 3 mejora DX.\");\n\nfunction sanitizeHtml(input: string) {\n  \u002F\u002F Placeholder: en producción usa una librería robusta como DOMPurify.\n  return input.replace(\u002F\u003Cscript.*?>.*?\u003C\\\u002Fscript>\u002Fgi, \"\");\n}\n\nconst safeHtml = computed(() => sanitizeHtml(rawFromCms.value));\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Csection>\n    \u003Ch2>Contenido editorial\u003C\u002Fh2>\n\n    \u003Cdiv v-if=\"allowRichText\" class=\"prose\" v-html=\"safeHtml\">\u003C\u002Fdiv>\n    \u003Cp v-else v-text=\"plainFallback\">\u003C\u002Fp>\n  \u003C\u002Fsection>\n\u003C\u002Ftemplate>\n",[87,30998,30999,31015,31027,31031,31048,31066,31084,31088,31105,31110,31160,31164,31168,31188,31196,31200,31208,31216,31229,31233,31265,31286,31294],{"__ignoreMap":163},[167,31000,31001,31003,31005,31007,31009,31011,31013],{"class":169,"line":170},[167,31002,174],{"class":173},[167,31004,178],{"class":177},[167,31006,182],{"class":181},[167,31008,1045],{"class":181},[167,31010,267],{"class":173},[167,31012,1050],{"class":201},[167,31014,185],{"class":173},[167,31016,31017,31019,31021,31023,31025],{"class":169,"line":188},[167,31018,192],{"class":191},[167,31020,1801],{"class":173},[167,31022,198],{"class":191},[167,31024,24037],{"class":201},[167,31026,24040],{"class":173},[167,31028,31029],{"class":169,"line":205},[167,31030,209],{"emptyLinePlaceholder":208},[167,31032,31033,31035,31038,31040,31042,31044,31046],{"class":169,"line":160},[167,31034,216],{"class":191},[167,31036,31037],{"class":219}," allowRichText",[167,31039,223],{"class":191},[167,31041,226],{"class":181},[167,31043,229],{"class":173},[167,31045,390],{"class":219},[167,31047,24165],{"class":173},[167,31049,31050,31052,31055,31057,31059,31061,31064],{"class":169,"line":238},[167,31051,216],{"class":191},[167,31053,31054],{"class":219}," rawFromCms",[167,31056,223],{"class":191},[167,31058,226],{"class":181},[167,31060,229],{"class":173},[167,31062,31063],{"class":201},"\"\u003Ch3>Novedades\u003C\u002Fh3>\u003Cp>\u003Cstrong>Vue 3\u003C\u002Fstrong> mejora DX.\u003C\u002Fp>\"",[167,31065,24165],{"class":173},[167,31067,31068,31070,31073,31075,31077,31079,31082],{"class":169,"line":243},[167,31069,216],{"class":191},[167,31071,31072],{"class":219}," plainFallback",[167,31074,223],{"class":191},[167,31076,226],{"class":181},[167,31078,229],{"class":173},[167,31080,31081],{"class":201},"\"Novedades: Vue 3 mejora DX.\"",[167,31083,24165],{"class":173},[167,31085,31086],{"class":169,"line":261},[167,31087,209],{"emptyLinePlaceholder":208},[167,31089,31090,31092,31095,31097,31099,31101,31103],{"class":169,"line":273},[167,31091,246],{"class":191},[167,31093,31094],{"class":181}," sanitizeHtml",[167,31096,229],{"class":173},[167,31098,2646],{"class":254},[167,31100,583],{"class":191},[167,31102,586],{"class":219},[167,31104,258],{"class":173},[167,31106,31107],{"class":169,"line":279},[167,31108,31109],{"class":18658},"  \u002F\u002F Placeholder: en producción usa una librería robusta como DOMPurify.\n",[167,31111,31112,31114,31117,31120,31122,31124,31128,31130,31133,31135,31137,31139,31141,31145,31148,31150,31153,31155,31158],{"class":169,"line":289},[167,31113,1534],{"class":191},[167,31115,31116],{"class":173}," input.",[167,31118,31119],{"class":181},"replace",[167,31121,229],{"class":173},[167,31123,21853],{"class":201},[167,31125,31127],{"class":31126},"sA_wV","\u003Cscript",[167,31129,1675],{"class":219},[167,31131,31132],{"class":191},"*?",[167,31134,15859],{"class":31126},[167,31136,1675],{"class":219},[167,31138,31132],{"class":191},[167,31140,174],{"class":31126},[167,31142,31144],{"class":31143},"snhLl","\\\u002F",[167,31146,31147],{"class":31126},"script>",[167,31149,21853],{"class":201},[167,31151,31152],{"class":191},"gi",[167,31154,1020],{"class":173},[167,31156,31157],{"class":201},"\"\"",[167,31159,24165],{"class":173},[167,31161,31162],{"class":169,"line":294},[167,31163,276],{"class":173},[167,31165,31166],{"class":169,"line":304},[167,31167,209],{"emptyLinePlaceholder":208},[167,31169,31170,31172,31175,31177,31179,31181,31183,31185],{"class":169,"line":313},[167,31171,216],{"class":191},[167,31173,31174],{"class":219}," safeHtml",[167,31176,223],{"class":191},[167,31178,1894],{"class":181},[167,31180,1488],{"class":173},[167,31182,639],{"class":191},[167,31184,31094],{"class":181},[167,31186,31187],{"class":173},"(rawFromCms.value));\n",[167,31189,31190,31192,31194],{"class":169,"line":161},[167,31191,282],{"class":173},[167,31193,178],{"class":177},[167,31195,185],{"class":173},[167,31197,31198],{"class":169,"line":335},[167,31199,209],{"emptyLinePlaceholder":208},[167,31201,31202,31204,31206],{"class":169,"line":341},[167,31203,174],{"class":173},[167,31205,299],{"class":177},[167,31207,185],{"class":173},[167,31209,31210,31212,31214],{"class":169,"line":489},[167,31211,307],{"class":173},[167,31213,10113],{"class":177},[167,31215,185],{"class":173},[167,31217,31218,31220,31222,31225,31227],{"class":169,"line":495},[167,31219,1252],{"class":173},[167,31221,22],{"class":177},[167,31223,31224],{"class":173},">Contenido editorial\u003C\u002F",[167,31226,22],{"class":177},[167,31228,185],{"class":173},[167,31230,31231],{"class":169,"line":501},[167,31232,209],{"emptyLinePlaceholder":208},[167,31234,31235,31237,31239,31241,31243,31246,31248,31250,31252,31254,31256,31259,31261,31263],{"class":169,"line":512},[167,31236,1252],{"class":173},[167,31238,1237],{"class":177},[167,31240,5690],{"class":181},[167,31242,267],{"class":173},[167,31244,31245],{"class":201},"\"allowRichText\"",[167,31247,1240],{"class":181},[167,31249,267],{"class":173},[167,31251,30907],{"class":201},[167,31253,30590],{"class":181},[167,31255,267],{"class":173},[167,31257,31258],{"class":201},"\"safeHtml\"",[167,31260,1277],{"class":173},[167,31262,1237],{"class":177},[167,31264,185],{"class":173},[167,31266,31267,31269,31271,31273,31275,31277,31280,31282,31284],{"class":169,"line":781},[167,31268,1252],{"class":173},[167,31270,15],{"class":177},[167,31272,7034],{"class":181},[167,31274,30521],{"class":181},[167,31276,267],{"class":173},[167,31278,31279],{"class":201},"\"plainFallback\"",[167,31281,1277],{"class":173},[167,31283,15],{"class":177},[167,31285,185],{"class":173},[167,31287,31288,31290,31292],{"class":169,"line":786},[167,31289,504],{"class":173},[167,31291,10113],{"class":177},[167,31293,185],{"class":173},[167,31295,31296,31298,31300],{"class":169,"line":2674},[167,31297,282],{"class":173},[167,31299,299],{"class":177},[167,31301,185],{"class":173},[154,31303,31305],{"className":156,"code":31304,"filename":3969,"language":162,"meta":163,"style":163},"\u003Cscript>\nexport default {\n  data() {\n    return {\n      allowRichText: true,\n      rawFromCms: \"\u003Ch3>Novedades\u003C\u002Fh3>\u003Cp>\u003Cstrong>Vue 3\u003C\u002Fstrong> mejora DX.\u003C\u002Fp>\",\n      plainFallback: \"Novedades: Vue 3 mejora DX.\",\n    };\n  },\n  computed: {\n    safeHtml() {\n      return this.sanitizeHtml(this.rawFromCms);\n    },\n  },\n  methods: {\n    sanitizeHtml(input) {\n      \u002F\u002F Placeholder: en producción usa una librería robusta como DOMPurify.\n      return input.replace(\u002F\u003Cscript.*?>.*?\u003C\\\u002Fscript>\u002Fgi, \"\");\n    },\n  },\n};\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Csection>\n    \u003Ch2>Contenido editorial\u003C\u002Fh2>\n\n    \u003Cdiv v-if=\"allowRichText\" class=\"prose\" v-html=\"safeHtml\">\u003C\u002Fdiv>\n    \u003Cp v-else v-text=\"plainFallback\">\u003C\u002Fp>\n  \u003C\u002Fsection>\n\u003C\u002Ftemplate>\n",[87,31306,31307,31315,31323,31329,31335,31344,31353,31362,31366,31370,31374,31381,31399,31403,31407,31411,31422,31427,31467,31471,31475,31479,31487,31491,31499,31507,31519,31523,31553,31573,31581],{"__ignoreMap":163},[167,31308,31309,31311,31313],{"class":169,"line":170},[167,31310,174],{"class":173},[167,31312,178],{"class":177},[167,31314,185],{"class":173},[167,31316,31317,31319,31321],{"class":169,"line":188},[167,31318,608],{"class":191},[167,31320,3987],{"class":191},[167,31322,1901],{"class":173},[167,31324,31325,31327],{"class":169,"line":205},[167,31326,7172],{"class":181},[167,31328,763],{"class":173},[167,31330,31331,31333],{"class":169,"line":160},[167,31332,1933],{"class":191},[167,31334,1901],{"class":173},[167,31336,31337,31340,31342],{"class":169,"line":238},[167,31338,31339],{"class":173},"      allowRichText: ",[167,31341,390],{"class":219},[167,31343,393],{"class":173},[167,31345,31346,31349,31351],{"class":169,"line":243},[167,31347,31348],{"class":173},"      rawFromCms: ",[167,31350,31063],{"class":201},[167,31352,393],{"class":173},[167,31354,31355,31358,31360],{"class":169,"line":261},[167,31356,31357],{"class":173},"      plainFallback: ",[167,31359,31081],{"class":201},[167,31361,393],{"class":173},[167,31363,31364],{"class":169,"line":273},[167,31365,24366],{"class":173},[167,31367,31368],{"class":169,"line":279},[167,31369,398],{"class":173},[167,31371,31372],{"class":169,"line":289},[167,31373,8751],{"class":173},[167,31375,31376,31379],{"class":169,"line":294},[167,31377,31378],{"class":181},"    safeHtml",[167,31380,763],{"class":173},[167,31382,31383,31385,31387,31389,31392,31394,31396],{"class":169,"line":304},[167,31384,8763],{"class":191},[167,31386,7347],{"class":219},[167,31388,1675],{"class":173},[167,31390,31391],{"class":181},"sanitizeHtml",[167,31393,229],{"class":173},[167,31395,4923],{"class":219},[167,31397,31398],{"class":173},".rawFromCms);\n",[167,31400,31401],{"class":169,"line":313},[167,31402,755],{"class":173},[167,31404,31405],{"class":169,"line":161},[167,31406,398],{"class":173},[167,31408,31409],{"class":169,"line":335},[167,31410,4415],{"class":173},[167,31412,31413,31416,31418,31420],{"class":169,"line":341},[167,31414,31415],{"class":181},"    sanitizeHtml",[167,31417,229],{"class":173},[167,31419,2646],{"class":254},[167,31421,258],{"class":173},[167,31423,31424],{"class":169,"line":489},[167,31425,31426],{"class":18658},"      \u002F\u002F Placeholder: en producción usa una librería robusta como DOMPurify.\n",[167,31428,31429,31431,31433,31435,31437,31439,31441,31443,31445,31447,31449,31451,31453,31455,31457,31459,31461,31463,31465],{"class":169,"line":495},[167,31430,8763],{"class":191},[167,31432,31116],{"class":173},[167,31434,31119],{"class":181},[167,31436,229],{"class":173},[167,31438,21853],{"class":201},[167,31440,31127],{"class":31126},[167,31442,1675],{"class":219},[167,31444,31132],{"class":191},[167,31446,15859],{"class":31126},[167,31448,1675],{"class":219},[167,31450,31132],{"class":191},[167,31452,174],{"class":31126},[167,31454,31144],{"class":31143},[167,31456,31147],{"class":31126},[167,31458,21853],{"class":201},[167,31460,31152],{"class":191},[167,31462,1020],{"class":173},[167,31464,31157],{"class":201},[167,31466,24165],{"class":173},[167,31468,31469],{"class":169,"line":501},[167,31470,755],{"class":173},[167,31472,31473],{"class":169,"line":512},[167,31474,398],{"class":173},[167,31476,31477],{"class":169,"line":781},[167,31478,24144],{"class":173},[167,31480,31481,31483,31485],{"class":169,"line":786},[167,31482,282],{"class":173},[167,31484,178],{"class":177},[167,31486,185],{"class":173},[167,31488,31489],{"class":169,"line":2674},[167,31490,209],{"emptyLinePlaceholder":208},[167,31492,31493,31495,31497],{"class":169,"line":2688},[167,31494,174],{"class":173},[167,31496,299],{"class":177},[167,31498,185],{"class":173},[167,31500,31501,31503,31505],{"class":169,"line":3571},[167,31502,307],{"class":173},[167,31504,10113],{"class":177},[167,31506,185],{"class":173},[167,31508,31509,31511,31513,31515,31517],{"class":169,"line":5024},[167,31510,1252],{"class":173},[167,31512,22],{"class":177},[167,31514,31224],{"class":173},[167,31516,22],{"class":177},[167,31518,185],{"class":173},[167,31520,31521],{"class":169,"line":5033},[167,31522,209],{"emptyLinePlaceholder":208},[167,31524,31525,31527,31529,31531,31533,31535,31537,31539,31541,31543,31545,31547,31549,31551],{"class":169,"line":5042},[167,31526,1252],{"class":173},[167,31528,1237],{"class":177},[167,31530,5690],{"class":181},[167,31532,267],{"class":173},[167,31534,31245],{"class":201},[167,31536,1240],{"class":181},[167,31538,267],{"class":173},[167,31540,30907],{"class":201},[167,31542,30590],{"class":181},[167,31544,267],{"class":173},[167,31546,31258],{"class":201},[167,31548,1277],{"class":173},[167,31550,1237],{"class":177},[167,31552,185],{"class":173},[167,31554,31555,31557,31559,31561,31563,31565,31567,31569,31571],{"class":169,"line":6752},[167,31556,1252],{"class":173},[167,31558,15],{"class":177},[167,31560,7034],{"class":181},[167,31562,30521],{"class":181},[167,31564,267],{"class":173},[167,31566,31279],{"class":201},[167,31568,1277],{"class":173},[167,31570,15],{"class":177},[167,31572,185],{"class":173},[167,31574,31575,31577,31579],{"class":169,"line":6774},[167,31576,504],{"class":173},[167,31578,10113],{"class":177},[167,31580,185],{"class":173},[167,31582,31583,31585,31587],{"class":169,"line":6779},[167,31584,282],{"class":173},[167,31586,299],{"class":177},[167,31588,185],{"class":173},[22,31590,7674],{"id":7673},[33,31592,31593,31598,31606,31611,31616],{},[36,31594,31595,31597],{},[87,31596,30430],{}," es para texto plano y es la opción por defecto cuando no necesitas HTML.",[36,31599,31600,31601,31603,31604,1675],{},"La interpolación (",[87,31602,30564],{},") suele ser más idiomática que ",[87,31605,30430],{},[36,31607,31608,31610],{},[87,31609,30433],{}," solo debe usarse con contenido confiable o previamente sanitizado.",[36,31612,31613,31615],{},[87,31614,30433],{}," no compila ni enlaza directivas Vue.",[36,31617,31618],{},"Centraliza la sanitización en una capa clara (utility\u002Fcomposable).",[5363,31620,31621],{},[15,31622,31623,31626,31627,31629,31630,31632],{},[3929,31624,31625],{},"Regla práctica:"," si dudas, empieza con interpolación o ",[87,31628,30430],{},", y utiliza ",[87,31631,30433],{}," únicamente cuando el caso de uso lo justifique explícitamente.",[924,31634,31635],{},"html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .s9eBZ, html code.shiki .s9eBZ{--shiki-default:#22863A;--shiki-dark:#85E89D}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .s4XuR, html code.shiki .s4XuR{--shiki-default:#E36209;--shiki-dark:#FFAB70}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .sA_wV, html code.shiki .sA_wV{--shiki-default:#032F62;--shiki-dark:#DBEDFF}html pre.shiki code .snhLl, html code.shiki .snhLl{--shiki-default:#22863A;--shiki-default-font-weight:bold;--shiki-dark:#85E89D;--shiki-dark-font-weight:bold}",{"title":163,"searchDepth":188,"depth":188,"links":31637},[31638,31639,31643,31649,31655,31664,31671,31672],{"id":26498,"depth":188,"text":26499},{"id":30495,"depth":188,"text":30496,"children":31640},[31641,31642],{"id":30430,"depth":205,"text":30430},{"id":30433,"depth":205,"text":30433},{"id":30635,"depth":188,"text":30636,"children":31644},[31645,31647],{"id":30639,"depth":205,"text":31646},"Usa v-text cuando:",{"id":30663,"depth":205,"text":31648},"Usa v-html cuando:",{"id":30689,"depth":188,"text":30690,"children":31650},[31651,31653],{"id":30693,"depth":205,"text":31652},"Evita v-text cuando:",{"id":30703,"depth":205,"text":31654},"Evita v-html cuando:",{"id":3080,"depth":188,"text":3081,"children":31656},[31657,31659,31661,31663],{"id":30728,"depth":205,"text":31658},"1) Usar v-html con contenido no confiable",{"id":30781,"depth":205,"text":31660},"2) Esperar que v-html procese directivas de Vue",{"id":30819,"depth":205,"text":31662},"3) Usar v-html “por flexibilidad”",{"id":30835,"depth":205,"text":30836},{"id":7992,"depth":188,"text":7993,"children":31665},[31666,31668,31670],{"id":30844,"depth":205,"text":31667},"1) Mensaje dinámico seguro (v-text)",{"id":30885,"depth":205,"text":31669},"2) Descripción enriquecida desde un CMS (v-html + sanitización previa)",{"id":30927,"depth":205,"text":30928},{"id":8022,"depth":188,"text":8023},{"id":7673,"depth":188,"text":7674},"https:\u002F\u002Fres.cloudinary.com\u002Fdenj4fg7f\u002Fimage\u002Fupload\u002Fv1771635700\u002Fdirectives-vue-v-text-v-html-guide_n0cemz.png","Ejemplo de uso de v-text y v-html en Vue.js","2026-02-21","Aprende cuándo usar v-text y v-html en Vue, diferencias clave, riesgos de seguridad, errores comunes y patrones recomendados con ejemplos en Composition API y Options API.",{"updatedAt":31678,"coverCaption":31679,"keywords":31680},"2026-02-20T20:00:00-05:00","Aprende a usar v-text y v-html de forma segura y efectiva en tus proyectos Vue",[3254,30430,30433,31681,16575,3256,3969],"XSS","\u002Fblog\u002Fdirectives-vue-v-text-v-html-guide.es",[31684],{"headline":30422,"author":31685,"datePublished":31678,"@type":959},{"name":945,"@type":958},{"title":30422,"description":31676},"blog\u002Fdirectives-vue-v-text-v-html-guide.es",[31689,31690,31691,31692],{"tag":26462,"color":26463},{"tag":27753,"color":27754},{"tag":9165,"color":9166},{"tag":5420,"color":5421},"nRl4DrJhzsMVrCXStftR_-Go1SJK8NAAhi0uuGqgmkI",{"id":31695,"title":31696,"body":31697,"cover":33910,"coverAlt":33911,"date":33912,"description":33913,"draft":1617,"extension":940,"lab":941,"locale":942,"meta":33914,"navigation":208,"path":33920,"schemaOrg":33921,"seo":33925,"series":26456,"seriesDescription":26457,"seriesOrder":261,"seriesTitle":26458,"slug":941,"stem":33926,"tags":33927,"__hash__":33932},"blog\u002Fblog\u002Fdirectives-vue-v-slot-guide.es.md","Directivas en Vue: v-slot",{"type":8,"value":31698,"toc":33889},[31699,31705,31710,31713,31715,31718,31729,31736,31738,31745,31804,31871,31874,31899,31902,31925,31936,31938,31942,31963,31965,31967,31978,31983,31985,31994,31999,32009,32045,32085,32089,32096,32150,32153,32157,32160,32162,32181,32186,32190,32193,32196,32222,32224,32228,32303,32307,32452,32456,32597,32604,32607,32680,32685,32689,32692,33016,33272,33276,33279,33600,33858,33860,33886],[11,31700,26479,31702],{"id":31701},"directivas-en-vue-v-slot",[87,31703,31704],{},"v-slot",[15,31706,31707,31709],{},[87,31708,31704],{}," permite decidir, desde el componente padre, qué contenido se renderizará dentro de zonas específicas definidas por el componente hijo.\nEn términos simples: el hijo define “huecos” y el padre decide qué colocar en ellos.",[15,31711,31712],{},"Es una de las herramientas más potentes de Vue 3 para construir componentes reutilizables sin perder control sobre el renderizado.",[22,31714,26499],{"id":26498},[15,31716,31717],{},"Sin slots, muchos componentes terminan siendo rígidos:",[33,31719,31720,31723,31726],{},[36,31721,31722],{},"Con textos y botones “quemados” dentro del hijo.",[36,31724,31725],{},"Con demasiadas props para cubrir casos muy específicos.",[36,31727,31728],{},"Difíciles de reutilizar en pantallas diferentes.",[5363,31730,31731],{},[15,31732,3806,31733,31735],{},[87,31734,31704],{},", puedes diseñar componentes base (cards, modals, tablas, layouts) que se adapten a distintos contextos sin duplicar lógica ni sacrificar claridad.",[22,31737,30496],{"id":30495},[15,31739,31740,31741,31744],{},"Un componente hijo define ",[87,31742,31743],{},"\u003Cslot \u002F>",", y el padre inyecta contenido:",[154,31746,31750],{"className":156,"code":31747,"filename":31748,"highlights":31749,"language":162,"meta":163,"style":163},"\u003Ctemplate>\n  \u003Csection class=\"card\">\n    \u003Cslot \u002F>\n  \u003C\u002Fsection>\n\u003C\u002Ftemplate>\n","BaseCard.vue",[205],[87,31751,31752,31760,31775,31788,31796],{"__ignoreMap":163},[167,31753,31754,31756,31758],{"class":169,"line":170},[167,31755,174],{"class":173},[167,31757,299],{"class":177},[167,31759,185],{"class":173},[167,31761,31762,31764,31766,31768,31770,31773],{"class":169,"line":188},[167,31763,307],{"class":173},[167,31765,10113],{"class":177},[167,31767,1240],{"class":181},[167,31769,267],{"class":173},[167,31771,31772],{"class":201},"\"card\"",[167,31774,185],{"class":173},[167,31776,31778,31780,31782,31786],{"class":31777,"line":205},[169,213],[167,31779,1252],{"class":173},[167,31781,1266],{"class":177},[167,31783,31785],{"class":31784},"s7hpK"," \u002F",[167,31787,185],{"class":173},[167,31789,31790,31792,31794],{"class":169,"line":160},[167,31791,504],{"class":173},[167,31793,10113],{"class":177},[167,31795,185],{"class":173},[167,31797,31798,31800,31802],{"class":169,"line":238},[167,31799,282],{"class":173},[167,31801,299],{"class":177},[167,31803,185],{"class":173},[154,31805,31808],{"className":156,"code":31806,"filename":15280,"highlights":31807,"language":162,"meta":163,"style":163},"\u003Ctemplate>\n  \u003CBaseCard>\n    \u003Ch2>Título dinámico\u003C\u002Fh2>\n    \u003Cp>Contenido personalizado desde el padre.\u003C\u002Fp>\n  \u003C\u002FBaseCard>\n\u003C\u002Ftemplate>\n",[188,238],[87,31809,31810,31818,31828,31841,31854,31863],{"__ignoreMap":163},[167,31811,31812,31814,31816],{"class":169,"line":170},[167,31813,174],{"class":173},[167,31815,299],{"class":177},[167,31817,185],{"class":173},[167,31819,31821,31823,31826],{"class":31820,"line":188},[169,213],[167,31822,307],{"class":173},[167,31824,31825],{"class":177},"BaseCard",[167,31827,185],{"class":173},[167,31829,31830,31832,31834,31837,31839],{"class":169,"line":205},[167,31831,1252],{"class":173},[167,31833,22],{"class":177},[167,31835,31836],{"class":173},">Título dinámico\u003C\u002F",[167,31838,22],{"class":177},[167,31840,185],{"class":173},[167,31842,31843,31845,31847,31850,31852],{"class":169,"line":160},[167,31844,1252],{"class":173},[167,31846,15],{"class":177},[167,31848,31849],{"class":173},">Contenido personalizado desde el padre.\u003C\u002F",[167,31851,15],{"class":177},[167,31853,185],{"class":173},[167,31855,31857,31859,31861],{"class":31856,"line":238},[169,213],[167,31858,504],{"class":173},[167,31860,31825],{"class":177},[167,31862,185],{"class":173},[167,31864,31865,31867,31869],{"class":169,"line":243},[167,31866,282],{"class":173},[167,31868,299],{"class":177},[167,31870,185],{"class":173},[15,31872,31873],{},"Tipos de slots:",[33,31875,31876,31883,31891],{},[36,31877,31878,1103,31881],{},[3929,31879,31880],{},"Slot por defecto",[87,31882,31743],{},[36,31884,31885,1103,31888],{},[3929,31886,31887],{},"Slots nombrados",[87,31889,31890],{},"\u003Cslot name=\"header\" \u002F>",[36,31892,31893,1103,31896],{},[3929,31894,31895],{},"Slots con props (scoped slots)",[87,31897,31898],{},"\u003Cslot name=\"row\" :item=\"item\" \u002F>",[15,31900,31901],{},"Sintaxis común en el padre:",[33,31903,31904,31910,31919],{},[36,31905,31906,31909],{},[87,31907,31908],{},"#default"," para el slot por defecto.",[36,31911,31912,1020,31915,31918],{},[87,31913,31914],{},"#header",[87,31916,31917],{},"#footer",", etc. para slots nombrados.",[36,31920,31921,31924],{},[87,31922,31923],{},"#row=\"{ item }\""," para recibir props desde el hijo.",[5363,31926,31927],{},[15,31928,31929,31932,31933,1675],{},[87,31930,31931],{},"#"," es la forma abreviada de ",[87,31934,31935],{},"v-slot:",[22,31937,6318],{"id":6317},[15,31939,1577,31940,13623],{},[87,31941,31704],{},[33,31943,31944,31947,31953],{},[36,31945,31946],{},"Tienes un componente estructural (card, modal, layout) cuyo contenido cambia según la vista.",[36,31948,31949,31950,4266],{},"Necesitas exponer datos internos del hijo al padre para personalizar el render (",[87,31951,31952],{},"scoped slots",[36,31954,31955,31956,1020,31959,31962],{},"Quieres una API flexible sin proliferar props booleanas como ",[87,31957,31958],{},"showHeader",[87,31960,31961],{},"showFooter",", etc.",[22,31964,6345],{"id":6344},[15,31966,6351],{},[33,31968,31969,31972,31975],{},[36,31970,31971],{},"El componente tiene estructura y contenido completamente fijos.",[36,31973,31974],{},"Estás usando slots para esconder lógica que debería vivir en composables o en el store.",[36,31976,31977],{},"El template se vuelve excesivamente complejo por anidación profunda de slots.",[5363,31979,31980],{},[15,31981,31982],{},"En estos casos, menos flexibilidad suele traducirse en mayor mantenibilidad.",[22,31984,3081],{"id":3080},[3083,31986,26693,31988,31990,31991],{"id":31987},"_1-usar-v-slot-en-un-elemento-que-no-es-componente-o-template",[87,31989,31704],{}," en un elemento que no es componente o ",[87,31992,31993],{},"\u003Ctemplate>",[15,31995,31996,31998],{},[87,31997,31704],{}," solo puede usarse en:",[33,32000,32001,32004],{},[36,32002,32003],{},"Un componente.",[36,32005,7911,32006,32008],{},[87,32007,31993],{}," que envuelve contenido para un slot específico.",[154,32010,32014],{"className":156,"code":32011,"filename":32012,"highlights":32013,"language":162,"meta":163,"style":163},"\u003Cdiv v-slot:header>\n  Título\n\u003C\u002Fdiv>\n","Incorrecto.vue",[170],[87,32015,32016,32032,32037],{"__ignoreMap":163},[167,32017,32019,32021,32023,32026,32028,32030],{"class":32018,"line":170},[169,213],[167,32020,174],{"class":173},[167,32022,1237],{"class":177},[167,32024,32025],{"class":181}," v-slot",[167,32027,583],{"class":173},[167,32029,1255],{"class":181},[167,32031,185],{"class":173},[167,32033,32034],{"class":169,"line":188},[167,32035,32036],{"class":173},"  Título\n",[167,32038,32039,32041,32043],{"class":169,"line":205},[167,32040,282],{"class":173},[167,32042,1237],{"class":177},[167,32044,185],{"class":173},[154,32046,32050],{"className":156,"code":32047,"filename":32048,"highlights":32049,"language":162,"meta":163,"style":163},"\u003CBaseCard>\n  \u003Ctemplate #header>\n    Título\n  \u003C\u002Ftemplate>\n\u003C\u002FBaseCard>\n","Correcto.vue",[188,160],[87,32051,32052,32060,32066,32071,32077],{"__ignoreMap":163},[167,32053,32054,32056,32058],{"class":169,"line":170},[167,32055,174],{"class":173},[167,32057,31825],{"class":177},[167,32059,185],{"class":173},[167,32061,32063],{"class":32062,"line":188},[169,213],[167,32064,32065],{"class":173},"  \u003Ctemplate #header>\n",[167,32067,32068],{"class":169,"line":205},[167,32069,32070],{"class":173},"    Título\n",[167,32072,32074],{"class":32073,"line":160},[169,213],[167,32075,32076],{"class":173},"  \u003C\u002Ftemplate>\n",[167,32078,32079,32081,32083],{"class":169,"line":238},[167,32080,282],{"class":173},[167,32082,31825],{"class":177},[167,32084,185],{"class":173},[3083,32086,32088],{"id":32087},"_2-no-destructurar-las-props-de-un-scoped-slot","2) No destructurar las props de un scoped slot",[15,32090,32091,32092,32095],{},"Si el hijo expone ",[87,32093,32094],{},":item=\"row\"",", el padre debe capturar ese objeto correctamente:",[154,32097,32101],{"className":156,"code":32098,"filename":32099,"highlights":32100,"language":162,"meta":163,"style":163},"\u003CDataTable :rows=\"users\">\n  \u003Ctemplate #row=\"{ item }\">\n    \u003Cstrong>{{ item.name }}\u003C\u002Fstrong>\n  \u003C\u002Ftemplate>\n\u003C\u002FDataTable>\n","DataTable.vue",[170,188],[87,32102,32103,32127,32133,32138,32142],{"__ignoreMap":163},[167,32104,32106,32108,32111,32113,32116,32118,32120,32123,32125],{"class":32105,"line":170},[169,213],[167,32107,174],{"class":173},[167,32109,32110],{"class":177},"DataTable",[167,32112,5308],{"class":173},[167,32114,32115],{"class":181},"rows",[167,32117,267],{"class":173},[167,32119,5076],{"class":201},[167,32121,32122],{"class":173},"users",[167,32124,5076],{"class":201},[167,32126,185],{"class":173},[167,32128,32130],{"class":32129,"line":188},[169,213],[167,32131,32132],{"class":173},"  \u003Ctemplate #row=\"{ item }\">\n",[167,32134,32135],{"class":169,"line":205},[167,32136,32137],{"class":173},"    \u003Cstrong>{{ item.name }}\u003C\u002Fstrong>\n",[167,32139,32140],{"class":169,"line":160},[167,32141,32076],{"class":173},[167,32143,32144,32146,32148],{"class":169,"line":238},[167,32145,282],{"class":173},[167,32147,32110],{"class":177},[167,32149,185],{"class":173},[15,32151,32152],{},"Si no se destructura correctamente, perderás acceso explícito a las props del slot.",[3083,32154,32156],{"id":32155},"_3-convertir-los-slots-en-prop-drilling-visual","3) Convertir los slots en “prop drilling visual”",[15,32158,32159],{},"Cuando todo pasa por slots y casi nada por props o eventos bien definidos, la API del componente se vuelve confusa.",[15,32161,31625],{},[33,32163,32164,32170,32175],{},[36,32165,32166,32169],{},[3929,32167,32168],{},"Props"," → configuración.",[36,32171,32172,32174],{},[3929,32173,1643],{}," → estructura\u002Fcontenido.",[36,32176,32177,32180],{},[3929,32178,32179],{},"Emits"," → eventos.",[5363,32182,32183],{},[15,32184,32185],{},"Separar responsabilidades mantiene la API clara y predecible.",[3083,32187,32189],{"id":32188},"_4-no-definir-fallback-en-el-hijo","4) No definir fallback en el hijo",[15,32191,32192],{},"Si el padre no provee contenido para un slot, puede quedar un espacio vacío inesperado.",[15,32194,32195],{},"Siempre que tenga sentido, define contenido por defecto:",[154,32197,32199],{"className":156,"code":32198,"filename":31748,"language":162,"meta":163,"style":163},"\u003Cslot>\n  Fallback por defecto\n\u003C\u002Fslot>\n",[87,32200,32201,32209,32214],{"__ignoreMap":163},[167,32202,32203,32205,32207],{"class":169,"line":170},[167,32204,174],{"class":173},[167,32206,1266],{"class":177},[167,32208,185],{"class":173},[167,32210,32211],{"class":169,"line":188},[167,32212,32213],{"class":173},"  Fallback por defecto\n",[167,32215,32216,32218,32220],{"class":169,"line":205},[167,32217,282],{"class":173},[167,32219,1266],{"class":177},[167,32221,185],{"class":173},[22,32223,7993],{"id":7992},[3083,32225,32227],{"id":32226},"_1-slot-por-defecto-con-fallback","1) Slot por defecto con fallback",[154,32229,32232],{"className":156,"code":32230,"filename":31748,"highlights":32231,"language":162,"meta":163,"style":163},"\u003Ctemplate>\n  \u003Carticle class=\"card\">\n    \u003Cslot>\n      \u003Cp>Contenido por defecto de la tarjeta.\u003C\u002Fp>\n    \u003C\u002Fslot>\n  \u003C\u002Farticle>\n\u003C\u002Ftemplate>\n",[205,238],[87,32233,32234,32242,32256,32265,32278,32287,32295],{"__ignoreMap":163},[167,32235,32236,32238,32240],{"class":169,"line":170},[167,32237,174],{"class":173},[167,32239,299],{"class":177},[167,32241,185],{"class":173},[167,32243,32244,32246,32248,32250,32252,32254],{"class":169,"line":188},[167,32245,307],{"class":173},[167,32247,3692],{"class":177},[167,32249,1240],{"class":181},[167,32251,267],{"class":173},[167,32253,31772],{"class":201},[167,32255,185],{"class":173},[167,32257,32259,32261,32263],{"class":32258,"line":205},[169,213],[167,32260,1252],{"class":173},[167,32262,1266],{"class":177},[167,32264,185],{"class":173},[167,32266,32267,32269,32271,32274,32276],{"class":169,"line":160},[167,32268,1263],{"class":173},[167,32270,15],{"class":177},[167,32272,32273],{"class":173},">Contenido por defecto de la tarjeta.\u003C\u002F",[167,32275,15],{"class":177},[167,32277,185],{"class":173},[167,32279,32281,32283,32285],{"class":32280,"line":238},[169,213],[167,32282,1287],{"class":173},[167,32284,1266],{"class":177},[167,32286,185],{"class":173},[167,32288,32289,32291,32293],{"class":169,"line":243},[167,32290,504],{"class":173},[167,32292,3692],{"class":177},[167,32294,185],{"class":173},[167,32296,32297,32299,32301],{"class":169,"line":261},[167,32298,282],{"class":173},[167,32300,299],{"class":177},[167,32302,185],{"class":173},[3083,32304,32306],{"id":32305},"_2-slots-nombrados-para-estructurar-un-layout","2) Slots nombrados para estructurar un layout",[154,32308,32311],{"className":156,"code":32309,"filename":1219,"highlights":32310,"language":162,"meta":163,"style":163},"\u003Ctemplate>\n  \u003Csection class=\"layout\">\n    \u003Cheader>\n      \u003Cslot name=\"header\" \u002F>\n    \u003C\u002Fheader>\n\n    \u003Cmain>\n      \u003Cslot \u002F>\n    \u003C\u002Fmain>\n\n    \u003Cfooter>\n      \u003Cslot name=\"footer\" \u002F>\n    \u003C\u002Ffooter>\n  \u003C\u002Fsection>\n\u003C\u002Ftemplate>\n",[160,273,304],[87,32312,32313,32321,32335,32343,32360,32368,32372,32380,32391,32399,32403,32411,32428,32436,32444],{"__ignoreMap":163},[167,32314,32315,32317,32319],{"class":169,"line":170},[167,32316,174],{"class":173},[167,32318,299],{"class":177},[167,32320,185],{"class":173},[167,32322,32323,32325,32327,32329,32331,32333],{"class":169,"line":188},[167,32324,307],{"class":173},[167,32326,10113],{"class":177},[167,32328,1240],{"class":181},[167,32330,267],{"class":173},[167,32332,1245],{"class":201},[167,32334,185],{"class":173},[167,32336,32337,32339,32341],{"class":169,"line":205},[167,32338,1252],{"class":173},[167,32340,1255],{"class":177},[167,32342,185],{"class":173},[167,32344,32346,32348,32350,32352,32354,32356,32358],{"class":32345,"line":160},[169,213],[167,32347,1263],{"class":173},[167,32349,1266],{"class":177},[167,32351,1269],{"class":181},[167,32353,267],{"class":173},[167,32355,1274],{"class":201},[167,32357,31785],{"class":31784},[167,32359,185],{"class":173},[167,32361,32362,32364,32366],{"class":169,"line":238},[167,32363,1287],{"class":173},[167,32365,1255],{"class":177},[167,32367,185],{"class":173},[167,32369,32370],{"class":169,"line":243},[167,32371,209],{"emptyLinePlaceholder":208},[167,32373,32374,32376,32378],{"class":169,"line":261},[167,32375,1252],{"class":173},[167,32377,1299],{"class":177},[167,32379,185],{"class":173},[167,32381,32383,32385,32387,32389],{"class":32382,"line":273},[169,213],[167,32384,1263],{"class":173},[167,32386,1266],{"class":177},[167,32388,31785],{"class":31784},[167,32390,185],{"class":173},[167,32392,32393,32395,32397],{"class":169,"line":279},[167,32394,1287],{"class":173},[167,32396,1299],{"class":177},[167,32398,185],{"class":173},[167,32400,32401],{"class":169,"line":289},[167,32402,209],{"emptyLinePlaceholder":208},[167,32404,32405,32407,32409],{"class":169,"line":294},[167,32406,1252],{"class":173},[167,32408,1329],{"class":177},[167,32410,185],{"class":173},[167,32412,32414,32416,32418,32420,32422,32424,32426],{"class":32413,"line":304},[169,213],[167,32415,1263],{"class":173},[167,32417,1266],{"class":177},[167,32419,1269],{"class":181},[167,32421,267],{"class":173},[167,32423,1344],{"class":201},[167,32425,31785],{"class":31784},[167,32427,185],{"class":173},[167,32429,32430,32432,32434],{"class":169,"line":313},[167,32431,1287],{"class":173},[167,32433,1329],{"class":177},[167,32435,185],{"class":173},[167,32437,32438,32440,32442],{"class":169,"line":161},[167,32439,504],{"class":173},[167,32441,10113],{"class":177},[167,32443,185],{"class":173},[167,32445,32446,32448,32450],{"class":169,"line":335},[167,32447,282],{"class":173},[167,32449,299],{"class":177},[167,32451,185],{"class":173},[3083,32453,32455],{"id":32454},"_3-scoped-slot-para-personalizar-filas-de-una-tabla","3) Scoped slot para personalizar filas de una tabla",[154,32457,32460],{"className":156,"code":32458,"filename":32099,"highlights":32459,"language":162,"meta":163,"style":163},"\u003Ctemplate>\n  \u003Ctable>\n    \u003Ctbody>\n      \u003Ctr v-for=\"row in rows\" :key=\"row.id\">\n        \u003Ctd>\n          \u003Cslot name=\"row\" :item=\"row\">\n            {{ row.name }}\n          \u003C\u002Fslot>\n        \u003C\u002Ftd>\n      \u003C\u002Ftr>\n    \u003C\u002Ftbody>\n  \u003C\u002Ftable>\n\u003C\u002Ftemplate>\n",[243,273],[87,32461,32462,32470,32478,32486,32508,32517,32541,32546,32556,32565,32573,32581,32589],{"__ignoreMap":163},[167,32463,32464,32466,32468],{"class":169,"line":170},[167,32465,174],{"class":173},[167,32467,299],{"class":177},[167,32469,185],{"class":173},[167,32471,32472,32474,32476],{"class":169,"line":188},[167,32473,307],{"class":173},[167,32475,56],{"class":177},[167,32477,185],{"class":173},[167,32479,32480,32482,32484],{"class":169,"line":205},[167,32481,1252],{"class":173},[167,32483,75],{"class":177},[167,32485,185],{"class":173},[167,32487,32488,32490,32492,32494,32496,32499,32501,32503,32506],{"class":169,"line":160},[167,32489,1263],{"class":173},[167,32491,62],{"class":177},[167,32493,18702],{"class":181},[167,32495,267],{"class":173},[167,32497,32498],{"class":201},"\"row in rows\"",[167,32500,10303],{"class":181},[167,32502,267],{"class":173},[167,32504,32505],{"class":201},"\"row.id\"",[167,32507,185],{"class":173},[167,32509,32510,32513,32515],{"class":169,"line":238},[167,32511,32512],{"class":173},"        \u003C",[167,32514,80],{"class":177},[167,32516,185],{"class":173},[167,32518,32520,32523,32525,32527,32529,32532,32535,32537,32539],{"class":32519,"line":243},[169,213],[167,32521,32522],{"class":173},"          \u003C",[167,32524,1266],{"class":177},[167,32526,1269],{"class":181},[167,32528,267],{"class":173},[167,32530,32531],{"class":201},"\"row\"",[167,32533,32534],{"class":181}," :item",[167,32536,267],{"class":173},[167,32538,32531],{"class":201},[167,32540,185],{"class":173},[167,32542,32543],{"class":169,"line":261},[167,32544,32545],{"class":173},"            {{ row.name }}\n",[167,32547,32549,32552,32554],{"class":32548,"line":273},[169,213],[167,32550,32551],{"class":173},"          \u003C\u002F",[167,32553,1266],{"class":177},[167,32555,185],{"class":173},[167,32557,32558,32561,32563],{"class":169,"line":279},[167,32559,32560],{"class":173},"        \u003C\u002F",[167,32562,80],{"class":177},[167,32564,185],{"class":173},[167,32566,32567,32569,32571],{"class":169,"line":289},[167,32568,10166],{"class":173},[167,32570,62],{"class":177},[167,32572,185],{"class":173},[167,32574,32575,32577,32579],{"class":169,"line":294},[167,32576,1287],{"class":173},[167,32578,75],{"class":177},[167,32580,185],{"class":173},[167,32582,32583,32585,32587],{"class":169,"line":304},[167,32584,504],{"class":173},[167,32586,56],{"class":177},[167,32588,185],{"class":173},[167,32590,32591,32593,32595],{"class":169,"line":313},[167,32592,282],{"class":173},[167,32594,299],{"class":177},[167,32596,185],{"class":173},[3083,32598,32600,32601,32603],{"id":32599},"_4-v-slot-con-argumento-dinámico","4) ",[87,32602,31704],{}," con argumento dinámico",[15,32605,32606],{},"Vue permite argumentos dinámicos usando la misma sintaxis que otras directivas dinámicas:",[154,32608,32612],{"className":156,"code":32609,"filename":32610,"highlights":32611,"language":162,"meta":163,"style":163},"\u003Ctemplate>\n  \u003CWidgetShell>\n    \u003Ctemplate v-slot:[zonaActiva]>\n      \u003Cp>Este bloque entra en una zona dinámica.\u003C\u002Fp>\n    \u003C\u002Ftemplate>\n  \u003C\u002FWidgetShell>\n\u003C\u002Ftemplate>\n","Padre.vue",[205],[87,32613,32614,32622,32631,32643,32656,32664,32672],{"__ignoreMap":163},[167,32615,32616,32618,32620],{"class":169,"line":170},[167,32617,174],{"class":173},[167,32619,299],{"class":177},[167,32621,185],{"class":173},[167,32623,32624,32626,32629],{"class":169,"line":188},[167,32625,307],{"class":173},[167,32627,32628],{"class":177},"WidgetShell",[167,32630,185],{"class":173},[167,32632,32634,32636,32638,32640],{"class":32633,"line":205},[169,213],[167,32635,1252],{"class":173},[167,32637,299],{"class":177},[167,32639,32025],{"class":181},[167,32641,32642],{"class":173},":[zonaActiva]>\n",[167,32644,32645,32647,32649,32652,32654],{"class":169,"line":160},[167,32646,1263],{"class":173},[167,32648,15],{"class":177},[167,32650,32651],{"class":173},">Este bloque entra en una zona dinámica.\u003C\u002F",[167,32653,15],{"class":177},[167,32655,185],{"class":173},[167,32657,32658,32660,32662],{"class":169,"line":238},[167,32659,1287],{"class":173},[167,32661,299],{"class":177},[167,32663,185],{"class":173},[167,32665,32666,32668,32670],{"class":169,"line":243},[167,32667,504],{"class":173},[167,32669,32628],{"class":177},[167,32671,185],{"class":173},[167,32673,32674,32676,32678],{"class":169,"line":261},[167,32675,282],{"class":173},[167,32677,299],{"class":177},[167,32679,185],{"class":173},[5363,32681,32682],{},[15,32683,32684],{},"Úsalo con moderación. Si existen muchas zonas dinámicas, probablemente la API del componente necesite simplificarse.",[11,32686,32688],{"id":32687},"ejemplo-con-composition-api","Ejemplo con Composition API",[15,32690,32691],{},"El hijo expone una tabla base y el padre decide cómo renderizar la celda de acciones.",[154,32693,32695],{"className":156,"code":32694,"filename":32099,"language":162,"meta":163,"style":163},"\u003Cscript setup>\ndefineProps({\n  rows: {\n    type: Array,\n    required: true,\n  },\n});\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Ctable class=\"min-w-full border-collapse\">\n    \u003Cthead>\n      \u003Ctr>\n        \u003Cth class=\"text-left\">Nombre\u003C\u002Fth>\n        \u003Cth class=\"text-left\">Rol\u003C\u002Fth>\n        \u003Cth class=\"text-left\">Acciones\u003C\u002Fth>\n      \u003C\u002Ftr>\n    \u003C\u002Fthead>\n    \u003Ctbody>\n      \u003Ctr v-for=\"user in rows\" :key=\"user.id\">\n        \u003Ctd>{{ user.name }}\u003C\u002Ftd>\n        \u003Ctd>{{ user.role }}\u003C\u002Ftd>\n        \u003Ctd>\n          \u003Cslot name=\"actions\" :user=\"user\">\n            \u003Cbutton type=\"button\">Ver perfil\u003C\u002Fbutton>\n          \u003C\u002Fslot>\n        \u003C\u002Ftd>\n      \u003C\u002Ftr>\n    \u003C\u002Ftbody>\n  \u003C\u002Ftable>\n\u003C\u002Ftemplate>\n",[87,32696,32697,32707,32713,32718,32723,32731,32735,32739,32747,32751,32759,32774,32782,32790,32810,32829,32848,32856,32864,32872,32893,32905,32918,32926,32948,32968,32976,32984,32992,33000,33008],{"__ignoreMap":163},[167,32698,32699,32701,32703,32705],{"class":169,"line":170},[167,32700,174],{"class":173},[167,32702,178],{"class":177},[167,32704,182],{"class":181},[167,32706,185],{"class":173},[167,32708,32709,32711],{"class":169,"line":188},[167,32710,369],{"class":181},[167,32712,372],{"class":173},[167,32714,32715],{"class":169,"line":205},[167,32716,32717],{"class":173},"  rows: {\n",[167,32719,32720],{"class":169,"line":160},[167,32721,32722],{"class":173},"    type: Array,\n",[167,32724,32725,32727,32729],{"class":169,"line":238},[167,32726,387],{"class":173},[167,32728,390],{"class":219},[167,32730,393],{"class":173},[167,32732,32733],{"class":169,"line":243},[167,32734,398],{"class":173},[167,32736,32737],{"class":169,"line":261},[167,32738,27323],{"class":173},[167,32740,32741,32743,32745],{"class":169,"line":273},[167,32742,282],{"class":173},[167,32744,178],{"class":177},[167,32746,185],{"class":173},[167,32748,32749],{"class":169,"line":279},[167,32750,209],{"emptyLinePlaceholder":208},[167,32752,32753,32755,32757],{"class":169,"line":289},[167,32754,174],{"class":173},[167,32756,299],{"class":177},[167,32758,185],{"class":173},[167,32760,32761,32763,32765,32767,32769,32772],{"class":169,"line":294},[167,32762,307],{"class":173},[167,32764,56],{"class":177},[167,32766,1240],{"class":181},[167,32768,267],{"class":173},[167,32770,32771],{"class":201},"\"min-w-full border-collapse\"",[167,32773,185],{"class":173},[167,32775,32776,32778,32780],{"class":169,"line":304},[167,32777,1252],{"class":173},[167,32779,59],{"class":177},[167,32781,185],{"class":173},[167,32783,32784,32786,32788],{"class":169,"line":313},[167,32785,1263],{"class":173},[167,32787,62],{"class":177},[167,32789,185],{"class":173},[167,32791,32792,32794,32796,32798,32800,32803,32806,32808],{"class":169,"line":161},[167,32793,32512],{"class":173},[167,32795,65],{"class":177},[167,32797,1240],{"class":181},[167,32799,267],{"class":173},[167,32801,32802],{"class":201},"\"text-left\"",[167,32804,32805],{"class":173},">Nombre\u003C\u002F",[167,32807,65],{"class":177},[167,32809,185],{"class":173},[167,32811,32812,32814,32816,32818,32820,32822,32825,32827],{"class":169,"line":335},[167,32813,32512],{"class":173},[167,32815,65],{"class":177},[167,32817,1240],{"class":181},[167,32819,267],{"class":173},[167,32821,32802],{"class":201},[167,32823,32824],{"class":173},">Rol\u003C\u002F",[167,32826,65],{"class":177},[167,32828,185],{"class":173},[167,32830,32831,32833,32835,32837,32839,32841,32844,32846],{"class":169,"line":341},[167,32832,32512],{"class":173},[167,32834,65],{"class":177},[167,32836,1240],{"class":181},[167,32838,267],{"class":173},[167,32840,32802],{"class":201},[167,32842,32843],{"class":173},">Acciones\u003C\u002F",[167,32845,65],{"class":177},[167,32847,185],{"class":173},[167,32849,32850,32852,32854],{"class":169,"line":489},[167,32851,10166],{"class":173},[167,32853,62],{"class":177},[167,32855,185],{"class":173},[167,32857,32858,32860,32862],{"class":169,"line":495},[167,32859,1287],{"class":173},[167,32861,59],{"class":177},[167,32863,185],{"class":173},[167,32865,32866,32868,32870],{"class":169,"line":501},[167,32867,1252],{"class":173},[167,32869,75],{"class":177},[167,32871,185],{"class":173},[167,32873,32874,32876,32878,32880,32882,32885,32887,32889,32891],{"class":169,"line":512},[167,32875,1263],{"class":173},[167,32877,62],{"class":177},[167,32879,18702],{"class":181},[167,32881,267],{"class":173},[167,32883,32884],{"class":201},"\"user in rows\"",[167,32886,10303],{"class":181},[167,32888,267],{"class":173},[167,32890,18714],{"class":201},[167,32892,185],{"class":173},[167,32894,32895,32897,32899,32901,32903],{"class":169,"line":781},[167,32896,32512],{"class":173},[167,32898,80],{"class":177},[167,32900,28620],{"class":173},[167,32902,80],{"class":177},[167,32904,185],{"class":173},[167,32906,32907,32909,32911,32914,32916],{"class":169,"line":786},[167,32908,32512],{"class":173},[167,32910,80],{"class":177},[167,32912,32913],{"class":173},">{{ user.role }}\u003C\u002F",[167,32915,80],{"class":177},[167,32917,185],{"class":173},[167,32919,32920,32922,32924],{"class":169,"line":2674},[167,32921,32512],{"class":173},[167,32923,80],{"class":177},[167,32925,185],{"class":173},[167,32927,32928,32930,32932,32934,32936,32939,32942,32944,32946],{"class":169,"line":2688},[167,32929,32522],{"class":173},[167,32931,1266],{"class":177},[167,32933,1269],{"class":181},[167,32935,267],{"class":173},[167,32937,32938],{"class":201},"\"actions\"",[167,32940,32941],{"class":181}," :user",[167,32943,267],{"class":173},[167,32945,27387],{"class":201},[167,32947,185],{"class":173},[167,32949,32950,32953,32955,32957,32959,32961,32964,32966],{"class":169,"line":3571},[167,32951,32952],{"class":173},"            \u003C",[167,32954,507],{"class":177},[167,32956,1169],{"class":181},[167,32958,267],{"class":173},[167,32960,1174],{"class":201},[167,32962,32963],{"class":173},">Ver perfil\u003C\u002F",[167,32965,507],{"class":177},[167,32967,185],{"class":173},[167,32969,32970,32972,32974],{"class":169,"line":5024},[167,32971,32551],{"class":173},[167,32973,1266],{"class":177},[167,32975,185],{"class":173},[167,32977,32978,32980,32982],{"class":169,"line":5033},[167,32979,32560],{"class":173},[167,32981,80],{"class":177},[167,32983,185],{"class":173},[167,32985,32986,32988,32990],{"class":169,"line":5042},[167,32987,10166],{"class":173},[167,32989,62],{"class":177},[167,32991,185],{"class":173},[167,32993,32994,32996,32998],{"class":169,"line":6752},[167,32995,1287],{"class":173},[167,32997,75],{"class":177},[167,32999,185],{"class":173},[167,33001,33002,33004,33006],{"class":169,"line":6774},[167,33003,504],{"class":173},[167,33005,56],{"class":177},[167,33007,185],{"class":173},[167,33009,33010,33012,33014],{"class":169,"line":6779},[167,33011,282],{"class":173},[167,33013,299],{"class":177},[167,33015,185],{"class":173},[154,33017,33020],{"className":156,"code":33018,"filename":33019,"language":162,"meta":163,"style":163},"\u003Cscript setup>\nimport { ref } from \"vue\";\nimport DataTable from \".\u002FDataTable.vue\";\n\nconst users = ref([\n  { id: 1, name: \"Ana\", role: \"Admin\", active: true },\n  { id: 2, name: \"Luis\", role: \"Editor\", active: false },\n]);\n\nfunction toggleStatus(user) {\n  user.active = !user.active;\n}\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003CDataTable :rows=\"users\">\n    \u003Ctemplate #actions=\"{ user }\">\n      \u003Cbutton type=\"button\" @click=\"toggleStatus(user)\">\n        {{ user.active ? \"Desactivar\" : \"Activar\" }}\n      \u003C\u002Fbutton>\n    \u003C\u002Ftemplate>\n  \u003C\u002FDataTable>\n\u003C\u002Ftemplate>\n","UsersView.vue",[87,33021,33022,33032,33044,33058,33062,33074,33097,33118,33122,33126,33139,33151,33155,33163,33167,33175,33191,33214,33235,33240,33248,33256,33264],{"__ignoreMap":163},[167,33023,33024,33026,33028,33030],{"class":169,"line":170},[167,33025,174],{"class":173},[167,33027,178],{"class":177},[167,33029,182],{"class":181},[167,33031,185],{"class":173},[167,33033,33034,33036,33038,33040,33042],{"class":169,"line":188},[167,33035,192],{"class":191},[167,33037,195],{"class":173},[167,33039,198],{"class":191},[167,33041,24037],{"class":201},[167,33043,24040],{"class":173},[167,33045,33046,33048,33051,33053,33056],{"class":169,"line":205},[167,33047,192],{"class":191},[167,33049,33050],{"class":173}," DataTable ",[167,33052,198],{"class":191},[167,33054,33055],{"class":201}," \".\u002FDataTable.vue\"",[167,33057,24040],{"class":173},[167,33059,33060],{"class":169,"line":160},[167,33061,209],{"emptyLinePlaceholder":208},[167,33063,33064,33066,33068,33070,33072],{"class":169,"line":238},[167,33065,216],{"class":191},[167,33067,16950],{"class":219},[167,33069,223],{"class":191},[167,33071,226],{"class":181},[167,33073,1823],{"class":173},[167,33075,33076,33078,33080,33082,33084,33087,33090,33093,33095],{"class":169,"line":243},[167,33077,1828],{"class":173},[167,33079,1831],{"class":219},[167,33081,1834],{"class":173},[167,33083,23483],{"class":201},[167,33085,33086],{"class":173},", role: ",[167,33088,33089],{"class":201},"\"Admin\"",[167,33091,33092],{"class":173},", active: ",[167,33094,390],{"class":219},[167,33096,1852],{"class":173},[167,33098,33099,33101,33103,33105,33107,33109,33112,33114,33116],{"class":169,"line":261},[167,33100,1828],{"class":173},[167,33102,1849],{"class":219},[167,33104,1834],{"class":173},[167,33106,28503],{"class":201},[167,33108,33086],{"class":173},[167,33110,33111],{"class":201},"\"Editor\"",[167,33113,33092],{"class":173},[167,33115,3388],{"class":219},[167,33117,1852],{"class":173},[167,33119,33120],{"class":169,"line":273},[167,33121,28541],{"class":173},[167,33123,33124],{"class":169,"line":279},[167,33125,209],{"emptyLinePlaceholder":208},[167,33127,33128,33130,33133,33135,33137],{"class":169,"line":289},[167,33129,246],{"class":191},[167,33131,33132],{"class":181}," toggleStatus",[167,33134,229],{"class":173},[167,33136,729],{"class":254},[167,33138,258],{"class":173},[167,33140,33141,33144,33146,33148],{"class":169,"line":294},[167,33142,33143],{"class":173},"  user.active ",[167,33145,267],{"class":191},[167,33147,5621],{"class":191},[167,33149,33150],{"class":173},"user.active;\n",[167,33152,33153],{"class":169,"line":304},[167,33154,276],{"class":173},[167,33156,33157,33159,33161],{"class":169,"line":313},[167,33158,282],{"class":173},[167,33160,178],{"class":177},[167,33162,185],{"class":173},[167,33164,33165],{"class":169,"line":161},[167,33166,209],{"emptyLinePlaceholder":208},[167,33168,33169,33171,33173],{"class":169,"line":335},[167,33170,174],{"class":173},[167,33172,299],{"class":177},[167,33174,185],{"class":173},[167,33176,33177,33179,33181,33184,33186,33189],{"class":169,"line":341},[167,33178,307],{"class":173},[167,33180,32110],{"class":177},[167,33182,33183],{"class":181}," :rows",[167,33185,267],{"class":173},[167,33187,33188],{"class":201},"\"users\"",[167,33190,185],{"class":173},[167,33192,33193,33195,33197,33200,33203,33205,33207,33210,33212],{"class":169,"line":489},[167,33194,1252],{"class":173},[167,33196,299],{"class":177},[167,33198,33199],{"class":173}," #",[167,33201,33202],{"class":181},"actions",[167,33204,267],{"class":173},[167,33206,5076],{"class":201},[167,33208,33209],{"class":173},"{ user }",[167,33211,5076],{"class":201},[167,33213,185],{"class":173},[167,33215,33216,33218,33220,33222,33224,33226,33228,33230,33233],{"class":169,"line":495},[167,33217,1263],{"class":173},[167,33219,507],{"class":177},[167,33221,1169],{"class":181},[167,33223,267],{"class":173},[167,33225,1174],{"class":201},[167,33227,1177],{"class":181},[167,33229,267],{"class":173},[167,33231,33232],{"class":201},"\"toggleStatus(user)\"",[167,33234,185],{"class":173},[167,33236,33237],{"class":169,"line":501},[167,33238,33239],{"class":173},"        {{ user.active ? \"Desactivar\" : \"Activar\" }}\n",[167,33241,33242,33244,33246],{"class":169,"line":512},[167,33243,10166],{"class":173},[167,33245,507],{"class":177},[167,33247,185],{"class":173},[167,33249,33250,33252,33254],{"class":169,"line":781},[167,33251,1287],{"class":173},[167,33253,299],{"class":177},[167,33255,185],{"class":173},[167,33257,33258,33260,33262],{"class":169,"line":786},[167,33259,504],{"class":173},[167,33261,32110],{"class":177},[167,33263,185],{"class":173},[167,33265,33266,33268,33270],{"class":169,"line":2674},[167,33267,282],{"class":173},[167,33269,299],{"class":177},[167,33271,185],{"class":173},[11,33273,33275],{"id":33274},"ejemplo-con-options-api","Ejemplo con Options API",[15,33277,33278],{},"El mismo comportamiento, ahora utilizando Options API para mantener equivalencia conceptual.",[154,33280,33282],{"className":156,"code":33281,"filename":32099,"language":162,"meta":163,"style":163},"\u003Cscript>\nexport default {\n  props: {\n    rows: {\n      type: Array,\n      required: true,\n    },\n  },\n};\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Ctable class=\"min-w-full border-collapse\">\n    \u003Cthead>\n      \u003Ctr>\n        \u003Cth class=\"text-left\">Nombre\u003C\u002Fth>\n        \u003Cth class=\"text-left\">Rol\u003C\u002Fth>\n        \u003Cth class=\"text-left\">Acciones\u003C\u002Fth>\n      \u003C\u002Ftr>\n    \u003C\u002Fthead>\n    \u003Ctbody>\n      \u003Ctr v-for=\"user in rows\" :key=\"user.id\">\n        \u003Ctd>{{ user.name }}\u003C\u002Ftd>\n        \u003Ctd>{{ user.role }}\u003C\u002Ftd>\n        \u003Ctd>\n          \u003Cslot name=\"actions\" :user=\"user\">\n            \u003Cbutton type=\"button\">Ver perfil\u003C\u002Fbutton>\n          \u003C\u002Fslot>\n        \u003C\u002Ftd>\n      \u003C\u002Ftr>\n    \u003C\u002Ftbody>\n  \u003C\u002Ftable>\n\u003C\u002Ftemplate>\n",[87,33283,33284,33292,33300,33304,33309,33314,33322,33326,33330,33334,33342,33346,33354,33368,33376,33384,33402,33420,33438,33446,33454,33462,33482,33494,33506,33514,33534,33552,33560,33568,33576,33584,33592],{"__ignoreMap":163},[167,33285,33286,33288,33290],{"class":169,"line":170},[167,33287,174],{"class":173},[167,33289,178],{"class":177},[167,33291,185],{"class":173},[167,33293,33294,33296,33298],{"class":169,"line":188},[167,33295,608],{"class":191},[167,33297,3987],{"class":191},[167,33299,1901],{"class":173},[167,33301,33302],{"class":169,"line":205},[167,33303,3995],{"class":173},[167,33305,33306],{"class":169,"line":160},[167,33307,33308],{"class":173},"    rows: {\n",[167,33310,33311],{"class":169,"line":238},[167,33312,33313],{"class":173},"      type: Array,\n",[167,33315,33316,33318,33320],{"class":169,"line":243},[167,33317,4013],{"class":173},[167,33319,390],{"class":219},[167,33321,393],{"class":173},[167,33323,33324],{"class":169,"line":261},[167,33325,755],{"class":173},[167,33327,33328],{"class":169,"line":273},[167,33329,398],{"class":173},[167,33331,33332],{"class":169,"line":279},[167,33333,24144],{"class":173},[167,33335,33336,33338,33340],{"class":169,"line":289},[167,33337,282],{"class":173},[167,33339,178],{"class":177},[167,33341,185],{"class":173},[167,33343,33344],{"class":169,"line":294},[167,33345,209],{"emptyLinePlaceholder":208},[167,33347,33348,33350,33352],{"class":169,"line":304},[167,33349,174],{"class":173},[167,33351,299],{"class":177},[167,33353,185],{"class":173},[167,33355,33356,33358,33360,33362,33364,33366],{"class":169,"line":313},[167,33357,307],{"class":173},[167,33359,56],{"class":177},[167,33361,1240],{"class":181},[167,33363,267],{"class":173},[167,33365,32771],{"class":201},[167,33367,185],{"class":173},[167,33369,33370,33372,33374],{"class":169,"line":161},[167,33371,1252],{"class":173},[167,33373,59],{"class":177},[167,33375,185],{"class":173},[167,33377,33378,33380,33382],{"class":169,"line":335},[167,33379,1263],{"class":173},[167,33381,62],{"class":177},[167,33383,185],{"class":173},[167,33385,33386,33388,33390,33392,33394,33396,33398,33400],{"class":169,"line":341},[167,33387,32512],{"class":173},[167,33389,65],{"class":177},[167,33391,1240],{"class":181},[167,33393,267],{"class":173},[167,33395,32802],{"class":201},[167,33397,32805],{"class":173},[167,33399,65],{"class":177},[167,33401,185],{"class":173},[167,33403,33404,33406,33408,33410,33412,33414,33416,33418],{"class":169,"line":489},[167,33405,32512],{"class":173},[167,33407,65],{"class":177},[167,33409,1240],{"class":181},[167,33411,267],{"class":173},[167,33413,32802],{"class":201},[167,33415,32824],{"class":173},[167,33417,65],{"class":177},[167,33419,185],{"class":173},[167,33421,33422,33424,33426,33428,33430,33432,33434,33436],{"class":169,"line":495},[167,33423,32512],{"class":173},[167,33425,65],{"class":177},[167,33427,1240],{"class":181},[167,33429,267],{"class":173},[167,33431,32802],{"class":201},[167,33433,32843],{"class":173},[167,33435,65],{"class":177},[167,33437,185],{"class":173},[167,33439,33440,33442,33444],{"class":169,"line":501},[167,33441,10166],{"class":173},[167,33443,62],{"class":177},[167,33445,185],{"class":173},[167,33447,33448,33450,33452],{"class":169,"line":512},[167,33449,1287],{"class":173},[167,33451,59],{"class":177},[167,33453,185],{"class":173},[167,33455,33456,33458,33460],{"class":169,"line":781},[167,33457,1252],{"class":173},[167,33459,75],{"class":177},[167,33461,185],{"class":173},[167,33463,33464,33466,33468,33470,33472,33474,33476,33478,33480],{"class":169,"line":786},[167,33465,1263],{"class":173},[167,33467,62],{"class":177},[167,33469,18702],{"class":181},[167,33471,267],{"class":173},[167,33473,32884],{"class":201},[167,33475,10303],{"class":181},[167,33477,267],{"class":173},[167,33479,18714],{"class":201},[167,33481,185],{"class":173},[167,33483,33484,33486,33488,33490,33492],{"class":169,"line":2674},[167,33485,32512],{"class":173},[167,33487,80],{"class":177},[167,33489,28620],{"class":173},[167,33491,80],{"class":177},[167,33493,185],{"class":173},[167,33495,33496,33498,33500,33502,33504],{"class":169,"line":2688},[167,33497,32512],{"class":173},[167,33499,80],{"class":177},[167,33501,32913],{"class":173},[167,33503,80],{"class":177},[167,33505,185],{"class":173},[167,33507,33508,33510,33512],{"class":169,"line":3571},[167,33509,32512],{"class":173},[167,33511,80],{"class":177},[167,33513,185],{"class":173},[167,33515,33516,33518,33520,33522,33524,33526,33528,33530,33532],{"class":169,"line":5024},[167,33517,32522],{"class":173},[167,33519,1266],{"class":177},[167,33521,1269],{"class":181},[167,33523,267],{"class":173},[167,33525,32938],{"class":201},[167,33527,32941],{"class":181},[167,33529,267],{"class":173},[167,33531,27387],{"class":201},[167,33533,185],{"class":173},[167,33535,33536,33538,33540,33542,33544,33546,33548,33550],{"class":169,"line":5033},[167,33537,32952],{"class":173},[167,33539,507],{"class":177},[167,33541,1169],{"class":181},[167,33543,267],{"class":173},[167,33545,1174],{"class":201},[167,33547,32963],{"class":173},[167,33549,507],{"class":177},[167,33551,185],{"class":173},[167,33553,33554,33556,33558],{"class":169,"line":5042},[167,33555,32551],{"class":173},[167,33557,1266],{"class":177},[167,33559,185],{"class":173},[167,33561,33562,33564,33566],{"class":169,"line":6752},[167,33563,32560],{"class":173},[167,33565,80],{"class":177},[167,33567,185],{"class":173},[167,33569,33570,33572,33574],{"class":169,"line":6774},[167,33571,10166],{"class":173},[167,33573,62],{"class":177},[167,33575,185],{"class":173},[167,33577,33578,33580,33582],{"class":169,"line":6779},[167,33579,1287],{"class":173},[167,33581,75],{"class":177},[167,33583,185],{"class":173},[167,33585,33586,33588,33590],{"class":169,"line":6784},[167,33587,504],{"class":173},[167,33589,56],{"class":177},[167,33591,185],{"class":173},[167,33593,33594,33596,33598],{"class":169,"line":6789},[167,33595,282],{"class":173},[167,33597,299],{"class":177},[167,33599,185],{"class":173},[154,33601,33603],{"className":156,"code":33602,"filename":33019,"language":162,"meta":163,"style":163},"\u003Cscript>\nimport DataTable from \".\u002FDataTable.vue\";\n\nexport default {\n  components: { DataTable },\n  data() {\n    return {\n      users: [\n        { id: 1, name: \"Ana\", role: \"Admin\", active: true },\n        { id: 2, name: \"Luis\", role: \"Editor\", active: false },\n      ],\n    };\n  },\n  methods: {\n    toggleStatus(user) {\n      user.active = !user.active;\n    },\n  },\n};\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003CDataTable :rows=\"users\">\n    \u003Ctemplate #actions=\"{ user }\">\n      \u003Cbutton type=\"button\" @click=\"toggleStatus(user)\">\n        {{ user.active ? \"Desactivar\" : \"Activar\" }}\n      \u003C\u002Fbutton>\n    \u003C\u002Ftemplate>\n  \u003C\u002FDataTable>\n\u003C\u002Ftemplate>\n",[87,33604,33605,33613,33625,33629,33637,33642,33648,33654,33658,33678,33698,33702,33706,33710,33714,33725,33736,33740,33744,33748,33756,33760,33768,33782,33802,33822,33826,33834,33842,33850],{"__ignoreMap":163},[167,33606,33607,33609,33611],{"class":169,"line":170},[167,33608,174],{"class":173},[167,33610,178],{"class":177},[167,33612,185],{"class":173},[167,33614,33615,33617,33619,33621,33623],{"class":169,"line":188},[167,33616,192],{"class":191},[167,33618,33050],{"class":173},[167,33620,198],{"class":191},[167,33622,33055],{"class":201},[167,33624,24040],{"class":173},[167,33626,33627],{"class":169,"line":205},[167,33628,209],{"emptyLinePlaceholder":208},[167,33630,33631,33633,33635],{"class":169,"line":160},[167,33632,608],{"class":191},[167,33634,3987],{"class":191},[167,33636,1901],{"class":173},[167,33638,33639],{"class":169,"line":238},[167,33640,33641],{"class":173},"  components: { DataTable },\n",[167,33643,33644,33646],{"class":169,"line":243},[167,33645,7172],{"class":181},[167,33647,763],{"class":173},[167,33649,33650,33652],{"class":169,"line":261},[167,33651,1933],{"class":191},[167,33653,1901],{"class":173},[167,33655,33656],{"class":169,"line":273},[167,33657,28748],{"class":173},[167,33659,33660,33662,33664,33666,33668,33670,33672,33674,33676],{"class":169,"line":279},[167,33661,8673],{"class":173},[167,33663,1831],{"class":219},[167,33665,1834],{"class":173},[167,33667,23483],{"class":201},[167,33669,33086],{"class":173},[167,33671,33089],{"class":201},[167,33673,33092],{"class":173},[167,33675,390],{"class":219},[167,33677,1852],{"class":173},[167,33679,33680,33682,33684,33686,33688,33690,33692,33694,33696],{"class":169,"line":289},[167,33681,8673],{"class":173},[167,33683,1849],{"class":219},[167,33685,1834],{"class":173},[167,33687,28503],{"class":201},[167,33689,33086],{"class":173},[167,33691,33111],{"class":201},[167,33693,33092],{"class":173},[167,33695,3388],{"class":219},[167,33697,1852],{"class":173},[167,33699,33700],{"class":169,"line":294},[167,33701,16110],{"class":173},[167,33703,33704],{"class":169,"line":304},[167,33705,24366],{"class":173},[167,33707,33708],{"class":169,"line":313},[167,33709,398],{"class":173},[167,33711,33712],{"class":169,"line":161},[167,33713,4415],{"class":173},[167,33715,33716,33719,33721,33723],{"class":169,"line":335},[167,33717,33718],{"class":181},"    toggleStatus",[167,33720,229],{"class":173},[167,33722,729],{"class":254},[167,33724,258],{"class":173},[167,33726,33727,33730,33732,33734],{"class":169,"line":341},[167,33728,33729],{"class":173},"      user.active ",[167,33731,267],{"class":191},[167,33733,5621],{"class":191},[167,33735,33150],{"class":173},[167,33737,33738],{"class":169,"line":489},[167,33739,755],{"class":173},[167,33741,33742],{"class":169,"line":495},[167,33743,398],{"class":173},[167,33745,33746],{"class":169,"line":501},[167,33747,24144],{"class":173},[167,33749,33750,33752,33754],{"class":169,"line":512},[167,33751,282],{"class":173},[167,33753,178],{"class":177},[167,33755,185],{"class":173},[167,33757,33758],{"class":169,"line":781},[167,33759,209],{"emptyLinePlaceholder":208},[167,33761,33762,33764,33766],{"class":169,"line":786},[167,33763,174],{"class":173},[167,33765,299],{"class":177},[167,33767,185],{"class":173},[167,33769,33770,33772,33774,33776,33778,33780],{"class":169,"line":2674},[167,33771,307],{"class":173},[167,33773,32110],{"class":177},[167,33775,33183],{"class":181},[167,33777,267],{"class":173},[167,33779,33188],{"class":201},[167,33781,185],{"class":173},[167,33783,33784,33786,33788,33790,33792,33794,33796,33798,33800],{"class":169,"line":2688},[167,33785,1252],{"class":173},[167,33787,299],{"class":177},[167,33789,33199],{"class":173},[167,33791,33202],{"class":181},[167,33793,267],{"class":173},[167,33795,5076],{"class":201},[167,33797,33209],{"class":173},[167,33799,5076],{"class":201},[167,33801,185],{"class":173},[167,33803,33804,33806,33808,33810,33812,33814,33816,33818,33820],{"class":169,"line":3571},[167,33805,1263],{"class":173},[167,33807,507],{"class":177},[167,33809,1169],{"class":181},[167,33811,267],{"class":173},[167,33813,1174],{"class":201},[167,33815,1177],{"class":181},[167,33817,267],{"class":173},[167,33819,33232],{"class":201},[167,33821,185],{"class":173},[167,33823,33824],{"class":169,"line":5024},[167,33825,33239],{"class":173},[167,33827,33828,33830,33832],{"class":169,"line":5033},[167,33829,10166],{"class":173},[167,33831,507],{"class":177},[167,33833,185],{"class":173},[167,33835,33836,33838,33840],{"class":169,"line":5042},[167,33837,1287],{"class":173},[167,33839,299],{"class":177},[167,33841,185],{"class":173},[167,33843,33844,33846,33848],{"class":169,"line":6752},[167,33845,504],{"class":173},[167,33847,32110],{"class":177},[167,33849,185],{"class":173},[167,33851,33852,33854,33856],{"class":169,"line":6774},[167,33853,282],{"class":173},[167,33855,299],{"class":177},[167,33857,185],{"class":173},[22,33859,7674],{"id":7673},[33,33861,33862,33867,33870,33877,33880,33883],{},[36,33863,33864,33866],{},[87,33865,31704],{}," transforma componentes rígidos en piezas reutilizables y expresivas.",[36,33868,33869],{},"Usa el slot por defecto para el contenido principal.",[36,33871,33872,33873,1020,33875,7859],{},"Usa slots nombrados para estructura (",[87,33874,1255],{},[87,33876,1329],{},[36,33878,33879],{},"Usa scoped slots cuando el hijo deba compartir datos y el padre controlar el render.",[36,33881,33882],{},"Define fallback cuando tenga sentido para evitar huecos vacíos.",[36,33884,33885],{},"Mantén la API clara: props para configuración, slots para contenido y emits para eventos.",[924,33887,33888],{},"html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .s9eBZ, html code.shiki .s9eBZ{--shiki-default:#22863A;--shiki-dark:#85E89D}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .s7hpK, html code.shiki .s7hpK{--shiki-default:#B31D28;--shiki-default-font-style:italic;--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .s4XuR, html code.shiki .s4XuR{--shiki-default:#E36209;--shiki-dark:#FFAB70}",{"title":163,"searchDepth":188,"depth":188,"links":33890},[33891,33892,33893,33894,33895,33902,33909],{"id":26498,"depth":188,"text":26499},{"id":30495,"depth":188,"text":30496},{"id":6317,"depth":188,"text":6318},{"id":6344,"depth":188,"text":6345},{"id":3080,"depth":188,"text":3081,"children":33896},[33897,33899,33900,33901],{"id":31987,"depth":205,"text":33898},"1) Usar v-slot en un elemento que no es componente o \u003Ctemplate>",{"id":32087,"depth":205,"text":32088},{"id":32155,"depth":205,"text":32156},{"id":32188,"depth":205,"text":32189},{"id":7992,"depth":188,"text":7993,"children":33903},[33904,33905,33906,33907],{"id":32226,"depth":205,"text":32227},{"id":32305,"depth":205,"text":32306},{"id":32454,"depth":205,"text":32455},{"id":32599,"depth":205,"text":33908},"4) v-slot con argumento dinámico",{"id":7673,"depth":188,"text":7674},"https:\u002F\u002Fres.cloudinary.com\u002Fdenj4fg7f\u002Fimage\u002Fupload\u002Fv1771508914\u002Fdirectives-vue-v-slot-guide_wr2iyy.png","Portada del artículo Directivas en Vue: v-slot","2026-02-19","Aprende a dominar v-slot en Vue 3: slots por defecto, nombrados y con props (scoped slots), con ejemplos claros en Composition API y Options API.",{"updatedAt":33915,"coverCaption":33916,"author":945,"keywords":33917},"2026-02-19T08:00:00-05:00","Usa v-slot para construir componentes más flexibles y reutilizables.",[3254,31704,33918,31952,33919,3256,3969],"slots","componentes reutilizables","\u002Fblog\u002Fdirectives-vue-v-slot-guide.es",[33922],{"headline":33923,"author":33924,"datePublished":33915,"@type":959},"Directivas en Vue: v-slot con ejemplos claros y prácticos",{"name":945,"@type":958},{"title":31696,"description":33913},"blog\u002Fdirectives-vue-v-slot-guide.es",[33928,33929,33930,33931],{"tag":26462,"color":26463},{"tag":1643,"color":1644},{"tag":1622,"color":1635},{"tag":7726,"color":7727},"DxshI1c7MLWMpiJg_QZh4QLABHouxeRnejywUpaJAOU",{"id":33934,"title":33935,"body":33936,"cover":36724,"coverAlt":36725,"date":36726,"description":36727,"draft":1617,"extension":940,"lab":941,"locale":942,"meta":36728,"navigation":208,"path":36733,"schemaOrg":36734,"seo":36738,"series":26456,"seriesDescription":26457,"seriesOrder":243,"seriesTitle":26458,"slug":941,"stem":36739,"tags":36740,"__hash__":36747},"blog\u002Fblog\u002Fdirectives-vue-v-model-guide.es.md","Directivas en Vue: v-model",{"type":8,"value":33937,"toc":36699},[33938,33943,33948,33950,33956,33961,33979,33981,33986,33990,34009,34031,34035,34038,34061,34064,34081,34091,34093,34098,34100,34124,34126,34130,34147,34149,34153,34155,34215,34224,34229,34236,34238,34268,34275,34278,34302,34306,34309,34331,34335,34341,34343,34347,34474,34604,34611,34755,34891,34895,35022,35152,35156,35158,35167,35310,35899,35901,35908,36086,36655,36657,36662,36665,36667,36697],[11,33939,26479,33941],{"id":33940},"directivas-en-vue-v-model",[87,33942,23861],{},[15,33944,33945,33947],{},[87,33946,23861],{}," reduce fricción en formularios porque sincroniza la UI y el estado con una sola declaración. Bien utilizado, hace que tus componentes sean más legibles y consistentes; mal aplicado, puede ocultar flujos de datos confusos y bugs sutiles.",[22,33949,26499],{"id":26498},[15,33951,33952,33953,33955],{},"En interfaces reales, gran parte de la experiencia depende de formularios y filtros.\n",[87,33954,23861],{}," te permite declarar la sincronización entre vista y estado sin manipular el DOM manualmente, manteniendo el código más predecible y fácil de mantener.",[15,33957,3806,33958,33960],{},[87,33959,23861],{}," puedes:",[33,33962,33963,33973,33976],{},[36,33964,33965,33966,33969,33970,1675],{},"Evitar boilerplate repetitivo de ",[87,33967,33968],{},":value"," + ",[87,33971,33972],{},"@input",[36,33974,33975],{},"Mantener alineado lo que ve el usuario con el estado reactivo.",[36,33977,33978],{},"Estandarizar la API de componentes de formulario reutilizables.",[22,33980,6253],{"id":6252},[15,33982,26409,33983,33985],{},[87,33984,23861],{}," es azúcar sintáctica para enlazar un valor y escuchar su actualización.",[3083,33987,33989],{"id":33988},"en-elementos-nativos","En elementos nativos",[33,33991,33992,33998],{},[36,33993,33994,33997],{},[87,33995,33996],{},"v-model=\"email\""," equivale a enlazar el valor y escuchar el evento correspondiente.",[36,33999,34000,34001,1020,34003,1020,34006,7859],{},"Vue adapta automáticamente la prop y el evento según el tipo de control (",[87,34002,2646],{},[87,34004,34005],{},"change",[87,34007,34008],{},"checkbox",[15,34010,34011,34012,34015,34016,33969,34018,34020,34021,34024,34025,34028,34029,1675],{},"Por ejemplo, en un ",[87,34013,34014],{},"\u003Cinput type=\"text\">",", se traduce a ",[87,34017,33968],{},[87,34019,33972],{},".\nEn un ",[87,34022,34023],{},"\u003Cinput type=\"checkbox\">",", enlaza ",[87,34026,34027],{},"checked"," y escucha ",[87,34030,34005],{},[3083,34032,34034],{"id":34033},"en-componentes","En componentes",[15,34036,34037],{},"En Vue 3:",[33,34039,34040,34046,34052],{},[36,34041,34042,34043,1675],{},"Por defecto usa la prop ",[87,34044,34045],{},"modelValue",[36,34047,34048,34049,1675],{},"Espera el evento ",[87,34050,34051],{},"update:modelValue",[36,34053,34054,34055,1020,34058,1675],{},"Puedes usar argumentos para modelos adicionales: ",[87,34056,34057],{},"v-model:title",[87,34059,34060],{},"v-model:filters",[15,34062,34063],{},"También soporta modificadores como:",[33,34065,34066,34071,34076],{},[36,34067,34068],{},[87,34069,34070],{},".trim",[36,34072,34073],{},[87,34074,34075],{},".number",[36,34077,34078],{},[87,34079,34080],{},".lazy",[15,34082,34083,34084,34087,34088,34090],{},"Desde Vue 3.3+, puedes usar ",[87,34085,34086],{},"defineModel()"," en ",[87,34089,1003],{}," para simplificar la definición del contrato del modelo en componentes.",[22,34092,6318],{"id":6317},[15,34094,1577,34095,34097],{},[87,34096,23861],{}," cuando el objetivo principal sea sincronizar datos de entrada con el estado de la aplicación.",[15,34099,9304],{},[33,34101,34102,34105,34108,34121],{},[36,34103,34104],{},"Formularios de registro, login o perfil.",[36,34106,34107],{},"Filtros de búsqueda en tiempo real.",[36,34109,34110,34111,1020,34114,1020,34117,34120],{},"Componentes de UI reutilizables (",[87,34112,34113],{},"TextInput",[87,34115,34116],{},"Toggle",[87,34118,34119],{},"Select",") con contrato consistente.",[36,34122,34123],{},"Configuraciones rápidas de interfaz (switches, sliders, preferencias).",[22,34125,6345],{"id":6344},[15,34127,13618,34128,13623],{},[87,34129,23861],{},[33,34131,34132,34138,34141,34144],{},[36,34133,34134,34135,34137],{},"El dato es de solo lectura o derivado (",[87,34136,1657],{}," sin setter).",[36,34139,34140],{},"Necesitas trazabilidad estricta de cada cambio por reglas de dominio complejas.",[36,34142,34143],{},"El procesamiento por pulsación es costoso y requiere un pipeline explícito (debounce, throttle, validaciones pesadas).",[36,34145,34146],{},"Quieres mantener un flujo explícito de eventos de negocio, no solo de UI.",[22,34148,3081],{"id":3080},[3083,34150,34152],{"id":34151},"_1-mutar-props-directamente-en-el-hijo","1) Mutar props directamente en el hijo",[15,34154,30734],{},[154,34156,34159],{"className":156,"code":34157,"filename":34158,"language":162,"meta":163,"style":163},"\u003Cscript setup lang=\"ts\">\nconst props = defineProps\u003C{ modelValue: string }>()\nprops.modelValue = \"nuevo valor\"\n\u003C\u002Fscript>\n","Evitar",[87,34160,34161,34177,34197,34207],{"__ignoreMap":163},[167,34162,34163,34165,34167,34169,34171,34173,34175],{"class":169,"line":170},[167,34164,174],{"class":173},[167,34166,178],{"class":177},[167,34168,182],{"class":181},[167,34170,1045],{"class":181},[167,34172,267],{"class":173},[167,34174,1050],{"class":201},[167,34176,185],{"class":173},[167,34178,34179,34181,34183,34185,34187,34189,34191,34193,34195],{"class":169,"line":188},[167,34180,216],{"class":191},[167,34182,1060],{"class":219},[167,34184,223],{"class":191},[167,34186,1065],{"class":181},[167,34188,1068],{"class":173},[167,34190,34045],{"class":254},[167,34192,583],{"class":191},[167,34194,586],{"class":219},[167,34196,1078],{"class":173},[167,34198,34199,34202,34204],{"class":169,"line":205},[167,34200,34201],{"class":173},"props.modelValue ",[167,34203,267],{"class":191},[167,34205,34206],{"class":201}," \"nuevo valor\"\n",[167,34208,34209,34211,34213],{"class":169,"line":160},[167,34210,282],{"class":173},[167,34212,178],{"class":177},[167,34214,185],{"class":173},[15,34216,34217,34218,34220,34221,1675],{},"Correcto: emite ",[87,34219,34051],{}," o usa ",[87,34222,34223],{},"defineModel",[5363,34225,34226],{},[15,34227,34228],{},"Las props son de solo lectura. Mutarlas rompe el flujo unidireccional de datos.",[3083,34230,34232,34233,34235],{"id":34231},"_2-enlazar-v-model-a-expresiones-no-escribibles","2) Enlazar ",[87,34234,23861],{}," a expresiones no escribibles",[15,34237,30734],{},[154,34239,34241],{"className":156,"code":34240,"filename":34158,"language":162,"meta":163,"style":163},"\u003Cinput v-model=\"user.name.toUpperCase()\" \u002F>\n",[87,34242,34243],{"__ignoreMap":163},[167,34244,34245,34247,34249,34251,34253,34255,34258,34261,34264,34266],{"class":169,"line":170},[167,34246,174],{"class":173},[167,34248,2646],{"class":177},[167,34250,2649],{"class":181},[167,34252,267],{"class":173},[167,34254,5076],{"class":201},[167,34256,34257],{"class":173},"user.name.",[167,34259,34260],{"class":181},"toUpperCase",[167,34262,34263],{"class":173},"()",[167,34265,5076],{"class":201},[167,34267,5321],{"class":173},[5363,34269,34270],{},[15,34271,34272,34274],{},[87,34273,23861],{}," requiere una referencia escribible. Una expresión derivada no tiene setter.",[15,34276,34277],{},"Correcto:",[154,34279,34282],{"className":156,"code":34280,"filename":34281,"language":162,"meta":163,"style":163},"\u003Cinput v-model=\"user.name\" \u002F>\n","Recomendado",[87,34283,34284],{"__ignoreMap":163},[167,34285,34286,34288,34290,34292,34294,34296,34298,34300],{"class":169,"line":170},[167,34287,174],{"class":173},[167,34289,2646],{"class":177},[167,34291,2649],{"class":181},[167,34293,267],{"class":173},[167,34295,5076],{"class":201},[167,34297,5201],{"class":173},[167,34299,5076],{"class":201},[167,34301,5321],{"class":173},[3083,34303,34305],{"id":34304},"_3-no-usar-modificadores-donde-sí-aportan-valor","3) No usar modificadores donde sí aportan valor",[15,34307,34308],{},"Ejemplo:",[33,34310,34311,34316,34326],{},[36,34312,21840,34313,34315],{},[87,34314,34070],{},", guardas espacios innecesarios.",[36,34317,21840,34318,34320,34321,34323,34324,1675],{},[87,34319,34075],{},", recibes ",[87,34322,1106],{}," cuando esperabas ",[87,34325,13925],{},[36,34327,21840,34328,34330],{},[87,34329,34080],{},", actualizas en cada pulsación cuando solo necesitabas al perder el foco.",[3083,34332,34334],{"id":34333},"_4-meter-demasiada-lógica-en-el-setter-del-modelo","4) Meter demasiada lógica en el setter del modelo",[15,34336,34337,34338,34340],{},"Mantén el flujo de ",[87,34339,23861],{}," simple y mueve reglas complejas a funciones o composables.\nEl modelo debe sincronizar estado; la lógica de negocio no debería vivir en el setter.",[11,34342,7993],{"id":7992},[22,34344,34346],{"id":34345},"_1-input-de-texto-con-saneamiento-básico","1) Input de texto con saneamiento básico",[154,34348,34351],{"className":156,"code":34349,"filename":3256,"highlights":34350,"language":162,"meta":163,"style":163},"\u003Cscript setup lang=\"ts\">\nimport { ref } from \"vue\";\n\nconst fullName = ref(\"\");\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Clabel>\n    Nombre completo\n    \u003Cinput v-model.trim=\"fullName\" type=\"text\" \u002F>\n  \u003C\u002Flabel>\n\u003C\u002Ftemplate>\n",[289],[87,34352,34353,34369,34381,34385,34401,34409,34413,34421,34429,34434,34458,34466],{"__ignoreMap":163},[167,34354,34355,34357,34359,34361,34363,34365,34367],{"class":169,"line":170},[167,34356,174],{"class":173},[167,34358,178],{"class":177},[167,34360,182],{"class":181},[167,34362,1045],{"class":181},[167,34364,267],{"class":173},[167,34366,1050],{"class":201},[167,34368,185],{"class":173},[167,34370,34371,34373,34375,34377,34379],{"class":169,"line":188},[167,34372,192],{"class":191},[167,34374,195],{"class":173},[167,34376,198],{"class":191},[167,34378,24037],{"class":201},[167,34380,24040],{"class":173},[167,34382,34383],{"class":169,"line":205},[167,34384,209],{"emptyLinePlaceholder":208},[167,34386,34387,34389,34391,34393,34395,34397,34399],{"class":169,"line":160},[167,34388,216],{"class":191},[167,34390,2171],{"class":219},[167,34392,223],{"class":191},[167,34394,226],{"class":181},[167,34396,229],{"class":173},[167,34398,31157],{"class":201},[167,34400,24165],{"class":173},[167,34402,34403,34405,34407],{"class":169,"line":238},[167,34404,282],{"class":173},[167,34406,178],{"class":177},[167,34408,185],{"class":173},[167,34410,34411],{"class":169,"line":243},[167,34412,209],{"emptyLinePlaceholder":208},[167,34414,34415,34417,34419],{"class":169,"line":261},[167,34416,174],{"class":173},[167,34418,299],{"class":177},[167,34420,185],{"class":173},[167,34422,34423,34425,34427],{"class":169,"line":273},[167,34424,307],{"class":173},[167,34426,9871],{"class":177},[167,34428,185],{"class":173},[167,34430,34431],{"class":169,"line":279},[167,34432,34433],{"class":173},"    Nombre completo\n",[167,34435,34437,34439,34441,34444,34446,34449,34451,34453,34456],{"class":34436,"line":289},[169,213],[167,34438,1252],{"class":173},[167,34440,2646],{"class":177},[167,34442,34443],{"class":181}," v-model.trim",[167,34445,267],{"class":173},[167,34447,34448],{"class":201},"\"fullName\"",[167,34450,1169],{"class":181},[167,34452,267],{"class":173},[167,34454,34455],{"class":201},"\"text\"",[167,34457,5321],{"class":173},[167,34459,34460,34462,34464],{"class":169,"line":294},[167,34461,504],{"class":173},[167,34463,9871],{"class":177},[167,34465,185],{"class":173},[167,34467,34468,34470,34472],{"class":169,"line":304},[167,34469,282],{"class":173},[167,34471,299],{"class":177},[167,34473,185],{"class":173},[154,34475,34478],{"className":156,"code":34476,"filename":3969,"highlights":34477,"language":162,"meta":163,"style":163},"\u003Cscript lang=\"ts\">\nexport default {\n  data() {\n    return {\n      fullName: \"\",\n    };\n  },\n};\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Clabel>\n    Nombre completo\n    \u003Cinput v-model.trim=\"fullName\" type=\"text\" \u002F>\n  \u003C\u002Flabel>\n\u003C\u002Ftemplate>\n",[161],[87,34479,34480,34494,34502,34508,34514,34523,34527,34531,34535,34543,34547,34555,34563,34567,34588,34596],{"__ignoreMap":163},[167,34481,34482,34484,34486,34488,34490,34492],{"class":169,"line":170},[167,34483,174],{"class":173},[167,34485,178],{"class":177},[167,34487,1045],{"class":181},[167,34489,267],{"class":173},[167,34491,1050],{"class":201},[167,34493,185],{"class":173},[167,34495,34496,34498,34500],{"class":169,"line":188},[167,34497,608],{"class":191},[167,34499,3987],{"class":191},[167,34501,1901],{"class":173},[167,34503,34504,34506],{"class":169,"line":205},[167,34505,7172],{"class":181},[167,34507,763],{"class":173},[167,34509,34510,34512],{"class":169,"line":160},[167,34511,1933],{"class":191},[167,34513,1901],{"class":173},[167,34515,34516,34519,34521],{"class":169,"line":238},[167,34517,34518],{"class":173},"      fullName: ",[167,34520,31157],{"class":201},[167,34522,393],{"class":173},[167,34524,34525],{"class":169,"line":243},[167,34526,24366],{"class":173},[167,34528,34529],{"class":169,"line":261},[167,34530,398],{"class":173},[167,34532,34533],{"class":169,"line":273},[167,34534,24144],{"class":173},[167,34536,34537,34539,34541],{"class":169,"line":279},[167,34538,282],{"class":173},[167,34540,178],{"class":177},[167,34542,185],{"class":173},[167,34544,34545],{"class":169,"line":289},[167,34546,209],{"emptyLinePlaceholder":208},[167,34548,34549,34551,34553],{"class":169,"line":294},[167,34550,174],{"class":173},[167,34552,299],{"class":177},[167,34554,185],{"class":173},[167,34556,34557,34559,34561],{"class":169,"line":304},[167,34558,307],{"class":173},[167,34560,9871],{"class":177},[167,34562,185],{"class":173},[167,34564,34565],{"class":169,"line":313},[167,34566,34433],{"class":173},[167,34568,34570,34572,34574,34576,34578,34580,34582,34584,34586],{"class":34569,"line":161},[169,213],[167,34571,1252],{"class":173},[167,34573,2646],{"class":177},[167,34575,34443],{"class":181},[167,34577,267],{"class":173},[167,34579,34448],{"class":201},[167,34581,1169],{"class":181},[167,34583,267],{"class":173},[167,34585,34455],{"class":201},[167,34587,5321],{"class":173},[167,34589,34590,34592,34594],{"class":169,"line":335},[167,34591,504],{"class":173},[167,34593,9871],{"class":177},[167,34595,185],{"class":173},[167,34597,34598,34600,34602],{"class":169,"line":341},[167,34599,282],{"class":173},[167,34601,299],{"class":177},[167,34603,185],{"class":173},[22,34605,34607,34608],{"id":34606},"_2-input-numérico-con-v-modelnumber","2) Input numérico con ",[87,34609,34610],{},"v-model.number",[154,34612,34615],{"className":156,"code":34613,"filename":3256,"highlights":34614,"language":162,"meta":163,"style":163},"\u003Cscript setup lang=\"ts\">\nimport { ref } from \"vue\";\n\nconst age = ref\u003Cnumber | null>(null);\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Clabel>\n    Edad\n    \u003Cinput v-model.number=\"age\" type=\"number\" min=\"0\" \u002F>\n  \u003C\u002Flabel>\n\u003C\u002Ftemplate>\n",[289],[87,34616,34617,34633,34645,34649,34674,34682,34686,34694,34702,34707,34739,34747],{"__ignoreMap":163},[167,34618,34619,34621,34623,34625,34627,34629,34631],{"class":169,"line":170},[167,34620,174],{"class":173},[167,34622,178],{"class":177},[167,34624,182],{"class":181},[167,34626,1045],{"class":181},[167,34628,267],{"class":173},[167,34630,1050],{"class":201},[167,34632,185],{"class":173},[167,34634,34635,34637,34639,34641,34643],{"class":169,"line":188},[167,34636,192],{"class":191},[167,34638,195],{"class":173},[167,34640,198],{"class":191},[167,34642,24037],{"class":201},[167,34644,24040],{"class":173},[167,34646,34647],{"class":169,"line":205},[167,34648,209],{"emptyLinePlaceholder":208},[167,34650,34651,34653,34656,34658,34660,34662,34664,34666,34668,34670,34672],{"class":169,"line":160},[167,34652,216],{"class":191},[167,34654,34655],{"class":219}," age",[167,34657,223],{"class":191},[167,34659,226],{"class":181},[167,34661,174],{"class":173},[167,34663,13925],{"class":219},[167,34665,659],{"class":191},[167,34667,6563],{"class":219},[167,34669,6566],{"class":173},[167,34671,6569],{"class":219},[167,34673,24165],{"class":173},[167,34675,34676,34678,34680],{"class":169,"line":238},[167,34677,282],{"class":173},[167,34679,178],{"class":177},[167,34681,185],{"class":173},[167,34683,34684],{"class":169,"line":243},[167,34685,209],{"emptyLinePlaceholder":208},[167,34687,34688,34690,34692],{"class":169,"line":261},[167,34689,174],{"class":173},[167,34691,299],{"class":177},[167,34693,185],{"class":173},[167,34695,34696,34698,34700],{"class":169,"line":273},[167,34697,307],{"class":173},[167,34699,9871],{"class":177},[167,34701,185],{"class":173},[167,34703,34704],{"class":169,"line":279},[167,34705,34706],{"class":173},"    Edad\n",[167,34708,34710,34712,34714,34717,34719,34722,34724,34726,34729,34732,34734,34737],{"class":34709,"line":289},[169,213],[167,34711,1252],{"class":173},[167,34713,2646],{"class":177},[167,34715,34716],{"class":181}," v-model.number",[167,34718,267],{"class":173},[167,34720,34721],{"class":201},"\"age\"",[167,34723,1169],{"class":181},[167,34725,267],{"class":173},[167,34727,34728],{"class":201},"\"number\"",[167,34730,34731],{"class":181}," min",[167,34733,267],{"class":173},[167,34735,34736],{"class":201},"\"0\"",[167,34738,5321],{"class":173},[167,34740,34741,34743,34745],{"class":169,"line":294},[167,34742,504],{"class":173},[167,34744,9871],{"class":177},[167,34746,185],{"class":173},[167,34748,34749,34751,34753],{"class":169,"line":304},[167,34750,282],{"class":173},[167,34752,299],{"class":177},[167,34754,185],{"class":173},[154,34756,34759],{"className":156,"code":34757,"filename":3969,"highlights":34758,"language":162,"meta":163,"style":163},"\u003Cscript lang=\"ts\">\nexport default {\n  data() {\n    return {\n      age: null,\n    };\n  },\n};\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Clabel>\n    Edad\n    \u003Cinput v-model.number=\"age\" type=\"number\" min=\"0\" \u002F>\n  \u003C\u002Flabel>\n\u003C\u002Ftemplate>\n",[161],[87,34760,34761,34775,34783,34789,34795,34804,34808,34812,34816,34824,34828,34836,34844,34848,34875,34883],{"__ignoreMap":163},[167,34762,34763,34765,34767,34769,34771,34773],{"class":169,"line":170},[167,34764,174],{"class":173},[167,34766,178],{"class":177},[167,34768,1045],{"class":181},[167,34770,267],{"class":173},[167,34772,1050],{"class":201},[167,34774,185],{"class":173},[167,34776,34777,34779,34781],{"class":169,"line":188},[167,34778,608],{"class":191},[167,34780,3987],{"class":191},[167,34782,1901],{"class":173},[167,34784,34785,34787],{"class":169,"line":205},[167,34786,7172],{"class":181},[167,34788,763],{"class":173},[167,34790,34791,34793],{"class":169,"line":160},[167,34792,1933],{"class":191},[167,34794,1901],{"class":173},[167,34796,34797,34800,34802],{"class":169,"line":238},[167,34798,34799],{"class":173},"      age: ",[167,34801,6569],{"class":219},[167,34803,393],{"class":173},[167,34805,34806],{"class":169,"line":243},[167,34807,24366],{"class":173},[167,34809,34810],{"class":169,"line":261},[167,34811,398],{"class":173},[167,34813,34814],{"class":169,"line":273},[167,34815,24144],{"class":173},[167,34817,34818,34820,34822],{"class":169,"line":279},[167,34819,282],{"class":173},[167,34821,178],{"class":177},[167,34823,185],{"class":173},[167,34825,34826],{"class":169,"line":289},[167,34827,209],{"emptyLinePlaceholder":208},[167,34829,34830,34832,34834],{"class":169,"line":294},[167,34831,174],{"class":173},[167,34833,299],{"class":177},[167,34835,185],{"class":173},[167,34837,34838,34840,34842],{"class":169,"line":304},[167,34839,307],{"class":173},[167,34841,9871],{"class":177},[167,34843,185],{"class":173},[167,34845,34846],{"class":169,"line":313},[167,34847,34706],{"class":173},[167,34849,34851,34853,34855,34857,34859,34861,34863,34865,34867,34869,34871,34873],{"class":34850,"line":161},[169,213],[167,34852,1252],{"class":173},[167,34854,2646],{"class":177},[167,34856,34716],{"class":181},[167,34858,267],{"class":173},[167,34860,34721],{"class":201},[167,34862,1169],{"class":181},[167,34864,267],{"class":173},[167,34866,34728],{"class":201},[167,34868,34731],{"class":181},[167,34870,267],{"class":173},[167,34872,34736],{"class":201},[167,34874,5321],{"class":173},[167,34876,34877,34879,34881],{"class":169,"line":335},[167,34878,504],{"class":173},[167,34880,9871],{"class":177},[167,34882,185],{"class":173},[167,34884,34885,34887,34889],{"class":169,"line":341},[167,34886,282],{"class":173},[167,34888,299],{"class":177},[167,34890,185],{"class":173},[22,34892,34894],{"id":34893},"_3-checkbox-para-estado-booleano","3) Checkbox para estado booleano",[154,34896,34899],{"className":156,"code":34897,"filename":3256,"highlights":34898,"language":162,"meta":163,"style":163},"\u003Cscript setup lang=\"ts\">\nimport { ref } from \"vue\";\n\nconst acceptedTerms = ref(false);\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Clabel>\n    \u003Cinput v-model=\"acceptedTerms\" type=\"checkbox\" \u002F>\n    Acepto términos y condiciones\n  \u003C\u002Flabel>\n\u003C\u002Ftemplate>\n",[279],[87,34900,34901,34917,34929,34933,34950,34958,34962,34970,34978,35001,35006,35014],{"__ignoreMap":163},[167,34902,34903,34905,34907,34909,34911,34913,34915],{"class":169,"line":170},[167,34904,174],{"class":173},[167,34906,178],{"class":177},[167,34908,182],{"class":181},[167,34910,1045],{"class":181},[167,34912,267],{"class":173},[167,34914,1050],{"class":201},[167,34916,185],{"class":173},[167,34918,34919,34921,34923,34925,34927],{"class":169,"line":188},[167,34920,192],{"class":191},[167,34922,195],{"class":173},[167,34924,198],{"class":191},[167,34926,24037],{"class":201},[167,34928,24040],{"class":173},[167,34930,34931],{"class":169,"line":205},[167,34932,209],{"emptyLinePlaceholder":208},[167,34934,34935,34937,34940,34942,34944,34946,34948],{"class":169,"line":160},[167,34936,216],{"class":191},[167,34938,34939],{"class":219}," acceptedTerms",[167,34941,223],{"class":191},[167,34943,226],{"class":181},[167,34945,229],{"class":173},[167,34947,3388],{"class":219},[167,34949,24165],{"class":173},[167,34951,34952,34954,34956],{"class":169,"line":238},[167,34953,282],{"class":173},[167,34955,178],{"class":177},[167,34957,185],{"class":173},[167,34959,34960],{"class":169,"line":243},[167,34961,209],{"emptyLinePlaceholder":208},[167,34963,34964,34966,34968],{"class":169,"line":261},[167,34965,174],{"class":173},[167,34967,299],{"class":177},[167,34969,185],{"class":173},[167,34971,34972,34974,34976],{"class":169,"line":273},[167,34973,307],{"class":173},[167,34975,9871],{"class":177},[167,34977,185],{"class":173},[167,34979,34981,34983,34985,34987,34989,34992,34994,34996,34999],{"class":34980,"line":279},[169,213],[167,34982,1252],{"class":173},[167,34984,2646],{"class":177},[167,34986,2649],{"class":181},[167,34988,267],{"class":173},[167,34990,34991],{"class":201},"\"acceptedTerms\"",[167,34993,1169],{"class":181},[167,34995,267],{"class":173},[167,34997,34998],{"class":201},"\"checkbox\"",[167,35000,5321],{"class":173},[167,35002,35003],{"class":169,"line":289},[167,35004,35005],{"class":173},"    Acepto términos y condiciones\n",[167,35007,35008,35010,35012],{"class":169,"line":294},[167,35009,504],{"class":173},[167,35011,9871],{"class":177},[167,35013,185],{"class":173},[167,35015,35016,35018,35020],{"class":169,"line":304},[167,35017,282],{"class":173},[167,35019,299],{"class":177},[167,35021,185],{"class":173},[154,35023,35026],{"className":156,"code":35024,"filename":3969,"highlights":35025,"language":162,"meta":163,"style":163},"\u003Cscript lang=\"ts\">\nexport default {\n  data() {\n    return {\n      acceptedTerms: false,\n    };\n  },\n};\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Clabel>\n    \u003Cinput v-model=\"acceptedTerms\" type=\"checkbox\" \u002F>\n    Acepto términos y condiciones\n  \u003C\u002Flabel>\n\u003C\u002Ftemplate>\n",[313],[87,35027,35028,35042,35050,35056,35062,35071,35075,35079,35083,35091,35095,35103,35111,35132,35136,35144],{"__ignoreMap":163},[167,35029,35030,35032,35034,35036,35038,35040],{"class":169,"line":170},[167,35031,174],{"class":173},[167,35033,178],{"class":177},[167,35035,1045],{"class":181},[167,35037,267],{"class":173},[167,35039,1050],{"class":201},[167,35041,185],{"class":173},[167,35043,35044,35046,35048],{"class":169,"line":188},[167,35045,608],{"class":191},[167,35047,3987],{"class":191},[167,35049,1901],{"class":173},[167,35051,35052,35054],{"class":169,"line":205},[167,35053,7172],{"class":181},[167,35055,763],{"class":173},[167,35057,35058,35060],{"class":169,"line":160},[167,35059,1933],{"class":191},[167,35061,1901],{"class":173},[167,35063,35064,35067,35069],{"class":169,"line":238},[167,35065,35066],{"class":173},"      acceptedTerms: ",[167,35068,3388],{"class":219},[167,35070,393],{"class":173},[167,35072,35073],{"class":169,"line":243},[167,35074,24366],{"class":173},[167,35076,35077],{"class":169,"line":261},[167,35078,398],{"class":173},[167,35080,35081],{"class":169,"line":273},[167,35082,24144],{"class":173},[167,35084,35085,35087,35089],{"class":169,"line":279},[167,35086,282],{"class":173},[167,35088,178],{"class":177},[167,35090,185],{"class":173},[167,35092,35093],{"class":169,"line":289},[167,35094,209],{"emptyLinePlaceholder":208},[167,35096,35097,35099,35101],{"class":169,"line":294},[167,35098,174],{"class":173},[167,35100,299],{"class":177},[167,35102,185],{"class":173},[167,35104,35105,35107,35109],{"class":169,"line":304},[167,35106,307],{"class":173},[167,35108,9871],{"class":177},[167,35110,185],{"class":173},[167,35112,35114,35116,35118,35120,35122,35124,35126,35128,35130],{"class":35113,"line":313},[169,213],[167,35115,1252],{"class":173},[167,35117,2646],{"class":177},[167,35119,2649],{"class":181},[167,35121,267],{"class":173},[167,35123,34991],{"class":201},[167,35125,1169],{"class":181},[167,35127,267],{"class":173},[167,35129,34998],{"class":201},[167,35131,5321],{"class":173},[167,35133,35134],{"class":169,"line":161},[167,35135,35005],{"class":173},[167,35137,35138,35140,35142],{"class":169,"line":335},[167,35139,504],{"class":173},[167,35141,9871],{"class":177},[167,35143,185],{"class":173},[167,35145,35146,35148,35150],{"class":169,"line":341},[167,35147,282],{"class":173},[167,35149,299],{"class":177},[167,35151,185],{"class":173},[22,35153,35155],{"id":35154},"_4-ejemplos-completos","4) Ejemplos completos",[3083,35157,32688],{"id":32687},[15,35159,35160,35163,35164,35166],{},[87,35161,35162],{},"SearchInput"," reutilizable con ",[87,35165,34223],{}," + pantalla de filtros:",[154,35168,35172],{"className":156,"code":35169,"filename":35170,"highlights":35171,"language":162,"meta":163,"style":163},"\u003Cscript setup lang=\"ts\">\nconst model = defineModel\u003Cstring>({ default: \"\" });\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Clabel class=\"field\">\n    Buscar\n    \u003Cinput\n      v-model.trim=\"model\"\n      type=\"text\"\n      placeholder=\"Escribe para filtrar...\"\n    \u002F>\n  \u003C\u002Flabel>\n\u003C\u002Ftemplate>\n","SearchInput.vue",[279],[87,35173,35174,35190,35214,35222,35226,35234,35249,35254,35260,35271,35280,35289,35294,35302],{"__ignoreMap":163},[167,35175,35176,35178,35180,35182,35184,35186,35188],{"class":169,"line":170},[167,35177,174],{"class":173},[167,35179,178],{"class":177},[167,35181,182],{"class":181},[167,35183,1045],{"class":181},[167,35185,267],{"class":173},[167,35187,1050],{"class":201},[167,35189,185],{"class":173},[167,35191,35192,35194,35197,35199,35202,35204,35206,35209,35211],{"class":169,"line":188},[167,35193,216],{"class":191},[167,35195,35196],{"class":219}," model",[167,35198,223],{"class":191},[167,35200,35201],{"class":181}," defineModel",[167,35203,174],{"class":173},[167,35205,1106],{"class":219},[167,35207,35208],{"class":173},">({ default: ",[167,35210,31157],{"class":201},[167,35212,35213],{"class":173}," });\n",[167,35215,35216,35218,35220],{"class":169,"line":205},[167,35217,282],{"class":173},[167,35219,178],{"class":177},[167,35221,185],{"class":173},[167,35223,35224],{"class":169,"line":160},[167,35225,209],{"emptyLinePlaceholder":208},[167,35227,35228,35230,35232],{"class":169,"line":238},[167,35229,174],{"class":173},[167,35231,299],{"class":177},[167,35233,185],{"class":173},[167,35235,35236,35238,35240,35242,35244,35247],{"class":169,"line":243},[167,35237,307],{"class":173},[167,35239,9871],{"class":177},[167,35241,1240],{"class":181},[167,35243,267],{"class":173},[167,35245,35246],{"class":201},"\"field\"",[167,35248,185],{"class":173},[167,35250,35251],{"class":169,"line":261},[167,35252,35253],{"class":173},"    Buscar\n",[167,35255,35256,35258],{"class":169,"line":273},[167,35257,1252],{"class":173},[167,35259,17477],{"class":177},[167,35261,35263,35266,35268],{"class":35262,"line":279},[169,213],[167,35264,35265],{"class":181},"      v-model.trim",[167,35267,267],{"class":173},[167,35269,35270],{"class":201},"\"model\"\n",[167,35272,35273,35275,35277],{"class":169,"line":289},[167,35274,3735],{"class":181},[167,35276,267],{"class":173},[167,35278,35279],{"class":201},"\"text\"\n",[167,35281,35282,35284,35286],{"class":169,"line":294},[167,35283,17500],{"class":181},[167,35285,267],{"class":173},[167,35287,35288],{"class":201},"\"Escribe para filtrar...\"\n",[167,35290,35291],{"class":169,"line":304},[167,35292,35293],{"class":173},"    \u002F>\n",[167,35295,35296,35298,35300],{"class":169,"line":313},[167,35297,504],{"class":173},[167,35299,9871],{"class":177},[167,35301,185],{"class":173},[167,35303,35304,35306,35308],{"class":169,"line":161},[167,35305,282],{"class":173},[167,35307,299],{"class":177},[167,35309,185],{"class":173},[154,35311,35314],{"className":156,"code":35312,"filename":35313,"language":162,"meta":163,"style":163},"\u003Cscript setup lang=\"ts\">\nimport { computed, ref } from \"vue\";\nimport SearchInput from \".\u002FSearchInput.vue\";\n\nconst query = ref(\"\");\nconst minPrice = ref\u003Cnumber | null>(null);\nconst onlyInStock = ref(false);\n\nconst products = ref([\n  { id: 1, name: \"Teclado mecánico\", price: 89, stock: true },\n  { id: 2, name: \"Mouse ergonómico\", price: 45, stock: false },\n  { id: 3, name: 'Monitor 27\"', price: 299, stock: true },\n]);\n\nconst filteredProducts = computed(() =>\n  products.value.filter((p) => {\n    const matchesQuery =\n      p.name.toLowerCase().includes(query.value.toLowerCase());\n    const matchesPrice =\n      minPrice.value == null || p.price >= minPrice.value;\n    const matchesStock = !onlyInStock.value || p.stock;\n\n    return matchesQuery && matchesPrice && matchesStock;\n  })\n);\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Csection>\n    \u003Ch2>Filtros\u003C\u002Fh2>\n\n    \u003CSearchInput v-model=\"query\" \u002F>\n\n    \u003Clabel>\n      Precio mínimo\n      \u003Cinput v-model.number=\"minPrice\" type=\"number\" min=\"0\" \u002F>\n    \u003C\u002Flabel>\n\n    \u003Clabel>\n      \u003Cinput v-model=\"onlyInStock\" type=\"checkbox\" \u002F>\n      Solo disponibles\n    \u003C\u002Flabel>\n\n    \u003Cul>\n      \u003Cli v-for=\"item in filteredProducts\" :key=\"item.id\">\n        {{ item.name }} - ${{ item.price }}\n        \u003Cspan v-if=\"!item.stock\">(sin stock)\u003C\u002Fspan>\n      \u003C\u002Fli>\n    \u003C\u002Ful>\n  \u003C\u002Fsection>\n\u003C\u002Ftemplate>\n","ProductFilter.vue",[87,35315,35316,35332,35344,35358,35362,35378,35403,35420,35424,35437,35460,35482,35504,35508,35512,35527,35544,35554,35573,35582,35603,35622,35626,35643,35647,35651,35659,35663,35671,35679,35692,35696,35710,35714,35722,35727,35754,35762,35766,35774,35795,35800,35808,35812,35820,35842,35847,35867,35875,35883,35891],{"__ignoreMap":163},[167,35317,35318,35320,35322,35324,35326,35328,35330],{"class":169,"line":170},[167,35319,174],{"class":173},[167,35321,178],{"class":177},[167,35323,182],{"class":181},[167,35325,1045],{"class":181},[167,35327,267],{"class":173},[167,35329,1050],{"class":201},[167,35331,185],{"class":173},[167,35333,35334,35336,35338,35340,35342],{"class":169,"line":188},[167,35335,192],{"class":191},[167,35337,1801],{"class":173},[167,35339,198],{"class":191},[167,35341,24037],{"class":201},[167,35343,24040],{"class":173},[167,35345,35346,35348,35351,35353,35356],{"class":169,"line":205},[167,35347,192],{"class":191},[167,35349,35350],{"class":173}," SearchInput ",[167,35352,198],{"class":191},[167,35354,35355],{"class":201}," \".\u002FSearchInput.vue\"",[167,35357,24040],{"class":173},[167,35359,35360],{"class":169,"line":160},[167,35361,209],{"emptyLinePlaceholder":208},[167,35363,35364,35366,35368,35370,35372,35374,35376],{"class":169,"line":238},[167,35365,216],{"class":191},[167,35367,2444],{"class":219},[167,35369,223],{"class":191},[167,35371,226],{"class":181},[167,35373,229],{"class":173},[167,35375,31157],{"class":201},[167,35377,24165],{"class":173},[167,35379,35380,35382,35385,35387,35389,35391,35393,35395,35397,35399,35401],{"class":169,"line":243},[167,35381,216],{"class":191},[167,35383,35384],{"class":219}," minPrice",[167,35386,223],{"class":191},[167,35388,226],{"class":181},[167,35390,174],{"class":173},[167,35392,13925],{"class":219},[167,35394,659],{"class":191},[167,35396,6563],{"class":219},[167,35398,6566],{"class":173},[167,35400,6569],{"class":219},[167,35402,24165],{"class":173},[167,35404,35405,35407,35410,35412,35414,35416,35418],{"class":169,"line":261},[167,35406,216],{"class":191},[167,35408,35409],{"class":219}," onlyInStock",[167,35411,223],{"class":191},[167,35413,226],{"class":181},[167,35415,229],{"class":173},[167,35417,3388],{"class":219},[167,35419,24165],{"class":173},[167,35421,35422],{"class":169,"line":273},[167,35423,209],{"emptyLinePlaceholder":208},[167,35425,35426,35428,35431,35433,35435],{"class":169,"line":279},[167,35427,216],{"class":191},[167,35429,35430],{"class":219}," products",[167,35432,223],{"class":191},[167,35434,226],{"class":181},[167,35436,1823],{"class":173},[167,35438,35439,35441,35443,35445,35448,35450,35453,35456,35458],{"class":169,"line":289},[167,35440,1828],{"class":173},[167,35442,1831],{"class":219},[167,35444,1834],{"class":173},[167,35446,35447],{"class":201},"\"Teclado mecánico\"",[167,35449,1840],{"class":173},[167,35451,35452],{"class":219},"89",[167,35454,35455],{"class":173},", stock: ",[167,35457,390],{"class":219},[167,35459,1852],{"class":173},[167,35461,35462,35464,35466,35468,35471,35473,35476,35478,35480],{"class":169,"line":294},[167,35463,1828],{"class":173},[167,35465,1849],{"class":219},[167,35467,1834],{"class":173},[167,35469,35470],{"class":201},"\"Mouse ergonómico\"",[167,35472,1840],{"class":173},[167,35474,35475],{"class":219},"45",[167,35477,35455],{"class":173},[167,35479,3388],{"class":219},[167,35481,1852],{"class":173},[167,35483,35484,35486,35488,35490,35493,35495,35498,35500,35502],{"class":169,"line":304},[167,35485,1828],{"class":173},[167,35487,8199],{"class":219},[167,35489,1834],{"class":173},[167,35491,35492],{"class":201},"'Monitor 27\"'",[167,35494,1840],{"class":173},[167,35496,35497],{"class":219},"299",[167,35499,35455],{"class":173},[167,35501,390],{"class":219},[167,35503,1852],{"class":173},[167,35505,35506],{"class":169,"line":313},[167,35507,28541],{"class":173},[167,35509,35510],{"class":169,"line":161},[167,35511,209],{"emptyLinePlaceholder":208},[167,35513,35514,35516,35519,35521,35523,35525],{"class":169,"line":335},[167,35515,216],{"class":191},[167,35517,35518],{"class":219}," filteredProducts",[167,35520,223],{"class":191},[167,35522,1894],{"class":181},[167,35524,1488],{"class":173},[167,35526,9713],{"class":191},[167,35528,35529,35532,35534,35536,35538,35540,35542],{"class":169,"line":341},[167,35530,35531],{"class":173},"  products.value.",[167,35533,8248],{"class":181},[167,35535,1914],{"class":173},[167,35537,15],{"class":254},[167,35539,693],{"class":173},[167,35541,639],{"class":191},[167,35543,1901],{"class":173},[167,35545,35546,35548,35551],{"class":169,"line":489},[167,35547,8262],{"class":191},[167,35549,35550],{"class":219}," matchesQuery",[167,35552,35553],{"class":191}," =\n",[167,35555,35556,35559,35561,35563,35565,35568,35570],{"class":169,"line":495},[167,35557,35558],{"class":173},"      p.name.",[167,35560,2502],{"class":181},[167,35562,2499],{"class":173},[167,35564,8286],{"class":181},[167,35566,35567],{"class":173},"(query.value.",[167,35569,2502],{"class":181},[167,35571,35572],{"class":173},"());\n",[167,35574,35575,35577,35580],{"class":169,"line":501},[167,35576,8262],{"class":191},[167,35578,35579],{"class":219}," matchesPrice",[167,35581,35553],{"class":191},[167,35583,35584,35587,35590,35592,35595,35598,35600],{"class":169,"line":512},[167,35585,35586],{"class":173},"      minPrice.value ",[167,35588,35589],{"class":191},"==",[167,35591,6563],{"class":219},[167,35593,35594],{"class":191}," ||",[167,35596,35597],{"class":173}," p.price ",[167,35599,1987],{"class":191},[167,35601,35602],{"class":173}," minPrice.value;\n",[167,35604,35605,35607,35610,35612,35614,35617,35619],{"class":169,"line":781},[167,35606,8262],{"class":191},[167,35608,35609],{"class":219}," matchesStock",[167,35611,223],{"class":191},[167,35613,5621],{"class":191},[167,35615,35616],{"class":173},"onlyInStock.value ",[167,35618,4260],{"class":191},[167,35620,35621],{"class":173}," p.stock;\n",[167,35623,35624],{"class":169,"line":786},[167,35625,209],{"emptyLinePlaceholder":208},[167,35627,35628,35630,35633,35635,35638,35640],{"class":169,"line":2674},[167,35629,1933],{"class":191},[167,35631,35632],{"class":173}," matchesQuery ",[167,35634,8335],{"class":191},[167,35636,35637],{"class":173}," matchesPrice ",[167,35639,8335],{"class":191},[167,35641,35642],{"class":173}," matchesStock;\n",[167,35644,35645],{"class":169,"line":2688},[167,35646,8343],{"class":173},[167,35648,35649],{"class":169,"line":3571},[167,35650,24165],{"class":173},[167,35652,35653,35655,35657],{"class":169,"line":5024},[167,35654,282],{"class":173},[167,35656,178],{"class":177},[167,35658,185],{"class":173},[167,35660,35661],{"class":169,"line":5033},[167,35662,209],{"emptyLinePlaceholder":208},[167,35664,35665,35667,35669],{"class":169,"line":5042},[167,35666,174],{"class":173},[167,35668,299],{"class":177},[167,35670,185],{"class":173},[167,35672,35673,35675,35677],{"class":169,"line":6752},[167,35674,307],{"class":173},[167,35676,10113],{"class":177},[167,35678,185],{"class":173},[167,35680,35681,35683,35685,35688,35690],{"class":169,"line":6774},[167,35682,1252],{"class":173},[167,35684,22],{"class":177},[167,35686,35687],{"class":173},">Filtros\u003C\u002F",[167,35689,22],{"class":177},[167,35691,185],{"class":173},[167,35693,35694],{"class":169,"line":6779},[167,35695,209],{"emptyLinePlaceholder":208},[167,35697,35698,35700,35702,35704,35706,35708],{"class":169,"line":6784},[167,35699,1252],{"class":173},[167,35701,35162],{"class":177},[167,35703,2649],{"class":181},[167,35705,267],{"class":173},[167,35707,2654],{"class":201},[167,35709,5321],{"class":173},[167,35711,35712],{"class":169,"line":6789},[167,35713,209],{"emptyLinePlaceholder":208},[167,35715,35716,35718,35720],{"class":169,"line":6805},[167,35717,1252],{"class":173},[167,35719,9871],{"class":177},[167,35721,185],{"class":173},[167,35723,35724],{"class":169,"line":6820},[167,35725,35726],{"class":173},"      Precio mínimo\n",[167,35728,35729,35731,35733,35735,35737,35740,35742,35744,35746,35748,35750,35752],{"class":169,"line":6825},[167,35730,1263],{"class":173},[167,35732,2646],{"class":177},[167,35734,34716],{"class":181},[167,35736,267],{"class":173},[167,35738,35739],{"class":201},"\"minPrice\"",[167,35741,1169],{"class":181},[167,35743,267],{"class":173},[167,35745,34728],{"class":201},[167,35747,34731],{"class":181},[167,35749,267],{"class":173},[167,35751,34736],{"class":201},[167,35753,5321],{"class":173},[167,35755,35756,35758,35760],{"class":169,"line":6832},[167,35757,1287],{"class":173},[167,35759,9871],{"class":177},[167,35761,185],{"class":173},[167,35763,35764],{"class":169,"line":6841},[167,35765,209],{"emptyLinePlaceholder":208},[167,35767,35768,35770,35772],{"class":169,"line":6850},[167,35769,1252],{"class":173},[167,35771,9871],{"class":177},[167,35773,185],{"class":173},[167,35775,35776,35778,35780,35782,35784,35787,35789,35791,35793],{"class":169,"line":6857},[167,35777,1263],{"class":173},[167,35779,2646],{"class":177},[167,35781,2649],{"class":181},[167,35783,267],{"class":173},[167,35785,35786],{"class":201},"\"onlyInStock\"",[167,35788,1169],{"class":181},[167,35790,267],{"class":173},[167,35792,34998],{"class":201},[167,35794,5321],{"class":173},[167,35796,35797],{"class":169,"line":6875},[167,35798,35799],{"class":173},"      Solo disponibles\n",[167,35801,35802,35804,35806],{"class":169,"line":6880},[167,35803,1287],{"class":173},[167,35805,9871],{"class":177},[167,35807,185],{"class":173},[167,35809,35810],{"class":169,"line":6885},[167,35811,209],{"emptyLinePlaceholder":208},[167,35813,35814,35816,35818],{"class":169,"line":6894},[167,35815,1252],{"class":173},[167,35817,33],{"class":177},[167,35819,185],{"class":173},[167,35821,35822,35824,35826,35828,35830,35833,35835,35837,35840],{"class":169,"line":6899},[167,35823,1263],{"class":173},[167,35825,36],{"class":177},[167,35827,18702],{"class":181},[167,35829,267],{"class":173},[167,35831,35832],{"class":201},"\"item in filteredProducts\"",[167,35834,10303],{"class":181},[167,35836,267],{"class":173},[167,35838,35839],{"class":201},"\"item.id\"",[167,35841,185],{"class":173},[167,35843,35844],{"class":169,"line":6908},[167,35845,35846],{"class":173},"        {{ item.name }} - ${{ item.price }}\n",[167,35848,35849,35851,35853,35855,35857,35860,35863,35865],{"class":169,"line":6924},[167,35850,32512],{"class":173},[167,35852,167],{"class":177},[167,35854,5690],{"class":181},[167,35856,267],{"class":173},[167,35858,35859],{"class":201},"\"!item.stock\"",[167,35861,35862],{"class":173},">(sin stock)\u003C\u002F",[167,35864,167],{"class":177},[167,35866,185],{"class":173},[167,35868,35869,35871,35873],{"class":169,"line":6945},[167,35870,10166],{"class":173},[167,35872,36],{"class":177},[167,35874,185],{"class":173},[167,35876,35877,35879,35881],{"class":169,"line":6950},[167,35878,1287],{"class":173},[167,35880,33],{"class":177},[167,35882,185],{"class":173},[167,35884,35885,35887,35889],{"class":169,"line":6971},[167,35886,504],{"class":173},[167,35888,10113],{"class":177},[167,35890,185],{"class":173},[167,35892,35893,35895,35897],{"class":169,"line":6985},[167,35894,282],{"class":173},[167,35896,299],{"class":177},[167,35898,185],{"class":173},[3083,35900,33275],{"id":33274},[15,35902,35903,35904,1023,35906,583],{},"Mismo comportamiento usando ",[87,35905,34045],{},[87,35907,34051],{},[154,35909,35911],{"className":156,"code":35910,"filename":35170,"language":162,"meta":163,"style":163},"\u003Cscript lang=\"ts\">\nexport default {\n  name: \"SearchInput\",\n  props: {\n    modelValue: {\n      type: String,\n      default: \"\",\n    },\n  },\n  emits: [\"update:modelValue\"],\n};\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Clabel class=\"field\">\n    Buscar\n    \u003Cinput\n      :value=\"modelValue\"\n      type=\"text\"\n      placeholder=\"Escribe para filtrar...\"\n      @input=\"$emit('update:modelValue', $event.target.value.trim())\"\n    \u002F>\n  \u003C\u002Flabel>\n\u003C\u002Ftemplate>\n",[87,35912,35913,35927,35935,35944,35948,35953,35957,35965,35969,35973,35982,35986,35994,35998,36006,36020,36024,36030,36040,36048,36056,36066,36070,36078],{"__ignoreMap":163},[167,35914,35915,35917,35919,35921,35923,35925],{"class":169,"line":170},[167,35916,174],{"class":173},[167,35918,178],{"class":177},[167,35920,1045],{"class":181},[167,35922,267],{"class":173},[167,35924,1050],{"class":201},[167,35926,185],{"class":173},[167,35928,35929,35931,35933],{"class":169,"line":188},[167,35930,608],{"class":191},[167,35932,3987],{"class":191},[167,35934,1901],{"class":173},[167,35936,35937,35939,35942],{"class":169,"line":205},[167,35938,4394],{"class":173},[167,35940,35941],{"class":201},"\"SearchInput\"",[167,35943,393],{"class":173},[167,35945,35946],{"class":169,"line":160},[167,35947,3995],{"class":173},[167,35949,35950],{"class":169,"line":238},[167,35951,35952],{"class":173},"    modelValue: {\n",[167,35954,35955],{"class":169,"line":243},[167,35956,4007],{"class":173},[167,35958,35959,35961,35963],{"class":169,"line":261},[167,35960,4037],{"class":173},[167,35962,31157],{"class":201},[167,35964,393],{"class":173},[167,35966,35967],{"class":169,"line":273},[167,35968,755],{"class":173},[167,35970,35971],{"class":169,"line":279},[167,35972,398],{"class":173},[167,35974,35975,35977,35980],{"class":169,"line":289},[167,35976,4405],{"class":173},[167,35978,35979],{"class":201},"\"update:modelValue\"",[167,35981,4410],{"class":173},[167,35983,35984],{"class":169,"line":294},[167,35985,24144],{"class":173},[167,35987,35988,35990,35992],{"class":169,"line":304},[167,35989,282],{"class":173},[167,35991,178],{"class":177},[167,35993,185],{"class":173},[167,35995,35996],{"class":169,"line":313},[167,35997,209],{"emptyLinePlaceholder":208},[167,35999,36000,36002,36004],{"class":169,"line":161},[167,36001,174],{"class":173},[167,36003,299],{"class":177},[167,36005,185],{"class":173},[167,36007,36008,36010,36012,36014,36016,36018],{"class":169,"line":335},[167,36009,307],{"class":173},[167,36011,9871],{"class":177},[167,36013,1240],{"class":181},[167,36015,267],{"class":173},[167,36017,35246],{"class":201},[167,36019,185],{"class":173},[167,36021,36022],{"class":169,"line":341},[167,36023,35253],{"class":173},[167,36025,36026,36028],{"class":169,"line":489},[167,36027,1252],{"class":173},[167,36029,17477],{"class":177},[167,36031,36032,36035,36037],{"class":169,"line":495},[167,36033,36034],{"class":181},"      :value",[167,36036,267],{"class":173},[167,36038,36039],{"class":201},"\"modelValue\"\n",[167,36041,36042,36044,36046],{"class":169,"line":501},[167,36043,3735],{"class":181},[167,36045,267],{"class":173},[167,36047,35279],{"class":201},[167,36049,36050,36052,36054],{"class":169,"line":512},[167,36051,17500],{"class":181},[167,36053,267],{"class":173},[167,36055,35288],{"class":201},[167,36057,36058,36061,36063],{"class":169,"line":781},[167,36059,36060],{"class":181},"      @input",[167,36062,267],{"class":173},[167,36064,36065],{"class":201},"\"$emit('update:modelValue', $event.target.value.trim())\"\n",[167,36067,36068],{"class":169,"line":786},[167,36069,35293],{"class":173},[167,36071,36072,36074,36076],{"class":169,"line":2674},[167,36073,504],{"class":173},[167,36075,9871],{"class":177},[167,36077,185],{"class":173},[167,36079,36080,36082,36084],{"class":169,"line":2688},[167,36081,282],{"class":173},[167,36083,299],{"class":177},[167,36085,185],{"class":173},[154,36087,36089],{"className":156,"code":36088,"filename":35313,"language":162,"meta":163,"style":163},"\u003Cscript lang=\"ts\">\nimport SearchInput from \".\u002FSearchInput.vue\";\n\nexport default {\n  name: \"ProductFilter\",\n  components: { SearchInput },\n  data() {\n    return {\n      query: \"\",\n      minPrice: null,\n      onlyInStock: false,\n      products: [\n        { id: 1, name: \"Teclado mecánico\", price: 89, stock: true },\n        { id: 2, name: \"Mouse ergonómico\", price: 45, stock: false },\n        { id: 3, name: 'Monitor 27\"', price: 299, stock: true },\n      ],\n    };\n  },\n  computed: {\n    filteredProducts() {\n      return this.products.filter((p) => {\n        const matchesQuery = p.name\n          .toLowerCase()\n          .includes(this.query.toLowerCase());\n        const matchesPrice =\n          this.minPrice == null || p.price >= Number(this.minPrice);\n        const matchesStock = !this.onlyInStock || p.stock;\n\n        return matchesQuery && matchesPrice && matchesStock;\n      });\n    },\n  },\n};\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Csection>\n    \u003Ch2>Filtros\u003C\u002Fh2>\n\n    \u003CSearchInput v-model=\"query\" \u002F>\n\n    \u003Clabel>\n      Precio mínimo\n      \u003Cinput v-model.number=\"minPrice\" type=\"number\" min=\"0\" \u002F>\n    \u003C\u002Flabel>\n\n    \u003Clabel>\n      \u003Cinput v-model=\"onlyInStock\" type=\"checkbox\" \u002F>\n      Solo disponibles\n    \u003C\u002Flabel>\n\n    \u003Cul>\n      \u003Cli v-for=\"item in filteredProducts\" :key=\"item.id\">\n        {{ item.name }} - ${{ item.price }}\n        \u003Cspan v-if=\"!item.stock\">(sin stock)\u003C\u002Fspan>\n      \u003C\u002Fli>\n    \u003C\u002Ful>\n  \u003C\u002Fsection>\n\u003C\u002Ftemplate>\n",[87,36090,36091,36105,36117,36121,36129,36138,36143,36149,36155,36164,36173,36182,36187,36207,36227,36247,36251,36255,36259,36263,36270,36291,36302,36310,36327,36335,36363,36382,36386,36400,36405,36409,36413,36417,36425,36429,36437,36445,36457,36461,36475,36479,36487,36491,36517,36525,36529,36537,36557,36561,36569,36573,36581,36601,36605,36623,36631,36639,36647],{"__ignoreMap":163},[167,36092,36093,36095,36097,36099,36101,36103],{"class":169,"line":170},[167,36094,174],{"class":173},[167,36096,178],{"class":177},[167,36098,1045],{"class":181},[167,36100,267],{"class":173},[167,36102,1050],{"class":201},[167,36104,185],{"class":173},[167,36106,36107,36109,36111,36113,36115],{"class":169,"line":188},[167,36108,192],{"class":191},[167,36110,35350],{"class":173},[167,36112,198],{"class":191},[167,36114,35355],{"class":201},[167,36116,24040],{"class":173},[167,36118,36119],{"class":169,"line":205},[167,36120,209],{"emptyLinePlaceholder":208},[167,36122,36123,36125,36127],{"class":169,"line":160},[167,36124,608],{"class":191},[167,36126,3987],{"class":191},[167,36128,1901],{"class":173},[167,36130,36131,36133,36136],{"class":169,"line":238},[167,36132,4394],{"class":173},[167,36134,36135],{"class":201},"\"ProductFilter\"",[167,36137,393],{"class":173},[167,36139,36140],{"class":169,"line":243},[167,36141,36142],{"class":173},"  components: { SearchInput },\n",[167,36144,36145,36147],{"class":169,"line":261},[167,36146,7172],{"class":181},[167,36148,763],{"class":173},[167,36150,36151,36153],{"class":169,"line":273},[167,36152,1933],{"class":191},[167,36154,1901],{"class":173},[167,36156,36157,36160,36162],{"class":169,"line":279},[167,36158,36159],{"class":173},"      query: ",[167,36161,31157],{"class":201},[167,36163,393],{"class":173},[167,36165,36166,36169,36171],{"class":169,"line":289},[167,36167,36168],{"class":173},"      minPrice: ",[167,36170,6569],{"class":219},[167,36172,393],{"class":173},[167,36174,36175,36178,36180],{"class":169,"line":294},[167,36176,36177],{"class":173},"      onlyInStock: ",[167,36179,3388],{"class":219},[167,36181,393],{"class":173},[167,36183,36184],{"class":169,"line":304},[167,36185,36186],{"class":173},"      products: [\n",[167,36188,36189,36191,36193,36195,36197,36199,36201,36203,36205],{"class":169,"line":313},[167,36190,8673],{"class":173},[167,36192,1831],{"class":219},[167,36194,1834],{"class":173},[167,36196,35447],{"class":201},[167,36198,1840],{"class":173},[167,36200,35452],{"class":219},[167,36202,35455],{"class":173},[167,36204,390],{"class":219},[167,36206,1852],{"class":173},[167,36208,36209,36211,36213,36215,36217,36219,36221,36223,36225],{"class":169,"line":161},[167,36210,8673],{"class":173},[167,36212,1849],{"class":219},[167,36214,1834],{"class":173},[167,36216,35470],{"class":201},[167,36218,1840],{"class":173},[167,36220,35475],{"class":219},[167,36222,35455],{"class":173},[167,36224,3388],{"class":219},[167,36226,1852],{"class":173},[167,36228,36229,36231,36233,36235,36237,36239,36241,36243,36245],{"class":169,"line":335},[167,36230,8673],{"class":173},[167,36232,8199],{"class":219},[167,36234,1834],{"class":173},[167,36236,35492],{"class":201},[167,36238,1840],{"class":173},[167,36240,35497],{"class":219},[167,36242,35455],{"class":173},[167,36244,390],{"class":219},[167,36246,1852],{"class":173},[167,36248,36249],{"class":169,"line":341},[167,36250,16110],{"class":173},[167,36252,36253],{"class":169,"line":489},[167,36254,24366],{"class":173},[167,36256,36257],{"class":169,"line":495},[167,36258,398],{"class":173},[167,36260,36261],{"class":169,"line":501},[167,36262,8751],{"class":173},[167,36264,36265,36268],{"class":169,"line":512},[167,36266,36267],{"class":181},"    filteredProducts",[167,36269,763],{"class":173},[167,36271,36272,36274,36276,36279,36281,36283,36285,36287,36289],{"class":169,"line":781},[167,36273,8763],{"class":191},[167,36275,7347],{"class":219},[167,36277,36278],{"class":173},".products.",[167,36280,8248],{"class":181},[167,36282,1914],{"class":173},[167,36284,15],{"class":254},[167,36286,693],{"class":173},[167,36288,639],{"class":191},[167,36290,1901],{"class":173},[167,36292,36293,36295,36297,36299],{"class":169,"line":786},[167,36294,8783],{"class":191},[167,36296,35550],{"class":219},[167,36298,223],{"class":191},[167,36300,36301],{"class":173}," p.name\n",[167,36303,36304,36306,36308],{"class":169,"line":2674},[167,36305,8794],{"class":173},[167,36307,2502],{"class":181},[167,36309,2913],{"class":173},[167,36311,36312,36314,36316,36318,36320,36323,36325],{"class":169,"line":2688},[167,36313,8794],{"class":173},[167,36315,8286],{"class":181},[167,36317,229],{"class":173},[167,36319,4923],{"class":219},[167,36321,36322],{"class":173},".query.",[167,36324,2502],{"class":181},[167,36326,35572],{"class":173},[167,36328,36329,36331,36333],{"class":169,"line":3571},[167,36330,8783],{"class":191},[167,36332,35579],{"class":219},[167,36334,35553],{"class":191},[167,36336,36337,36340,36343,36345,36347,36349,36351,36353,36356,36358,36360],{"class":169,"line":5024},[167,36338,36339],{"class":219},"          this",[167,36341,36342],{"class":173},".minPrice ",[167,36344,35589],{"class":191},[167,36346,6563],{"class":219},[167,36348,35594],{"class":191},[167,36350,35597],{"class":173},[167,36352,1987],{"class":191},[167,36354,36355],{"class":181}," Number",[167,36357,229],{"class":173},[167,36359,4923],{"class":219},[167,36361,36362],{"class":173},".minPrice);\n",[167,36364,36365,36367,36369,36371,36373,36375,36378,36380],{"class":169,"line":5033},[167,36366,8783],{"class":191},[167,36368,35609],{"class":219},[167,36370,223],{"class":191},[167,36372,5621],{"class":191},[167,36374,4923],{"class":219},[167,36376,36377],{"class":173},".onlyInStock ",[167,36379,4260],{"class":191},[167,36381,35621],{"class":173},[167,36383,36384],{"class":169,"line":5042},[167,36385,209],{"emptyLinePlaceholder":208},[167,36387,36388,36390,36392,36394,36396,36398],{"class":169,"line":6752},[167,36389,8851],{"class":191},[167,36391,35632],{"class":173},[167,36393,8335],{"class":191},[167,36395,35637],{"class":173},[167,36397,8335],{"class":191},[167,36399,35642],{"class":173},[167,36401,36402],{"class":169,"line":6774},[167,36403,36404],{"class":173},"      });\n",[167,36406,36407],{"class":169,"line":6779},[167,36408,755],{"class":173},[167,36410,36411],{"class":169,"line":6784},[167,36412,398],{"class":173},[167,36414,36415],{"class":169,"line":6789},[167,36416,24144],{"class":173},[167,36418,36419,36421,36423],{"class":169,"line":6805},[167,36420,282],{"class":173},[167,36422,178],{"class":177},[167,36424,185],{"class":173},[167,36426,36427],{"class":169,"line":6820},[167,36428,209],{"emptyLinePlaceholder":208},[167,36430,36431,36433,36435],{"class":169,"line":6825},[167,36432,174],{"class":173},[167,36434,299],{"class":177},[167,36436,185],{"class":173},[167,36438,36439,36441,36443],{"class":169,"line":6832},[167,36440,307],{"class":173},[167,36442,10113],{"class":177},[167,36444,185],{"class":173},[167,36446,36447,36449,36451,36453,36455],{"class":169,"line":6841},[167,36448,1252],{"class":173},[167,36450,22],{"class":177},[167,36452,35687],{"class":173},[167,36454,22],{"class":177},[167,36456,185],{"class":173},[167,36458,36459],{"class":169,"line":6850},[167,36460,209],{"emptyLinePlaceholder":208},[167,36462,36463,36465,36467,36469,36471,36473],{"class":169,"line":6857},[167,36464,1252],{"class":173},[167,36466,35162],{"class":177},[167,36468,2649],{"class":181},[167,36470,267],{"class":173},[167,36472,2654],{"class":201},[167,36474,5321],{"class":173},[167,36476,36477],{"class":169,"line":6875},[167,36478,209],{"emptyLinePlaceholder":208},[167,36480,36481,36483,36485],{"class":169,"line":6880},[167,36482,1252],{"class":173},[167,36484,9871],{"class":177},[167,36486,185],{"class":173},[167,36488,36489],{"class":169,"line":6885},[167,36490,35726],{"class":173},[167,36492,36493,36495,36497,36499,36501,36503,36505,36507,36509,36511,36513,36515],{"class":169,"line":6894},[167,36494,1263],{"class":173},[167,36496,2646],{"class":177},[167,36498,34716],{"class":181},[167,36500,267],{"class":173},[167,36502,35739],{"class":201},[167,36504,1169],{"class":181},[167,36506,267],{"class":173},[167,36508,34728],{"class":201},[167,36510,34731],{"class":181},[167,36512,267],{"class":173},[167,36514,34736],{"class":201},[167,36516,5321],{"class":173},[167,36518,36519,36521,36523],{"class":169,"line":6899},[167,36520,1287],{"class":173},[167,36522,9871],{"class":177},[167,36524,185],{"class":173},[167,36526,36527],{"class":169,"line":6908},[167,36528,209],{"emptyLinePlaceholder":208},[167,36530,36531,36533,36535],{"class":169,"line":6924},[167,36532,1252],{"class":173},[167,36534,9871],{"class":177},[167,36536,185],{"class":173},[167,36538,36539,36541,36543,36545,36547,36549,36551,36553,36555],{"class":169,"line":6945},[167,36540,1263],{"class":173},[167,36542,2646],{"class":177},[167,36544,2649],{"class":181},[167,36546,267],{"class":173},[167,36548,35786],{"class":201},[167,36550,1169],{"class":181},[167,36552,267],{"class":173},[167,36554,34998],{"class":201},[167,36556,5321],{"class":173},[167,36558,36559],{"class":169,"line":6950},[167,36560,35799],{"class":173},[167,36562,36563,36565,36567],{"class":169,"line":6971},[167,36564,1287],{"class":173},[167,36566,9871],{"class":177},[167,36568,185],{"class":173},[167,36570,36571],{"class":169,"line":6985},[167,36572,209],{"emptyLinePlaceholder":208},[167,36574,36575,36577,36579],{"class":169,"line":6999},[167,36576,1252],{"class":173},[167,36578,33],{"class":177},[167,36580,185],{"class":173},[167,36582,36583,36585,36587,36589,36591,36593,36595,36597,36599],{"class":169,"line":7013},[167,36584,1263],{"class":173},[167,36586,36],{"class":177},[167,36588,18702],{"class":181},[167,36590,267],{"class":173},[167,36592,35832],{"class":201},[167,36594,10303],{"class":181},[167,36596,267],{"class":173},[167,36598,35839],{"class":201},[167,36600,185],{"class":173},[167,36602,36603],{"class":169,"line":7022},[167,36604,35846],{"class":173},[167,36606,36607,36609,36611,36613,36615,36617,36619,36621],{"class":169,"line":7027},[167,36608,32512],{"class":173},[167,36610,167],{"class":177},[167,36612,5690],{"class":181},[167,36614,267],{"class":173},[167,36616,35859],{"class":201},[167,36618,35862],{"class":173},[167,36620,167],{"class":177},[167,36622,185],{"class":173},[167,36624,36625,36627,36629],{"class":169,"line":7044},[167,36626,10166],{"class":173},[167,36628,36],{"class":177},[167,36630,185],{"class":173},[167,36632,36633,36635,36637],{"class":169,"line":7053},[167,36634,1287],{"class":173},[167,36636,33],{"class":177},[167,36638,185],{"class":173},[167,36640,36641,36643,36645],{"class":169,"line":7551},[167,36642,504],{"class":173},[167,36644,10113],{"class":177},[167,36646,185],{"class":173},[167,36648,36649,36651,36653],{"class":169,"line":7556},[167,36650,282],{"class":173},[167,36652,299],{"class":177},[167,36654,185],{"class":173},[22,36656,7674],{"id":7673},[15,36658,36659,36661],{},[87,36660,23861],{}," es la forma idiomática en Vue 3 para sincronizar UI y estado en formularios y componentes.",[15,36663,36664],{},"Úsalo para reducir boilerplate y mantener consistencia, pero evita convertirlo en un atajo para lógica de negocio compleja.",[15,36666,27692],{},[33,36668,36669,36675,36684,36694],{},[36,36670,36671,36672,36674],{},"En inputs nativos, simplifica ",[87,36673,33968],{}," + eventos.",[36,36676,36677,36678,11223,36680,34220,36682,1675],{},"En componentes, respeta ",[87,36679,34045],{},[87,36681,34051],{},[87,36683,34223],{},[36,36685,36686,36687,1020,36689,1020,36691,36693],{},"Aplica modificadores (",[87,36688,34070],{},[87,36690,34075],{},[87,36692,34080],{},") cuando mejoren la calidad de los datos o el rendimiento.",[36,36695,36696],{},"Mantén el flujo de datos claro y explícito cuando el dominio lo requiera.",[924,36698,1604],{},{"title":163,"searchDepth":188,"depth":188,"links":36700},[36701,36702,36706,36707,36708,36715,36716,36718,36719,36723],{"id":26498,"depth":188,"text":26499},{"id":6252,"depth":188,"text":6253,"children":36703},[36704,36705],{"id":33988,"depth":205,"text":33989},{"id":34033,"depth":205,"text":34034},{"id":6317,"depth":188,"text":6318},{"id":6344,"depth":188,"text":6345},{"id":3080,"depth":188,"text":3081,"children":36709},[36710,36711,36713,36714],{"id":34151,"depth":205,"text":34152},{"id":34231,"depth":205,"text":36712},"2) Enlazar v-model a expresiones no escribibles",{"id":34304,"depth":205,"text":34305},{"id":34333,"depth":205,"text":34334},{"id":34345,"depth":188,"text":34346},{"id":34606,"depth":188,"text":36717},"2) Input numérico con v-model.number",{"id":34893,"depth":188,"text":34894},{"id":35154,"depth":188,"text":35155,"children":36720},[36721,36722],{"id":32687,"depth":205,"text":32688},{"id":33274,"depth":205,"text":33275},{"id":7673,"depth":188,"text":7674},"https:\u002F\u002Fres.cloudinary.com\u002Fdenj4fg7f\u002Fimage\u002Fupload\u002Fv1771265788\u002Fdirectives-vue-v-model-guide_ticgya.png","Imagen temporal para portada del artículo sobre v-model en Vue","2026-02-16","Aprende a usar v-model en Vue 3 para formularios y componentes personalizados, con Composition API y Options API, casos reales, errores comunes y buenas practicas.",{"updatedAt":36729,"coverCaption":23652,"author":945,"keywords":36730},"2026-02-16T13:30:00-05:00",[3254,23861,36731,36732,3256,3969],"formularios","two-way binding","\u002Fblog\u002Fdirectives-vue-v-model-guide.es",[36735],{"headline":36736,"author":36737,"datePublished":36729,"@type":959},"Directiva v-model en Vue: guía completa para formularios y componentes",{"name":945,"@type":958},{"title":33935,"description":36727},"blog\u002Fdirectives-vue-v-model-guide.es",[36741,36742,36745,36746],{"tag":26462,"color":26463},{"tag":36743,"color":36744},"Formularios","#E67E22",{"tag":3265,"color":3266},{"tag":5420,"color":5421},"O_hXXsF2G3Nazt5a_Ggj8OT6_GTMtHDuGhVbwudOzcU",{"id":36749,"title":36750,"body":36751,"cover":39745,"coverAlt":39746,"date":39747,"description":39748,"draft":1617,"extension":940,"lab":941,"locale":942,"meta":39749,"navigation":208,"path":39754,"schemaOrg":39755,"seo":39759,"series":26456,"seriesDescription":26457,"seriesOrder":238,"seriesTitle":26458,"slug":941,"stem":39760,"tags":39761,"__hash__":39765},"blog\u002Fblog\u002Fdirectives-vue-v-on-guide.es.md","Directivas en Vue: v-on",{"type":8,"value":36752,"toc":39722},[36753,36758,36766,36768,36776,36787,36794,36796,36799,36834,36837,36867,36872,36927,36929,36934,36936,36967,36969,36974,36987,36992,36994,36998,37000,37033,37040,37069,37076,37078,37104,37106,37136,37143,37147,37150,37215,37218,37249,37252,37259,37261,37290,37292,37320,37326,37328,37332,37435,37544,37550,37754,37967,37971,38112,38260,38264,38387,38519,38521,38524,38543,39151,39683,39685,39690,39693,39719],[11,36754,26479,36756],{"id":36755},"directivas-en-vue-v-on",[87,36757,23867],{},[15,36759,36760,36762,36763,36765],{},[87,36761,23867],{}," conecta eventos del DOM o de componentes con funciones de tu app.\nCuando el usuario hace clic, escribe o pulsa una tecla, ",[87,36764,23867],{}," dispara la lógica que definiste.",[22,36767,26499],{"id":26498},[15,36769,21840,36770,36772,36773,36775],{},[87,36771,23867],{},", una interfaz no responde a la interacción del usuario.\nCon ",[87,36774,23867],{},", puedes:",[33,36777,36778,36781,36784],{},[36,36779,36780],{},"Capturar acciones del usuario sin manipular el DOM manualmente.",[36,36782,36783],{},"Mantener la interacción declarativa y legible en el template.",[36,36785,36786],{},"Separar estado, renderizado y comportamiento de forma consistente con Vue.",[5363,36788,36789],{},[15,36790,36791,36793],{},[87,36792,23867],{}," es la base de botones, formularios, atajos de teclado y comunicación entre componentes vía eventos.",[22,36795,30496],{"id":30495},[15,36797,36798],{},"La forma larga:",[154,36800,36802],{"className":156,"code":36801,"filename":15280,"language":162,"meta":163,"style":163},"\u003Cbutton v-on:click=\"increment\">Sumar\u003C\u002Fbutton>\n",[87,36803,36804],{"__ignoreMap":163},[167,36805,36806,36808,36810,36813,36815,36818,36820,36822,36825,36827,36830,36832],{"class":169,"line":170},[167,36807,174],{"class":173},[167,36809,507],{"class":177},[167,36811,36812],{"class":181}," v-on",[167,36814,583],{"class":173},[167,36816,36817],{"class":181},"click",[167,36819,267],{"class":173},[167,36821,5076],{"class":201},[167,36823,36824],{"class":173},"increment",[167,36826,5076],{"class":201},[167,36828,36829],{"class":173},">Sumar\u003C\u002F",[167,36831,507],{"class":177},[167,36833,185],{"class":173},[15,36835,36836],{},"La forma corta recomendada:",[154,36838,36840],{"className":156,"code":36839,"filename":15280,"language":162,"meta":163,"style":163},"\u003Cbutton @click=\"increment\">Sumar\u003C\u002Fbutton>\n",[87,36841,36842],{"__ignoreMap":163},[167,36843,36844,36846,36848,36851,36853,36855,36857,36859,36861,36863,36865],{"class":169,"line":170},[167,36845,174],{"class":173},[167,36847,507],{"class":177},[167,36849,36850],{"class":173}," @",[167,36852,36817],{"class":181},[167,36854,267],{"class":173},[167,36856,5076],{"class":201},[167,36858,36824],{"class":173},[167,36860,5076],{"class":201},[167,36862,36829],{"class":173},[167,36864,507],{"class":177},[167,36866,185],{"class":173},[15,36868,36869,36871],{},[87,36870,23867],{}," admite:",[33,36873,36874,36887,36896,36911],{},[36,36875,36876,36877,1020,36879,1020,36881,1020,36884,4266],{},"Eventos nativos (",[87,36878,36817],{},[87,36880,2646],{},[87,36882,36883],{},"submit",[87,36885,36886],{},"keydown",[36,36888,36889,36890,1020,36893,4266],{},"Eventos emitidos por componentes (",[87,36891,36892],{},"@save",[87,36894,36895],{},"@close",[36,36897,36898,36899,1020,36902,1020,36905,1020,36908,4266],{},"Modificadores de evento (",[87,36900,36901],{},".prevent",[87,36903,36904],{},".stop",[87,36906,36907],{},".once",[87,36909,36910],{},".self",[36,36912,36913,36914,1020,36917,36920,36921,1020,36924,7859],{},"Modificadores de teclado (",[87,36915,36916],{},".enter",[87,36918,36919],{},".esc",", combinaciones con ",[87,36922,36923],{},"ctrl",[87,36925,36926],{},"shift",[22,36928,6318],{"id":6317},[15,36930,1577,36931,36933],{},[87,36932,23867],{}," cuando necesites reaccionar a acciones del usuario o a eventos de componentes.",[15,36935,9304],{},[33,36937,36938,36944,36950,36956,36961],{},[36,36939,36940,36941,4266],{},"Botones de acción (",[87,36942,36943],{},"@click=\"createTask\"",[36,36945,36946,36947,4266],{},"Formularios (",[87,36948,36949],{},"@submit.prevent=\"submitForm\"",[36,36951,36952,36953,4266],{},"Inputs en tiempo real (",[87,36954,36955],{},"@input=\"handleSearch\"",[36,36957,23698,36958,4266],{},[87,36959,36960],{},"@keydown.ctrl.enter=\"publish\"",[36,36962,36963,36964,4266],{},"Eventos personalizados desde componentes hijos (",[87,36965,36966],{},"@save=\"persistTask\"",[22,36968,6345],{"id":6344},[15,36970,13618,36971,36973],{},[87,36972,23867],{}," en estos casos:",[33,36975,36976,36979,36984],{},[36,36977,36978],{},"Cuando no hay interacción real y el contenido es completamente estático.",[36,36980,36981,36982,1675],{},"Cuando colocas demasiada lógica inline en el template; es mejor moverla a funciones o ",[87,36983,1657],{},[36,36985,36986],{},"Cuando intentas “resolver” seguridad con eventos del frontend: la validación real debe ocurrir en backend.",[5363,36988,36989],{},[15,36990,36991],{},"También evita encadenar muchos modificadores sin una intención clara, porque dificulta el mantenimiento.",[22,36993,3081],{"id":3080},[3083,36995,36997],{"id":36996},"_1-ejecutar-la-función-en-vez-de-referenciarla","1) Ejecutar la función en vez de referenciarla",[15,36999,30734],{},[154,37001,37003],{"className":156,"code":37002,"filename":34158,"language":162,"meta":163,"style":163},"\u003Cbutton @click=\"saveTask()\">Guardar\u003C\u002Fbutton>\n",[87,37004,37005],{"__ignoreMap":163},[167,37006,37007,37009,37011,37013,37015,37017,37019,37022,37024,37026,37029,37031],{"class":169,"line":170},[167,37008,174],{"class":173},[167,37010,507],{"class":177},[167,37012,36850],{"class":173},[167,37014,36817],{"class":181},[167,37016,267],{"class":173},[167,37018,5076],{"class":201},[167,37020,37021],{"class":181},"saveTask",[167,37023,34263],{"class":173},[167,37025,5076],{"class":201},[167,37027,37028],{"class":173},">Guardar\u003C\u002F",[167,37030,507],{"class":177},[167,37032,185],{"class":173},[15,37034,37035,37036,37039],{},"Esto ",[3929,37037,37038],{},"es válido",", pero si no necesitas argumentos, suele ser más limpio:",[154,37041,37043],{"className":156,"code":37042,"filename":34281,"language":162,"meta":163,"style":163},"\u003Cbutton @click=\"saveTask\">Guardar\u003C\u002Fbutton>\n",[87,37044,37045],{"__ignoreMap":163},[167,37046,37047,37049,37051,37053,37055,37057,37059,37061,37063,37065,37067],{"class":169,"line":170},[167,37048,174],{"class":173},[167,37050,507],{"class":177},[167,37052,36850],{"class":173},[167,37054,36817],{"class":181},[167,37056,267],{"class":173},[167,37058,5076],{"class":201},[167,37060,37021],{"class":173},[167,37062,5076],{"class":201},[167,37064,37028],{"class":173},[167,37066,507],{"class":177},[167,37068,185],{"class":173},[3083,37070,37072,37073,37075],{"id":37071},"_2-olvidar-prevent-en-formularios","2) Olvidar ",[87,37074,36901],{}," en formularios",[15,37077,30734],{},[154,37079,37081],{"className":156,"code":37080,"filename":34158,"language":162,"meta":163,"style":163},"\u003Cform @submit=\"submitForm\">\n",[87,37082,37083],{"__ignoreMap":163},[167,37084,37085,37087,37089,37091,37093,37095,37097,37100,37102],{"class":169,"line":170},[167,37086,174],{"class":173},[167,37088,4301],{"class":177},[167,37090,36850],{"class":173},[167,37092,36883],{"class":181},[167,37094,267],{"class":173},[167,37096,5076],{"class":201},[167,37098,37099],{"class":173},"submitForm",[167,37101,5076],{"class":201},[167,37103,185],{"class":173},[15,37105,34277],{},[154,37107,37109],{"className":156,"code":37108,"filename":34281,"language":162,"meta":163,"style":163},"\u003Cform @submit.prevent=\"submitForm\">\n",[87,37110,37111],{"__ignoreMap":163},[167,37112,37113,37115,37117,37119,37121,37123,37126,37128,37130,37132,37134],{"class":169,"line":170},[167,37114,174],{"class":173},[167,37116,4301],{"class":177},[167,37118,36850],{"class":173},[167,37120,36883],{"class":181},[167,37122,1675],{"class":173},[167,37124,37125],{"class":181},"prevent",[167,37127,267],{"class":173},[167,37129,5076],{"class":201},[167,37131,37099],{"class":173},[167,37133,5076],{"class":201},[167,37135,185],{"class":173},[5363,37137,37138],{},[15,37139,21840,37140,37142],{},[87,37141,36901],{},", el navegador recarga la página por defecto.",[3083,37144,37146],{"id":37145},"_3-poner-demasiada-lógica-dentro-del-template","3) Poner demasiada lógica dentro del template",[15,37148,37149],{},"Evitar:",[154,37151,37153],{"className":156,"code":37152,"filename":34158,"language":162,"meta":163,"style":163},"\u003Cbutton @click=\"isAdmin && canEdit && !isLocked ? publishNow() : showWarning()\">\n  Publicar\n\u003C\u002Fbutton>\n",[87,37154,37155,37202,37207],{"__ignoreMap":163},[167,37156,37157,37159,37161,37163,37165,37167,37169,37172,37174,37177,37179,37181,37184,37186,37189,37191,37193,37196,37198,37200],{"class":169,"line":170},[167,37158,174],{"class":173},[167,37160,507],{"class":177},[167,37162,36850],{"class":173},[167,37164,36817],{"class":181},[167,37166,267],{"class":173},[167,37168,5076],{"class":201},[167,37170,37171],{"class":173},"isAdmin ",[167,37173,8335],{"class":191},[167,37175,37176],{"class":173}," canEdit ",[167,37178,8335],{"class":191},[167,37180,5621],{"class":191},[167,37182,37183],{"class":173},"isLocked ",[167,37185,8312],{"class":191},[167,37187,37188],{"class":181}," publishNow",[167,37190,14083],{"class":173},[167,37192,583],{"class":191},[167,37194,37195],{"class":181}," showWarning",[167,37197,34263],{"class":173},[167,37199,5076],{"class":201},[167,37201,185],{"class":173},[167,37203,37204],{"class":169,"line":188},[167,37205,37206],{"class":173},"  Publicar\n",[167,37208,37209,37211,37213],{"class":169,"line":205},[167,37210,282],{"class":173},[167,37212,507],{"class":177},[167,37214,185],{"class":173},[15,37216,37217],{},"Mejor:",[154,37219,37221],{"className":156,"code":37220,"filename":34281,"language":162,"meta":163,"style":163},"\u003Cbutton @click=\"handlePublishClick\">Publicar\u003C\u002Fbutton>\n",[87,37222,37223],{"__ignoreMap":163},[167,37224,37225,37227,37229,37231,37233,37235,37237,37240,37242,37245,37247],{"class":169,"line":170},[167,37226,174],{"class":173},[167,37228,507],{"class":177},[167,37230,36850],{"class":173},[167,37232,36817],{"class":181},[167,37234,267],{"class":173},[167,37236,5076],{"class":201},[167,37238,37239],{"class":173},"handlePublishClick",[167,37241,5076],{"class":201},[167,37243,37244],{"class":173},">Publicar\u003C\u002F",[167,37246,507],{"class":177},[167,37248,185],{"class":173},[15,37250,37251],{},"Y mover la decisión a una función clara en el script.",[3083,37253,37255,37256,37258],{"id":37254},"_4-usar-event-sin-declararlo","4) Usar ",[87,37257,4191],{}," sin declararlo",[15,37260,30734],{},[154,37262,37264],{"className":156,"code":37263,"filename":34158,"language":162,"meta":163,"style":163},"\u003Cinput @input=\"onInput(event)\" \u002F>\n",[87,37265,37266],{"__ignoreMap":163},[167,37267,37268,37270,37272,37274,37276,37278,37280,37283,37286,37288],{"class":169,"line":170},[167,37269,174],{"class":173},[167,37271,2646],{"class":177},[167,37273,36850],{"class":173},[167,37275,2646],{"class":181},[167,37277,267],{"class":173},[167,37279,5076],{"class":201},[167,37281,37282],{"class":181},"onInput",[167,37284,37285],{"class":173},"(event)",[167,37287,5076],{"class":201},[167,37289,5321],{"class":173},[15,37291,34277],{},[154,37293,37295],{"className":156,"code":37294,"filename":34281,"language":162,"meta":163,"style":163},"\u003Cinput @input=\"onInput($event)\" \u002F>\n",[87,37296,37297],{"__ignoreMap":163},[167,37298,37299,37301,37303,37305,37307,37309,37311,37313,37316,37318],{"class":169,"line":170},[167,37300,174],{"class":173},[167,37302,2646],{"class":177},[167,37304,36850],{"class":173},[167,37306,2646],{"class":181},[167,37308,267],{"class":173},[167,37310,5076],{"class":201},[167,37312,37282],{"class":181},[167,37314,37315],{"class":173},"($event)",[167,37317,5076],{"class":201},[167,37319,5321],{"class":173},[15,37321,37322,37323,37325],{},"O mejor aún, tipar el evento y leer ",[87,37324,7835],{}," de forma segura en TypeScript.",[22,37327,7993],{"id":7992},[3083,37329,37331],{"id":37330},"_1-click-simple-para-actualizar-estado","1) Click simple para actualizar estado",[154,37333,37336],{"className":156,"code":37334,"filename":3256,"highlights":37335,"language":162,"meta":163,"style":163},"\u003Cscript setup lang=\"ts\">\nimport { ref } from \"vue\";\n\nconst count = ref(0);\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cbutton @click=\"count++\">Clicks: {{ count }}\u003C\u002Fbutton>\n\u003C\u002Ftemplate>\n",[160,273],[87,37337,37338,37354,37366,37370,37387,37395,37399,37407,37427],{"__ignoreMap":163},[167,37339,37340,37342,37344,37346,37348,37350,37352],{"class":169,"line":170},[167,37341,174],{"class":173},[167,37343,178],{"class":177},[167,37345,182],{"class":181},[167,37347,1045],{"class":181},[167,37349,267],{"class":173},[167,37351,1050],{"class":201},[167,37353,185],{"class":173},[167,37355,37356,37358,37360,37362,37364],{"class":169,"line":188},[167,37357,192],{"class":191},[167,37359,195],{"class":173},[167,37361,198],{"class":191},[167,37363,24037],{"class":201},[167,37365,24040],{"class":173},[167,37367,37368],{"class":169,"line":205},[167,37369,209],{"emptyLinePlaceholder":208},[167,37371,37373,37375,37377,37379,37381,37383,37385],{"class":37372,"line":160},[169,213],[167,37374,216],{"class":191},[167,37376,15321],{"class":219},[167,37378,223],{"class":191},[167,37380,226],{"class":181},[167,37382,229],{"class":173},[167,37384,1956],{"class":219},[167,37386,24165],{"class":173},[167,37388,37389,37391,37393],{"class":169,"line":238},[167,37390,282],{"class":173},[167,37392,178],{"class":177},[167,37394,185],{"class":173},[167,37396,37397],{"class":169,"line":243},[167,37398,209],{"emptyLinePlaceholder":208},[167,37400,37401,37403,37405],{"class":169,"line":261},[167,37402,174],{"class":173},[167,37404,299],{"class":177},[167,37406,185],{"class":173},[167,37408,37410,37412,37414,37416,37418,37420,37423,37425],{"class":37409,"line":273},[169,213],[167,37411,307],{"class":173},[167,37413,507],{"class":177},[167,37415,1177],{"class":181},[167,37417,267],{"class":173},[167,37419,18382],{"class":201},[167,37421,37422],{"class":173},">Clicks: {{ count }}\u003C\u002F",[167,37424,507],{"class":177},[167,37426,185],{"class":173},[167,37428,37429,37431,37433],{"class":169,"line":279},[167,37430,282],{"class":173},[167,37432,299],{"class":177},[167,37434,185],{"class":173},[154,37436,37439],{"className":156,"code":37437,"filename":3969,"highlights":37438,"language":162,"meta":163,"style":163},"\u003Cscript lang=\"ts\">\nexport default {\n  data() {\n    return {\n      count: 0,\n    };\n  },\n};\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cbutton @click=\"count++\">Clicks: {{ count }}\u003C\u002Fbutton>\n\u003C\u002Ftemplate>\n",[238,304],[87,37440,37441,37455,37463,37469,37475,37485,37489,37493,37497,37505,37509,37517,37536],{"__ignoreMap":163},[167,37442,37443,37445,37447,37449,37451,37453],{"class":169,"line":170},[167,37444,174],{"class":173},[167,37446,178],{"class":177},[167,37448,1045],{"class":181},[167,37450,267],{"class":173},[167,37452,1050],{"class":201},[167,37454,185],{"class":173},[167,37456,37457,37459,37461],{"class":169,"line":188},[167,37458,608],{"class":191},[167,37460,3987],{"class":191},[167,37462,1901],{"class":173},[167,37464,37465,37467],{"class":169,"line":205},[167,37466,7172],{"class":181},[167,37468,763],{"class":173},[167,37470,37471,37473],{"class":169,"line":160},[167,37472,1933],{"class":191},[167,37474,1901],{"class":173},[167,37476,37478,37481,37483],{"class":37477,"line":238},[169,213],[167,37479,37480],{"class":173},"      count: ",[167,37482,1956],{"class":219},[167,37484,393],{"class":173},[167,37486,37487],{"class":169,"line":243},[167,37488,24366],{"class":173},[167,37490,37491],{"class":169,"line":261},[167,37492,398],{"class":173},[167,37494,37495],{"class":169,"line":273},[167,37496,24144],{"class":173},[167,37498,37499,37501,37503],{"class":169,"line":279},[167,37500,282],{"class":173},[167,37502,178],{"class":177},[167,37504,185],{"class":173},[167,37506,37507],{"class":169,"line":289},[167,37508,209],{"emptyLinePlaceholder":208},[167,37510,37511,37513,37515],{"class":169,"line":294},[167,37512,174],{"class":173},[167,37514,299],{"class":177},[167,37516,185],{"class":173},[167,37518,37520,37522,37524,37526,37528,37530,37532,37534],{"class":37519,"line":304},[169,213],[167,37521,307],{"class":173},[167,37523,507],{"class":177},[167,37525,1177],{"class":181},[167,37527,267],{"class":173},[167,37529,18382],{"class":201},[167,37531,37422],{"class":173},[167,37533,507],{"class":177},[167,37535,185],{"class":173},[167,37537,37538,37540,37542],{"class":169,"line":313},[167,37539,282],{"class":173},[167,37541,299],{"class":177},[167,37543,185],{"class":173},[3083,37545,37547,37548],{"id":37546},"_2-submit-de-formulario-con-prevent","2) Submit de formulario con ",[87,37549,36901],{},[154,37551,37554],{"className":156,"code":37552,"filename":3256,"highlights":37553,"language":162,"meta":163,"style":163},"\u003Cscript setup lang=\"ts\">\nimport { ref } from \"vue\";\n\nconst email = ref(\"\");\n\nfunction submitForm() {\n  if (!email.value.trim()) return;\n  console.log(\"Enviar:\", email.value);\n}\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cform @submit.prevent=\"submitForm\">\n    \u003Cinput v-model=\"email\" type=\"email\" placeholder=\"tu@email.com\" \u002F>\n    \u003Cbutton type=\"submit\">Enviar\u003C\u002Fbutton>\n  \u003C\u002Fform>\n\u003C\u002Ftemplate>\n",[313],[87,37555,37556,37572,37584,37588,37605,37609,37618,37637,37651,37655,37663,37667,37675,37691,37719,37738,37746],{"__ignoreMap":163},[167,37557,37558,37560,37562,37564,37566,37568,37570],{"class":169,"line":170},[167,37559,174],{"class":173},[167,37561,178],{"class":177},[167,37563,182],{"class":181},[167,37565,1045],{"class":181},[167,37567,267],{"class":173},[167,37569,1050],{"class":201},[167,37571,185],{"class":173},[167,37573,37574,37576,37578,37580,37582],{"class":169,"line":188},[167,37575,192],{"class":191},[167,37577,195],{"class":173},[167,37579,198],{"class":191},[167,37581,24037],{"class":201},[167,37583,24040],{"class":173},[167,37585,37586],{"class":169,"line":205},[167,37587,209],{"emptyLinePlaceholder":208},[167,37589,37590,37592,37595,37597,37599,37601,37603],{"class":169,"line":160},[167,37591,216],{"class":191},[167,37593,37594],{"class":219}," email",[167,37596,223],{"class":191},[167,37598,226],{"class":181},[167,37600,229],{"class":173},[167,37602,31157],{"class":201},[167,37604,24165],{"class":173},[167,37606,37607],{"class":169,"line":238},[167,37608,209],{"emptyLinePlaceholder":208},[167,37610,37611,37613,37616],{"class":169,"line":243},[167,37612,246],{"class":191},[167,37614,37615],{"class":181}," submitForm",[167,37617,763],{"class":173},[167,37619,37620,37622,37624,37626,37629,37631,37633,37635],{"class":169,"line":261},[167,37621,2540],{"class":191},[167,37623,2522],{"class":173},[167,37625,6637],{"class":191},[167,37627,37628],{"class":173},"email.value.",[167,37630,2496],{"class":181},[167,37632,6685],{"class":173},[167,37634,24234],{"class":191},[167,37636,24040],{"class":173},[167,37638,37639,37641,37643,37645,37648],{"class":169,"line":273},[167,37640,2604],{"class":173},[167,37642,2607],{"class":181},[167,37644,229],{"class":173},[167,37646,37647],{"class":201},"\"Enviar:\"",[167,37649,37650],{"class":173},", email.value);\n",[167,37652,37653],{"class":169,"line":279},[167,37654,276],{"class":173},[167,37656,37657,37659,37661],{"class":169,"line":289},[167,37658,282],{"class":173},[167,37660,178],{"class":177},[167,37662,185],{"class":173},[167,37664,37665],{"class":169,"line":294},[167,37666,209],{"emptyLinePlaceholder":208},[167,37668,37669,37671,37673],{"class":169,"line":304},[167,37670,174],{"class":173},[167,37672,299],{"class":177},[167,37674,185],{"class":173},[167,37676,37678,37680,37682,37684,37686,37689],{"class":37677,"line":313},[169,213],[167,37679,307],{"class":173},[167,37681,4301],{"class":177},[167,37683,4304],{"class":181},[167,37685,267],{"class":173},[167,37687,37688],{"class":201},"\"submitForm\"",[167,37690,185],{"class":173},[167,37692,37693,37695,37697,37699,37701,37704,37706,37708,37710,37712,37714,37717],{"class":169,"line":161},[167,37694,1252],{"class":173},[167,37696,2646],{"class":177},[167,37698,2649],{"class":181},[167,37700,267],{"class":173},[167,37702,37703],{"class":201},"\"email\"",[167,37705,1169],{"class":181},[167,37707,267],{"class":173},[167,37709,37703],{"class":201},[167,37711,2664],{"class":181},[167,37713,267],{"class":173},[167,37715,37716],{"class":201},"\"tu@email.com\"",[167,37718,5321],{"class":173},[167,37720,37721,37723,37725,37727,37729,37731,37734,37736],{"class":169,"line":335},[167,37722,1252],{"class":173},[167,37724,507],{"class":177},[167,37726,1169],{"class":181},[167,37728,267],{"class":173},[167,37730,4344],{"class":201},[167,37732,37733],{"class":173},">Enviar\u003C\u002F",[167,37735,507],{"class":177},[167,37737,185],{"class":173},[167,37739,37740,37742,37744],{"class":169,"line":341},[167,37741,504],{"class":173},[167,37743,4301],{"class":177},[167,37745,185],{"class":173},[167,37747,37748,37750,37752],{"class":169,"line":489},[167,37749,282],{"class":173},[167,37751,299],{"class":177},[167,37753,185],{"class":173},[154,37755,37758],{"className":156,"code":37756,"filename":3969,"highlights":37757,"language":162,"meta":163,"style":163},"\u003Cscript lang=\"ts\">\nexport default {\n  data() {\n    return {\n      email: \"\",\n    };\n  },\n  methods: {\n    submitForm() {\n      if (!this.email.trim()) return;\n      console.log(\"Enviar:\", this.email);\n    },\n  },\n};\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cform @submit.prevent=\"submitForm\">\n    \u003Cinput v-model=\"email\" type=\"email\" placeholder=\"tu@email.com\" \u002F>\n    \u003Cbutton type=\"submit\">Enviar\u003C\u002Fbutton>\n  \u003C\u002Fform>\n\u003C\u002Ftemplate>\n",[495],[87,37759,37760,37774,37782,37788,37794,37803,37807,37811,37815,37822,37843,37860,37864,37868,37872,37880,37884,37892,37907,37933,37951,37959],{"__ignoreMap":163},[167,37761,37762,37764,37766,37768,37770,37772],{"class":169,"line":170},[167,37763,174],{"class":173},[167,37765,178],{"class":177},[167,37767,1045],{"class":181},[167,37769,267],{"class":173},[167,37771,1050],{"class":201},[167,37773,185],{"class":173},[167,37775,37776,37778,37780],{"class":169,"line":188},[167,37777,608],{"class":191},[167,37779,3987],{"class":191},[167,37781,1901],{"class":173},[167,37783,37784,37786],{"class":169,"line":205},[167,37785,7172],{"class":181},[167,37787,763],{"class":173},[167,37789,37790,37792],{"class":169,"line":160},[167,37791,1933],{"class":191},[167,37793,1901],{"class":173},[167,37795,37796,37799,37801],{"class":169,"line":238},[167,37797,37798],{"class":173},"      email: ",[167,37800,31157],{"class":201},[167,37802,393],{"class":173},[167,37804,37805],{"class":169,"line":243},[167,37806,24366],{"class":173},[167,37808,37809],{"class":169,"line":261},[167,37810,398],{"class":173},[167,37812,37813],{"class":169,"line":273},[167,37814,4415],{"class":173},[167,37816,37817,37820],{"class":169,"line":279},[167,37818,37819],{"class":181},"    submitForm",[167,37821,763],{"class":173},[167,37823,37824,37826,37828,37830,37832,37835,37837,37839,37841],{"class":169,"line":289},[167,37825,7257],{"class":191},[167,37827,2522],{"class":173},[167,37829,6637],{"class":191},[167,37831,4923],{"class":219},[167,37833,37834],{"class":173},".email.",[167,37836,2496],{"class":181},[167,37838,6685],{"class":173},[167,37840,24234],{"class":191},[167,37842,24040],{"class":173},[167,37844,37845,37847,37849,37851,37853,37855,37857],{"class":169,"line":294},[167,37846,20438],{"class":173},[167,37848,2607],{"class":181},[167,37850,229],{"class":173},[167,37852,37647],{"class":201},[167,37854,1020],{"class":173},[167,37856,4923],{"class":219},[167,37858,37859],{"class":173},".email);\n",[167,37861,37862],{"class":169,"line":304},[167,37863,755],{"class":173},[167,37865,37866],{"class":169,"line":313},[167,37867,398],{"class":173},[167,37869,37870],{"class":169,"line":161},[167,37871,24144],{"class":173},[167,37873,37874,37876,37878],{"class":169,"line":335},[167,37875,282],{"class":173},[167,37877,178],{"class":177},[167,37879,185],{"class":173},[167,37881,37882],{"class":169,"line":341},[167,37883,209],{"emptyLinePlaceholder":208},[167,37885,37886,37888,37890],{"class":169,"line":489},[167,37887,174],{"class":173},[167,37889,299],{"class":177},[167,37891,185],{"class":173},[167,37893,37895,37897,37899,37901,37903,37905],{"class":37894,"line":495},[169,213],[167,37896,307],{"class":173},[167,37898,4301],{"class":177},[167,37900,4304],{"class":181},[167,37902,267],{"class":173},[167,37904,37688],{"class":201},[167,37906,185],{"class":173},[167,37908,37909,37911,37913,37915,37917,37919,37921,37923,37925,37927,37929,37931],{"class":169,"line":501},[167,37910,1252],{"class":173},[167,37912,2646],{"class":177},[167,37914,2649],{"class":181},[167,37916,267],{"class":173},[167,37918,37703],{"class":201},[167,37920,1169],{"class":181},[167,37922,267],{"class":173},[167,37924,37703],{"class":201},[167,37926,2664],{"class":181},[167,37928,267],{"class":173},[167,37930,37716],{"class":201},[167,37932,5321],{"class":173},[167,37934,37935,37937,37939,37941,37943,37945,37947,37949],{"class":169,"line":512},[167,37936,1252],{"class":173},[167,37938,507],{"class":177},[167,37940,1169],{"class":181},[167,37942,267],{"class":173},[167,37944,4344],{"class":201},[167,37946,37733],{"class":173},[167,37948,507],{"class":177},[167,37950,185],{"class":173},[167,37952,37953,37955,37957],{"class":169,"line":781},[167,37954,504],{"class":173},[167,37956,4301],{"class":177},[167,37958,185],{"class":173},[167,37960,37961,37963,37965],{"class":169,"line":786},[167,37962,282],{"class":173},[167,37964,299],{"class":177},[167,37966,185],{"class":173},[3083,37968,37970],{"id":37969},"_3-atajo-de-teclado-con-modificadores","3) Atajo de teclado con modificadores",[154,37972,37975],{"className":156,"code":37973,"filename":3256,"highlights":37974,"language":162,"meta":163,"style":163},"\u003Cscript setup lang=\"ts\">\nimport { ref } from \"vue\";\n\nconst note = ref(\"\");\n\nfunction saveDraft() {\n  console.log(\"Borrador guardado:\", note.value);\n}\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Ctextarea v-model=\"note\" @keydown.ctrl.enter.prevent=\"saveDraft\" \u002F>\n\u003C\u002Ftemplate>\n",[304],[87,37976,37977,37993,38005,38009,38026,38030,38039,38053,38057,38065,38069,38077,38104],{"__ignoreMap":163},[167,37978,37979,37981,37983,37985,37987,37989,37991],{"class":169,"line":170},[167,37980,174],{"class":173},[167,37982,178],{"class":177},[167,37984,182],{"class":181},[167,37986,1045],{"class":181},[167,37988,267],{"class":173},[167,37990,1050],{"class":201},[167,37992,185],{"class":173},[167,37994,37995,37997,37999,38001,38003],{"class":169,"line":188},[167,37996,192],{"class":191},[167,37998,195],{"class":173},[167,38000,198],{"class":191},[167,38002,24037],{"class":201},[167,38004,24040],{"class":173},[167,38006,38007],{"class":169,"line":205},[167,38008,209],{"emptyLinePlaceholder":208},[167,38010,38011,38013,38016,38018,38020,38022,38024],{"class":169,"line":160},[167,38012,216],{"class":191},[167,38014,38015],{"class":219}," note",[167,38017,223],{"class":191},[167,38019,226],{"class":181},[167,38021,229],{"class":173},[167,38023,31157],{"class":201},[167,38025,24165],{"class":173},[167,38027,38028],{"class":169,"line":238},[167,38029,209],{"emptyLinePlaceholder":208},[167,38031,38032,38034,38037],{"class":169,"line":243},[167,38033,246],{"class":191},[167,38035,38036],{"class":181}," saveDraft",[167,38038,763],{"class":173},[167,38040,38041,38043,38045,38047,38050],{"class":169,"line":261},[167,38042,2604],{"class":173},[167,38044,2607],{"class":181},[167,38046,229],{"class":173},[167,38048,38049],{"class":201},"\"Borrador guardado:\"",[167,38051,38052],{"class":173},", note.value);\n",[167,38054,38055],{"class":169,"line":273},[167,38056,276],{"class":173},[167,38058,38059,38061,38063],{"class":169,"line":279},[167,38060,282],{"class":173},[167,38062,178],{"class":177},[167,38064,185],{"class":173},[167,38066,38067],{"class":169,"line":289},[167,38068,209],{"emptyLinePlaceholder":208},[167,38070,38071,38073,38075],{"class":169,"line":294},[167,38072,174],{"class":173},[167,38074,299],{"class":177},[167,38076,185],{"class":173},[167,38078,38080,38082,38085,38087,38089,38092,38095,38097,38100,38102],{"class":38079,"line":304},[169,213],[167,38081,307],{"class":173},[167,38083,38084],{"class":177},"textarea",[167,38086,2649],{"class":181},[167,38088,267],{"class":173},[167,38090,38091],{"class":201},"\"note\"",[167,38093,38094],{"class":181}," @keydown.ctrl.enter.prevent",[167,38096,267],{"class":173},[167,38098,38099],{"class":201},"\"saveDraft\"",[167,38101,31785],{"class":31784},[167,38103,185],{"class":173},[167,38105,38106,38108,38110],{"class":169,"line":313},[167,38107,282],{"class":173},[167,38109,299],{"class":177},[167,38111,185],{"class":173},[154,38113,38116],{"className":156,"code":38114,"filename":3969,"highlights":38115,"language":162,"meta":163,"style":163},"\u003Cscript lang=\"ts\">\nexport default {\n  data() {\n    return {\n      note: \"\",\n    };\n  },\n  methods: {\n    saveDraft() {\n      console.log(\"Borrador guardado:\", this.note);\n    },\n  },\n};\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Ctextarea v-model=\"note\" @keydown.ctrl.enter.prevent=\"saveDraft\" \u002F>\n\u003C\u002Ftemplate>\n",[489],[87,38117,38118,38132,38140,38146,38152,38161,38165,38169,38173,38180,38197,38201,38205,38209,38217,38221,38229,38252],{"__ignoreMap":163},[167,38119,38120,38122,38124,38126,38128,38130],{"class":169,"line":170},[167,38121,174],{"class":173},[167,38123,178],{"class":177},[167,38125,1045],{"class":181},[167,38127,267],{"class":173},[167,38129,1050],{"class":201},[167,38131,185],{"class":173},[167,38133,38134,38136,38138],{"class":169,"line":188},[167,38135,608],{"class":191},[167,38137,3987],{"class":191},[167,38139,1901],{"class":173},[167,38141,38142,38144],{"class":169,"line":205},[167,38143,7172],{"class":181},[167,38145,763],{"class":173},[167,38147,38148,38150],{"class":169,"line":160},[167,38149,1933],{"class":191},[167,38151,1901],{"class":173},[167,38153,38154,38157,38159],{"class":169,"line":238},[167,38155,38156],{"class":173},"      note: ",[167,38158,31157],{"class":201},[167,38160,393],{"class":173},[167,38162,38163],{"class":169,"line":243},[167,38164,24366],{"class":173},[167,38166,38167],{"class":169,"line":261},[167,38168,398],{"class":173},[167,38170,38171],{"class":169,"line":273},[167,38172,4415],{"class":173},[167,38174,38175,38178],{"class":169,"line":279},[167,38176,38177],{"class":181},"    saveDraft",[167,38179,763],{"class":173},[167,38181,38182,38184,38186,38188,38190,38192,38194],{"class":169,"line":289},[167,38183,20438],{"class":173},[167,38185,2607],{"class":181},[167,38187,229],{"class":173},[167,38189,38049],{"class":201},[167,38191,1020],{"class":173},[167,38193,4923],{"class":219},[167,38195,38196],{"class":173},".note);\n",[167,38198,38199],{"class":169,"line":294},[167,38200,755],{"class":173},[167,38202,38203],{"class":169,"line":304},[167,38204,398],{"class":173},[167,38206,38207],{"class":169,"line":313},[167,38208,24144],{"class":173},[167,38210,38211,38213,38215],{"class":169,"line":161},[167,38212,282],{"class":173},[167,38214,178],{"class":177},[167,38216,185],{"class":173},[167,38218,38219],{"class":169,"line":335},[167,38220,209],{"emptyLinePlaceholder":208},[167,38222,38223,38225,38227],{"class":169,"line":341},[167,38224,174],{"class":173},[167,38226,299],{"class":177},[167,38228,185],{"class":173},[167,38230,38232,38234,38236,38238,38240,38242,38244,38246,38248,38250],{"class":38231,"line":489},[169,213],[167,38233,307],{"class":173},[167,38235,38084],{"class":177},[167,38237,2649],{"class":181},[167,38239,267],{"class":173},[167,38241,38091],{"class":201},[167,38243,38094],{"class":181},[167,38245,267],{"class":173},[167,38247,38099],{"class":201},[167,38249,31785],{"class":31784},[167,38251,185],{"class":173},[167,38253,38254,38256,38258],{"class":169,"line":495},[167,38255,282],{"class":173},[167,38257,299],{"class":177},[167,38259,185],{"class":173},[3083,38261,38263],{"id":38262},"_4-evento-personalizado-desde-un-componente-hijo","4) Evento personalizado desde un componente hijo",[154,38265,38268],{"className":156,"code":38266,"filename":3256,"highlights":38267,"language":162,"meta":163,"style":163},"\u003Cscript setup lang=\"ts\">\nimport TaskForm from \".\u002FTaskForm.vue\";\n\nfunction handleSave(taskTitle: string) {\n  console.log(\"Nueva tarea:\", taskTitle);\n}\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003CTaskForm @save=\"handleSave\" \u002F>\n\u003C\u002Ftemplate>\n",[160,289],[87,38269,38270,38286,38300,38304,38323,38337,38341,38349,38353,38361,38379],{"__ignoreMap":163},[167,38271,38272,38274,38276,38278,38280,38282,38284],{"class":169,"line":170},[167,38273,174],{"class":173},[167,38275,178],{"class":177},[167,38277,182],{"class":181},[167,38279,1045],{"class":181},[167,38281,267],{"class":173},[167,38283,1050],{"class":201},[167,38285,185],{"class":173},[167,38287,38288,38290,38293,38295,38298],{"class":169,"line":188},[167,38289,192],{"class":191},[167,38291,38292],{"class":173}," TaskForm ",[167,38294,198],{"class":191},[167,38296,38297],{"class":201}," \".\u002FTaskForm.vue\"",[167,38299,24040],{"class":173},[167,38301,38302],{"class":169,"line":205},[167,38303,209],{"emptyLinePlaceholder":208},[167,38305,38307,38309,38312,38314,38317,38319,38321],{"class":38306,"line":160},[169,213],[167,38308,246],{"class":191},[167,38310,38311],{"class":181}," handleSave",[167,38313,229],{"class":173},[167,38315,38316],{"class":254},"taskTitle",[167,38318,583],{"class":191},[167,38320,586],{"class":219},[167,38322,258],{"class":173},[167,38324,38325,38327,38329,38331,38334],{"class":169,"line":238},[167,38326,2604],{"class":173},[167,38328,2607],{"class":181},[167,38330,229],{"class":173},[167,38332,38333],{"class":201},"\"Nueva tarea:\"",[167,38335,38336],{"class":173},", taskTitle);\n",[167,38338,38339],{"class":169,"line":243},[167,38340,276],{"class":173},[167,38342,38343,38345,38347],{"class":169,"line":261},[167,38344,282],{"class":173},[167,38346,178],{"class":177},[167,38348,185],{"class":173},[167,38350,38351],{"class":169,"line":273},[167,38352,209],{"emptyLinePlaceholder":208},[167,38354,38355,38357,38359],{"class":169,"line":279},[167,38356,174],{"class":173},[167,38358,299],{"class":177},[167,38360,185],{"class":173},[167,38362,38364,38366,38369,38372,38374,38377],{"class":38363,"line":289},[169,213],[167,38365,307],{"class":173},[167,38367,38368],{"class":177},"TaskForm",[167,38370,38371],{"class":181}," @save",[167,38373,267],{"class":173},[167,38375,38376],{"class":201},"\"handleSave\"",[167,38378,5321],{"class":173},[167,38380,38381,38383,38385],{"class":169,"line":294},[167,38382,282],{"class":173},[167,38384,299],{"class":177},[167,38386,185],{"class":173},[154,38388,38391],{"className":156,"code":38389,"filename":3969,"highlights":38390,"language":162,"meta":163,"style":163},"\u003Cscript lang=\"ts\">\nimport TaskForm from \".\u002FTaskForm.vue\";\n\nexport default {\n  components: { TaskForm },\n  methods: {\n    handleSave(taskTitle) {\n      console.log(\"Nueva tarea:\", taskTitle);\n    },\n  },\n};\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003CTaskForm @save=\"handleSave\" \u002F>\n\u003C\u002Ftemplate>\n",[243,161],[87,38392,38393,38407,38419,38423,38431,38436,38441,38452,38464,38468,38472,38476,38484,38488,38497,38511],{"__ignoreMap":163},[167,38394,38395,38397,38399,38401,38403,38405],{"class":169,"line":170},[167,38396,174],{"class":173},[167,38398,178],{"class":177},[167,38400,1045],{"class":181},[167,38402,267],{"class":173},[167,38404,1050],{"class":201},[167,38406,185],{"class":173},[167,38408,38409,38411,38413,38415,38417],{"class":169,"line":188},[167,38410,192],{"class":191},[167,38412,38292],{"class":173},[167,38414,198],{"class":191},[167,38416,38297],{"class":201},[167,38418,24040],{"class":173},[167,38420,38421],{"class":169,"line":205},[167,38422,209],{"emptyLinePlaceholder":208},[167,38424,38425,38427,38429],{"class":169,"line":160},[167,38426,608],{"class":191},[167,38428,3987],{"class":191},[167,38430,1901],{"class":173},[167,38432,38433],{"class":169,"line":238},[167,38434,38435],{"class":173},"  components: { TaskForm },\n",[167,38437,38439],{"class":38438,"line":243},[169,213],[167,38440,4415],{"class":173},[167,38442,38443,38446,38448,38450],{"class":169,"line":261},[167,38444,38445],{"class":181},"    handleSave",[167,38447,229],{"class":173},[167,38449,38316],{"class":254},[167,38451,258],{"class":173},[167,38453,38454,38456,38458,38460,38462],{"class":169,"line":273},[167,38455,20438],{"class":173},[167,38457,2607],{"class":181},[167,38459,229],{"class":173},[167,38461,38333],{"class":201},[167,38463,38336],{"class":173},[167,38465,38466],{"class":169,"line":279},[167,38467,755],{"class":173},[167,38469,38470],{"class":169,"line":289},[167,38471,398],{"class":173},[167,38473,38474],{"class":169,"line":294},[167,38475,24144],{"class":173},[167,38477,38478,38480,38482],{"class":169,"line":304},[167,38479,282],{"class":173},[167,38481,178],{"class":177},[167,38483,185],{"class":173},[167,38485,38486],{"class":169,"line":313},[167,38487,209],{"emptyLinePlaceholder":208},[167,38489,38491,38493,38495],{"class":38490,"line":161},[169,213],[167,38492,174],{"class":173},[167,38494,299],{"class":177},[167,38496,185],{"class":173},[167,38498,38499,38501,38503,38505,38507,38509],{"class":169,"line":335},[167,38500,307],{"class":173},[167,38502,38368],{"class":177},[167,38504,38371],{"class":181},[167,38506,267],{"class":173},[167,38508,38376],{"class":201},[167,38510,5321],{"class":173},[167,38512,38513,38515,38517],{"class":169,"line":341},[167,38514,282],{"class":173},[167,38516,299],{"class":177},[167,38518,185],{"class":173},[22,38520,8023],{"id":8022},[15,38522,38523],{},"Componente de lista de tareas con:",[33,38525,38526,38532,38537],{},[36,38527,38528,38531],{},[87,38529,38530],{},"@submit.prevent"," para crear tareas.",[36,38533,38534,38536],{},[87,38535,30626],{}," para marcar como completada.",[36,38538,38539,38542],{},[87,38540,38541],{},"@keydown.enter"," para envío rápido.",[154,38544,38546],{"className":156,"code":38545,"filename":3256,"language":162,"meta":163,"style":163},"\u003Cscript setup lang=\"ts\">\nimport { computed, ref } from \"vue\";\n\ntype Task = {\n  id: number;\n  title: string;\n  done: boolean;\n};\n\nconst draft = ref(\"\");\nconst tasks = ref\u003CTask[]>([]);\n\nconst remaining = computed(() => tasks.value.filter((task) => !task.done).length);\n\nfunction addTask() {\n  const title = draft.value.trim();\n  if (!title) return;\n\n  tasks.value.push({\n    id: Date.now(),\n    title,\n    done: false,\n  });\n  draft.value = \"\";\n}\n\nfunction toggleTask(id: number) {\n  const task = tasks.value.find((item) => item.id === id);\n  if (!task) return;\n  task.done = !task.done;\n}\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Csection>\n    \u003Ch2>Tareas\u003C\u002Fh2>\n    \u003Cp>Pendientes: {{ remaining }}\u003C\u002Fp>\n\n    \u003Cform @submit.prevent=\"addTask\">\n      \u003Cinput\n        v-model=\"draft\"\n        type=\"text\"\n        placeholder=\"Escribe una tarea y pulsa Enter\"\n        @keydown.enter.prevent=\"addTask\"\n      \u002F>\n      \u003Cbutton type=\"submit\">Agregar\u003C\u002Fbutton>\n    \u003C\u002Fform>\n\n    \u003Cul>\n      \u003Cli v-for=\"task in tasks\" :key=\"task.id\">\n        \u003Cbutton @click=\"toggleTask(task.id)\">\n          {{ task.done ? \"Reabrir\" : \"Completar\" }}\n        \u003C\u002Fbutton>\n        \u003Cspan :style=\"{ textDecoration: task.done ? 'line-through' : 'none' }\">\n          {{ task.title }}\n        \u003C\u002Fspan>\n      \u003C\u002Fli>\n    \u003C\u002Ful>\n  \u003C\u002Fsection>\n\u003C\u002Ftemplate>\n",[87,38547,38548,38564,38576,38580,38590,38600,38610,38620,38624,38628,38645,38662,38666,38702,38706,38715,38731,38746,38750,38759,38767,38772,38781,38786,38798,38802,38806,38822,38849,38863,38874,38878,38886,38890,38898,38906,38919,38932,38936,38951,38957,38967,38976,38986,38996,39001,39020,39028,39032,39040,39062,39077,39082,39090,39106,39111,39119,39127,39135,39143],{"__ignoreMap":163},[167,38549,38550,38552,38554,38556,38558,38560,38562],{"class":169,"line":170},[167,38551,174],{"class":173},[167,38553,178],{"class":177},[167,38555,182],{"class":181},[167,38557,1045],{"class":181},[167,38559,267],{"class":173},[167,38561,1050],{"class":201},[167,38563,185],{"class":173},[167,38565,38566,38568,38570,38572,38574],{"class":169,"line":188},[167,38567,192],{"class":191},[167,38569,1801],{"class":173},[167,38571,198],{"class":191},[167,38573,24037],{"class":201},[167,38575,24040],{"class":173},[167,38577,38578],{"class":169,"line":205},[167,38579,209],{"emptyLinePlaceholder":208},[167,38581,38582,38584,38586,38588],{"class":169,"line":160},[167,38583,569],{"class":191},[167,38585,11601],{"class":181},[167,38587,223],{"class":191},[167,38589,1901],{"class":173},[167,38591,38592,38594,38596,38598],{"class":169,"line":238},[167,38593,6501],{"class":254},[167,38595,583],{"class":191},[167,38597,8489],{"class":219},[167,38599,24040],{"class":173},[167,38601,38602,38604,38606,38608],{"class":169,"line":243},[167,38603,11618],{"class":254},[167,38605,583],{"class":191},[167,38607,586],{"class":219},[167,38609,24040],{"class":173},[167,38611,38612,38614,38616,38618],{"class":169,"line":261},[167,38613,11627],{"class":254},[167,38615,583],{"class":191},[167,38617,28412],{"class":219},[167,38619,24040],{"class":173},[167,38621,38622],{"class":169,"line":273},[167,38623,24144],{"class":173},[167,38625,38626],{"class":169,"line":279},[167,38627,209],{"emptyLinePlaceholder":208},[167,38629,38630,38632,38635,38637,38639,38641,38643],{"class":169,"line":289},[167,38631,216],{"class":191},[167,38633,38634],{"class":219}," draft",[167,38636,223],{"class":191},[167,38638,226],{"class":181},[167,38640,229],{"class":173},[167,38642,31157],{"class":201},[167,38644,24165],{"class":173},[167,38646,38647,38649,38651,38653,38655,38657,38659],{"class":169,"line":294},[167,38648,216],{"class":191},[167,38650,3364],{"class":219},[167,38652,223],{"class":191},[167,38654,226],{"class":181},[167,38656,174],{"class":173},[167,38658,11655],{"class":181},[167,38660,38661],{"class":173},"[]>([]);\n",[167,38663,38664],{"class":169,"line":304},[167,38665,209],{"emptyLinePlaceholder":208},[167,38667,38668,38670,38673,38675,38677,38679,38681,38683,38685,38687,38689,38691,38693,38695,38698,38700],{"class":169,"line":313},[167,38669,216],{"class":191},[167,38671,38672],{"class":219}," remaining",[167,38674,223],{"class":191},[167,38676,1894],{"class":181},[167,38678,1488],{"class":173},[167,38680,639],{"class":191},[167,38682,3447],{"class":173},[167,38684,8248],{"class":181},[167,38686,1914],{"class":173},[167,38688,5071],{"class":254},[167,38690,693],{"class":173},[167,38692,639],{"class":191},[167,38694,5621],{"class":191},[167,38696,38697],{"class":173},"task.done).",[167,38699,15752],{"class":219},[167,38701,24165],{"class":173},[167,38703,38704],{"class":169,"line":161},[167,38705,209],{"emptyLinePlaceholder":208},[167,38707,38708,38710,38713],{"class":169,"line":335},[167,38709,246],{"class":191},[167,38711,38712],{"class":181}," addTask",[167,38714,763],{"class":173},[167,38716,38717,38719,38722,38724,38727,38729],{"class":169,"line":341},[167,38718,1438],{"class":191},[167,38720,38721],{"class":219}," title",[167,38723,223],{"class":191},[167,38725,38726],{"class":173}," draft.value.",[167,38728,2496],{"class":181},[167,38730,25303],{"class":173},[167,38732,38733,38735,38737,38739,38742,38744],{"class":169,"line":489},[167,38734,2540],{"class":191},[167,38736,2522],{"class":173},[167,38738,6637],{"class":191},[167,38740,38741],{"class":173},"title) ",[167,38743,24234],{"class":191},[167,38745,24040],{"class":173},[167,38747,38748],{"class":169,"line":495},[167,38749,209],{"emptyLinePlaceholder":208},[167,38751,38752,38755,38757],{"class":169,"line":501},[167,38753,38754],{"class":173},"  tasks.value.",[167,38756,15719],{"class":181},[167,38758,372],{"class":173},[167,38760,38761,38763,38765],{"class":169,"line":512},[167,38762,15726],{"class":173},[167,38764,15729],{"class":181},[167,38766,15732],{"class":173},[167,38768,38769],{"class":169,"line":781},[167,38770,38771],{"class":173},"    title,\n",[167,38773,38774,38777,38779],{"class":169,"line":786},[167,38775,38776],{"class":173},"    done: ",[167,38778,3388],{"class":219},[167,38780,393],{"class":173},[167,38782,38783],{"class":169,"line":2674},[167,38784,38785],{"class":173},"  });\n",[167,38787,38788,38791,38793,38796],{"class":169,"line":2688},[167,38789,38790],{"class":173},"  draft.value ",[167,38792,267],{"class":191},[167,38794,38795],{"class":201}," \"\"",[167,38797,24040],{"class":173},[167,38799,38800],{"class":169,"line":3571},[167,38801,276],{"class":173},[167,38803,38804],{"class":169,"line":5024},[167,38805,209],{"emptyLinePlaceholder":208},[167,38807,38808,38810,38812,38814,38816,38818,38820],{"class":169,"line":5033},[167,38809,246],{"class":191},[167,38811,8480],{"class":181},[167,38813,229],{"class":173},[167,38815,580],{"class":254},[167,38817,583],{"class":191},[167,38819,8489],{"class":219},[167,38821,258],{"class":173},[167,38823,38824,38826,38828,38830,38832,38834,38836,38838,38840,38842,38844,38846],{"class":169,"line":5042},[167,38825,1438],{"class":191},[167,38827,3442],{"class":219},[167,38829,223],{"class":191},[167,38831,3447],{"class":173},[167,38833,3450],{"class":181},[167,38835,1914],{"class":173},[167,38837,1922],{"class":254},[167,38839,693],{"class":173},[167,38841,639],{"class":191},[167,38843,3461],{"class":173},[167,38845,2546],{"class":191},[167,38847,38848],{"class":173}," id);\n",[167,38850,38851,38853,38855,38857,38859,38861],{"class":169,"line":6752},[167,38852,2540],{"class":191},[167,38854,2522],{"class":173},[167,38856,6637],{"class":191},[167,38858,8530],{"class":173},[167,38860,24234],{"class":191},[167,38862,24040],{"class":173},[167,38864,38865,38867,38869,38871],{"class":169,"line":6774},[167,38866,8541],{"class":173},[167,38868,267],{"class":191},[167,38870,5621],{"class":191},[167,38872,38873],{"class":173},"task.done;\n",[167,38875,38876],{"class":169,"line":6779},[167,38877,276],{"class":173},[167,38879,38880,38882,38884],{"class":169,"line":6784},[167,38881,282],{"class":173},[167,38883,178],{"class":177},[167,38885,185],{"class":173},[167,38887,38888],{"class":169,"line":6789},[167,38889,209],{"emptyLinePlaceholder":208},[167,38891,38892,38894,38896],{"class":169,"line":6805},[167,38893,174],{"class":173},[167,38895,299],{"class":177},[167,38897,185],{"class":173},[167,38899,38900,38902,38904],{"class":169,"line":6820},[167,38901,307],{"class":173},[167,38903,10113],{"class":177},[167,38905,185],{"class":173},[167,38907,38908,38910,38912,38915,38917],{"class":169,"line":6825},[167,38909,1252],{"class":173},[167,38911,22],{"class":177},[167,38913,38914],{"class":173},">Tareas\u003C\u002F",[167,38916,22],{"class":177},[167,38918,185],{"class":173},[167,38920,38921,38923,38925,38928,38930],{"class":169,"line":6832},[167,38922,1252],{"class":173},[167,38924,15],{"class":177},[167,38926,38927],{"class":173},">Pendientes: {{ remaining }}\u003C\u002F",[167,38929,15],{"class":177},[167,38931,185],{"class":173},[167,38933,38934],{"class":169,"line":6841},[167,38935,209],{"emptyLinePlaceholder":208},[167,38937,38938,38940,38942,38944,38946,38949],{"class":169,"line":6850},[167,38939,1252],{"class":173},[167,38941,4301],{"class":177},[167,38943,4304],{"class":181},[167,38945,267],{"class":173},[167,38947,38948],{"class":201},"\"addTask\"",[167,38950,185],{"class":173},[167,38952,38953,38955],{"class":169,"line":6857},[167,38954,1263],{"class":173},[167,38956,17477],{"class":177},[167,38958,38959,38962,38964],{"class":169,"line":6875},[167,38960,38961],{"class":181},"        v-model",[167,38963,267],{"class":173},[167,38965,38966],{"class":201},"\"draft\"\n",[167,38968,38969,38972,38974],{"class":169,"line":6880},[167,38970,38971],{"class":181},"        type",[167,38973,267],{"class":173},[167,38975,35279],{"class":201},[167,38977,38978,38981,38983],{"class":169,"line":6885},[167,38979,38980],{"class":181},"        placeholder",[167,38982,267],{"class":173},[167,38984,38985],{"class":201},"\"Escribe una tarea y pulsa Enter\"\n",[167,38987,38988,38991,38993],{"class":169,"line":6894},[167,38989,38990],{"class":181},"        @keydown.enter.prevent",[167,38992,267],{"class":173},[167,38994,38995],{"class":201},"\"addTask\"\n",[167,38997,38998],{"class":169,"line":6899},[167,38999,39000],{"class":173},"      \u002F>\n",[167,39002,39003,39005,39007,39009,39011,39013,39016,39018],{"class":169,"line":6908},[167,39004,1263],{"class":173},[167,39006,507],{"class":177},[167,39008,1169],{"class":181},[167,39010,267],{"class":173},[167,39012,4344],{"class":201},[167,39014,39015],{"class":173},">Agregar\u003C\u002F",[167,39017,507],{"class":177},[167,39019,185],{"class":173},[167,39021,39022,39024,39026],{"class":169,"line":6924},[167,39023,1287],{"class":173},[167,39025,4301],{"class":177},[167,39027,185],{"class":173},[167,39029,39030],{"class":169,"line":6945},[167,39031,209],{"emptyLinePlaceholder":208},[167,39033,39034,39036,39038],{"class":169,"line":6950},[167,39035,1252],{"class":173},[167,39037,33],{"class":177},[167,39039,185],{"class":173},[167,39041,39042,39044,39046,39048,39050,39053,39055,39057,39060],{"class":169,"line":6971},[167,39043,1263],{"class":173},[167,39045,36],{"class":177},[167,39047,18702],{"class":181},[167,39049,267],{"class":173},[167,39051,39052],{"class":201},"\"task in tasks\"",[167,39054,10303],{"class":181},[167,39056,267],{"class":173},[167,39058,39059],{"class":201},"\"task.id\"",[167,39061,185],{"class":173},[167,39063,39064,39066,39068,39070,39072,39075],{"class":169,"line":6985},[167,39065,32512],{"class":173},[167,39067,507],{"class":177},[167,39069,1177],{"class":181},[167,39071,267],{"class":173},[167,39073,39074],{"class":201},"\"toggleTask(task.id)\"",[167,39076,185],{"class":173},[167,39078,39079],{"class":169,"line":6999},[167,39080,39081],{"class":173},"          {{ task.done ? \"Reabrir\" : \"Completar\" }}\n",[167,39083,39084,39086,39088],{"class":169,"line":7013},[167,39085,32560],{"class":173},[167,39087,507],{"class":177},[167,39089,185],{"class":173},[167,39091,39092,39094,39096,39099,39101,39104],{"class":169,"line":7022},[167,39093,32512],{"class":173},[167,39095,167],{"class":177},[167,39097,39098],{"class":181}," :style",[167,39100,267],{"class":173},[167,39102,39103],{"class":201},"\"{ textDecoration: task.done ? 'line-through' : 'none' }\"",[167,39105,185],{"class":173},[167,39107,39108],{"class":169,"line":7027},[167,39109,39110],{"class":173},"          {{ task.title }}\n",[167,39112,39113,39115,39117],{"class":169,"line":7044},[167,39114,32560],{"class":173},[167,39116,167],{"class":177},[167,39118,185],{"class":173},[167,39120,39121,39123,39125],{"class":169,"line":7053},[167,39122,10166],{"class":173},[167,39124,36],{"class":177},[167,39126,185],{"class":173},[167,39128,39129,39131,39133],{"class":169,"line":7551},[167,39130,1287],{"class":173},[167,39132,33],{"class":177},[167,39134,185],{"class":173},[167,39136,39137,39139,39141],{"class":169,"line":7556},[167,39138,504],{"class":173},[167,39140,10113],{"class":177},[167,39142,185],{"class":173},[167,39144,39145,39147,39149],{"class":169,"line":7575},[167,39146,282],{"class":173},[167,39148,299],{"class":177},[167,39150,185],{"class":173},[154,39152,39154],{"className":156,"code":39153,"filename":3969,"language":162,"meta":163,"style":163},"\u003Cscript lang=\"ts\">\nexport default {\n  data() {\n    return {\n      draft: \"\",\n      tasks: [],\n    };\n  },\n  computed: {\n    remaining() {\n      return this.tasks.filter((task) => !task.done).length;\n    },\n  },\n  methods: {\n    addTask() {\n      const title = this.draft.trim();\n      if (!title) return;\n\n      this.tasks.push({\n        id: Date.now(),\n        title,\n        done: false,\n      });\n      this.draft = \"\";\n    },\n    toggleTask(id) {\n      const task = this.tasks.find((item) => item.id === id);\n      if (!task) return;\n      task.done = !task.done;\n    },\n  },\n};\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Csection>\n    \u003Ch2>Tareas\u003C\u002Fh2>\n    \u003Cp>Pendientes: {{ remaining }}\u003C\u002Fp>\n\n    \u003Cform @submit.prevent=\"addTask\">\n      \u003Cinput\n        v-model=\"draft\"\n        type=\"text\"\n        placeholder=\"Escribe una tarea y pulsa Enter\"\n        @keydown.enter.prevent=\"addTask\"\n      \u002F>\n      \u003Cbutton type=\"submit\">Agregar\u003C\u002Fbutton>\n    \u003C\u002Fform>\n\n    \u003Cul>\n      \u003Cli v-for=\"task in tasks\" :key=\"task.id\">\n        \u003Cbutton @click=\"toggleTask(task.id)\">\n          {{ task.done ? \"Reabrir\" : \"Completar\" }}\n        \u003C\u002Fbutton>\n        \u003Cspan :style=\"{ textDecoration: task.done ? 'line-through' : 'none' }\">\n          {{ task.title }}\n        \u003C\u002Fspan>\n      \u003C\u002Fli>\n    \u003C\u002Ful>\n  \u003C\u002Fsection>\n\u003C\u002Ftemplate>\n",[87,39155,39156,39170,39178,39184,39190,39199,39203,39207,39211,39215,39222,39248,39252,39256,39260,39267,39284,39298,39302,39312,39320,39325,39334,39338,39351,39355,39365,39393,39407,39417,39421,39425,39429,39437,39441,39449,39457,39469,39481,39485,39499,39505,39513,39521,39529,39537,39541,39559,39567,39571,39579,39599,39613,39617,39625,39639,39643,39651,39659,39667,39675],{"__ignoreMap":163},[167,39157,39158,39160,39162,39164,39166,39168],{"class":169,"line":170},[167,39159,174],{"class":173},[167,39161,178],{"class":177},[167,39163,1045],{"class":181},[167,39165,267],{"class":173},[167,39167,1050],{"class":201},[167,39169,185],{"class":173},[167,39171,39172,39174,39176],{"class":169,"line":188},[167,39173,608],{"class":191},[167,39175,3987],{"class":191},[167,39177,1901],{"class":173},[167,39179,39180,39182],{"class":169,"line":205},[167,39181,7172],{"class":181},[167,39183,763],{"class":173},[167,39185,39186,39188],{"class":169,"line":160},[167,39187,1933],{"class":191},[167,39189,1901],{"class":173},[167,39191,39192,39195,39197],{"class":169,"line":238},[167,39193,39194],{"class":173},"      draft: ",[167,39196,31157],{"class":201},[167,39198,393],{"class":173},[167,39200,39201],{"class":169,"line":243},[167,39202,12567],{"class":173},[167,39204,39205],{"class":169,"line":261},[167,39206,24366],{"class":173},[167,39208,39209],{"class":169,"line":273},[167,39210,398],{"class":173},[167,39212,39213],{"class":169,"line":279},[167,39214,8751],{"class":173},[167,39216,39217,39220],{"class":169,"line":289},[167,39218,39219],{"class":181},"    remaining",[167,39221,763],{"class":173},[167,39223,39224,39226,39228,39230,39232,39234,39236,39238,39240,39242,39244,39246],{"class":169,"line":294},[167,39225,8763],{"class":191},[167,39227,7347],{"class":219},[167,39229,8768],{"class":173},[167,39231,8248],{"class":181},[167,39233,1914],{"class":173},[167,39235,5071],{"class":254},[167,39237,693],{"class":173},[167,39239,639],{"class":191},[167,39241,5621],{"class":191},[167,39243,38697],{"class":173},[167,39245,15752],{"class":219},[167,39247,24040],{"class":173},[167,39249,39250],{"class":169,"line":304},[167,39251,755],{"class":173},[167,39253,39254],{"class":169,"line":313},[167,39255,398],{"class":173},[167,39257,39258],{"class":169,"line":161},[167,39259,4415],{"class":173},[167,39261,39262,39265],{"class":169,"line":335},[167,39263,39264],{"class":181},"    addTask",[167,39266,763],{"class":173},[167,39268,39269,39271,39273,39275,39277,39280,39282],{"class":169,"line":341},[167,39270,4431],{"class":191},[167,39272,38721],{"class":219},[167,39274,223],{"class":191},[167,39276,7347],{"class":219},[167,39278,39279],{"class":173},".draft.",[167,39281,2496],{"class":181},[167,39283,25303],{"class":173},[167,39285,39286,39288,39290,39292,39294,39296],{"class":169,"line":489},[167,39287,7257],{"class":191},[167,39289,2522],{"class":173},[167,39291,6637],{"class":191},[167,39293,38741],{"class":173},[167,39295,24234],{"class":191},[167,39297,24040],{"class":173},[167,39299,39300],{"class":169,"line":495},[167,39301,209],{"emptyLinePlaceholder":208},[167,39303,39304,39306,39308,39310],{"class":169,"line":501},[167,39305,741],{"class":219},[167,39307,8768],{"class":173},[167,39309,15719],{"class":181},[167,39311,372],{"class":173},[167,39313,39314,39316,39318],{"class":169,"line":512},[167,39315,16156],{"class":173},[167,39317,15729],{"class":181},[167,39319,15732],{"class":173},[167,39321,39322],{"class":169,"line":781},[167,39323,39324],{"class":173},"        title,\n",[167,39326,39327,39330,39332],{"class":169,"line":786},[167,39328,39329],{"class":173},"        done: ",[167,39331,3388],{"class":219},[167,39333,393],{"class":173},[167,39335,39336],{"class":169,"line":2674},[167,39337,36404],{"class":173},[167,39339,39340,39342,39345,39347,39349],{"class":169,"line":2688},[167,39341,741],{"class":219},[167,39343,39344],{"class":173},".draft ",[167,39346,267],{"class":191},[167,39348,38795],{"class":201},[167,39350,24040],{"class":173},[167,39352,39353],{"class":169,"line":3571},[167,39354,755],{"class":173},[167,39356,39357,39359,39361,39363],{"class":169,"line":5024},[167,39358,8996],{"class":181},[167,39360,229],{"class":173},[167,39362,580],{"class":254},[167,39364,258],{"class":173},[167,39366,39367,39369,39371,39373,39375,39377,39379,39381,39383,39385,39387,39389,39391],{"class":169,"line":5033},[167,39368,4431],{"class":191},[167,39370,3442],{"class":219},[167,39372,223],{"class":191},[167,39374,7347],{"class":219},[167,39376,8768],{"class":173},[167,39378,3450],{"class":181},[167,39380,1914],{"class":173},[167,39382,1922],{"class":254},[167,39384,693],{"class":173},[167,39386,639],{"class":191},[167,39388,3461],{"class":173},[167,39390,2546],{"class":191},[167,39392,38848],{"class":173},[167,39394,39395,39397,39399,39401,39403,39405],{"class":169,"line":5042},[167,39396,7257],{"class":191},[167,39398,2522],{"class":173},[167,39400,6637],{"class":191},[167,39402,8530],{"class":173},[167,39404,24234],{"class":191},[167,39406,24040],{"class":173},[167,39408,39409,39411,39413,39415],{"class":169,"line":6752},[167,39410,9053],{"class":173},[167,39412,267],{"class":191},[167,39414,5621],{"class":191},[167,39416,38873],{"class":173},[167,39418,39419],{"class":169,"line":6774},[167,39420,755],{"class":173},[167,39422,39423],{"class":169,"line":6779},[167,39424,398],{"class":173},[167,39426,39427],{"class":169,"line":6784},[167,39428,24144],{"class":173},[167,39430,39431,39433,39435],{"class":169,"line":6789},[167,39432,282],{"class":173},[167,39434,178],{"class":177},[167,39436,185],{"class":173},[167,39438,39439],{"class":169,"line":6805},[167,39440,209],{"emptyLinePlaceholder":208},[167,39442,39443,39445,39447],{"class":169,"line":6820},[167,39444,174],{"class":173},[167,39446,299],{"class":177},[167,39448,185],{"class":173},[167,39450,39451,39453,39455],{"class":169,"line":6825},[167,39452,307],{"class":173},[167,39454,10113],{"class":177},[167,39456,185],{"class":173},[167,39458,39459,39461,39463,39465,39467],{"class":169,"line":6832},[167,39460,1252],{"class":173},[167,39462,22],{"class":177},[167,39464,38914],{"class":173},[167,39466,22],{"class":177},[167,39468,185],{"class":173},[167,39470,39471,39473,39475,39477,39479],{"class":169,"line":6841},[167,39472,1252],{"class":173},[167,39474,15],{"class":177},[167,39476,38927],{"class":173},[167,39478,15],{"class":177},[167,39480,185],{"class":173},[167,39482,39483],{"class":169,"line":6850},[167,39484,209],{"emptyLinePlaceholder":208},[167,39486,39487,39489,39491,39493,39495,39497],{"class":169,"line":6857},[167,39488,1252],{"class":173},[167,39490,4301],{"class":177},[167,39492,4304],{"class":181},[167,39494,267],{"class":173},[167,39496,38948],{"class":201},[167,39498,185],{"class":173},[167,39500,39501,39503],{"class":169,"line":6875},[167,39502,1263],{"class":173},[167,39504,17477],{"class":177},[167,39506,39507,39509,39511],{"class":169,"line":6880},[167,39508,38961],{"class":181},[167,39510,267],{"class":173},[167,39512,38966],{"class":201},[167,39514,39515,39517,39519],{"class":169,"line":6885},[167,39516,38971],{"class":181},[167,39518,267],{"class":173},[167,39520,35279],{"class":201},[167,39522,39523,39525,39527],{"class":169,"line":6894},[167,39524,38980],{"class":181},[167,39526,267],{"class":173},[167,39528,38985],{"class":201},[167,39530,39531,39533,39535],{"class":169,"line":6899},[167,39532,38990],{"class":181},[167,39534,267],{"class":173},[167,39536,38995],{"class":201},[167,39538,39539],{"class":169,"line":6908},[167,39540,39000],{"class":173},[167,39542,39543,39545,39547,39549,39551,39553,39555,39557],{"class":169,"line":6924},[167,39544,1263],{"class":173},[167,39546,507],{"class":177},[167,39548,1169],{"class":181},[167,39550,267],{"class":173},[167,39552,4344],{"class":201},[167,39554,39015],{"class":173},[167,39556,507],{"class":177},[167,39558,185],{"class":173},[167,39560,39561,39563,39565],{"class":169,"line":6945},[167,39562,1287],{"class":173},[167,39564,4301],{"class":177},[167,39566,185],{"class":173},[167,39568,39569],{"class":169,"line":6950},[167,39570,209],{"emptyLinePlaceholder":208},[167,39572,39573,39575,39577],{"class":169,"line":6971},[167,39574,1252],{"class":173},[167,39576,33],{"class":177},[167,39578,185],{"class":173},[167,39580,39581,39583,39585,39587,39589,39591,39593,39595,39597],{"class":169,"line":6985},[167,39582,1263],{"class":173},[167,39584,36],{"class":177},[167,39586,18702],{"class":181},[167,39588,267],{"class":173},[167,39590,39052],{"class":201},[167,39592,10303],{"class":181},[167,39594,267],{"class":173},[167,39596,39059],{"class":201},[167,39598,185],{"class":173},[167,39600,39601,39603,39605,39607,39609,39611],{"class":169,"line":6999},[167,39602,32512],{"class":173},[167,39604,507],{"class":177},[167,39606,1177],{"class":181},[167,39608,267],{"class":173},[167,39610,39074],{"class":201},[167,39612,185],{"class":173},[167,39614,39615],{"class":169,"line":7013},[167,39616,39081],{"class":173},[167,39618,39619,39621,39623],{"class":169,"line":7022},[167,39620,32560],{"class":173},[167,39622,507],{"class":177},[167,39624,185],{"class":173},[167,39626,39627,39629,39631,39633,39635,39637],{"class":169,"line":7027},[167,39628,32512],{"class":173},[167,39630,167],{"class":177},[167,39632,39098],{"class":181},[167,39634,267],{"class":173},[167,39636,39103],{"class":201},[167,39638,185],{"class":173},[167,39640,39641],{"class":169,"line":7044},[167,39642,39110],{"class":173},[167,39644,39645,39647,39649],{"class":169,"line":7053},[167,39646,32560],{"class":173},[167,39648,167],{"class":177},[167,39650,185],{"class":173},[167,39652,39653,39655,39657],{"class":169,"line":7551},[167,39654,10166],{"class":173},[167,39656,36],{"class":177},[167,39658,185],{"class":173},[167,39660,39661,39663,39665],{"class":169,"line":7556},[167,39662,1287],{"class":173},[167,39664,33],{"class":177},[167,39666,185],{"class":173},[167,39668,39669,39671,39673],{"class":169,"line":7575},[167,39670,504],{"class":173},[167,39672,10113],{"class":177},[167,39674,185],{"class":173},[167,39676,39677,39679,39681],{"class":169,"line":7588},[167,39678,282],{"class":173},[167,39680,299],{"class":177},[167,39682,185],{"class":173},[22,39684,7674],{"id":7673},[15,39686,39687,39689],{},[87,39688,23867],{}," es la directiva que convierte plantillas estáticas en interfaces interactivas.\nSi la usas con handlers claros y modificadores correctos, reduces bugs y mejoras legibilidad.",[15,39691,39692],{},"Puntos clave para recordar:",[33,39694,39695,39703,39706,39716],{},[36,39696,1577,39697,39700,39701,1675],{},[87,39698,39699],{},"@"," como shorthand de ",[87,39702,23867],{},[36,39704,39705],{},"Prefiere funciones del script sobre expresiones complejas inline.",[36,39707,39708,39709,1020,39711,1020,39713,39715],{},"Aprovecha modificadores (",[87,39710,36901],{},[87,39712,36904],{},[87,39714,36907],{},") cuando sean necesarios.",[36,39717,39718],{},"Mantén consistencia entre Composition API y Options API para facilitar mantenimiento.",[924,39720,39721],{},"html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .s9eBZ, html code.shiki .s9eBZ{--shiki-default:#22863A;--shiki-dark:#85E89D}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .s7hpK, html code.shiki .s7hpK{--shiki-default:#B31D28;--shiki-default-font-style:italic;--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic}html pre.shiki code .s4XuR, html code.shiki .s4XuR{--shiki-default:#E36209;--shiki-dark:#FFAB70}",{"title":163,"searchDepth":188,"depth":188,"links":39723},[39724,39725,39726,39727,39728,39736,39743,39744],{"id":26498,"depth":188,"text":26499},{"id":30495,"depth":188,"text":30496},{"id":6317,"depth":188,"text":6318},{"id":6344,"depth":188,"text":6345},{"id":3080,"depth":188,"text":3081,"children":39729},[39730,39731,39733,39734],{"id":36996,"depth":205,"text":36997},{"id":37071,"depth":205,"text":39732},"2) Olvidar .prevent en formularios",{"id":37145,"depth":205,"text":37146},{"id":37254,"depth":205,"text":39735},"4) Usar event sin declararlo",{"id":7992,"depth":188,"text":7993,"children":39737},[39738,39739,39741,39742],{"id":37330,"depth":205,"text":37331},{"id":37546,"depth":205,"text":39740},"2) Submit de formulario con .prevent",{"id":37969,"depth":205,"text":37970},{"id":38262,"depth":205,"text":38263},{"id":8022,"depth":188,"text":8023},{"id":7673,"depth":188,"text":7674},"https:\u002F\u002Fres.cloudinary.com\u002Fdenj4fg7f\u002Fimage\u002Fupload\u002Fv1771022043\u002Fdirectives-vue-v-on-guide_hwtqel.png","Imagen temporal para portada del articulo sobre v-on en Vue","2026-02-13","Aprende a usar v-on en Vue con eventos del DOM, modificadores, atajos de teclado y buenas practicas para mantener componentes claros y mantenibles.",{"updatedAt":39750,"coverCaption":23652,"author":945,"keywords":39751},"2026-02-13T10:30:00-05:00",[3254,23867,39752,39753,3256,3969],"eventos","event modifiers","\u002Fblog\u002Fdirectives-vue-v-on-guide.es",[39756],{"headline":39757,"author":39758,"datePublished":39750,"@type":959},"Directiva v-on en Vue: guia practica para manejar eventos",{"name":945,"@type":958},{"title":36750,"description":39748},"blog\u002Fdirectives-vue-v-on-guide.es",[39762,39763,39764],{"tag":26462,"color":26463},{"tag":1640,"color":1641},{"tag":5420,"color":5421},"WAEXmV8fTD0ITkOvmyn62Tdvu5vw7wpMPNxDrqfLAt4",{"id":39767,"title":39768,"body":39769,"cover":42722,"coverAlt":42723,"date":42724,"description":42725,"draft":1617,"extension":940,"lab":941,"locale":942,"meta":42726,"navigation":208,"path":42732,"schemaOrg":42733,"seo":42737,"series":26456,"seriesDescription":26457,"seriesOrder":160,"seriesTitle":26458,"slug":941,"stem":42738,"tags":42739,"__hash__":42744},"blog\u002Fblog\u002Fdirectives-vue-v-bind-guide.es.md","Directivas en Vue: v-bind",{"type":8,"value":39770,"toc":42691},[39771,39776,39781,39786,39788,39793,39807,39812,39814,39817,39852,39855,39884,39889,39934,39936,39941,39959,39961,39963,39979,39981,39988,39990,40025,40027,40075,40082,40092,40094,40161,40166,40170,40175,40200,40210,40217,40222,40224,40230,40346,40461,40467,40575,40686,40694,40846,40989,40996,41123,41244,41250,41253,41373,41486,41494,41639,41789,41796,41800,41806,42226,42646,42648,42653,42656,42682,42688],[11,39772,26479,39774],{"id":39773},"directivas-en-vue-v-bind",[87,39775,23864],{},[15,39777,39778,39780],{},[87,39779,23864],{}," conecta atributos o props del template con datos reactivos.\nSi el estado cambia, el atributo también cambia.",[15,39782,30436,39783,39785],{},[87,39784,23864],{}," es una de las piezas más importantes porque te permite pasar de HTML estático a UI dinámica sin manipular el DOM manualmente.",[22,39787,26499],{"id":26498},[15,39789,21840,39790,39792],{},[87,39791,23864],{},", terminarías escribiendo lógica imperativa para:",[33,39794,39795,39798,39801,39804],{},[36,39796,39797],{},"Activar\u002Fdesactivar botones.",[36,39799,39800],{},"Cambiar clases según estado.",[36,39802,39803],{},"Renderizar enlaces o imágenes dinámicas,",[36,39805,39806],{},"Pasar datos de un componente padre a uno hijo.",[15,39808,3806,39809,39811],{},[87,39810,23864],{},", todo eso se vuelve declarativo.\nDescribes la relación entre estado y UI, y Vue se encarga del resto.",[22,39813,30496],{"id":30495},[15,39815,39816],{},"La forma base es:",[154,39818,39820],{"className":156,"code":39819,"filename":15280,"language":162,"meta":163,"style":163},"\u003Ca v-bind:href=\"url\">Ir al sitio\u003C\u002Fa>\n",[87,39821,39822],{"__ignoreMap":163},[167,39823,39824,39826,39828,39831,39833,39836,39838,39840,39843,39845,39848,39850],{"class":169,"line":170},[167,39825,174],{"class":173},[167,39827,19088],{"class":177},[167,39829,39830],{"class":181}," v-bind",[167,39832,583],{"class":173},[167,39834,39835],{"class":181},"href",[167,39837,267],{"class":173},[167,39839,5076],{"class":201},[167,39841,39842],{"class":173},"url",[167,39844,5076],{"class":201},[167,39846,39847],{"class":173},">Ir al sitio\u003C\u002F",[167,39849,19088],{"class":177},[167,39851,185],{"class":173},[15,39853,39854],{},"Shorthand recomendado:",[154,39856,39858],{"className":156,"code":39857,"filename":15280,"language":162,"meta":163,"style":163},"\u003Ca :href=\"url\">Ir al sitio\u003C\u002Fa>\n",[87,39859,39860],{"__ignoreMap":163},[167,39861,39862,39864,39866,39868,39870,39872,39874,39876,39878,39880,39882],{"class":169,"line":170},[167,39863,174],{"class":173},[167,39865,19088],{"class":177},[167,39867,5308],{"class":173},[167,39869,39835],{"class":181},[167,39871,267],{"class":173},[167,39873,5076],{"class":201},[167,39875,39842],{"class":173},[167,39877,5076],{"class":201},[167,39879,39847],{"class":173},[167,39881,19088],{"class":177},[167,39883,185],{"class":173},[15,39885,39886,39888],{},[87,39887,23864],{}," funciona con:",[33,39890,39891,39907,39913,39922,39928],{},[36,39892,39893,39894,1020,39896,1020,39899,1020,39902,1020,39904,39906],{},"Atributos HTML (",[87,39895,39835],{},[87,39897,39898],{},"src",[87,39900,39901],{},"disabled",[87,39903,580],{},[87,39905,29268],{},"),",[36,39908,39909,39910,39906],{},"Props de componentes (",[87,39911,39912],{},":user=\"currentUser\"",[36,39914,39915,39916,1023,39919,39921],{},"Bindings especiales para ",[87,39917,39918],{},"class",[87,39920,924],{},",",[36,39923,39924,39925,39906],{},"Argumentos dinámicos (",[87,39926,39927],{},":[attrName]=\"value\"",[36,39929,39930,39931,4266],{},"Spread-like bindings (",[87,39932,39933],{},"v-bind=\"attrsObject\"",[22,39935,6318],{"id":6317},[15,39937,1577,39938,39940],{},[87,39939,23864],{}," cuando necesites:",[33,39942,39943,39946,39953,39956],{},[36,39944,39945],{},"Valores dinámicos en atributos.",[36,39947,39948,39949,11223,39951,4266],{},"Cambiar presentación según estado (",[87,39950,39918],{},[87,39952,924],{},[36,39954,39955],{},"Pasar datos reactivos a componentes hijos.",[36,39957,39958],{},"Construir componentes reutilizables con props configurables.",[22,39960,6345],{"id":6344},[15,39962,6351],{},[33,39964,39965,39968,39973],{},[36,39966,39967],{},"El valor es fijo y nunca cambia (puedes dejar HTML estático).",[36,39969,39970,39971,4266],{},"Metes lógica compleja directamente en el template (mejor mover a ",[87,39972,1657],{},[36,39974,39975,39976,39978],{},"Usas ",[87,39977,23864],{}," como sustituto de validación o seguridad (eso no lo resuelve el template).",[22,39980,3081],{"id":3080},[3083,39982,39984,39985,39987],{"id":39983},"_1-olvidar-que-v-bind-evalúa-javascript","1) Olvidar que ",[87,39986,23864],{}," evalúa JavaScript",[15,39989,30734],{},[154,39991,39994],{"className":156,"code":39992,"filename":39993,"language":162,"meta":163,"style":163},"\u003Cimg :src=\"\u002Fimages\u002Favatar.png\" \u002F>\n","Incorrecto",[87,39995,39996],{"__ignoreMap":163},[167,39997,39998,40000,40003,40005,40007,40009,40011,40013,40016,40018,40021,40023],{"class":169,"line":170},[167,39999,174],{"class":173},[167,40001,40002],{"class":177},"img",[167,40004,5308],{"class":173},[167,40006,39898],{"class":181},[167,40008,267],{"class":173},[167,40010,5076],{"class":201},[167,40012,21853],{"class":191},[167,40014,40015],{"class":173},"images",[167,40017,21853],{"class":191},[167,40019,40020],{"class":173},"avatar.png",[167,40022,5076],{"class":201},[167,40024,5321],{"class":173},[15,40026,34277],{},[154,40028,40031],{"className":156,"code":40029,"filename":40030,"language":162,"meta":163,"style":163},"\u003Cimg src=\"\u002Fimages\u002Favatar.png\" \u002F>\n\u003C!-- o -->\n\u003Cimg :src=\"avatarUrl\" \u002F>\n","Correcto",[87,40032,40033,40049,40054],{"__ignoreMap":163},[167,40034,40035,40037,40039,40042,40044,40047],{"class":169,"line":170},[167,40036,174],{"class":173},[167,40038,40002],{"class":177},[167,40040,40041],{"class":181}," src",[167,40043,267],{"class":173},[167,40045,40046],{"class":201},"\"\u002Fimages\u002Favatar.png\"",[167,40048,5321],{"class":173},[167,40050,40051],{"class":169,"line":188},[167,40052,40053],{"class":18658},"\u003C!-- o -->\n",[167,40055,40056,40058,40060,40062,40064,40066,40068,40071,40073],{"class":169,"line":205},[167,40057,174],{"class":173},[167,40059,40002],{"class":177},[167,40061,5308],{"class":173},[167,40063,39898],{"class":181},[167,40065,267],{"class":173},[167,40067,5076],{"class":201},[167,40069,40070],{"class":173},"avatarUrl",[167,40072,5076],{"class":201},[167,40074,5321],{"class":173},[15,40076,40077,40078,40081],{},"Si usas ",[87,40079,40080],{},":src",", Vue espera una expresión JS válida.",[3083,40083,40085,40086,90,40089],{"id":40084},"_2-poner-demasiada-lógica-inline-en-class-o-style","2) Poner demasiada lógica inline en ",[87,40087,40088],{},":class",[87,40090,40091],{},":style",[15,40093,30734],{},[154,40095,40097],{"className":156,"code":40096,"filename":34158,"language":162,"meta":163,"style":163},"\u003Cbutton :class=\"isAdmin && isActive && !isLocked ? 'btn btn-primary' : isLocked ? 'btn btn-muted' : 'btn'\">\n  Guardar\n\u003C\u002Fbutton>\n",[87,40098,40099,40148,40153],{"__ignoreMap":163},[167,40100,40101,40103,40105,40107,40109,40111,40113,40115,40117,40120,40122,40124,40126,40128,40131,40133,40136,40138,40141,40143,40146],{"class":169,"line":170},[167,40102,174],{"class":173},[167,40104,507],{"class":177},[167,40106,5308],{"class":173},[167,40108,39918],{"class":181},[167,40110,267],{"class":173},[167,40112,5076],{"class":201},[167,40114,37171],{"class":173},[167,40116,8335],{"class":191},[167,40118,40119],{"class":173}," isActive ",[167,40121,8335],{"class":191},[167,40123,5621],{"class":191},[167,40125,37183],{"class":173},[167,40127,8312],{"class":191},[167,40129,40130],{"class":201}," 'btn btn-primary'",[167,40132,5308],{"class":191},[167,40134,40135],{"class":173}," isLocked ",[167,40137,8312],{"class":191},[167,40139,40140],{"class":201}," 'btn btn-muted'",[167,40142,5308],{"class":191},[167,40144,40145],{"class":201}," 'btn'\"",[167,40147,185],{"class":173},[167,40149,40150],{"class":169,"line":188},[167,40151,40152],{"class":173},"  Guardar\n",[167,40154,40155,40157,40159],{"class":169,"line":205},[167,40156,282],{"class":173},[167,40158,507],{"class":177},[167,40160,185],{"class":173},[15,40162,40163,40164,1675],{},"Mejor: extraer a ",[87,40165,1657],{},[3083,40167,40169],{"id":40168},"_3-confundir-atributo-html-con-prop-de-componente","3) Confundir atributo HTML con prop de componente",[15,40171,40172,40174],{},[87,40173,23864],{}," sirve para ambos, pero en componentes debes pasar la prop exacta definida por el hijo:",[154,40176,40178],{"className":156,"code":5296,"filename":40177,"language":162,"meta":163,"style":163},"Padre",[87,40179,40180],{"__ignoreMap":163},[167,40181,40182,40184,40186,40188,40190,40192,40194,40196,40198],{"class":169,"line":170},[167,40183,174],{"class":173},[167,40185,5305],{"class":177},[167,40187,5308],{"class":173},[167,40189,729],{"class":181},[167,40191,267],{"class":173},[167,40193,5076],{"class":201},[167,40195,729],{"class":173},[167,40197,5076],{"class":201},[167,40199,5321],{"class":173},[15,40201,40202,40203,40206,40207,40209],{},"Si el hijo espera ",[87,40204,40205],{},"profile"," y tú pasas ",[87,40208,729],{},", no llegará la data correcta.",[3083,40211,40213,40214,40216],{"id":40212},"_4-creer-que-v-bind-protege-datos","4) Creer que ",[87,40215,23864],{}," \"protege\" datos",[15,40218,40219,40221],{},[87,40220,23864],{}," solo refleja estado en la UI.\nNo reemplaza validación del backend ni reglas de autorización.",[22,40223,7993],{"id":7992},[3083,40225,40227,40228,6215],{"id":40226},"_1-básico-enlace-dinámico-href","1) Básico: enlace dinámico (",[87,40229,39835],{},[154,40231,40234],{"className":156,"code":40232,"filename":3256,"highlights":40233,"language":162,"meta":163,"style":163},"\u003Cscript setup>\nimport { ref } from \"vue\";\n\nconst docsUrl = ref(\"https:\u002F\u002Fvuejs.org\u002F\");\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Ca :href=\"docsUrl\" target=\"_blank\" rel=\"noopener\">Documentación Vue\u003C\u002Fa>\n\u003C\u002Ftemplate>\n",[160,273],[87,40235,40236,40246,40258,40262,40281,40289,40293,40301,40338],{"__ignoreMap":163},[167,40237,40238,40240,40242,40244],{"class":169,"line":170},[167,40239,174],{"class":173},[167,40241,178],{"class":177},[167,40243,182],{"class":181},[167,40245,185],{"class":173},[167,40247,40248,40250,40252,40254,40256],{"class":169,"line":188},[167,40249,192],{"class":191},[167,40251,195],{"class":173},[167,40253,198],{"class":191},[167,40255,24037],{"class":201},[167,40257,24040],{"class":173},[167,40259,40260],{"class":169,"line":205},[167,40261,209],{"emptyLinePlaceholder":208},[167,40263,40265,40267,40270,40272,40274,40276,40279],{"class":40264,"line":160},[169,213],[167,40266,216],{"class":191},[167,40268,40269],{"class":219}," docsUrl",[167,40271,223],{"class":191},[167,40273,226],{"class":181},[167,40275,229],{"class":173},[167,40277,40278],{"class":201},"\"https:\u002F\u002Fvuejs.org\u002F\"",[167,40280,24165],{"class":173},[167,40282,40283,40285,40287],{"class":169,"line":238},[167,40284,282],{"class":173},[167,40286,178],{"class":177},[167,40288,185],{"class":173},[167,40290,40291],{"class":169,"line":243},[167,40292,209],{"emptyLinePlaceholder":208},[167,40294,40295,40297,40299],{"class":169,"line":261},[167,40296,174],{"class":173},[167,40298,299],{"class":177},[167,40300,185],{"class":173},[167,40302,40304,40306,40308,40311,40313,40316,40318,40320,40323,40326,40328,40331,40334,40336],{"class":40303,"line":273},[169,213],[167,40305,307],{"class":173},[167,40307,19088],{"class":177},[167,40309,40310],{"class":181}," :href",[167,40312,267],{"class":173},[167,40314,40315],{"class":201},"\"docsUrl\"",[167,40317,24289],{"class":181},[167,40319,267],{"class":173},[167,40321,40322],{"class":201},"\"_blank\"",[167,40324,40325],{"class":181}," rel",[167,40327,267],{"class":173},[167,40329,40330],{"class":201},"\"noopener\"",[167,40332,40333],{"class":173},">Documentación Vue\u003C\u002F",[167,40335,19088],{"class":177},[167,40337,185],{"class":173},[167,40339,40340,40342,40344],{"class":169,"line":279},[167,40341,282],{"class":173},[167,40343,299],{"class":177},[167,40345,185],{"class":173},[154,40347,40350],{"className":156,"code":40348,"filename":3969,"highlights":40349,"language":162,"meta":163,"style":163},"\u003Cscript>\nexport default {\n  data() {\n    return {\n      docsUrl: \"https:\u002F\u002Fvuejs.org\u002F\",\n    };\n  },\n};\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Ca :href=\"docsUrl\" target=\"_blank\" rel=\"noopener\">Documentación Vue\u003C\u002Fa>\n\u003C\u002Ftemplate>\n",[238,304],[87,40351,40352,40360,40368,40374,40380,40390,40394,40398,40402,40410,40414,40422,40453],{"__ignoreMap":163},[167,40353,40354,40356,40358],{"class":169,"line":170},[167,40355,174],{"class":173},[167,40357,178],{"class":177},[167,40359,185],{"class":173},[167,40361,40362,40364,40366],{"class":169,"line":188},[167,40363,608],{"class":191},[167,40365,3987],{"class":191},[167,40367,1901],{"class":173},[167,40369,40370,40372],{"class":169,"line":205},[167,40371,7172],{"class":181},[167,40373,763],{"class":173},[167,40375,40376,40378],{"class":169,"line":160},[167,40377,1933],{"class":191},[167,40379,1901],{"class":173},[167,40381,40383,40386,40388],{"class":40382,"line":238},[169,213],[167,40384,40385],{"class":173},"      docsUrl: ",[167,40387,40278],{"class":201},[167,40389,393],{"class":173},[167,40391,40392],{"class":169,"line":243},[167,40393,24366],{"class":173},[167,40395,40396],{"class":169,"line":261},[167,40397,398],{"class":173},[167,40399,40400],{"class":169,"line":273},[167,40401,24144],{"class":173},[167,40403,40404,40406,40408],{"class":169,"line":279},[167,40405,282],{"class":173},[167,40407,178],{"class":177},[167,40409,185],{"class":173},[167,40411,40412],{"class":169,"line":289},[167,40413,209],{"emptyLinePlaceholder":208},[167,40415,40416,40418,40420],{"class":169,"line":294},[167,40417,174],{"class":173},[167,40419,299],{"class":177},[167,40421,185],{"class":173},[167,40423,40425,40427,40429,40431,40433,40435,40437,40439,40441,40443,40445,40447,40449,40451],{"class":40424,"line":304},[169,213],[167,40426,307],{"class":173},[167,40428,19088],{"class":177},[167,40430,40310],{"class":181},[167,40432,267],{"class":173},[167,40434,40315],{"class":201},[167,40436,24289],{"class":181},[167,40438,267],{"class":173},[167,40440,40322],{"class":201},[167,40442,40325],{"class":181},[167,40444,267],{"class":173},[167,40446,40330],{"class":201},[167,40448,40333],{"class":173},[167,40450,19088],{"class":177},[167,40452,185],{"class":173},[167,40454,40455,40457,40459],{"class":169,"line":313},[167,40456,282],{"class":173},[167,40458,299],{"class":177},[167,40460,185],{"class":173},[3083,40462,40464,40465,6215],{"id":40463},"_2-atributo-booleano-dinámico-disabled","2) Atributo booleano dinámico (",[87,40466,39901],{},[154,40468,40471],{"className":156,"code":40469,"filename":3256,"highlights":40470,"language":162,"meta":163,"style":163},"\u003Cscript setup>\nimport { ref } from \"vue\";\n\nconst isSaving = ref(false);\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cbutton :disabled=\"isSaving\">\n    {{ isSaving ? \"Guardando...\" : \"Guardar cambios\" }}\n  \u003C\u002Fbutton>\n\u003C\u002Ftemplate>\n",[160,273],[87,40472,40473,40483,40495,40499,40517,40525,40529,40537,40554,40559,40567],{"__ignoreMap":163},[167,40474,40475,40477,40479,40481],{"class":169,"line":170},[167,40476,174],{"class":173},[167,40478,178],{"class":177},[167,40480,182],{"class":181},[167,40482,185],{"class":173},[167,40484,40485,40487,40489,40491,40493],{"class":169,"line":188},[167,40486,192],{"class":191},[167,40488,195],{"class":173},[167,40490,198],{"class":191},[167,40492,24037],{"class":201},[167,40494,24040],{"class":173},[167,40496,40497],{"class":169,"line":205},[167,40498,209],{"emptyLinePlaceholder":208},[167,40500,40502,40504,40507,40509,40511,40513,40515],{"class":40501,"line":160},[169,213],[167,40503,216],{"class":191},[167,40505,40506],{"class":219}," isSaving",[167,40508,223],{"class":191},[167,40510,226],{"class":181},[167,40512,229],{"class":173},[167,40514,3388],{"class":219},[167,40516,24165],{"class":173},[167,40518,40519,40521,40523],{"class":169,"line":238},[167,40520,282],{"class":173},[167,40522,178],{"class":177},[167,40524,185],{"class":173},[167,40526,40527],{"class":169,"line":243},[167,40528,209],{"emptyLinePlaceholder":208},[167,40530,40531,40533,40535],{"class":169,"line":261},[167,40532,174],{"class":173},[167,40534,299],{"class":177},[167,40536,185],{"class":173},[167,40538,40540,40542,40544,40547,40549,40552],{"class":40539,"line":273},[169,213],[167,40541,307],{"class":173},[167,40543,507],{"class":177},[167,40545,40546],{"class":181}," :disabled",[167,40548,267],{"class":173},[167,40550,40551],{"class":201},"\"isSaving\"",[167,40553,185],{"class":173},[167,40555,40556],{"class":169,"line":279},[167,40557,40558],{"class":173},"    {{ isSaving ? \"Guardando...\" : \"Guardar cambios\" }}\n",[167,40560,40561,40563,40565],{"class":169,"line":289},[167,40562,504],{"class":173},[167,40564,507],{"class":177},[167,40566,185],{"class":173},[167,40568,40569,40571,40573],{"class":169,"line":294},[167,40570,282],{"class":173},[167,40572,299],{"class":177},[167,40574,185],{"class":173},[154,40576,40579],{"className":156,"code":40577,"filename":3969,"highlights":40578,"language":162,"meta":163,"style":163},"\u003Cscript>\nexport default {\n  data() {\n    return {\n      isSaving: false,\n    };\n  },\n};\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cbutton :disabled=\"isSaving\">\n    {{ isSaving ? \"Guardando...\" : \"Guardar cambios\" }}\n  \u003C\u002Fbutton>\n\u003C\u002Ftemplate>\n",[238,304],[87,40580,40581,40589,40597,40603,40609,40619,40623,40627,40631,40639,40643,40651,40666,40670,40678],{"__ignoreMap":163},[167,40582,40583,40585,40587],{"class":169,"line":170},[167,40584,174],{"class":173},[167,40586,178],{"class":177},[167,40588,185],{"class":173},[167,40590,40591,40593,40595],{"class":169,"line":188},[167,40592,608],{"class":191},[167,40594,3987],{"class":191},[167,40596,1901],{"class":173},[167,40598,40599,40601],{"class":169,"line":205},[167,40600,7172],{"class":181},[167,40602,763],{"class":173},[167,40604,40605,40607],{"class":169,"line":160},[167,40606,1933],{"class":191},[167,40608,1901],{"class":173},[167,40610,40612,40615,40617],{"class":40611,"line":238},[169,213],[167,40613,40614],{"class":173},"      isSaving: ",[167,40616,3388],{"class":219},[167,40618,393],{"class":173},[167,40620,40621],{"class":169,"line":243},[167,40622,24366],{"class":173},[167,40624,40625],{"class":169,"line":261},[167,40626,398],{"class":173},[167,40628,40629],{"class":169,"line":273},[167,40630,24144],{"class":173},[167,40632,40633,40635,40637],{"class":169,"line":279},[167,40634,282],{"class":173},[167,40636,178],{"class":177},[167,40638,185],{"class":173},[167,40640,40641],{"class":169,"line":289},[167,40642,209],{"emptyLinePlaceholder":208},[167,40644,40645,40647,40649],{"class":169,"line":294},[167,40646,174],{"class":173},[167,40648,299],{"class":177},[167,40650,185],{"class":173},[167,40652,40654,40656,40658,40660,40662,40664],{"class":40653,"line":304},[169,213],[167,40655,307],{"class":173},[167,40657,507],{"class":177},[167,40659,40546],{"class":181},[167,40661,267],{"class":173},[167,40663,40551],{"class":201},[167,40665,185],{"class":173},[167,40667,40668],{"class":169,"line":313},[167,40669,40558],{"class":173},[167,40671,40672,40674,40676],{"class":169,"line":161},[167,40673,504],{"class":173},[167,40675,507],{"class":177},[167,40677,185],{"class":173},[167,40679,40680,40682,40684],{"class":169,"line":335},[167,40681,282],{"class":173},[167,40683,299],{"class":177},[167,40685,185],{"class":173},[3083,40687,40689,40690,40693],{"id":40688},"_3-v-bindclass-con-objeto-patrón-recomendado","3) ",[87,40691,40692],{},"v-bind:class"," con objeto (patrón recomendado)",[154,40695,40698],{"className":156,"code":40696,"filename":3256,"highlights":40697,"language":162,"meta":163,"style":163},"\u003Cscript setup>\nimport { ref } from \"vue\";\n\nconst isActive = ref(true);\nconst hasError = ref(false);\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cp\n    :class=\"{\n      'text-success': isActive,\n      'text-danger': hasError,\n      'text-muted': !isActive && !hasError,\n    }\"\n  >\n    Estado del sistema\n  \u003C\u002Fp>\n\u003C\u002Ftemplate>\n",[160,289,294,304,313,161],[87,40699,40700,40710,40722,40726,40743,40759,40767,40771,40779,40786,40797,40803,40809,40815,40821,40825,40830,40838],{"__ignoreMap":163},[167,40701,40702,40704,40706,40708],{"class":169,"line":170},[167,40703,174],{"class":173},[167,40705,178],{"class":177},[167,40707,182],{"class":181},[167,40709,185],{"class":173},[167,40711,40712,40714,40716,40718,40720],{"class":169,"line":188},[167,40713,192],{"class":191},[167,40715,195],{"class":173},[167,40717,198],{"class":191},[167,40719,24037],{"class":201},[167,40721,24040],{"class":173},[167,40723,40724],{"class":169,"line":205},[167,40725,209],{"emptyLinePlaceholder":208},[167,40727,40729,40731,40733,40735,40737,40739,40741],{"class":40728,"line":160},[169,213],[167,40730,216],{"class":191},[167,40732,5782],{"class":219},[167,40734,223],{"class":191},[167,40736,226],{"class":181},[167,40738,229],{"class":173},[167,40740,390],{"class":219},[167,40742,24165],{"class":173},[167,40744,40745,40747,40749,40751,40753,40755,40757],{"class":169,"line":238},[167,40746,216],{"class":191},[167,40748,9482],{"class":219},[167,40750,223],{"class":191},[167,40752,226],{"class":181},[167,40754,229],{"class":173},[167,40756,3388],{"class":219},[167,40758,24165],{"class":173},[167,40760,40761,40763,40765],{"class":169,"line":243},[167,40762,282],{"class":173},[167,40764,178],{"class":177},[167,40766,185],{"class":173},[167,40768,40769],{"class":169,"line":261},[167,40770,209],{"emptyLinePlaceholder":208},[167,40772,40773,40775,40777],{"class":169,"line":273},[167,40774,174],{"class":173},[167,40776,299],{"class":177},[167,40778,185],{"class":173},[167,40780,40781,40783],{"class":169,"line":279},[167,40782,307],{"class":173},[167,40784,40785],{"class":177},"p\n",[167,40787,40789,40792,40794],{"class":40788,"line":289},[169,213],[167,40790,40791],{"class":181},"    :class",[167,40793,267],{"class":173},[167,40795,40796],{"class":201},"\"{\n",[167,40798,40800],{"class":40799,"line":294},[169,213],[167,40801,40802],{"class":201},"      'text-success': isActive,\n",[167,40804,40806],{"class":40805,"line":304},[169,213],[167,40807,40808],{"class":201},"      'text-danger': hasError,\n",[167,40810,40812],{"class":40811,"line":313},[169,213],[167,40813,40814],{"class":201},"      'text-muted': !isActive && !hasError,\n",[167,40816,40818],{"class":40817,"line":161},[169,213],[167,40819,40820],{"class":201},"    }\"\n",[167,40822,40823],{"class":169,"line":335},[167,40824,492],{"class":173},[167,40826,40827],{"class":169,"line":341},[167,40828,40829],{"class":173},"    Estado del sistema\n",[167,40831,40832,40834,40836],{"class":169,"line":489},[167,40833,504],{"class":173},[167,40835,15],{"class":177},[167,40837,185],{"class":173},[167,40839,40840,40842,40844],{"class":169,"line":495},[167,40841,282],{"class":173},[167,40843,299],{"class":177},[167,40845,185],{"class":173},[154,40847,40850],{"className":156,"code":40848,"filename":3969,"highlights":40849,"language":162,"meta":163,"style":163},"\u003Cscript>\nexport default {\n  data() {\n    return {\n      isActive: true,\n      hasError: false,\n    };\n  },\n};\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cp\n    :class=\"{\n      'text-success': isActive,\n      'text-danger': hasError,\n      'text-muted': !isActive && !hasError,\n    }\"\n  >\n    Estado del sistema\n  \u003C\u002Fp>\n\u003C\u002Ftemplate>\n",[238,313,161,335,341,489],[87,40851,40852,40860,40868,40874,40880,40890,40898,40902,40906,40910,40918,40922,40930,40937,40946,40951,40956,40961,40965,40969,40973,40981],{"__ignoreMap":163},[167,40853,40854,40856,40858],{"class":169,"line":170},[167,40855,174],{"class":173},[167,40857,178],{"class":177},[167,40859,185],{"class":173},[167,40861,40862,40864,40866],{"class":169,"line":188},[167,40863,608],{"class":191},[167,40865,3987],{"class":191},[167,40867,1901],{"class":173},[167,40869,40870,40872],{"class":169,"line":205},[167,40871,7172],{"class":181},[167,40873,763],{"class":173},[167,40875,40876,40878],{"class":169,"line":160},[167,40877,1933],{"class":191},[167,40879,1901],{"class":173},[167,40881,40883,40886,40888],{"class":40882,"line":238},[169,213],[167,40884,40885],{"class":173},"      isActive: ",[167,40887,390],{"class":219},[167,40889,393],{"class":173},[167,40891,40892,40894,40896],{"class":169,"line":243},[167,40893,10648],{"class":173},[167,40895,3388],{"class":219},[167,40897,393],{"class":173},[167,40899,40900],{"class":169,"line":261},[167,40901,24366],{"class":173},[167,40903,40904],{"class":169,"line":273},[167,40905,398],{"class":173},[167,40907,40908],{"class":169,"line":279},[167,40909,24144],{"class":173},[167,40911,40912,40914,40916],{"class":169,"line":289},[167,40913,282],{"class":173},[167,40915,178],{"class":177},[167,40917,185],{"class":173},[167,40919,40920],{"class":169,"line":294},[167,40921,209],{"emptyLinePlaceholder":208},[167,40923,40924,40926,40928],{"class":169,"line":304},[167,40925,174],{"class":173},[167,40927,299],{"class":177},[167,40929,185],{"class":173},[167,40931,40933,40935],{"class":40932,"line":313},[169,213],[167,40934,307],{"class":173},[167,40936,40785],{"class":177},[167,40938,40940,40942,40944],{"class":40939,"line":161},[169,213],[167,40941,40791],{"class":181},[167,40943,267],{"class":173},[167,40945,40796],{"class":201},[167,40947,40949],{"class":40948,"line":335},[169,213],[167,40950,40802],{"class":201},[167,40952,40954],{"class":40953,"line":341},[169,213],[167,40955,40808],{"class":201},[167,40957,40959],{"class":40958,"line":489},[169,213],[167,40960,40814],{"class":201},[167,40962,40963],{"class":169,"line":495},[167,40964,40820],{"class":201},[167,40966,40967],{"class":169,"line":501},[167,40968,492],{"class":173},[167,40970,40971],{"class":169,"line":512},[167,40972,40829],{"class":173},[167,40974,40975,40977,40979],{"class":169,"line":781},[167,40976,504],{"class":173},[167,40978,15],{"class":177},[167,40980,185],{"class":173},[167,40982,40983,40985,40987],{"class":169,"line":786},[167,40984,282],{"class":173},[167,40986,299],{"class":177},[167,40988,185],{"class":173},[3083,40990,32600,40992,40995],{"id":40991},"_4-v-bindstyle-dinámico-con-objeto",[87,40993,40994],{},"v-bind:style"," dinámico con objeto",[154,40997,41000],{"className":156,"code":40998,"filename":3256,"highlights":40999,"language":162,"meta":163,"style":163},"\u003Cscript setup>\nimport { ref } from \"vue\";\n\nconst fontSize = ref(16);\nconst textColor = ref(\"#1D5BA1\");\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cp :style=\"{ fontSize: `${fontSize}px`, color: textColor }\">\n    Texto con estilo reactivo\n  \u003C\u002Fp>\n\u003C\u002Ftemplate>\n",[160,238,279],[87,41001,41002,41012,41024,41028,41047,41066,41074,41078,41086,41102,41107,41115],{"__ignoreMap":163},[167,41003,41004,41006,41008,41010],{"class":169,"line":170},[167,41005,174],{"class":173},[167,41007,178],{"class":177},[167,41009,182],{"class":181},[167,41011,185],{"class":173},[167,41013,41014,41016,41018,41020,41022],{"class":169,"line":188},[167,41015,192],{"class":191},[167,41017,195],{"class":173},[167,41019,198],{"class":191},[167,41021,24037],{"class":201},[167,41023,24040],{"class":173},[167,41025,41026],{"class":169,"line":205},[167,41027,209],{"emptyLinePlaceholder":208},[167,41029,41031,41033,41036,41038,41040,41042,41045],{"class":41030,"line":160},[169,213],[167,41032,216],{"class":191},[167,41034,41035],{"class":219}," fontSize",[167,41037,223],{"class":191},[167,41039,226],{"class":181},[167,41041,229],{"class":173},[167,41043,41044],{"class":219},"16",[167,41046,24165],{"class":173},[167,41048,41050,41052,41055,41057,41059,41061,41064],{"class":41049,"line":238},[169,213],[167,41051,216],{"class":191},[167,41053,41054],{"class":219}," textColor",[167,41056,223],{"class":191},[167,41058,226],{"class":181},[167,41060,229],{"class":173},[167,41062,41063],{"class":201},"\"#1D5BA1\"",[167,41065,24165],{"class":173},[167,41067,41068,41070,41072],{"class":169,"line":243},[167,41069,282],{"class":173},[167,41071,178],{"class":177},[167,41073,185],{"class":173},[167,41075,41076],{"class":169,"line":261},[167,41077,209],{"emptyLinePlaceholder":208},[167,41079,41080,41082,41084],{"class":169,"line":273},[167,41081,174],{"class":173},[167,41083,299],{"class":177},[167,41085,185],{"class":173},[167,41087,41089,41091,41093,41095,41097,41100],{"class":41088,"line":279},[169,213],[167,41090,307],{"class":173},[167,41092,15],{"class":177},[167,41094,39098],{"class":181},[167,41096,267],{"class":173},[167,41098,41099],{"class":201},"\"{ fontSize: `${fontSize}px`, color: textColor }\"",[167,41101,185],{"class":173},[167,41103,41104],{"class":169,"line":289},[167,41105,41106],{"class":173},"    Texto con estilo reactivo\n",[167,41108,41109,41111,41113],{"class":169,"line":294},[167,41110,504],{"class":173},[167,41112,15],{"class":177},[167,41114,185],{"class":173},[167,41116,41117,41119,41121],{"class":169,"line":304},[167,41118,282],{"class":173},[167,41120,299],{"class":177},[167,41122,185],{"class":173},[154,41124,41127],{"className":156,"code":41125,"filename":3969,"highlights":41126,"language":162,"meta":163,"style":163},"\u003Cscript>\nexport default {\n  data() {\n    return {\n      fontSize: 16,\n      textColor: \"#1D5BA1\",\n    };\n  },\n};\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cp :style=\"{ fontSize: `${fontSize}px`, color: textColor }\">\n    Texto con estilo reactivo\n  \u003C\u002Fp>\n\u003C\u002Ftemplate>\n",[238,243,313],[87,41128,41129,41137,41145,41151,41157,41167,41177,41181,41185,41189,41197,41201,41209,41224,41228,41236],{"__ignoreMap":163},[167,41130,41131,41133,41135],{"class":169,"line":170},[167,41132,174],{"class":173},[167,41134,178],{"class":177},[167,41136,185],{"class":173},[167,41138,41139,41141,41143],{"class":169,"line":188},[167,41140,608],{"class":191},[167,41142,3987],{"class":191},[167,41144,1901],{"class":173},[167,41146,41147,41149],{"class":169,"line":205},[167,41148,7172],{"class":181},[167,41150,763],{"class":173},[167,41152,41153,41155],{"class":169,"line":160},[167,41154,1933],{"class":191},[167,41156,1901],{"class":173},[167,41158,41160,41163,41165],{"class":41159,"line":238},[169,213],[167,41161,41162],{"class":173},"      fontSize: ",[167,41164,41044],{"class":219},[167,41166,393],{"class":173},[167,41168,41170,41173,41175],{"class":41169,"line":243},[169,213],[167,41171,41172],{"class":173},"      textColor: ",[167,41174,41063],{"class":201},[167,41176,393],{"class":173},[167,41178,41179],{"class":169,"line":261},[167,41180,24366],{"class":173},[167,41182,41183],{"class":169,"line":273},[167,41184,398],{"class":173},[167,41186,41187],{"class":169,"line":279},[167,41188,24144],{"class":173},[167,41190,41191,41193,41195],{"class":169,"line":289},[167,41192,282],{"class":173},[167,41194,178],{"class":177},[167,41196,185],{"class":173},[167,41198,41199],{"class":169,"line":294},[167,41200,209],{"emptyLinePlaceholder":208},[167,41202,41203,41205,41207],{"class":169,"line":304},[167,41204,174],{"class":173},[167,41206,299],{"class":177},[167,41208,185],{"class":173},[167,41210,41212,41214,41216,41218,41220,41222],{"class":41211,"line":313},[169,213],[167,41213,307],{"class":173},[167,41215,15],{"class":177},[167,41217,39098],{"class":181},[167,41219,267],{"class":173},[167,41221,41099],{"class":201},[167,41223,185],{"class":173},[167,41225,41226],{"class":169,"line":161},[167,41227,41106],{"class":173},[167,41229,41230,41232,41234],{"class":169,"line":335},[167,41231,504],{"class":173},[167,41233,15],{"class":177},[167,41235,185],{"class":173},[167,41237,41238,41240,41242],{"class":169,"line":341},[167,41239,282],{"class":173},[167,41241,299],{"class":177},[167,41243,185],{"class":173},[3083,41245,41247,41248],{"id":41246},"_5-argumento-dinámico-attrnamevalue","5) Argumento dinámico: ",[87,41249,39927],{},[15,41251,41252],{},"Útil cuando el nombre del atributo también depende del estado.",[154,41254,41257],{"className":156,"code":41255,"filename":3256,"highlights":41256,"language":162,"meta":163,"style":163},"\u003Cscript setup>\nimport { ref } from \"vue\";\n\nconst attrName = ref(\"title\");\nconst attrValue = ref(\"Tooltip dinámico\");\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cbutton :[attrName]=\"attrValue\">Hover me\u003C\u002Fbutton>\n\u003C\u002Ftemplate>\n",[160,238,279],[87,41258,41259,41269,41281,41285,41304,41323,41331,41335,41343,41365],{"__ignoreMap":163},[167,41260,41261,41263,41265,41267],{"class":169,"line":170},[167,41262,174],{"class":173},[167,41264,178],{"class":177},[167,41266,182],{"class":181},[167,41268,185],{"class":173},[167,41270,41271,41273,41275,41277,41279],{"class":169,"line":188},[167,41272,192],{"class":191},[167,41274,195],{"class":173},[167,41276,198],{"class":191},[167,41278,24037],{"class":201},[167,41280,24040],{"class":173},[167,41282,41283],{"class":169,"line":205},[167,41284,209],{"emptyLinePlaceholder":208},[167,41286,41288,41290,41293,41295,41297,41299,41302],{"class":41287,"line":160},[169,213],[167,41289,216],{"class":191},[167,41291,41292],{"class":219}," attrName",[167,41294,223],{"class":191},[167,41296,226],{"class":181},[167,41298,229],{"class":173},[167,41300,41301],{"class":201},"\"title\"",[167,41303,24165],{"class":173},[167,41305,41307,41309,41312,41314,41316,41318,41321],{"class":41306,"line":238},[169,213],[167,41308,216],{"class":191},[167,41310,41311],{"class":219}," attrValue",[167,41313,223],{"class":191},[167,41315,226],{"class":181},[167,41317,229],{"class":173},[167,41319,41320],{"class":201},"\"Tooltip dinámico\"",[167,41322,24165],{"class":173},[167,41324,41325,41327,41329],{"class":169,"line":243},[167,41326,282],{"class":173},[167,41328,178],{"class":177},[167,41330,185],{"class":173},[167,41332,41333],{"class":169,"line":261},[167,41334,209],{"emptyLinePlaceholder":208},[167,41336,41337,41339,41341],{"class":169,"line":273},[167,41338,174],{"class":173},[167,41340,299],{"class":177},[167,41342,185],{"class":173},[167,41344,41346,41348,41350,41353,41355,41358,41361,41363],{"class":41345,"line":279},[169,213],[167,41347,307],{"class":173},[167,41349,507],{"class":177},[167,41351,41352],{"class":181}," :[attrName]",[167,41354,267],{"class":173},[167,41356,41357],{"class":201},"\"attrValue\"",[167,41359,41360],{"class":173},">Hover me\u003C\u002F",[167,41362,507],{"class":177},[167,41364,185],{"class":173},[167,41366,41367,41369,41371],{"class":169,"line":289},[167,41368,282],{"class":173},[167,41370,299],{"class":177},[167,41372,185],{"class":173},[154,41374,41377],{"className":156,"code":41375,"filename":3969,"highlights":41376,"language":162,"meta":163,"style":163},"\u003Cscript>\nexport default {\n  data() {\n    return {\n      attrName: \"title\",\n      attrValue: \"Tooltip dinámico\",\n    };\n  },\n};\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cbutton :[attrName]=\"attrValue\">Hover me\u003C\u002Fbutton>\n\u003C\u002Ftemplate>\n",[238,243,313],[87,41378,41379,41387,41395,41401,41407,41417,41427,41431,41435,41439,41447,41451,41459,41478],{"__ignoreMap":163},[167,41380,41381,41383,41385],{"class":169,"line":170},[167,41382,174],{"class":173},[167,41384,178],{"class":177},[167,41386,185],{"class":173},[167,41388,41389,41391,41393],{"class":169,"line":188},[167,41390,608],{"class":191},[167,41392,3987],{"class":191},[167,41394,1901],{"class":173},[167,41396,41397,41399],{"class":169,"line":205},[167,41398,7172],{"class":181},[167,41400,763],{"class":173},[167,41402,41403,41405],{"class":169,"line":160},[167,41404,1933],{"class":191},[167,41406,1901],{"class":173},[167,41408,41410,41413,41415],{"class":41409,"line":238},[169,213],[167,41411,41412],{"class":173},"      attrName: ",[167,41414,41301],{"class":201},[167,41416,393],{"class":173},[167,41418,41420,41423,41425],{"class":41419,"line":243},[169,213],[167,41421,41422],{"class":173},"      attrValue: ",[167,41424,41320],{"class":201},[167,41426,393],{"class":173},[167,41428,41429],{"class":169,"line":261},[167,41430,24366],{"class":173},[167,41432,41433],{"class":169,"line":273},[167,41434,398],{"class":173},[167,41436,41437],{"class":169,"line":279},[167,41438,24144],{"class":173},[167,41440,41441,41443,41445],{"class":169,"line":289},[167,41442,282],{"class":173},[167,41444,178],{"class":177},[167,41446,185],{"class":173},[167,41448,41449],{"class":169,"line":294},[167,41450,209],{"emptyLinePlaceholder":208},[167,41452,41453,41455,41457],{"class":169,"line":304},[167,41454,174],{"class":173},[167,41456,299],{"class":177},[167,41458,185],{"class":173},[167,41460,41462,41464,41466,41468,41470,41472,41474,41476],{"class":41461,"line":313},[169,213],[167,41463,307],{"class":173},[167,41465,507],{"class":177},[167,41467,41352],{"class":181},[167,41469,267],{"class":173},[167,41471,41357],{"class":201},[167,41473,41360],{"class":173},[167,41475,507],{"class":177},[167,41477,185],{"class":173},[167,41479,41480,41482,41484],{"class":169,"line":161},[167,41481,282],{"class":173},[167,41483,299],{"class":177},[167,41485,185],{"class":173},[3083,41487,41489,41490,41493],{"id":41488},"_6-v-bindobj-para-pasar-múltiples-atributos-o-props","6) ",[87,41491,41492],{},"v-bind=\"obj\""," para pasar múltiples atributos o props",[154,41495,41498],{"className":156,"code":41496,"filename":3256,"highlights":41497,"language":162,"meta":163,"style":163},"\u003Cscript setup>\nimport { ref } from \"vue\";\n\nconst inputAttrs = ref({\n  id: \"email\",\n  type: \"email\",\n  placeholder: \"tu@email.com\",\n  autocomplete: \"email\",\n  required: true,\n});\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cinput v-bind=\"inputAttrs\" \u002F>\n\u003C\u002Ftemplate>\n",[160,238,243,261,273,279,289,161],[87,41499,41500,41510,41522,41526,41540,41550,41560,41570,41580,41590,41595,41603,41607,41615,41631],{"__ignoreMap":163},[167,41501,41502,41504,41506,41508],{"class":169,"line":170},[167,41503,174],{"class":173},[167,41505,178],{"class":177},[167,41507,182],{"class":181},[167,41509,185],{"class":173},[167,41511,41512,41514,41516,41518,41520],{"class":169,"line":188},[167,41513,192],{"class":191},[167,41515,195],{"class":173},[167,41517,198],{"class":191},[167,41519,24037],{"class":201},[167,41521,24040],{"class":173},[167,41523,41524],{"class":169,"line":205},[167,41525,209],{"emptyLinePlaceholder":208},[167,41527,41529,41531,41534,41536,41538],{"class":41528,"line":160},[169,213],[167,41530,216],{"class":191},[167,41532,41533],{"class":219}," inputAttrs",[167,41535,223],{"class":191},[167,41537,226],{"class":181},[167,41539,372],{"class":173},[167,41541,41543,41546,41548],{"class":41542,"line":238},[169,213],[167,41544,41545],{"class":173},"  id: ",[167,41547,37703],{"class":201},[167,41549,393],{"class":173},[167,41551,41553,41556,41558],{"class":41552,"line":243},[169,213],[167,41554,41555],{"class":173},"  type: ",[167,41557,37703],{"class":201},[167,41559,393],{"class":173},[167,41561,41563,41566,41568],{"class":41562,"line":261},[169,213],[167,41564,41565],{"class":173},"  placeholder: ",[167,41567,37716],{"class":201},[167,41569,393],{"class":173},[167,41571,41573,41576,41578],{"class":41572,"line":273},[169,213],[167,41574,41575],{"class":173},"  autocomplete: ",[167,41577,37703],{"class":201},[167,41579,393],{"class":173},[167,41581,41583,41586,41588],{"class":41582,"line":279},[169,213],[167,41584,41585],{"class":173},"  required: ",[167,41587,390],{"class":219},[167,41589,393],{"class":173},[167,41591,41593],{"class":41592,"line":289},[169,213],[167,41594,27323],{"class":173},[167,41596,41597,41599,41601],{"class":169,"line":294},[167,41598,282],{"class":173},[167,41600,178],{"class":177},[167,41602,185],{"class":173},[167,41604,41605],{"class":169,"line":304},[167,41606,209],{"emptyLinePlaceholder":208},[167,41608,41609,41611,41613],{"class":169,"line":313},[167,41610,174],{"class":173},[167,41612,299],{"class":177},[167,41614,185],{"class":173},[167,41616,41618,41620,41622,41624,41626,41629],{"class":41617,"line":161},[169,213],[167,41619,307],{"class":173},[167,41621,2646],{"class":177},[167,41623,39830],{"class":181},[167,41625,267],{"class":173},[167,41627,41628],{"class":201},"\"inputAttrs\"",[167,41630,5321],{"class":173},[167,41632,41633,41635,41637],{"class":169,"line":335},[167,41634,282],{"class":173},[167,41636,299],{"class":177},[167,41638,185],{"class":173},[154,41640,41643],{"className":156,"code":41641,"filename":3969,"highlights":41642,"language":162,"meta":163,"style":163},"\u003Cscript>\nexport default {\n  data() {\n    return {\n      inputAttrs: {\n        id: \"email\",\n        type: \"email\",\n        placeholder: \"tu@email.com\",\n        autocomplete: \"email\",\n        required: true,\n      },\n    };\n  },\n};\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cinput v-bind=\"inputAttrs\" \u002F>\n\u003C\u002Ftemplate>\n",[238,243,261,273,279,289,294,495],[87,41644,41645,41653,41661,41667,41673,41679,41689,41699,41709,41719,41729,41734,41738,41742,41746,41754,41758,41766,41781],{"__ignoreMap":163},[167,41646,41647,41649,41651],{"class":169,"line":170},[167,41648,174],{"class":173},[167,41650,178],{"class":177},[167,41652,185],{"class":173},[167,41654,41655,41657,41659],{"class":169,"line":188},[167,41656,608],{"class":191},[167,41658,3987],{"class":191},[167,41660,1901],{"class":173},[167,41662,41663,41665],{"class":169,"line":205},[167,41664,7172],{"class":181},[167,41666,763],{"class":173},[167,41668,41669,41671],{"class":169,"line":160},[167,41670,1933],{"class":191},[167,41672,1901],{"class":173},[167,41674,41676],{"class":41675,"line":238},[169,213],[167,41677,41678],{"class":173},"      inputAttrs: {\n",[167,41680,41682,41685,41687],{"class":41681,"line":243},[169,213],[167,41683,41684],{"class":173},"        id: ",[167,41686,37703],{"class":201},[167,41688,393],{"class":173},[167,41690,41692,41695,41697],{"class":41691,"line":261},[169,213],[167,41693,41694],{"class":173},"        type: ",[167,41696,37703],{"class":201},[167,41698,393],{"class":173},[167,41700,41702,41705,41707],{"class":41701,"line":273},[169,213],[167,41703,41704],{"class":173},"        placeholder: ",[167,41706,37716],{"class":201},[167,41708,393],{"class":173},[167,41710,41712,41715,41717],{"class":41711,"line":279},[169,213],[167,41713,41714],{"class":173},"        autocomplete: ",[167,41716,37703],{"class":201},[167,41718,393],{"class":173},[167,41720,41722,41725,41727],{"class":41721,"line":289},[169,213],[167,41723,41724],{"class":173},"        required: ",[167,41726,390],{"class":219},[167,41728,393],{"class":173},[167,41730,41732],{"class":41731,"line":294},[169,213],[167,41733,8638],{"class":173},[167,41735,41736],{"class":169,"line":304},[167,41737,24366],{"class":173},[167,41739,41740],{"class":169,"line":313},[167,41741,398],{"class":173},[167,41743,41744],{"class":169,"line":161},[167,41745,24144],{"class":173},[167,41747,41748,41750,41752],{"class":169,"line":335},[167,41749,282],{"class":173},[167,41751,178],{"class":177},[167,41753,185],{"class":173},[167,41755,41756],{"class":169,"line":341},[167,41757,209],{"emptyLinePlaceholder":208},[167,41759,41760,41762,41764],{"class":169,"line":489},[167,41761,174],{"class":173},[167,41763,299],{"class":177},[167,41765,185],{"class":173},[167,41767,41769,41771,41773,41775,41777,41779],{"class":41768,"line":495},[169,213],[167,41770,307],{"class":173},[167,41772,2646],{"class":177},[167,41774,39830],{"class":181},[167,41776,267],{"class":173},[167,41778,41628],{"class":201},[167,41780,5321],{"class":173},[167,41782,41783,41785,41787],{"class":169,"line":501},[167,41784,282],{"class":173},[167,41786,299],{"class":177},[167,41788,185],{"class":173},[5363,41790,41791],{},[15,41792,41793,41795],{},[87,41794,41492],{}," también es común para forwarding de props en componentes base.",[22,41797,41799],{"id":41798},"ejemplo-integrado","Ejemplo integrado",[15,41801,41802,41803,41805],{},"Formulario simple con ",[87,41804,23864],{}," para atributos, clases y estado.",[154,41807,41809],{"className":156,"code":41808,"filename":3256,"language":162,"meta":163,"style":163},"\u003Cscript setup>\nimport { computed, ref } from \"vue\";\n\nconst email = ref(\"\");\nconst isSubmitting = ref(false);\nconst hasError = ref(false);\n\nconst inputAttrs = computed(() => ({\n  type: \"email\",\n  placeholder: \"Ingresa tu correo\",\n  autocomplete: \"email\",\n  required: true,\n}));\n\nconst buttonClass = computed(() => ({\n  \"btn-primary\": !isSubmitting.value,\n  \"btn-disabled\": isSubmitting.value,\n}));\n\nfunction submit() {\n  hasError.value = email.value.trim() === \"\";\n  if (hasError.value) return;\n  isSubmitting.value = true;\n  setTimeout(() => {\n    isSubmitting.value = false;\n  }, 1000);\n}\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cform @submit.prevent=\"submit\">\n    \u003Cinput v-bind=\"inputAttrs\" v-model=\"email\" :class=\"{ 'input-error': hasError }\" \u002F>\n\n    \u003Cbutton :disabled=\"isSubmitting\" :class=\"buttonClass\">\n      {{ isSubmitting ? \"Enviando...\" : \"Enviar\" }}\n    \u003C\u002Fbutton>\n\n    \u003Cp :style=\"{ color: hasError ? '#E74C3C' : '#2ECC71' }\">\n      {{ hasError ? \"El correo es obligatorio.\" : \"Listo para enviar.\" }}\n    \u003C\u002Fp>\n  \u003C\u002Fform>\n\u003C\u002Ftemplate>\n",[87,41810,41811,41821,41833,41837,41853,41870,41886,41890,41906,41914,41923,41931,41939,41944,41948,41965,41977,41985,41989,41993,42002,42021,42032,42043,42054,42065,42073,42077,42085,42089,42097,42111,42139,42143,42165,42170,42178,42182,42197,42202,42210,42218],{"__ignoreMap":163},[167,41812,41813,41815,41817,41819],{"class":169,"line":170},[167,41814,174],{"class":173},[167,41816,178],{"class":177},[167,41818,182],{"class":181},[167,41820,185],{"class":173},[167,41822,41823,41825,41827,41829,41831],{"class":169,"line":188},[167,41824,192],{"class":191},[167,41826,1801],{"class":173},[167,41828,198],{"class":191},[167,41830,24037],{"class":201},[167,41832,24040],{"class":173},[167,41834,41835],{"class":169,"line":205},[167,41836,209],{"emptyLinePlaceholder":208},[167,41838,41839,41841,41843,41845,41847,41849,41851],{"class":169,"line":160},[167,41840,216],{"class":191},[167,41842,37594],{"class":219},[167,41844,223],{"class":191},[167,41846,226],{"class":181},[167,41848,229],{"class":173},[167,41850,31157],{"class":201},[167,41852,24165],{"class":173},[167,41854,41855,41857,41860,41862,41864,41866,41868],{"class":169,"line":238},[167,41856,216],{"class":191},[167,41858,41859],{"class":219}," isSubmitting",[167,41861,223],{"class":191},[167,41863,226],{"class":181},[167,41865,229],{"class":173},[167,41867,3388],{"class":219},[167,41869,24165],{"class":173},[167,41871,41872,41874,41876,41878,41880,41882,41884],{"class":169,"line":243},[167,41873,216],{"class":191},[167,41875,9482],{"class":219},[167,41877,223],{"class":191},[167,41879,226],{"class":181},[167,41881,229],{"class":173},[167,41883,3388],{"class":219},[167,41885,24165],{"class":173},[167,41887,41888],{"class":169,"line":261},[167,41889,209],{"emptyLinePlaceholder":208},[167,41891,41892,41894,41896,41898,41900,41902,41904],{"class":169,"line":273},[167,41893,216],{"class":191},[167,41895,41533],{"class":219},[167,41897,223],{"class":191},[167,41899,1894],{"class":181},[167,41901,1488],{"class":173},[167,41903,639],{"class":191},[167,41905,642],{"class":173},[167,41907,41908,41910,41912],{"class":169,"line":279},[167,41909,41555],{"class":173},[167,41911,37703],{"class":201},[167,41913,393],{"class":173},[167,41915,41916,41918,41921],{"class":169,"line":289},[167,41917,41565],{"class":173},[167,41919,41920],{"class":201},"\"Ingresa tu correo\"",[167,41922,393],{"class":173},[167,41924,41925,41927,41929],{"class":169,"line":294},[167,41926,41575],{"class":173},[167,41928,37703],{"class":201},[167,41930,393],{"class":173},[167,41932,41933,41935,41937],{"class":169,"line":304},[167,41934,41585],{"class":173},[167,41936,390],{"class":219},[167,41938,393],{"class":173},[167,41940,41941],{"class":169,"line":313},[167,41942,41943],{"class":173},"}));\n",[167,41945,41946],{"class":169,"line":161},[167,41947,209],{"emptyLinePlaceholder":208},[167,41949,41950,41952,41955,41957,41959,41961,41963],{"class":169,"line":335},[167,41951,216],{"class":191},[167,41953,41954],{"class":219}," buttonClass",[167,41956,223],{"class":191},[167,41958,1894],{"class":181},[167,41960,1488],{"class":173},[167,41962,639],{"class":191},[167,41964,642],{"class":173},[167,41966,41967,41970,41972,41974],{"class":169,"line":341},[167,41968,41969],{"class":201},"  \"btn-primary\"",[167,41971,1103],{"class":173},[167,41973,6637],{"class":191},[167,41975,41976],{"class":173},"isSubmitting.value,\n",[167,41978,41979,41982],{"class":169,"line":489},[167,41980,41981],{"class":201},"  \"btn-disabled\"",[167,41983,41984],{"class":173},": isSubmitting.value,\n",[167,41986,41987],{"class":169,"line":495},[167,41988,41943],{"class":173},[167,41990,41991],{"class":169,"line":501},[167,41992,209],{"emptyLinePlaceholder":208},[167,41994,41995,41997,42000],{"class":169,"line":512},[167,41996,246],{"class":191},[167,41998,41999],{"class":181}," submit",[167,42001,763],{"class":173},[167,42003,42004,42006,42008,42011,42013,42015,42017,42019],{"class":169,"line":781},[167,42005,9939],{"class":173},[167,42007,267],{"class":191},[167,42009,42010],{"class":173}," email.value.",[167,42012,2496],{"class":181},[167,42014,14083],{"class":173},[167,42016,2546],{"class":191},[167,42018,38795],{"class":201},[167,42020,24040],{"class":173},[167,42022,42023,42025,42028,42030],{"class":169,"line":786},[167,42024,2540],{"class":191},[167,42026,42027],{"class":173}," (hasError.value) ",[167,42029,24234],{"class":191},[167,42031,24040],{"class":173},[167,42033,42034,42037,42039,42041],{"class":169,"line":2674},[167,42035,42036],{"class":173},"  isSubmitting.value ",[167,42038,267],{"class":191},[167,42040,26314],{"class":219},[167,42042,24040],{"class":173},[167,42044,42045,42048,42050,42052],{"class":169,"line":2688},[167,42046,42047],{"class":181},"  setTimeout",[167,42049,1488],{"class":173},[167,42051,639],{"class":191},[167,42053,1901],{"class":173},[167,42055,42056,42059,42061,42063],{"class":169,"line":3571},[167,42057,42058],{"class":173},"    isSubmitting.value ",[167,42060,267],{"class":191},[167,42062,5773],{"class":219},[167,42064,24040],{"class":173},[167,42066,42067,42069,42071],{"class":169,"line":5024},[167,42068,1953],{"class":173},[167,42070,17176],{"class":219},[167,42072,24165],{"class":173},[167,42074,42075],{"class":169,"line":5033},[167,42076,276],{"class":173},[167,42078,42079,42081,42083],{"class":169,"line":5042},[167,42080,282],{"class":173},[167,42082,178],{"class":177},[167,42084,185],{"class":173},[167,42086,42087],{"class":169,"line":6752},[167,42088,209],{"emptyLinePlaceholder":208},[167,42090,42091,42093,42095],{"class":169,"line":6774},[167,42092,174],{"class":173},[167,42094,299],{"class":177},[167,42096,185],{"class":173},[167,42098,42099,42101,42103,42105,42107,42109],{"class":169,"line":6779},[167,42100,307],{"class":173},[167,42102,4301],{"class":177},[167,42104,4304],{"class":181},[167,42106,267],{"class":173},[167,42108,4344],{"class":201},[167,42110,185],{"class":173},[167,42112,42113,42115,42117,42119,42121,42123,42125,42127,42129,42132,42134,42137],{"class":169,"line":6784},[167,42114,1252],{"class":173},[167,42116,2646],{"class":177},[167,42118,39830],{"class":181},[167,42120,267],{"class":173},[167,42122,41628],{"class":201},[167,42124,2649],{"class":181},[167,42126,267],{"class":173},[167,42128,37703],{"class":201},[167,42130,42131],{"class":181}," :class",[167,42133,267],{"class":173},[167,42135,42136],{"class":201},"\"{ 'input-error': hasError }\"",[167,42138,5321],{"class":173},[167,42140,42141],{"class":169,"line":6789},[167,42142,209],{"emptyLinePlaceholder":208},[167,42144,42145,42147,42149,42151,42153,42156,42158,42160,42163],{"class":169,"line":6805},[167,42146,1252],{"class":173},[167,42148,507],{"class":177},[167,42150,40546],{"class":181},[167,42152,267],{"class":173},[167,42154,42155],{"class":201},"\"isSubmitting\"",[167,42157,42131],{"class":181},[167,42159,267],{"class":173},[167,42161,42162],{"class":201},"\"buttonClass\"",[167,42164,185],{"class":173},[167,42166,42167],{"class":169,"line":6820},[167,42168,42169],{"class":173},"      {{ isSubmitting ? \"Enviando...\" : \"Enviar\" }}\n",[167,42171,42172,42174,42176],{"class":169,"line":6825},[167,42173,1287],{"class":173},[167,42175,507],{"class":177},[167,42177,185],{"class":173},[167,42179,42180],{"class":169,"line":6832},[167,42181,209],{"emptyLinePlaceholder":208},[167,42183,42184,42186,42188,42190,42192,42195],{"class":169,"line":6841},[167,42185,1252],{"class":173},[167,42187,15],{"class":177},[167,42189,39098],{"class":181},[167,42191,267],{"class":173},[167,42193,42194],{"class":201},"\"{ color: hasError ? '#E74C3C' : '#2ECC71' }\"",[167,42196,185],{"class":173},[167,42198,42199],{"class":169,"line":6850},[167,42200,42201],{"class":173},"      {{ hasError ? \"El correo es obligatorio.\" : \"Listo para enviar.\" }}\n",[167,42203,42204,42206,42208],{"class":169,"line":6857},[167,42205,1287],{"class":173},[167,42207,15],{"class":177},[167,42209,185],{"class":173},[167,42211,42212,42214,42216],{"class":169,"line":6875},[167,42213,504],{"class":173},[167,42215,4301],{"class":177},[167,42217,185],{"class":173},[167,42219,42220,42222,42224],{"class":169,"line":6880},[167,42221,282],{"class":173},[167,42223,299],{"class":177},[167,42225,185],{"class":173},[154,42227,42229],{"className":156,"code":42228,"filename":3969,"language":162,"meta":163,"style":163},"\u003Cscript>\nexport default {\n  data() {\n    return {\n      email: \"\",\n      isSubmitting: false,\n      hasError: false,\n    };\n  },\n  computed: {\n    inputAttrs() {\n      return {\n        type: \"email\",\n        placeholder: \"Ingresa tu correo\",\n        autocomplete: \"email\",\n        required: true,\n      };\n    },\n    buttonClass() {\n      return {\n        \"btn-primary\": !this.isSubmitting,\n        \"btn-disabled\": this.isSubmitting,\n      };\n    },\n  },\n  methods: {\n    submit() {\n      this.hasError = this.email.trim() === \"\";\n      if (this.hasError) return;\n      this.isSubmitting = true;\n      setTimeout(() => {\n        this.isSubmitting = false;\n      }, 1000);\n    },\n  },\n};\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cform @submit.prevent=\"submit\">\n    \u003Cinput v-bind=\"inputAttrs\" v-model=\"email\" :class=\"{ 'input-error': hasError }\" \u002F>\n\n    \u003Cbutton :disabled=\"isSubmitting\" :class=\"buttonClass\">\n      {{ isSubmitting ? \"Enviando...\" : \"Enviar\" }}\n    \u003C\u002Fbutton>\n\n    \u003Cp :style=\"{ color: hasError ? '#E74C3C' : '#2ECC71' }\">\n      {{ hasError ? \"El correo es obligatorio.\" : \"Listo para enviar.\" }}\n    \u003C\u002Fp>\n  \u003C\u002Fform>\n\u003C\u002Ftemplate>\n",[87,42230,42231,42239,42247,42253,42259,42267,42276,42284,42288,42292,42296,42303,42309,42317,42325,42333,42341,42346,42350,42357,42363,42377,42388,42392,42396,42400,42404,42411,42433,42448,42461,42472,42484,42492,42496,42500,42504,42512,42516,42524,42538,42564,42568,42588,42592,42600,42604,42618,42622,42630,42638],{"__ignoreMap":163},[167,42232,42233,42235,42237],{"class":169,"line":170},[167,42234,174],{"class":173},[167,42236,178],{"class":177},[167,42238,185],{"class":173},[167,42240,42241,42243,42245],{"class":169,"line":188},[167,42242,608],{"class":191},[167,42244,3987],{"class":191},[167,42246,1901],{"class":173},[167,42248,42249,42251],{"class":169,"line":205},[167,42250,7172],{"class":181},[167,42252,763],{"class":173},[167,42254,42255,42257],{"class":169,"line":160},[167,42256,1933],{"class":191},[167,42258,1901],{"class":173},[167,42260,42261,42263,42265],{"class":169,"line":238},[167,42262,37798],{"class":173},[167,42264,31157],{"class":201},[167,42266,393],{"class":173},[167,42268,42269,42272,42274],{"class":169,"line":243},[167,42270,42271],{"class":173},"      isSubmitting: ",[167,42273,3388],{"class":219},[167,42275,393],{"class":173},[167,42277,42278,42280,42282],{"class":169,"line":261},[167,42279,10648],{"class":173},[167,42281,3388],{"class":219},[167,42283,393],{"class":173},[167,42285,42286],{"class":169,"line":273},[167,42287,24366],{"class":173},[167,42289,42290],{"class":169,"line":279},[167,42291,398],{"class":173},[167,42293,42294],{"class":169,"line":289},[167,42295,8751],{"class":173},[167,42297,42298,42301],{"class":169,"line":294},[167,42299,42300],{"class":181},"    inputAttrs",[167,42302,763],{"class":173},[167,42304,42305,42307],{"class":169,"line":304},[167,42306,8763],{"class":191},[167,42308,1901],{"class":173},[167,42310,42311,42313,42315],{"class":169,"line":313},[167,42312,41694],{"class":173},[167,42314,37703],{"class":201},[167,42316,393],{"class":173},[167,42318,42319,42321,42323],{"class":169,"line":161},[167,42320,41704],{"class":173},[167,42322,41920],{"class":201},[167,42324,393],{"class":173},[167,42326,42327,42329,42331],{"class":169,"line":335},[167,42328,41714],{"class":173},[167,42330,37703],{"class":201},[167,42332,393],{"class":173},[167,42334,42335,42337,42339],{"class":169,"line":341},[167,42336,41724],{"class":173},[167,42338,390],{"class":219},[167,42340,393],{"class":173},[167,42342,42343],{"class":169,"line":489},[167,42344,42345],{"class":173},"      };\n",[167,42347,42348],{"class":169,"line":495},[167,42349,755],{"class":173},[167,42351,42352,42355],{"class":169,"line":501},[167,42353,42354],{"class":181},"    buttonClass",[167,42356,763],{"class":173},[167,42358,42359,42361],{"class":169,"line":512},[167,42360,8763],{"class":191},[167,42362,1901],{"class":173},[167,42364,42365,42368,42370,42372,42374],{"class":169,"line":781},[167,42366,42367],{"class":201},"        \"btn-primary\"",[167,42369,1103],{"class":173},[167,42371,6637],{"class":191},[167,42373,4923],{"class":219},[167,42375,42376],{"class":173},".isSubmitting,\n",[167,42378,42379,42382,42384,42386],{"class":169,"line":786},[167,42380,42381],{"class":201},"        \"btn-disabled\"",[167,42383,1103],{"class":173},[167,42385,4923],{"class":219},[167,42387,42376],{"class":173},[167,42389,42390],{"class":169,"line":2674},[167,42391,42345],{"class":173},[167,42393,42394],{"class":169,"line":2688},[167,42395,755],{"class":173},[167,42397,42398],{"class":169,"line":3571},[167,42399,398],{"class":173},[167,42401,42402],{"class":169,"line":5024},[167,42403,4415],{"class":173},[167,42405,42406,42409],{"class":169,"line":5033},[167,42407,42408],{"class":181},"    submit",[167,42410,763],{"class":173},[167,42412,42413,42415,42417,42419,42421,42423,42425,42427,42429,42431],{"class":169,"line":5042},[167,42414,741],{"class":219},[167,42416,10711],{"class":173},[167,42418,267],{"class":191},[167,42420,7347],{"class":219},[167,42422,37834],{"class":173},[167,42424,2496],{"class":181},[167,42426,14083],{"class":173},[167,42428,2546],{"class":191},[167,42430,38795],{"class":201},[167,42432,24040],{"class":173},[167,42434,42435,42437,42439,42441,42444,42446],{"class":169,"line":6752},[167,42436,7257],{"class":191},[167,42438,2522],{"class":173},[167,42440,4923],{"class":219},[167,42442,42443],{"class":173},".hasError) ",[167,42445,24234],{"class":191},[167,42447,24040],{"class":173},[167,42449,42450,42452,42455,42457,42459],{"class":169,"line":6774},[167,42451,741],{"class":219},[167,42453,42454],{"class":173},".isSubmitting ",[167,42456,267],{"class":191},[167,42458,26314],{"class":219},[167,42460,24040],{"class":173},[167,42462,42463,42466,42468,42470],{"class":169,"line":6779},[167,42464,42465],{"class":181},"      setTimeout",[167,42467,1488],{"class":173},[167,42469,639],{"class":191},[167,42471,1901],{"class":173},[167,42473,42474,42476,42478,42480,42482],{"class":169,"line":6784},[167,42475,14769],{"class":219},[167,42477,42454],{"class":173},[167,42479,267],{"class":191},[167,42481,5773],{"class":219},[167,42483,24040],{"class":173},[167,42485,42486,42488,42490],{"class":169,"line":6789},[167,42487,13044],{"class":173},[167,42489,17176],{"class":219},[167,42491,24165],{"class":173},[167,42493,42494],{"class":169,"line":6805},[167,42495,755],{"class":173},[167,42497,42498],{"class":169,"line":6820},[167,42499,398],{"class":173},[167,42501,42502],{"class":169,"line":6825},[167,42503,24144],{"class":173},[167,42505,42506,42508,42510],{"class":169,"line":6832},[167,42507,282],{"class":173},[167,42509,178],{"class":177},[167,42511,185],{"class":173},[167,42513,42514],{"class":169,"line":6841},[167,42515,209],{"emptyLinePlaceholder":208},[167,42517,42518,42520,42522],{"class":169,"line":6850},[167,42519,174],{"class":173},[167,42521,299],{"class":177},[167,42523,185],{"class":173},[167,42525,42526,42528,42530,42532,42534,42536],{"class":169,"line":6857},[167,42527,307],{"class":173},[167,42529,4301],{"class":177},[167,42531,4304],{"class":181},[167,42533,267],{"class":173},[167,42535,4344],{"class":201},[167,42537,185],{"class":173},[167,42539,42540,42542,42544,42546,42548,42550,42552,42554,42556,42558,42560,42562],{"class":169,"line":6875},[167,42541,1252],{"class":173},[167,42543,2646],{"class":177},[167,42545,39830],{"class":181},[167,42547,267],{"class":173},[167,42549,41628],{"class":201},[167,42551,2649],{"class":181},[167,42553,267],{"class":173},[167,42555,37703],{"class":201},[167,42557,42131],{"class":181},[167,42559,267],{"class":173},[167,42561,42136],{"class":201},[167,42563,5321],{"class":173},[167,42565,42566],{"class":169,"line":6880},[167,42567,209],{"emptyLinePlaceholder":208},[167,42569,42570,42572,42574,42576,42578,42580,42582,42584,42586],{"class":169,"line":6885},[167,42571,1252],{"class":173},[167,42573,507],{"class":177},[167,42575,40546],{"class":181},[167,42577,267],{"class":173},[167,42579,42155],{"class":201},[167,42581,42131],{"class":181},[167,42583,267],{"class":173},[167,42585,42162],{"class":201},[167,42587,185],{"class":173},[167,42589,42590],{"class":169,"line":6894},[167,42591,42169],{"class":173},[167,42593,42594,42596,42598],{"class":169,"line":6899},[167,42595,1287],{"class":173},[167,42597,507],{"class":177},[167,42599,185],{"class":173},[167,42601,42602],{"class":169,"line":6908},[167,42603,209],{"emptyLinePlaceholder":208},[167,42605,42606,42608,42610,42612,42614,42616],{"class":169,"line":6924},[167,42607,1252],{"class":173},[167,42609,15],{"class":177},[167,42611,39098],{"class":181},[167,42613,267],{"class":173},[167,42615,42194],{"class":201},[167,42617,185],{"class":173},[167,42619,42620],{"class":169,"line":6945},[167,42621,42201],{"class":173},[167,42623,42624,42626,42628],{"class":169,"line":6950},[167,42625,1287],{"class":173},[167,42627,15],{"class":177},[167,42629,185],{"class":173},[167,42631,42632,42634,42636],{"class":169,"line":6971},[167,42633,504],{"class":173},[167,42635,4301],{"class":177},[167,42637,185],{"class":173},[167,42639,42640,42642,42644],{"class":169,"line":6985},[167,42641,282],{"class":173},[167,42643,299],{"class":177},[167,42645,185],{"class":173},[22,42647,7674],{"id":7673},[15,42649,42650,42652],{},[87,42651,23864],{}," es la forma declarativa de conectar estado y atributos en Vue.\nDominarlo te permite construir interfaces dinámicas de manera limpia y mantenible.",[15,42654,42655],{},"Qué recordar:",[33,42657,42658,42665,42672,42677],{},[36,42659,42660,42662,42663,1675],{},[87,42661,583],{}," es shorthand de ",[87,42664,23864],{},[36,42666,42667,42668,1023,42670,1675],{},"Úsalo para atributos, props, ",[87,42669,39918],{},[87,42671,924],{},[36,42673,42674,42675,1675],{},"Evita lógica compleja inline: mueve reglas a ",[87,42676,1657],{},[36,42678,42679,42681],{},[87,42680,41492],{}," es ideal para agrupar atributos\u002Fprops.",[15,42683,42684,42685,42687],{},"Si entiendes bien ",[87,42686,23864],{},", entiendes una parte central de cómo Vue traduce reactividad en UI real.",[924,42689,42690],{},"html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .s9eBZ, html code.shiki .s9eBZ{--shiki-default:#22863A;--shiki-dark:#85E89D}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}",{"title":163,"searchDepth":188,"depth":188,"links":42692},[42693,42694,42695,42696,42697,42706,42720,42721],{"id":26498,"depth":188,"text":26499},{"id":30495,"depth":188,"text":30496},{"id":6317,"depth":188,"text":6318},{"id":6344,"depth":188,"text":6345},{"id":3080,"depth":188,"text":3081,"children":42698},[42699,42701,42703,42704],{"id":39983,"depth":205,"text":42700},"1) Olvidar que v-bind evalúa JavaScript",{"id":40084,"depth":205,"text":42702},"2) Poner demasiada lógica inline en :class o :style",{"id":40168,"depth":205,"text":40169},{"id":40212,"depth":205,"text":42705},"4) Creer que v-bind \"protege\" datos",{"id":7992,"depth":188,"text":7993,"children":42707},[42708,42710,42712,42714,42716,42718],{"id":40226,"depth":205,"text":42709},"1) Básico: enlace dinámico (href)",{"id":40463,"depth":205,"text":42711},"2) Atributo booleano dinámico (disabled)",{"id":40688,"depth":205,"text":42713},"3) v-bind:class con objeto (patrón recomendado)",{"id":40991,"depth":205,"text":42715},"4) v-bind:style dinámico con objeto",{"id":41246,"depth":205,"text":42717},"5) Argumento dinámico: :[attrName]=\"value\"",{"id":41488,"depth":205,"text":42719},"6) v-bind=\"obj\" para pasar múltiples atributos o props",{"id":41798,"depth":188,"text":41799},{"id":7673,"depth":188,"text":7674},"https:\u002F\u002Fres.cloudinary.com\u002Fdenj4fg7f\u002Fimage\u002Fupload\u002Fv1770849828\u002Fdirectives-vue-v-bind-guide_gqrgyj.png","Imagen temporal para portada del artículo sobre v-bind en Vue","2026-02-11","Aprende a usar v-bind en Vue desde lo más básico hasta patrones avanzados: atributos dinámicos, class\u002Fstyle reactivos, props en componentes y errores comunes.",{"updatedAt":42727,"coverCaption":23652,"author":945,"keywords":42728},"2026-02-11T18:00:00-05:00",[3254,23864,42729,42730,42731,3256,3969],"atributos dinámicos","class binding","style binding","\u002Fblog\u002Fdirectives-vue-v-bind-guide.es",[42734],{"headline":42735,"author":42736,"datePublished":42727,"@type":959},"Directiva v-bind en Vue: guía de básico a avanzado",{"name":945,"@type":958},{"title":39768,"description":42725},"blog\u002Fdirectives-vue-v-bind-guide.es",[42740,42741,42742,42743],{"tag":26462,"color":26463},{"tag":27753,"color":27754},{"tag":3265,"color":3266},{"tag":5420,"color":5421},"ggicPee9rp0vgescxGeL26jTmua2py715WKhjmXHpp0",{"id":42746,"title":42747,"body":42748,"cover":46070,"coverAlt":46071,"date":46072,"description":46073,"draft":1617,"extension":940,"lab":941,"locale":942,"meta":46074,"navigation":208,"path":46078,"schemaOrg":46079,"seo":46083,"series":26456,"seriesDescription":26457,"seriesOrder":205,"seriesTitle":26458,"slug":941,"stem":46084,"tags":46085,"__hash__":46091},"blog\u002Fblog\u002Fdirectives-vue-v-for-guide.es.md","Directivas en Vue: v-for",{"type":8,"value":42749,"toc":46034},[42750,42757,42762,42765,42778,42781,42783,42786,42803,42809,42820,42826,42829,42840,42842,42848,42872,42876,42998,43123,43127,43130,43336,43543,43550,43556,43559,43677,43801,43805,43943,44084,44090,44282,44472,44476,44482,44490,44767,45031,45037,45186,45346,45350,45571,45790,45796,45804,45859,45862,45870,45879,45945,45953,45959,45962,45968,45974,45978,46004,46006,46011,46014,46029,46032],[11,42751,42753,42754,42756],{"id":42752},"directiva-v-for-en-vue-de-lo-básico-a-lo-avanzado","Directiva ",[87,42755,30722],{}," en Vue: de lo básico a lo avanzado",[15,42758,42759,42761],{},[87,42760,30722],{}," es la directiva de Vue para renderizar listas.\nParece simple, pero usarla bien marca una diferencia enorme en rendimiento, estabilidad visual y legibilidad del código.",[15,42763,42764],{},"La idea clave es esta:",[33,42766,42767,42772],{},[36,42768,42769,42771],{},[87,42770,30722],{}," describe cómo repetir estructura en el template.",[36,42773,42774,42777],{},[87,42775,42776],{},":key"," le dice a Vue cómo identificar cada nodo de forma estable.",[15,42779,42780],{},"Si dominas ese par, evitas la mayoría de bugs en listas dinámicas.",[22,42782,26499],{"id":26498},[15,42784,42785],{},"En aplicaciones reales siempre renderizas listas:",[33,42787,42788,42791,42794,42797,42800],{},[36,42789,42790],{},"Tareas",[36,42792,42793],{},"Productos",[36,42795,42796],{},"Comentarios",[36,42798,42799],{},"Notificaciones",[36,42801,42802],{},"Filas de tablas",[15,42804,42805,42806,42808],{},"Cuando la lista cambia (insertar, borrar, reordenar), Vue necesita saber qué item es cuál.\nSi la clave (",[87,42807,7841],{},") no es estable, aparecen errores como:",[33,42810,42811,42814,42817],{},[36,42812,42813],{},"Estados internos mezclados entre filas",[36,42815,42816],{},"Animaciones raras",[36,42818,42819],{},"Inputs que \"saltan\" de elemento",[22,42821,42823,42824],{"id":42822},"cuándo-usar-v-for","Cuándo usar ",[87,42825,30722],{},[15,42827,42828],{},"Úsalo cuando necesitas:",[33,42830,42831,42834,42837],{},[36,42832,42833],{},"Renderizar arrays u objetos reactivos",[36,42835,42836],{},"Repetir componentes con distintos datos",[36,42838,42839],{},"Mostrar estructuras anidadas (ej: categorías y productos)",[22,42841,6345],{"id":6344},[15,42843,42844,42845,42847],{},"Evita usar ",[87,42846,30722],{}," para:",[33,42849,42850,42853,42863],{},[36,42851,42852],{},"Hacer filtrado complejo directamente en el template",[36,42854,42855,42856,1023,42858,42860,42861],{},"Combinar ",[87,42857,13492],{},[87,42859,30722],{}," en el mismo nodo si puedes prefiltrar con ",[87,42862,1657],{},[36,42864,3176,42865,42868,42869,42871],{},[87,42866,42867],{},"index"," como ",[87,42870,7841],{}," en listas que cambian de orden",[22,42873,42875],{"id":42874},"sintaxis-base","Sintaxis base",[154,42877,42880],{"className":156,"code":42878,"filename":3256,"highlights":42879,"language":162,"meta":163,"style":163},"\u003Cscript setup>\nimport { ref } from 'vue'\n\nconst frameworks = ref(['Vue', 'React', 'Svelte'])\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cli v-for=\"framework in frameworks\" :key=\"framework\">\n    {{ framework }}\n  \u003C\u002Fli>\n\u003C\u002Ftemplate>\n",[273],[87,42881,42882,42892,42902,42906,42934,42942,42946,42954,42977,42982,42990],{"__ignoreMap":163},[167,42883,42884,42886,42888,42890],{"class":169,"line":170},[167,42885,174],{"class":173},[167,42887,178],{"class":177},[167,42889,182],{"class":181},[167,42891,185],{"class":173},[167,42893,42894,42896,42898,42900],{"class":169,"line":188},[167,42895,192],{"class":191},[167,42897,195],{"class":173},[167,42899,198],{"class":191},[167,42901,202],{"class":201},[167,42903,42904],{"class":169,"line":205},[167,42905,209],{"emptyLinePlaceholder":208},[167,42907,42908,42910,42913,42915,42917,42919,42922,42924,42927,42929,42932],{"class":169,"line":160},[167,42909,216],{"class":191},[167,42911,42912],{"class":219}," frameworks",[167,42914,223],{"class":191},[167,42916,226],{"class":181},[167,42918,423],{"class":173},[167,42920,42921],{"class":201},"'Vue'",[167,42923,1020],{"class":173},[167,42925,42926],{"class":201},"'React'",[167,42928,1020],{"class":173},[167,42930,42931],{"class":201},"'Svelte'",[167,42933,429],{"class":173},[167,42935,42936,42938,42940],{"class":169,"line":238},[167,42937,282],{"class":173},[167,42939,178],{"class":177},[167,42941,185],{"class":173},[167,42943,42944],{"class":169,"line":243},[167,42945,209],{"emptyLinePlaceholder":208},[167,42947,42948,42950,42952],{"class":169,"line":261},[167,42949,174],{"class":173},[167,42951,299],{"class":177},[167,42953,185],{"class":173},[167,42955,42957,42959,42961,42963,42965,42968,42970,42972,42975],{"class":42956,"line":273},[169,213],[167,42958,307],{"class":173},[167,42960,36],{"class":177},[167,42962,18702],{"class":181},[167,42964,267],{"class":173},[167,42966,42967],{"class":201},"\"framework in frameworks\"",[167,42969,10303],{"class":181},[167,42971,267],{"class":173},[167,42973,42974],{"class":201},"\"framework\"",[167,42976,185],{"class":173},[167,42978,42979],{"class":169,"line":279},[167,42980,42981],{"class":173},"    {{ framework }}\n",[167,42983,42984,42986,42988],{"class":169,"line":289},[167,42985,504],{"class":173},[167,42987,36],{"class":177},[167,42989,185],{"class":173},[167,42991,42992,42994,42996],{"class":169,"line":294},[167,42993,282],{"class":173},[167,42995,299],{"class":177},[167,42997,185],{"class":173},[154,42999,43002],{"className":156,"code":43000,"filename":3969,"highlights":43001,"language":162,"meta":163,"style":163},"\u003Cscript>\nexport default {\n  data() {\n    return {\n      frameworks: ['Vue', 'React', 'Svelte']\n    }\n  }\n}\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cli v-for=\"framework in frameworks\" :key=\"framework\">\n    {{ framework }}\n  \u003C\u002Fli>\n\u003C\u002Ftemplate>\n",[304],[87,43003,43004,43012,43020,43026,43032,43050,43054,43058,43062,43070,43074,43082,43103,43107,43115],{"__ignoreMap":163},[167,43005,43006,43008,43010],{"class":169,"line":170},[167,43007,174],{"class":173},[167,43009,178],{"class":177},[167,43011,185],{"class":173},[167,43013,43014,43016,43018],{"class":169,"line":188},[167,43015,608],{"class":191},[167,43017,3987],{"class":191},[167,43019,1901],{"class":173},[167,43021,43022,43024],{"class":169,"line":205},[167,43023,7172],{"class":181},[167,43025,763],{"class":173},[167,43027,43028,43030],{"class":169,"line":160},[167,43029,1933],{"class":191},[167,43031,1901],{"class":173},[167,43033,43034,43037,43039,43041,43043,43045,43047],{"class":169,"line":238},[167,43035,43036],{"class":173},"      frameworks: [",[167,43038,42921],{"class":201},[167,43040,1020],{"class":173},[167,43042,42926],{"class":201},[167,43044,1020],{"class":173},[167,43046,42931],{"class":201},[167,43048,43049],{"class":173},"]\n",[167,43051,43052],{"class":169,"line":243},[167,43053,4045],{"class":173},[167,43055,43056],{"class":169,"line":261},[167,43057,3488],{"class":173},[167,43059,43060],{"class":169,"line":273},[167,43061,276],{"class":173},[167,43063,43064,43066,43068],{"class":169,"line":279},[167,43065,282],{"class":173},[167,43067,178],{"class":177},[167,43069,185],{"class":173},[167,43071,43072],{"class":169,"line":289},[167,43073,209],{"emptyLinePlaceholder":208},[167,43075,43076,43078,43080],{"class":169,"line":294},[167,43077,174],{"class":173},[167,43079,299],{"class":177},[167,43081,185],{"class":173},[167,43083,43085,43087,43089,43091,43093,43095,43097,43099,43101],{"class":43084,"line":304},[169,213],[167,43086,307],{"class":173},[167,43088,36],{"class":177},[167,43090,18702],{"class":181},[167,43092,267],{"class":173},[167,43094,42967],{"class":201},[167,43096,10303],{"class":181},[167,43098,267],{"class":173},[167,43100,42974],{"class":201},[167,43102,185],{"class":173},[167,43104,43105],{"class":169,"line":313},[167,43106,42981],{"class":173},[167,43108,43109,43111,43113],{"class":169,"line":161},[167,43110,504],{"class":173},[167,43112,36],{"class":177},[167,43114,185],{"class":173},[167,43116,43117,43119,43121],{"class":169,"line":335},[167,43118,282],{"class":173},[167,43120,299],{"class":177},[167,43122,185],{"class":173},[22,43124,43126],{"id":43125},"ejemplo-básico-lista-de-tareas","Ejemplo básico: lista de tareas",[15,43128,43129],{},"Este es el patrón más común y correcto para empezar.",[154,43131,43134],{"className":156,"code":43132,"filename":3256,"highlights":43133,"language":162,"meta":163,"style":163},"\u003Cscript setup>\nimport { ref } from 'vue'\n\nconst todos = ref([\n  { id: 1, text: 'Aprender v-for', done: true },\n  { id: 2, text: 'Practicar key estable', done: false },\n  { id: 3, text: 'Evitar index como key', done: false }\n])\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cul>\n    \u003Cli v-for=\"todo in todos\" :key=\"todo.id\">\n      \u003Cspan :style=\"{ textDecoration: todo.done ? 'line-through' : 'none' }\">\n        {{ todo.text }}\n      \u003C\u002Fspan>\n    \u003C\u002Fli>\n  \u003C\u002Ful>\n\u003C\u002Ftemplate>\n",[160,238,243,261,273,313],[87,43135,43136,43146,43156,43160,43174,43192,43210,43228,43233,43241,43245,43253,43261,43284,43299,43304,43312,43320,43328],{"__ignoreMap":163},[167,43137,43138,43140,43142,43144],{"class":169,"line":170},[167,43139,174],{"class":173},[167,43141,178],{"class":177},[167,43143,182],{"class":181},[167,43145,185],{"class":173},[167,43147,43148,43150,43152,43154],{"class":169,"line":188},[167,43149,192],{"class":191},[167,43151,195],{"class":173},[167,43153,198],{"class":191},[167,43155,202],{"class":201},[167,43157,43158],{"class":169,"line":205},[167,43159,209],{"emptyLinePlaceholder":208},[167,43161,43163,43165,43168,43170,43172],{"class":43162,"line":160},[169,213],[167,43164,216],{"class":191},[167,43166,43167],{"class":219}," todos",[167,43169,223],{"class":191},[167,43171,226],{"class":181},[167,43173,1823],{"class":173},[167,43175,43177,43179,43181,43183,43186,43188,43190],{"class":43176,"line":238},[169,213],[167,43178,1828],{"class":173},[167,43180,1831],{"class":219},[167,43182,15629],{"class":173},[167,43184,43185],{"class":201},"'Aprender v-for'",[167,43187,8160],{"class":173},[167,43189,390],{"class":219},[167,43191,1852],{"class":173},[167,43193,43195,43197,43199,43201,43204,43206,43208],{"class":43194,"line":243},[169,213],[167,43196,1828],{"class":173},[167,43198,1849],{"class":219},[167,43200,15629],{"class":173},[167,43202,43203],{"class":201},"'Practicar key estable'",[167,43205,8160],{"class":173},[167,43207,3388],{"class":219},[167,43209,1852],{"class":173},[167,43211,43213,43215,43217,43219,43222,43224,43226],{"class":43212,"line":261},[169,213],[167,43214,1828],{"class":173},[167,43216,8199],{"class":219},[167,43218,15629],{"class":173},[167,43220,43221],{"class":201},"'Evitar index como key'",[167,43223,8160],{"class":173},[167,43225,3388],{"class":219},[167,43227,599],{"class":173},[167,43229,43231],{"class":43230,"line":273},[169,213],[167,43232,429],{"class":173},[167,43234,43235,43237,43239],{"class":169,"line":279},[167,43236,282],{"class":173},[167,43238,178],{"class":177},[167,43240,185],{"class":173},[167,43242,43243],{"class":169,"line":289},[167,43244,209],{"emptyLinePlaceholder":208},[167,43246,43247,43249,43251],{"class":169,"line":294},[167,43248,174],{"class":173},[167,43250,299],{"class":177},[167,43252,185],{"class":173},[167,43254,43255,43257,43259],{"class":169,"line":304},[167,43256,307],{"class":173},[167,43258,33],{"class":177},[167,43260,185],{"class":173},[167,43262,43264,43266,43268,43270,43272,43275,43277,43279,43282],{"class":43263,"line":313},[169,213],[167,43265,1252],{"class":173},[167,43267,36],{"class":177},[167,43269,18702],{"class":181},[167,43271,267],{"class":173},[167,43273,43274],{"class":201},"\"todo in todos\"",[167,43276,10303],{"class":181},[167,43278,267],{"class":173},[167,43280,43281],{"class":201},"\"todo.id\"",[167,43283,185],{"class":173},[167,43285,43286,43288,43290,43292,43294,43297],{"class":169,"line":161},[167,43287,1263],{"class":173},[167,43289,167],{"class":177},[167,43291,39098],{"class":181},[167,43293,267],{"class":173},[167,43295,43296],{"class":201},"\"{ textDecoration: todo.done ? 'line-through' : 'none' }\"",[167,43298,185],{"class":173},[167,43300,43301],{"class":169,"line":335},[167,43302,43303],{"class":173},"        {{ todo.text }}\n",[167,43305,43306,43308,43310],{"class":169,"line":341},[167,43307,10166],{"class":173},[167,43309,167],{"class":177},[167,43311,185],{"class":173},[167,43313,43314,43316,43318],{"class":169,"line":489},[167,43315,1287],{"class":173},[167,43317,36],{"class":177},[167,43319,185],{"class":173},[167,43321,43322,43324,43326],{"class":169,"line":495},[167,43323,504],{"class":173},[167,43325,33],{"class":177},[167,43327,185],{"class":173},[167,43329,43330,43332,43334],{"class":169,"line":501},[167,43331,282],{"class":173},[167,43333,299],{"class":177},[167,43335,185],{"class":173},[154,43337,43340],{"className":156,"code":43338,"filename":3969,"highlights":43339,"language":162,"meta":163,"style":163},"\u003Cscript>\nexport default {\n  data() {\n    return {\n      todos: [\n        { id: 1, text: 'Aprender v-for', done: true },\n        { id: 2, text: 'Practicar key estable', done: false },\n        { id: 3, text: 'Evitar index como key', done: false }\n      ]\n    }\n  }\n}\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cul>\n    \u003Cli v-for=\"todo in todos\" :key=\"todo.id\">\n      \u003Cspan :style=\"{ textDecoration: todo.done ? 'line-through' : 'none' }\">\n        {{ todo.text }}\n      \u003C\u002Fspan>\n    \u003C\u002Fli>\n  \u003C\u002Ful>\n\u003C\u002Ftemplate>\n",[238,243,261,273,279,489],[87,43341,43342,43350,43358,43364,43370,43376,43393,43410,43427,43432,43436,43440,43444,43452,43456,43464,43472,43493,43507,43511,43519,43527,43535],{"__ignoreMap":163},[167,43343,43344,43346,43348],{"class":169,"line":170},[167,43345,174],{"class":173},[167,43347,178],{"class":177},[167,43349,185],{"class":173},[167,43351,43352,43354,43356],{"class":169,"line":188},[167,43353,608],{"class":191},[167,43355,3987],{"class":191},[167,43357,1901],{"class":173},[167,43359,43360,43362],{"class":169,"line":205},[167,43361,7172],{"class":181},[167,43363,763],{"class":173},[167,43365,43366,43368],{"class":169,"line":160},[167,43367,1933],{"class":191},[167,43369,1901],{"class":173},[167,43371,43373],{"class":43372,"line":238},[169,213],[167,43374,43375],{"class":173},"      todos: [\n",[167,43377,43379,43381,43383,43385,43387,43389,43391],{"class":43378,"line":243},[169,213],[167,43380,8673],{"class":173},[167,43382,1831],{"class":219},[167,43384,15629],{"class":173},[167,43386,43185],{"class":201},[167,43388,8160],{"class":173},[167,43390,390],{"class":219},[167,43392,1852],{"class":173},[167,43394,43396,43398,43400,43402,43404,43406,43408],{"class":43395,"line":261},[169,213],[167,43397,8673],{"class":173},[167,43399,1849],{"class":219},[167,43401,15629],{"class":173},[167,43403,43203],{"class":201},[167,43405,8160],{"class":173},[167,43407,3388],{"class":219},[167,43409,1852],{"class":173},[167,43411,43413,43415,43417,43419,43421,43423,43425],{"class":43412,"line":273},[169,213],[167,43414,8673],{"class":173},[167,43416,8199],{"class":219},[167,43418,15629],{"class":173},[167,43420,43221],{"class":201},[167,43422,8160],{"class":173},[167,43424,3388],{"class":219},[167,43426,599],{"class":173},[167,43428,43430],{"class":43429,"line":279},[169,213],[167,43431,8734],{"class":173},[167,43433,43434],{"class":169,"line":289},[167,43435,4045],{"class":173},[167,43437,43438],{"class":169,"line":294},[167,43439,3488],{"class":173},[167,43441,43442],{"class":169,"line":304},[167,43443,276],{"class":173},[167,43445,43446,43448,43450],{"class":169,"line":313},[167,43447,282],{"class":173},[167,43449,178],{"class":177},[167,43451,185],{"class":173},[167,43453,43454],{"class":169,"line":161},[167,43455,209],{"emptyLinePlaceholder":208},[167,43457,43458,43460,43462],{"class":169,"line":335},[167,43459,174],{"class":173},[167,43461,299],{"class":177},[167,43463,185],{"class":173},[167,43465,43466,43468,43470],{"class":169,"line":341},[167,43467,307],{"class":173},[167,43469,33],{"class":177},[167,43471,185],{"class":173},[167,43473,43475,43477,43479,43481,43483,43485,43487,43489,43491],{"class":43474,"line":489},[169,213],[167,43476,1252],{"class":173},[167,43478,36],{"class":177},[167,43480,18702],{"class":181},[167,43482,267],{"class":173},[167,43484,43274],{"class":201},[167,43486,10303],{"class":181},[167,43488,267],{"class":173},[167,43490,43281],{"class":201},[167,43492,185],{"class":173},[167,43494,43495,43497,43499,43501,43503,43505],{"class":169,"line":495},[167,43496,1263],{"class":173},[167,43498,167],{"class":177},[167,43500,39098],{"class":181},[167,43502,267],{"class":173},[167,43504,43296],{"class":201},[167,43506,185],{"class":173},[167,43508,43509],{"class":169,"line":501},[167,43510,43303],{"class":173},[167,43512,43513,43515,43517],{"class":169,"line":512},[167,43514,10166],{"class":173},[167,43516,167],{"class":177},[167,43518,185],{"class":173},[167,43520,43521,43523,43525],{"class":169,"line":781},[167,43522,1287],{"class":173},[167,43524,36],{"class":177},[167,43526,185],{"class":173},[167,43528,43529,43531,43533],{"class":169,"line":786},[167,43530,504],{"class":173},[167,43532,33],{"class":177},[167,43534,185],{"class":173},[167,43536,43537,43539,43541],{"class":169,"line":2674},[167,43538,282],{"class":173},[167,43540,299],{"class":177},[167,43542,185],{"class":173},[22,43544,43546,43547],{"id":43545},"nivel-intermedio-índice-objetos-y-template-v-for","Nivel intermedio: índice, objetos y ",[87,43548,43549],{},"template v-for",[3083,43551,43553,43554],{"id":43552},"_1-índice-en-v-for","1) Índice en ",[87,43555,30722],{},[15,43557,43558],{},"Puedes obtener índice cuando realmente lo necesitas:",[154,43560,43563],{"className":156,"code":43561,"filename":3256,"highlights":43562,"language":162,"meta":163,"style":163},"\u003Cscript setup>\nimport { ref } from 'vue'\n\nconst users = ref(['Ana', 'Luis', 'Marta'])\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cp v-for=\"(user, index) in users\" :key=\"user\">\n    #{{ index + 1 }} - {{ user }}\n  \u003C\u002Fp>\n\u003C\u002Ftemplate>\n",[273],[87,43564,43565,43575,43585,43589,43614,43622,43626,43634,43656,43661,43669],{"__ignoreMap":163},[167,43566,43567,43569,43571,43573],{"class":169,"line":170},[167,43568,174],{"class":173},[167,43570,178],{"class":177},[167,43572,182],{"class":181},[167,43574,185],{"class":173},[167,43576,43577,43579,43581,43583],{"class":169,"line":188},[167,43578,192],{"class":191},[167,43580,195],{"class":173},[167,43582,198],{"class":191},[167,43584,202],{"class":201},[167,43586,43587],{"class":169,"line":205},[167,43588,209],{"emptyLinePlaceholder":208},[167,43590,43591,43593,43595,43597,43599,43601,43603,43605,43607,43609,43612],{"class":169,"line":160},[167,43592,216],{"class":191},[167,43594,16950],{"class":219},[167,43596,223],{"class":191},[167,43598,226],{"class":181},[167,43600,423],{"class":173},[167,43602,8168],{"class":201},[167,43604,1020],{"class":173},[167,43606,8190],{"class":201},[167,43608,1020],{"class":173},[167,43610,43611],{"class":201},"'Marta'",[167,43613,429],{"class":173},[167,43615,43616,43618,43620],{"class":169,"line":238},[167,43617,282],{"class":173},[167,43619,178],{"class":177},[167,43621,185],{"class":173},[167,43623,43624],{"class":169,"line":243},[167,43625,209],{"emptyLinePlaceholder":208},[167,43627,43628,43630,43632],{"class":169,"line":261},[167,43629,174],{"class":173},[167,43631,299],{"class":177},[167,43633,185],{"class":173},[167,43635,43637,43639,43641,43643,43645,43648,43650,43652,43654],{"class":43636,"line":273},[169,213],[167,43638,307],{"class":173},[167,43640,15],{"class":177},[167,43642,18702],{"class":181},[167,43644,267],{"class":173},[167,43646,43647],{"class":201},"\"(user, index) in users\"",[167,43649,10303],{"class":181},[167,43651,267],{"class":173},[167,43653,27387],{"class":201},[167,43655,185],{"class":173},[167,43657,43658],{"class":169,"line":279},[167,43659,43660],{"class":173},"    #{{ index + 1 }} - {{ user }}\n",[167,43662,43663,43665,43667],{"class":169,"line":289},[167,43664,504],{"class":173},[167,43666,15],{"class":177},[167,43668,185],{"class":173},[167,43670,43671,43673,43675],{"class":169,"line":294},[167,43672,282],{"class":173},[167,43674,299],{"class":177},[167,43676,185],{"class":173},[154,43678,43681],{"className":156,"code":43679,"filename":3969,"highlights":43680,"language":162,"meta":163,"style":163},"\u003Cscript>\nexport default {\n  data() {\n    return {\n      users: ['Ana', 'Luis', 'Marta']\n    }\n  }\n}\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cp v-for=\"(user, index) in users\" :key=\"user\">\n    #{{ index + 1 }} - {{ user }}\n  \u003C\u002Fp>\n\u003C\u002Ftemplate>\n",[304],[87,43682,43683,43691,43699,43705,43711,43728,43732,43736,43740,43748,43752,43760,43781,43785,43793],{"__ignoreMap":163},[167,43684,43685,43687,43689],{"class":169,"line":170},[167,43686,174],{"class":173},[167,43688,178],{"class":177},[167,43690,185],{"class":173},[167,43692,43693,43695,43697],{"class":169,"line":188},[167,43694,608],{"class":191},[167,43696,3987],{"class":191},[167,43698,1901],{"class":173},[167,43700,43701,43703],{"class":169,"line":205},[167,43702,7172],{"class":181},[167,43704,763],{"class":173},[167,43706,43707,43709],{"class":169,"line":160},[167,43708,1933],{"class":191},[167,43710,1901],{"class":173},[167,43712,43713,43716,43718,43720,43722,43724,43726],{"class":169,"line":238},[167,43714,43715],{"class":173},"      users: [",[167,43717,8168],{"class":201},[167,43719,1020],{"class":173},[167,43721,8190],{"class":201},[167,43723,1020],{"class":173},[167,43725,43611],{"class":201},[167,43727,43049],{"class":173},[167,43729,43730],{"class":169,"line":243},[167,43731,4045],{"class":173},[167,43733,43734],{"class":169,"line":261},[167,43735,3488],{"class":173},[167,43737,43738],{"class":169,"line":273},[167,43739,276],{"class":173},[167,43741,43742,43744,43746],{"class":169,"line":279},[167,43743,282],{"class":173},[167,43745,178],{"class":177},[167,43747,185],{"class":173},[167,43749,43750],{"class":169,"line":289},[167,43751,209],{"emptyLinePlaceholder":208},[167,43753,43754,43756,43758],{"class":169,"line":294},[167,43755,174],{"class":173},[167,43757,299],{"class":177},[167,43759,185],{"class":173},[167,43761,43763,43765,43767,43769,43771,43773,43775,43777,43779],{"class":43762,"line":304},[169,213],[167,43764,307],{"class":173},[167,43766,15],{"class":177},[167,43768,18702],{"class":181},[167,43770,267],{"class":173},[167,43772,43647],{"class":201},[167,43774,10303],{"class":181},[167,43776,267],{"class":173},[167,43778,27387],{"class":201},[167,43780,185],{"class":173},[167,43782,43783],{"class":169,"line":313},[167,43784,43660],{"class":173},[167,43786,43787,43789,43791],{"class":169,"line":161},[167,43788,504],{"class":173},[167,43790,15],{"class":177},[167,43792,185],{"class":173},[167,43794,43795,43797,43799],{"class":169,"line":335},[167,43796,282],{"class":173},[167,43798,299],{"class":177},[167,43800,185],{"class":173},[3083,43802,43804],{"id":43803},"_2-iterar-un-objeto","2) Iterar un objeto",[154,43806,43809],{"className":156,"code":43807,"filename":3256,"highlights":43808,"language":162,"meta":163,"style":163},"\u003Cscript setup>\nimport { ref } from 'vue'\n\nconst profile = ref({\n  name: 'Cristian',\n  role: 'Frontend Dev',\n  country: 'Colombia'\n})\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cli v-for=\"(value, key) in profile\" :key=\"key\">\n    {{ key }}: {{ value }}\n  \u003C\u002Fli>\n\u003C\u002Ftemplate>\n",[304],[87,43810,43811,43821,43831,43835,43848,43857,43867,43875,43879,43887,43891,43899,43922,43927,43935],{"__ignoreMap":163},[167,43812,43813,43815,43817,43819],{"class":169,"line":170},[167,43814,174],{"class":173},[167,43816,178],{"class":177},[167,43818,182],{"class":181},[167,43820,185],{"class":173},[167,43822,43823,43825,43827,43829],{"class":169,"line":188},[167,43824,192],{"class":191},[167,43826,195],{"class":173},[167,43828,198],{"class":191},[167,43830,202],{"class":201},[167,43832,43833],{"class":169,"line":205},[167,43834,209],{"emptyLinePlaceholder":208},[167,43836,43837,43839,43842,43844,43846],{"class":169,"line":160},[167,43838,216],{"class":191},[167,43840,43841],{"class":219}," profile",[167,43843,223],{"class":191},[167,43845,226],{"class":181},[167,43847,372],{"class":173},[167,43849,43850,43852,43855],{"class":169,"line":238},[167,43851,4394],{"class":173},[167,43853,43854],{"class":201},"'Cristian'",[167,43856,393],{"class":173},[167,43858,43859,43862,43865],{"class":169,"line":243},[167,43860,43861],{"class":173},"  role: ",[167,43863,43864],{"class":201},"'Frontend Dev'",[167,43866,393],{"class":173},[167,43868,43869,43872],{"class":169,"line":261},[167,43870,43871],{"class":173},"  country: ",[167,43873,43874],{"class":201},"'Colombia'\n",[167,43876,43877],{"class":169,"line":273},[167,43878,403],{"class":173},[167,43880,43881,43883,43885],{"class":169,"line":279},[167,43882,282],{"class":173},[167,43884,178],{"class":177},[167,43886,185],{"class":173},[167,43888,43889],{"class":169,"line":289},[167,43890,209],{"emptyLinePlaceholder":208},[167,43892,43893,43895,43897],{"class":169,"line":294},[167,43894,174],{"class":173},[167,43896,299],{"class":177},[167,43898,185],{"class":173},[167,43900,43902,43904,43906,43908,43910,43913,43915,43917,43920],{"class":43901,"line":304},[169,213],[167,43903,307],{"class":173},[167,43905,36],{"class":177},[167,43907,18702],{"class":181},[167,43909,267],{"class":173},[167,43911,43912],{"class":201},"\"(value, key) in profile\"",[167,43914,10303],{"class":181},[167,43916,267],{"class":173},[167,43918,43919],{"class":201},"\"key\"",[167,43921,185],{"class":173},[167,43923,43924],{"class":169,"line":313},[167,43925,43926],{"class":173},"    {{ key }}: {{ value }}\n",[167,43928,43929,43931,43933],{"class":169,"line":161},[167,43930,504],{"class":173},[167,43932,36],{"class":177},[167,43934,185],{"class":173},[167,43936,43937,43939,43941],{"class":169,"line":335},[167,43938,282],{"class":173},[167,43940,299],{"class":177},[167,43942,185],{"class":173},[154,43944,43947],{"className":156,"code":43945,"filename":3969,"highlights":43946,"language":162,"meta":163,"style":163},"\u003Cscript>\nexport default {\n  data() {\n    return {\n      profile: {\n        name: 'Cristian',\n        role: 'Frontend Dev',\n        country: 'Colombia'\n      }\n    }\n  }\n}\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cli v-for=\"(value, key) in profile\" :key=\"key\">\n    {{ key }}: {{ value }}\n  \u003C\u002Fli>\n\u003C\u002Ftemplate>\n",[341],[87,43948,43949,43957,43965,43971,43977,43982,43991,44000,44007,44011,44015,44019,44023,44031,44035,44043,44064,44068,44076],{"__ignoreMap":163},[167,43950,43951,43953,43955],{"class":169,"line":170},[167,43952,174],{"class":173},[167,43954,178],{"class":177},[167,43956,185],{"class":173},[167,43958,43959,43961,43963],{"class":169,"line":188},[167,43960,608],{"class":191},[167,43962,3987],{"class":191},[167,43964,1901],{"class":173},[167,43966,43967,43969],{"class":169,"line":205},[167,43968,7172],{"class":181},[167,43970,763],{"class":173},[167,43972,43973,43975],{"class":169,"line":160},[167,43974,1933],{"class":191},[167,43976,1901],{"class":173},[167,43978,43979],{"class":169,"line":238},[167,43980,43981],{"class":173},"      profile: {\n",[167,43983,43984,43987,43989],{"class":169,"line":243},[167,43985,43986],{"class":173},"        name: ",[167,43988,43854],{"class":201},[167,43990,393],{"class":173},[167,43992,43993,43996,43998],{"class":169,"line":261},[167,43994,43995],{"class":173},"        role: ",[167,43997,43864],{"class":201},[167,43999,393],{"class":173},[167,44001,44002,44005],{"class":169,"line":273},[167,44003,44004],{"class":173},"        country: ",[167,44006,43874],{"class":201},[167,44008,44009],{"class":169,"line":279},[167,44010,7283],{"class":173},[167,44012,44013],{"class":169,"line":289},[167,44014,4045],{"class":173},[167,44016,44017],{"class":169,"line":294},[167,44018,3488],{"class":173},[167,44020,44021],{"class":169,"line":304},[167,44022,276],{"class":173},[167,44024,44025,44027,44029],{"class":169,"line":313},[167,44026,282],{"class":173},[167,44028,178],{"class":177},[167,44030,185],{"class":173},[167,44032,44033],{"class":169,"line":161},[167,44034,209],{"emptyLinePlaceholder":208},[167,44036,44037,44039,44041],{"class":169,"line":335},[167,44038,174],{"class":173},[167,44040,299],{"class":177},[167,44042,185],{"class":173},[167,44044,44046,44048,44050,44052,44054,44056,44058,44060,44062],{"class":44045,"line":341},[169,213],[167,44047,307],{"class":173},[167,44049,36],{"class":177},[167,44051,18702],{"class":181},[167,44053,267],{"class":173},[167,44055,43912],{"class":201},[167,44057,10303],{"class":181},[167,44059,267],{"class":173},[167,44061,43919],{"class":201},[167,44063,185],{"class":173},[167,44065,44066],{"class":169,"line":489},[167,44067,43926],{"class":173},[167,44069,44070,44072,44074],{"class":169,"line":495},[167,44071,504],{"class":173},[167,44073,36],{"class":177},[167,44075,185],{"class":173},[167,44077,44078,44080,44082],{"class":169,"line":501},[167,44079,282],{"class":173},[167,44081,299],{"class":177},[167,44083,185],{"class":173},[3083,44085,44087,44088],{"id":44086},"_3-repetir-varios-nodos-con-template","3) Repetir varios nodos con ",[87,44089,299],{},[154,44091,44094],{"className":156,"code":44092,"filename":3256,"highlights":44093,"language":162,"meta":163,"style":163},"\u003Cscript setup>\nimport { ref } from 'vue'\n\nconst items = ref([\n  { id: 1, title: 'Vue 3', description: 'Framework progresivo' },\n  { id: 2, title: 'Pinia', description: 'Estado global moderno' }\n])\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Ctemplate v-for=\"item in items\" :key=\"item.id\">\n    \u003Ch3>{{ item.title }}\u003C\u002Fh3>\n    \u003Cp>{{ item.description }}\u003C\u002Fp>\n    \u003Chr \u002F>\n  \u003C\u002Ftemplate>\n\u003C\u002Ftemplate>\n",[294],[87,44095,44096,44106,44116,44120,44132,44151,44169,44173,44181,44185,44193,44231,44244,44257,44266,44274],{"__ignoreMap":163},[167,44097,44098,44100,44102,44104],{"class":169,"line":170},[167,44099,174],{"class":173},[167,44101,178],{"class":177},[167,44103,182],{"class":181},[167,44105,185],{"class":173},[167,44107,44108,44110,44112,44114],{"class":169,"line":188},[167,44109,192],{"class":191},[167,44111,195],{"class":173},[167,44113,198],{"class":191},[167,44115,202],{"class":201},[167,44117,44118],{"class":169,"line":205},[167,44119,209],{"emptyLinePlaceholder":208},[167,44121,44122,44124,44126,44128,44130],{"class":169,"line":160},[167,44123,216],{"class":191},[167,44125,1816],{"class":219},[167,44127,223],{"class":191},[167,44129,226],{"class":181},[167,44131,1823],{"class":173},[167,44133,44134,44136,44138,44140,44143,44146,44149],{"class":169,"line":238},[167,44135,1828],{"class":173},[167,44137,1831],{"class":219},[167,44139,3379],{"class":173},[167,44141,44142],{"class":201},"'Vue 3'",[167,44144,44145],{"class":173},", description: ",[167,44147,44148],{"class":201},"'Framework progresivo'",[167,44150,1852],{"class":173},[167,44152,44153,44155,44157,44159,44162,44164,44167],{"class":169,"line":243},[167,44154,1828],{"class":173},[167,44156,1849],{"class":219},[167,44158,3379],{"class":173},[167,44160,44161],{"class":201},"'Pinia'",[167,44163,44145],{"class":173},[167,44165,44166],{"class":201},"'Estado global moderno'",[167,44168,599],{"class":173},[167,44170,44171],{"class":169,"line":261},[167,44172,429],{"class":173},[167,44174,44175,44177,44179],{"class":169,"line":273},[167,44176,282],{"class":173},[167,44178,178],{"class":177},[167,44180,185],{"class":173},[167,44182,44183],{"class":169,"line":279},[167,44184,209],{"emptyLinePlaceholder":208},[167,44186,44187,44189,44191],{"class":169,"line":289},[167,44188,174],{"class":173},[167,44190,299],{"class":177},[167,44192,185],{"class":173},[167,44194,44196,44198,44200,44202,44204,44206,44209,44212,44214,44216,44218,44220,44222,44224,44227,44229],{"class":44195,"line":294},[169,213],[167,44197,307],{"class":173},[167,44199,299],{"class":177},[167,44201,18702],{"class":191},[167,44203,267],{"class":173},[167,44205,5076],{"class":201},[167,44207,44208],{"class":173},"item ",[167,44210,44211],{"class":191},"in",[167,44213,1816],{"class":173},[167,44215,5076],{"class":201},[167,44217,5308],{"class":173},[167,44219,7841],{"class":181},[167,44221,267],{"class":173},[167,44223,5076],{"class":201},[167,44225,44226],{"class":173},"item.id",[167,44228,5076],{"class":201},[167,44230,185],{"class":173},[167,44232,44233,44235,44237,44240,44242],{"class":169,"line":304},[167,44234,1252],{"class":173},[167,44236,3083],{"class":177},[167,44238,44239],{"class":173},">{{ item.title }}\u003C\u002F",[167,44241,3083],{"class":177},[167,44243,185],{"class":173},[167,44245,44246,44248,44250,44253,44255],{"class":169,"line":313},[167,44247,1252],{"class":173},[167,44249,15],{"class":177},[167,44251,44252],{"class":173},">{{ item.description }}\u003C\u002F",[167,44254,15],{"class":177},[167,44256,185],{"class":173},[167,44258,44259,44261,44264],{"class":169,"line":161},[167,44260,1252],{"class":173},[167,44262,44263],{"class":177},"hr",[167,44265,5321],{"class":173},[167,44267,44268,44270,44272],{"class":169,"line":335},[167,44269,504],{"class":173},[167,44271,299],{"class":177},[167,44273,185],{"class":173},[167,44275,44276,44278,44280],{"class":169,"line":341},[167,44277,282],{"class":173},[167,44279,299],{"class":177},[167,44281,185],{"class":173},[154,44283,44286],{"className":156,"code":44284,"filename":3969,"highlights":44285,"language":162,"meta":163,"style":163},"\u003Cscript>\nexport default {\n  data() {\n    return {\n      items: [\n        { id: 1, title: 'Vue 3', description: 'Framework progresivo' },\n        { id: 2, title: 'Pinia', description: 'Estado global moderno' }\n      ]\n    }\n  }\n}\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Ctemplate v-for=\"item in items\" :key=\"item.id\">\n    \u003Ch3>{{ item.title }}\u003C\u002Fh3>\n    \u003Cp>{{ item.description }}\u003C\u002Fp>\n    \u003Chr \u002F>\n  \u003C\u002Ftemplate>\n\u003C\u002Ftemplate>\n",[335],[87,44287,44288,44296,44304,44310,44316,44321,44337,44353,44357,44361,44365,44369,44377,44381,44389,44424,44436,44448,44456,44464],{"__ignoreMap":163},[167,44289,44290,44292,44294],{"class":169,"line":170},[167,44291,174],{"class":173},[167,44293,178],{"class":177},[167,44295,185],{"class":173},[167,44297,44298,44300,44302],{"class":169,"line":188},[167,44299,608],{"class":191},[167,44301,3987],{"class":191},[167,44303,1901],{"class":173},[167,44305,44306,44308],{"class":169,"line":205},[167,44307,7172],{"class":181},[167,44309,763],{"class":173},[167,44311,44312,44314],{"class":169,"line":160},[167,44313,1933],{"class":191},[167,44315,1901],{"class":173},[167,44317,44318],{"class":169,"line":238},[167,44319,44320],{"class":173},"      items: [\n",[167,44322,44323,44325,44327,44329,44331,44333,44335],{"class":169,"line":243},[167,44324,8673],{"class":173},[167,44326,1831],{"class":219},[167,44328,3379],{"class":173},[167,44330,44142],{"class":201},[167,44332,44145],{"class":173},[167,44334,44148],{"class":201},[167,44336,1852],{"class":173},[167,44338,44339,44341,44343,44345,44347,44349,44351],{"class":169,"line":261},[167,44340,8673],{"class":173},[167,44342,1849],{"class":219},[167,44344,3379],{"class":173},[167,44346,44161],{"class":201},[167,44348,44145],{"class":173},[167,44350,44166],{"class":201},[167,44352,599],{"class":173},[167,44354,44355],{"class":169,"line":273},[167,44356,8734],{"class":173},[167,44358,44359],{"class":169,"line":279},[167,44360,4045],{"class":173},[167,44362,44363],{"class":169,"line":289},[167,44364,3488],{"class":173},[167,44366,44367],{"class":169,"line":294},[167,44368,276],{"class":173},[167,44370,44371,44373,44375],{"class":169,"line":304},[167,44372,282],{"class":173},[167,44374,178],{"class":177},[167,44376,185],{"class":173},[167,44378,44379],{"class":169,"line":313},[167,44380,209],{"emptyLinePlaceholder":208},[167,44382,44383,44385,44387],{"class":169,"line":161},[167,44384,174],{"class":173},[167,44386,299],{"class":177},[167,44388,185],{"class":173},[167,44390,44392,44394,44396,44398,44400,44402,44404,44406,44408,44410,44412,44414,44416,44418,44420,44422],{"class":44391,"line":335},[169,213],[167,44393,307],{"class":173},[167,44395,299],{"class":177},[167,44397,18702],{"class":191},[167,44399,267],{"class":173},[167,44401,5076],{"class":201},[167,44403,44208],{"class":173},[167,44405,44211],{"class":191},[167,44407,1816],{"class":173},[167,44409,5076],{"class":201},[167,44411,5308],{"class":173},[167,44413,7841],{"class":181},[167,44415,267],{"class":173},[167,44417,5076],{"class":201},[167,44419,44226],{"class":173},[167,44421,5076],{"class":201},[167,44423,185],{"class":173},[167,44425,44426,44428,44430,44432,44434],{"class":169,"line":341},[167,44427,1252],{"class":173},[167,44429,3083],{"class":177},[167,44431,44239],{"class":173},[167,44433,3083],{"class":177},[167,44435,185],{"class":173},[167,44437,44438,44440,44442,44444,44446],{"class":169,"line":489},[167,44439,1252],{"class":173},[167,44441,15],{"class":177},[167,44443,44252],{"class":173},[167,44445,15],{"class":177},[167,44447,185],{"class":173},[167,44449,44450,44452,44454],{"class":169,"line":495},[167,44451,1252],{"class":173},[167,44453,44263],{"class":177},[167,44455,5321],{"class":173},[167,44457,44458,44460,44462],{"class":169,"line":501},[167,44459,504],{"class":173},[167,44461,299],{"class":177},[167,44463,185],{"class":173},[167,44465,44466,44468,44470],{"class":169,"line":512},[167,44467,282],{"class":173},[167,44469,299],{"class":177},[167,44471,185],{"class":173},[22,44473,44475],{"id":44474},"nivel-avanzado-listas-derivadas-componentes-y-anidación","Nivel avanzado: listas derivadas, componentes y anidación",[3083,44477,44479,44480],{"id":44478},"_1-prefiltrar-y-ordenar-con-computed","1) Prefiltrar y ordenar con ",[87,44481,1657],{},[15,44483,44484,44485,44487,44488,1675],{},"No hagas lógica pesada dentro del ",[87,44486,30722],{},".\nDeriva la lista antes, con ",[87,44489,1657],{},[154,44491,44494],{"className":156,"code":44492,"filename":3256,"highlights":44493,"language":162,"meta":163,"style":163},"\u003Cscript setup>\nimport { computed, ref } from 'vue'\n\nconst products = ref([\n  { id: 1, name: 'Laptop', price: 1200, stock: 5 },\n  { id: 2, name: 'Mouse', price: 25, stock: 0 },\n  { id: 3, name: 'Keyboard', price: 80, stock: 12 }\n])\n\nconst inStockSorted = computed(() => {\n  return products.value\n    .filter(product => product.stock > 0)\n    .slice()\n    .sort((a, b) => a.price - b.price)\n})\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cli v-for=\"product in inStockSorted\" :key=\"product.id\">\n    {{ product.name }} - ${{ product.price }}\n  \u003C\u002Fli>\n\u003C\u002Ftemplate>\n",[289,294,304,313,161,335,501],[87,44495,44496,44506,44516,44520,44532,44555,44577,44600,44604,44608,44626,44634,44658,44668,44698,44703,44711,44715,44723,44746,44751,44759],{"__ignoreMap":163},[167,44497,44498,44500,44502,44504],{"class":169,"line":170},[167,44499,174],{"class":173},[167,44501,178],{"class":177},[167,44503,182],{"class":181},[167,44505,185],{"class":173},[167,44507,44508,44510,44512,44514],{"class":169,"line":188},[167,44509,192],{"class":191},[167,44511,1801],{"class":173},[167,44513,198],{"class":191},[167,44515,202],{"class":201},[167,44517,44518],{"class":169,"line":205},[167,44519,209],{"emptyLinePlaceholder":208},[167,44521,44522,44524,44526,44528,44530],{"class":169,"line":160},[167,44523,216],{"class":191},[167,44525,35430],{"class":219},[167,44527,223],{"class":191},[167,44529,226],{"class":181},[167,44531,1823],{"class":173},[167,44533,44534,44536,44538,44540,44543,44545,44548,44550,44553],{"class":169,"line":238},[167,44535,1828],{"class":173},[167,44537,1831],{"class":219},[167,44539,1834],{"class":173},[167,44541,44542],{"class":201},"'Laptop'",[167,44544,1840],{"class":173},[167,44546,44547],{"class":219},"1200",[167,44549,35455],{"class":173},[167,44551,44552],{"class":219},"5",[167,44554,1852],{"class":173},[167,44556,44557,44559,44561,44563,44566,44568,44571,44573,44575],{"class":169,"line":243},[167,44558,1828],{"class":173},[167,44560,1849],{"class":219},[167,44562,1834],{"class":173},[167,44564,44565],{"class":201},"'Mouse'",[167,44567,1840],{"class":173},[167,44569,44570],{"class":219},"25",[167,44572,35455],{"class":173},[167,44574,1956],{"class":219},[167,44576,1852],{"class":173},[167,44578,44579,44581,44583,44585,44588,44590,44593,44595,44598],{"class":169,"line":261},[167,44580,1828],{"class":173},[167,44582,8199],{"class":219},[167,44584,1834],{"class":173},[167,44586,44587],{"class":201},"'Keyboard'",[167,44589,1840],{"class":173},[167,44591,44592],{"class":219},"80",[167,44594,35455],{"class":173},[167,44596,44597],{"class":219},"12",[167,44599,599],{"class":173},[167,44601,44602],{"class":169,"line":273},[167,44603,429],{"class":173},[167,44605,44606],{"class":169,"line":279},[167,44607,209],{"emptyLinePlaceholder":208},[167,44609,44611,44613,44616,44618,44620,44622,44624],{"class":44610,"line":289},[169,213],[167,44612,216],{"class":191},[167,44614,44615],{"class":219}," inStockSorted",[167,44617,223],{"class":191},[167,44619,1894],{"class":181},[167,44621,1488],{"class":173},[167,44623,639],{"class":191},[167,44625,1901],{"class":173},[167,44627,44629,44631],{"class":44628,"line":294},[169,213],[167,44630,1534],{"class":191},[167,44632,44633],{"class":173}," products.value\n",[167,44635,44637,44640,44642,44644,44646,44648,44651,44653,44656],{"class":44636,"line":304},[169,213],[167,44638,44639],{"class":173},"    .",[167,44641,8248],{"class":181},[167,44643,229],{"class":173},[167,44645,6964],{"class":254},[167,44647,8255],{"class":191},[167,44649,44650],{"class":173}," product.stock ",[167,44652,15859],{"class":191},[167,44654,44655],{"class":219}," 0",[167,44657,235],{"class":173},[167,44659,44661,44663,44666],{"class":44660,"line":313},[169,213],[167,44662,44639],{"class":173},[167,44664,44665],{"class":181},"slice",[167,44667,2913],{"class":173},[167,44669,44671,44673,44676,44678,44680,44682,44685,44687,44689,44692,44695],{"class":44670,"line":161},[169,213],[167,44672,44639],{"class":173},[167,44674,44675],{"class":181},"sort",[167,44677,1914],{"class":173},[167,44679,19088],{"class":254},[167,44681,1020],{"class":173},[167,44683,44684],{"class":254},"b",[167,44686,693],{"class":173},[167,44688,639],{"class":191},[167,44690,44691],{"class":173}," a.price ",[167,44693,44694],{"class":191},"-",[167,44696,44697],{"class":173}," b.price)\n",[167,44699,44701],{"class":44700,"line":335},[169,213],[167,44702,403],{"class":173},[167,44704,44705,44707,44709],{"class":169,"line":341},[167,44706,282],{"class":173},[167,44708,178],{"class":177},[167,44710,185],{"class":173},[167,44712,44713],{"class":169,"line":489},[167,44714,209],{"emptyLinePlaceholder":208},[167,44716,44717,44719,44721],{"class":169,"line":495},[167,44718,174],{"class":173},[167,44720,299],{"class":177},[167,44722,185],{"class":173},[167,44724,44726,44728,44730,44732,44734,44737,44739,44741,44744],{"class":44725,"line":501},[169,213],[167,44727,307],{"class":173},[167,44729,36],{"class":177},[167,44731,18702],{"class":181},[167,44733,267],{"class":173},[167,44735,44736],{"class":201},"\"product in inStockSorted\"",[167,44738,10303],{"class":181},[167,44740,267],{"class":173},[167,44742,44743],{"class":201},"\"product.id\"",[167,44745,185],{"class":173},[167,44747,44748],{"class":169,"line":512},[167,44749,44750],{"class":173},"    {{ product.name }} - ${{ product.price }}\n",[167,44752,44753,44755,44757],{"class":169,"line":781},[167,44754,504],{"class":173},[167,44756,36],{"class":177},[167,44758,185],{"class":173},[167,44760,44761,44763,44765],{"class":169,"line":786},[167,44762,282],{"class":173},[167,44764,299],{"class":177},[167,44766,185],{"class":173},[154,44768,44771],{"className":156,"code":44769,"filename":3969,"highlights":44770,"language":162,"meta":163,"style":163},"\u003Cscript>\nexport default {\n  data() {\n    return {\n      products: [\n        { id: 1, name: 'Laptop', price: 1200, stock: 5 },\n        { id: 2, name: 'Mouse', price: 25, stock: 0 },\n        { id: 3, name: 'Keyboard', price: 80, stock: 12 }\n      ]\n    }\n  },\n  computed: {\n    inStockSorted() {\n      return this.products\n        .filter(product => product.stock > 0)\n        .slice()\n        .sort((a, b) => a.price - b.price)\n    }\n  }\n}\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cli v-for=\"product in inStockSorted\" :key=\"product.id\">\n    {{ product.name }} - ${{ product.price }}\n  \u003C\u002Fli>\n\u003C\u002Ftemplate>\n",[304,313,161,335,341,489,495,501,2688],[87,44772,44773,44781,44789,44795,44801,44805,44825,44845,44865,44869,44873,44877,44882,44890,44900,44922,44931,44956,44961,44966,44970,44978,44982,44990,45011,45015,45023],{"__ignoreMap":163},[167,44774,44775,44777,44779],{"class":169,"line":170},[167,44776,174],{"class":173},[167,44778,178],{"class":177},[167,44780,185],{"class":173},[167,44782,44783,44785,44787],{"class":169,"line":188},[167,44784,608],{"class":191},[167,44786,3987],{"class":191},[167,44788,1901],{"class":173},[167,44790,44791,44793],{"class":169,"line":205},[167,44792,7172],{"class":181},[167,44794,763],{"class":173},[167,44796,44797,44799],{"class":169,"line":160},[167,44798,1933],{"class":191},[167,44800,1901],{"class":173},[167,44802,44803],{"class":169,"line":238},[167,44804,36186],{"class":173},[167,44806,44807,44809,44811,44813,44815,44817,44819,44821,44823],{"class":169,"line":243},[167,44808,8673],{"class":173},[167,44810,1831],{"class":219},[167,44812,1834],{"class":173},[167,44814,44542],{"class":201},[167,44816,1840],{"class":173},[167,44818,44547],{"class":219},[167,44820,35455],{"class":173},[167,44822,44552],{"class":219},[167,44824,1852],{"class":173},[167,44826,44827,44829,44831,44833,44835,44837,44839,44841,44843],{"class":169,"line":261},[167,44828,8673],{"class":173},[167,44830,1849],{"class":219},[167,44832,1834],{"class":173},[167,44834,44565],{"class":201},[167,44836,1840],{"class":173},[167,44838,44570],{"class":219},[167,44840,35455],{"class":173},[167,44842,1956],{"class":219},[167,44844,1852],{"class":173},[167,44846,44847,44849,44851,44853,44855,44857,44859,44861,44863],{"class":169,"line":273},[167,44848,8673],{"class":173},[167,44850,8199],{"class":219},[167,44852,1834],{"class":173},[167,44854,44587],{"class":201},[167,44856,1840],{"class":173},[167,44858,44592],{"class":219},[167,44860,35455],{"class":173},[167,44862,44597],{"class":219},[167,44864,599],{"class":173},[167,44866,44867],{"class":169,"line":279},[167,44868,8734],{"class":173},[167,44870,44871],{"class":169,"line":289},[167,44872,4045],{"class":173},[167,44874,44875],{"class":169,"line":294},[167,44876,398],{"class":173},[167,44878,44880],{"class":44879,"line":304},[169,213],[167,44881,8751],{"class":173},[167,44883,44885,44888],{"class":44884,"line":313},[169,213],[167,44886,44887],{"class":181},"    inStockSorted",[167,44889,763],{"class":173},[167,44891,44893,44895,44897],{"class":44892,"line":161},[169,213],[167,44894,8763],{"class":191},[167,44896,7347],{"class":219},[167,44898,44899],{"class":173},".products\n",[167,44901,44903,44906,44908,44910,44912,44914,44916,44918,44920],{"class":44902,"line":335},[169,213],[167,44904,44905],{"class":173},"        .",[167,44907,8248],{"class":181},[167,44909,229],{"class":173},[167,44911,6964],{"class":254},[167,44913,8255],{"class":191},[167,44915,44650],{"class":173},[167,44917,15859],{"class":191},[167,44919,44655],{"class":219},[167,44921,235],{"class":173},[167,44923,44925,44927,44929],{"class":44924,"line":341},[169,213],[167,44926,44905],{"class":173},[167,44928,44665],{"class":181},[167,44930,2913],{"class":173},[167,44932,44934,44936,44938,44940,44942,44944,44946,44948,44950,44952,44954],{"class":44933,"line":489},[169,213],[167,44935,44905],{"class":173},[167,44937,44675],{"class":181},[167,44939,1914],{"class":173},[167,44941,19088],{"class":254},[167,44943,1020],{"class":173},[167,44945,44684],{"class":254},[167,44947,693],{"class":173},[167,44949,639],{"class":191},[167,44951,44691],{"class":173},[167,44953,44694],{"class":191},[167,44955,44697],{"class":173},[167,44957,44959],{"class":44958,"line":495},[169,213],[167,44960,4045],{"class":173},[167,44962,44964],{"class":44963,"line":501},[169,213],[167,44965,3488],{"class":173},[167,44967,44968],{"class":169,"line":512},[167,44969,276],{"class":173},[167,44971,44972,44974,44976],{"class":169,"line":781},[167,44973,282],{"class":173},[167,44975,178],{"class":177},[167,44977,185],{"class":173},[167,44979,44980],{"class":169,"line":786},[167,44981,209],{"emptyLinePlaceholder":208},[167,44983,44984,44986,44988],{"class":169,"line":2674},[167,44985,174],{"class":173},[167,44987,299],{"class":177},[167,44989,185],{"class":173},[167,44991,44993,44995,44997,44999,45001,45003,45005,45007,45009],{"class":44992,"line":2688},[169,213],[167,44994,307],{"class":173},[167,44996,36],{"class":177},[167,44998,18702],{"class":181},[167,45000,267],{"class":173},[167,45002,44736],{"class":201},[167,45004,10303],{"class":181},[167,45006,267],{"class":173},[167,45008,44743],{"class":201},[167,45010,185],{"class":173},[167,45012,45013],{"class":169,"line":3571},[167,45014,44750],{"class":173},[167,45016,45017,45019,45021],{"class":169,"line":5024},[167,45018,504],{"class":173},[167,45020,36],{"class":177},[167,45022,185],{"class":173},[167,45024,45025,45027,45029],{"class":169,"line":5033},[167,45026,282],{"class":173},[167,45028,299],{"class":177},[167,45030,185],{"class":173},[3083,45032,45034,45035],{"id":45033},"_2-renderizar-componentes-con-v-for","2) Renderizar componentes con ",[87,45036,30722],{},[154,45038,45041],{"className":156,"code":45039,"filename":3256,"highlights":45040,"language":162,"meta":163,"style":163},"\u003Cscript setup>\nimport { ref } from 'vue'\nimport UserCard from '~\u002Fcomponents\u002FUserCard.vue'\n\nconst users = ref([\n  { id: 'u1', name: 'Ana', role: 'Admin' },\n  { id: 'u2', name: 'Luis', role: 'Editor' }\n])\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003CUserCard v-for=\"user in users\" :key=\"user.id\" :user=\"user\" \u002F>\n\u003C\u002Ftemplate>\n",[304],[87,45042,45043,45053,45063,45075,45079,45091,45109,45127,45131,45139,45143,45151,45178],{"__ignoreMap":163},[167,45044,45045,45047,45049,45051],{"class":169,"line":170},[167,45046,174],{"class":173},[167,45048,178],{"class":177},[167,45050,182],{"class":181},[167,45052,185],{"class":173},[167,45054,45055,45057,45059,45061],{"class":169,"line":188},[167,45056,192],{"class":191},[167,45058,195],{"class":173},[167,45060,198],{"class":191},[167,45062,202],{"class":201},[167,45064,45065,45067,45070,45072],{"class":169,"line":205},[167,45066,192],{"class":191},[167,45068,45069],{"class":173}," UserCard ",[167,45071,198],{"class":191},[167,45073,45074],{"class":201}," '~\u002Fcomponents\u002FUserCard.vue'\n",[167,45076,45077],{"class":169,"line":160},[167,45078,209],{"emptyLinePlaceholder":208},[167,45080,45081,45083,45085,45087,45089],{"class":169,"line":238},[167,45082,216],{"class":191},[167,45084,16950],{"class":219},[167,45086,223],{"class":191},[167,45088,226],{"class":181},[167,45090,1823],{"class":173},[167,45092,45093,45095,45098,45100,45102,45104,45107],{"class":169,"line":243},[167,45094,1828],{"class":173},[167,45096,45097],{"class":201},"'u1'",[167,45099,1834],{"class":173},[167,45101,8168],{"class":201},[167,45103,33086],{"class":173},[167,45105,45106],{"class":201},"'Admin'",[167,45108,1852],{"class":173},[167,45110,45111,45113,45116,45118,45120,45122,45125],{"class":169,"line":261},[167,45112,1828],{"class":173},[167,45114,45115],{"class":201},"'u2'",[167,45117,1834],{"class":173},[167,45119,8190],{"class":201},[167,45121,33086],{"class":173},[167,45123,45124],{"class":201},"'Editor'",[167,45126,599],{"class":173},[167,45128,45129],{"class":169,"line":273},[167,45130,429],{"class":173},[167,45132,45133,45135,45137],{"class":169,"line":279},[167,45134,282],{"class":173},[167,45136,178],{"class":177},[167,45138,185],{"class":173},[167,45140,45141],{"class":169,"line":289},[167,45142,209],{"emptyLinePlaceholder":208},[167,45144,45145,45147,45149],{"class":169,"line":294},[167,45146,174],{"class":173},[167,45148,299],{"class":177},[167,45150,185],{"class":173},[167,45152,45154,45156,45158,45160,45162,45164,45166,45168,45170,45172,45174,45176],{"class":45153,"line":304},[169,213],[167,45155,307],{"class":173},[167,45157,5305],{"class":177},[167,45159,18702],{"class":181},[167,45161,267],{"class":173},[167,45163,18707],{"class":201},[167,45165,10303],{"class":181},[167,45167,267],{"class":173},[167,45169,18714],{"class":201},[167,45171,32941],{"class":181},[167,45173,267],{"class":173},[167,45175,27387],{"class":201},[167,45177,5321],{"class":173},[167,45179,45180,45182,45184],{"class":169,"line":313},[167,45181,282],{"class":173},[167,45183,299],{"class":177},[167,45185,185],{"class":173},[154,45187,45190],{"className":156,"code":45188,"filename":3969,"highlights":45189,"language":162,"meta":163,"style":163},"\u003Cscript>\nimport UserCard from '~\u002Fcomponents\u002FUserCard.vue'\n\nexport default {\n  components: { UserCard },\n  data() {\n    return {\n      users: [\n        { id: 'u1', name: 'Ana', role: 'Admin' },\n        { id: 'u2', name: 'Luis', role: 'Editor' }\n      ]\n    }\n  }\n}\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003CUserCard v-for=\"user in users\" :key=\"user.id\" :user=\"user\" \u002F>\n\u003C\u002Ftemplate>\n",[495],[87,45191,45192,45200,45210,45214,45222,45227,45233,45239,45243,45259,45275,45279,45283,45287,45291,45299,45303,45311,45338],{"__ignoreMap":163},[167,45193,45194,45196,45198],{"class":169,"line":170},[167,45195,174],{"class":173},[167,45197,178],{"class":177},[167,45199,185],{"class":173},[167,45201,45202,45204,45206,45208],{"class":169,"line":188},[167,45203,192],{"class":191},[167,45205,45069],{"class":173},[167,45207,198],{"class":191},[167,45209,45074],{"class":201},[167,45211,45212],{"class":169,"line":205},[167,45213,209],{"emptyLinePlaceholder":208},[167,45215,45216,45218,45220],{"class":169,"line":160},[167,45217,608],{"class":191},[167,45219,3987],{"class":191},[167,45221,1901],{"class":173},[167,45223,45224],{"class":169,"line":238},[167,45225,45226],{"class":173},"  components: { UserCard },\n",[167,45228,45229,45231],{"class":169,"line":243},[167,45230,7172],{"class":181},[167,45232,763],{"class":173},[167,45234,45235,45237],{"class":169,"line":261},[167,45236,1933],{"class":191},[167,45238,1901],{"class":173},[167,45240,45241],{"class":169,"line":273},[167,45242,28748],{"class":173},[167,45244,45245,45247,45249,45251,45253,45255,45257],{"class":169,"line":279},[167,45246,8673],{"class":173},[167,45248,45097],{"class":201},[167,45250,1834],{"class":173},[167,45252,8168],{"class":201},[167,45254,33086],{"class":173},[167,45256,45106],{"class":201},[167,45258,1852],{"class":173},[167,45260,45261,45263,45265,45267,45269,45271,45273],{"class":169,"line":289},[167,45262,8673],{"class":173},[167,45264,45115],{"class":201},[167,45266,1834],{"class":173},[167,45268,8190],{"class":201},[167,45270,33086],{"class":173},[167,45272,45124],{"class":201},[167,45274,599],{"class":173},[167,45276,45277],{"class":169,"line":294},[167,45278,8734],{"class":173},[167,45280,45281],{"class":169,"line":304},[167,45282,4045],{"class":173},[167,45284,45285],{"class":169,"line":313},[167,45286,3488],{"class":173},[167,45288,45289],{"class":169,"line":161},[167,45290,276],{"class":173},[167,45292,45293,45295,45297],{"class":169,"line":335},[167,45294,282],{"class":173},[167,45296,178],{"class":177},[167,45298,185],{"class":173},[167,45300,45301],{"class":169,"line":341},[167,45302,209],{"emptyLinePlaceholder":208},[167,45304,45305,45307,45309],{"class":169,"line":489},[167,45306,174],{"class":173},[167,45308,299],{"class":177},[167,45310,185],{"class":173},[167,45312,45314,45316,45318,45320,45322,45324,45326,45328,45330,45332,45334,45336],{"class":45313,"line":495},[169,213],[167,45315,307],{"class":173},[167,45317,5305],{"class":177},[167,45319,18702],{"class":181},[167,45321,267],{"class":173},[167,45323,18707],{"class":201},[167,45325,10303],{"class":181},[167,45327,267],{"class":173},[167,45329,18714],{"class":201},[167,45331,32941],{"class":181},[167,45333,267],{"class":173},[167,45335,27387],{"class":201},[167,45337,5321],{"class":173},[167,45339,45340,45342,45344],{"class":169,"line":501},[167,45341,282],{"class":173},[167,45343,299],{"class":177},[167,45345,185],{"class":173},[3083,45347,45349],{"id":45348},"_3-listas-anidadas-categorías-y-productos","3) Listas anidadas (categorías y productos)",[154,45351,45354],{"className":156,"code":45352,"filename":3256,"highlights":45353,"language":162,"meta":163,"style":163},"\u003Cscript setup>\nimport { ref } from 'vue'\n\nconst categories = ref([\n  {\n    id: 'c1',\n    name: 'Periféricos',\n    products: [\n      { id: 'p1', name: 'Mouse' },\n      { id: 'p2', name: 'Teclado' }\n    ]\n  }\n])\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Csection v-for=\"category in categories\" :key=\"category.id\">\n    \u003Ch3>{{ category.name }}\u003C\u002Fh3>\n    \u003Cli v-for=\"product in category.products\" :key=\"product.id\">\n      {{ product.name }}\n    \u003C\u002Fli>\n  \u003C\u002Fsection>\n\u003C\u002Ftemplate>\n",[489,501],[87,45355,45356,45366,45376,45380,45393,45398,45408,45418,45423,45437,45451,45456,45460,45464,45472,45476,45484,45507,45520,45542,45547,45555,45563],{"__ignoreMap":163},[167,45357,45358,45360,45362,45364],{"class":169,"line":170},[167,45359,174],{"class":173},[167,45361,178],{"class":177},[167,45363,182],{"class":181},[167,45365,185],{"class":173},[167,45367,45368,45370,45372,45374],{"class":169,"line":188},[167,45369,192],{"class":191},[167,45371,195],{"class":173},[167,45373,198],{"class":191},[167,45375,202],{"class":201},[167,45377,45378],{"class":169,"line":205},[167,45379,209],{"emptyLinePlaceholder":208},[167,45381,45382,45384,45387,45389,45391],{"class":169,"line":160},[167,45383,216],{"class":191},[167,45385,45386],{"class":219}," categories",[167,45388,223],{"class":191},[167,45390,226],{"class":181},[167,45392,1823],{"class":173},[167,45394,45395],{"class":169,"line":238},[167,45396,45397],{"class":173},"  {\n",[167,45399,45400,45403,45406],{"class":169,"line":243},[167,45401,45402],{"class":173},"    id: ",[167,45404,45405],{"class":201},"'c1'",[167,45407,393],{"class":173},[167,45409,45410,45413,45416],{"class":169,"line":261},[167,45411,45412],{"class":173},"    name: ",[167,45414,45415],{"class":201},"'Periféricos'",[167,45417,393],{"class":173},[167,45419,45420],{"class":169,"line":273},[167,45421,45422],{"class":173},"    products: [\n",[167,45424,45425,45428,45431,45433,45435],{"class":169,"line":279},[167,45426,45427],{"class":173},"      { id: ",[167,45429,45430],{"class":201},"'p1'",[167,45432,1834],{"class":173},[167,45434,44565],{"class":201},[167,45436,1852],{"class":173},[167,45438,45439,45441,45444,45446,45449],{"class":169,"line":289},[167,45440,45427],{"class":173},[167,45442,45443],{"class":201},"'p2'",[167,45445,1834],{"class":173},[167,45447,45448],{"class":201},"'Teclado'",[167,45450,599],{"class":173},[167,45452,45453],{"class":169,"line":294},[167,45454,45455],{"class":173},"    ]\n",[167,45457,45458],{"class":169,"line":304},[167,45459,3488],{"class":173},[167,45461,45462],{"class":169,"line":313},[167,45463,429],{"class":173},[167,45465,45466,45468,45470],{"class":169,"line":161},[167,45467,282],{"class":173},[167,45469,178],{"class":177},[167,45471,185],{"class":173},[167,45473,45474],{"class":169,"line":335},[167,45475,209],{"emptyLinePlaceholder":208},[167,45477,45478,45480,45482],{"class":169,"line":341},[167,45479,174],{"class":173},[167,45481,299],{"class":177},[167,45483,185],{"class":173},[167,45485,45487,45489,45491,45493,45495,45498,45500,45502,45505],{"class":45486,"line":489},[169,213],[167,45488,307],{"class":173},[167,45490,10113],{"class":177},[167,45492,18702],{"class":181},[167,45494,267],{"class":173},[167,45496,45497],{"class":201},"\"category in categories\"",[167,45499,10303],{"class":181},[167,45501,267],{"class":173},[167,45503,45504],{"class":201},"\"category.id\"",[167,45506,185],{"class":173},[167,45508,45509,45511,45513,45516,45518],{"class":169,"line":495},[167,45510,1252],{"class":173},[167,45512,3083],{"class":177},[167,45514,45515],{"class":173},">{{ category.name }}\u003C\u002F",[167,45517,3083],{"class":177},[167,45519,185],{"class":173},[167,45521,45523,45525,45527,45529,45531,45534,45536,45538,45540],{"class":45522,"line":501},[169,213],[167,45524,1252],{"class":173},[167,45526,36],{"class":177},[167,45528,18702],{"class":181},[167,45530,267],{"class":173},[167,45532,45533],{"class":201},"\"product in category.products\"",[167,45535,10303],{"class":181},[167,45537,267],{"class":173},[167,45539,44743],{"class":201},[167,45541,185],{"class":173},[167,45543,45544],{"class":169,"line":512},[167,45545,45546],{"class":173},"      {{ product.name }}\n",[167,45548,45549,45551,45553],{"class":169,"line":781},[167,45550,1287],{"class":173},[167,45552,36],{"class":177},[167,45554,185],{"class":173},[167,45556,45557,45559,45561],{"class":169,"line":786},[167,45558,504],{"class":173},[167,45560,10113],{"class":177},[167,45562,185],{"class":173},[167,45564,45565,45567,45569],{"class":169,"line":2674},[167,45566,282],{"class":173},[167,45568,299],{"class":177},[167,45570,185],{"class":173},[154,45572,45575],{"className":156,"code":45573,"filename":3969,"highlights":45574,"language":162,"meta":163,"style":163},"\u003Cscript>\nexport default {\n  data() {\n    return {\n      categories: [\n        {\n          id: 'c1',\n          name: 'Periféricos',\n          products: [\n            { id: 'p1', name: 'Mouse' },\n            { id: 'p2', name: 'Teclado' }\n          ]\n        }\n      ]\n    }\n  }\n}\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Csection v-for=\"category in categories\" :key=\"category.id\">\n    \u003Ch3>{{ category.name }}\u003C\u002Fh3>\n    \u003Cli v-for=\"product in category.products\" :key=\"product.id\">\n      {{ product.name }}\n    \u003C\u002Fli>\n  \u003C\u002Fsection>\n\u003C\u002Ftemplate>\n",[781,2674],[87,45576,45577,45585,45593,45599,45605,45610,45615,45624,45633,45638,45651,45663,45668,45672,45676,45680,45684,45688,45696,45700,45708,45729,45741,45762,45766,45774,45782],{"__ignoreMap":163},[167,45578,45579,45581,45583],{"class":169,"line":170},[167,45580,174],{"class":173},[167,45582,178],{"class":177},[167,45584,185],{"class":173},[167,45586,45587,45589,45591],{"class":169,"line":188},[167,45588,608],{"class":191},[167,45590,3987],{"class":191},[167,45592,1901],{"class":173},[167,45594,45595,45597],{"class":169,"line":205},[167,45596,7172],{"class":181},[167,45598,763],{"class":173},[167,45600,45601,45603],{"class":169,"line":160},[167,45602,1933],{"class":191},[167,45604,1901],{"class":173},[167,45606,45607],{"class":169,"line":238},[167,45608,45609],{"class":173},"      categories: [\n",[167,45611,45612],{"class":169,"line":243},[167,45613,45614],{"class":173},"        {\n",[167,45616,45617,45620,45622],{"class":169,"line":261},[167,45618,45619],{"class":173},"          id: ",[167,45621,45405],{"class":201},[167,45623,393],{"class":173},[167,45625,45626,45629,45631],{"class":169,"line":273},[167,45627,45628],{"class":173},"          name: ",[167,45630,45415],{"class":201},[167,45632,393],{"class":173},[167,45634,45635],{"class":169,"line":279},[167,45636,45637],{"class":173},"          products: [\n",[167,45639,45640,45643,45645,45647,45649],{"class":169,"line":289},[167,45641,45642],{"class":173},"            { id: ",[167,45644,45430],{"class":201},[167,45646,1834],{"class":173},[167,45648,44565],{"class":201},[167,45650,1852],{"class":173},[167,45652,45653,45655,45657,45659,45661],{"class":169,"line":294},[167,45654,45642],{"class":173},[167,45656,45443],{"class":201},[167,45658,1834],{"class":173},[167,45660,45448],{"class":201},[167,45662,599],{"class":173},[167,45664,45665],{"class":169,"line":304},[167,45666,45667],{"class":173},"          ]\n",[167,45669,45670],{"class":169,"line":313},[167,45671,14818],{"class":173},[167,45673,45674],{"class":169,"line":161},[167,45675,8734],{"class":173},[167,45677,45678],{"class":169,"line":335},[167,45679,4045],{"class":173},[167,45681,45682],{"class":169,"line":341},[167,45683,3488],{"class":173},[167,45685,45686],{"class":169,"line":489},[167,45687,276],{"class":173},[167,45689,45690,45692,45694],{"class":169,"line":495},[167,45691,282],{"class":173},[167,45693,178],{"class":177},[167,45695,185],{"class":173},[167,45697,45698],{"class":169,"line":501},[167,45699,209],{"emptyLinePlaceholder":208},[167,45701,45702,45704,45706],{"class":169,"line":512},[167,45703,174],{"class":173},[167,45705,299],{"class":177},[167,45707,185],{"class":173},[167,45709,45711,45713,45715,45717,45719,45721,45723,45725,45727],{"class":45710,"line":781},[169,213],[167,45712,307],{"class":173},[167,45714,10113],{"class":177},[167,45716,18702],{"class":181},[167,45718,267],{"class":173},[167,45720,45497],{"class":201},[167,45722,10303],{"class":181},[167,45724,267],{"class":173},[167,45726,45504],{"class":201},[167,45728,185],{"class":173},[167,45730,45731,45733,45735,45737,45739],{"class":169,"line":786},[167,45732,1252],{"class":173},[167,45734,3083],{"class":177},[167,45736,45515],{"class":173},[167,45738,3083],{"class":177},[167,45740,185],{"class":173},[167,45742,45744,45746,45748,45750,45752,45754,45756,45758,45760],{"class":45743,"line":2674},[169,213],[167,45745,1252],{"class":173},[167,45747,36],{"class":177},[167,45749,18702],{"class":181},[167,45751,267],{"class":173},[167,45753,45533],{"class":201},[167,45755,10303],{"class":181},[167,45757,267],{"class":173},[167,45759,44743],{"class":201},[167,45761,185],{"class":173},[167,45763,45764],{"class":169,"line":2688},[167,45765,45546],{"class":173},[167,45767,45768,45770,45772],{"class":169,"line":3571},[167,45769,1287],{"class":173},[167,45771,36],{"class":177},[167,45773,185],{"class":173},[167,45775,45776,45778,45780],{"class":169,"line":5024},[167,45777,504],{"class":173},[167,45779,10113],{"class":177},[167,45781,185],{"class":173},[167,45783,45784,45786,45788],{"class":169,"line":5033},[167,45785,282],{"class":173},[167,45787,299],{"class":177},[167,45789,185],{"class":173},[22,45791,45793,45794],{"id":45792},"errores-comunes-con-v-for","Errores comunes con ",[87,45795,30722],{},[3083,45797,26693,45799,42868,45801,45803],{"id":45798},"_1-usar-index-como-key-en-listas-mutables",[87,45800,42867],{},[87,45802,7841],{}," en listas mutables",[154,45805,45808],{"className":156,"code":45806,"filename":39993,"highlights":45807,"language":162,"meta":163,"style":163},"\u003Cli v-for=\"(item, index) in items\" :key=\"index\">\n  {{ item.name }}\n\u003C\u002Fli>\n",[170],[87,45809,45810,45846,45851],{"__ignoreMap":163},[167,45811,45813,45815,45817,45819,45821,45823,45826,45828,45830,45832,45834,45836,45838,45840,45842,45844],{"class":45812,"line":170},[169,213],[167,45814,174],{"class":173},[167,45816,36],{"class":177},[167,45818,18702],{"class":191},[167,45820,267],{"class":173},[167,45822,5076],{"class":201},[167,45824,45825],{"class":173},"(item, index) ",[167,45827,44211],{"class":191},[167,45829,1816],{"class":173},[167,45831,5076],{"class":201},[167,45833,5308],{"class":173},[167,45835,7841],{"class":181},[167,45837,267],{"class":173},[167,45839,5076],{"class":201},[167,45841,42867],{"class":173},[167,45843,5076],{"class":201},[167,45845,185],{"class":173},[167,45847,45848],{"class":169,"line":188},[167,45849,45850],{"class":173},"  {{ item.name }}\n",[167,45852,45853,45855,45857],{"class":169,"line":205},[167,45854,282],{"class":173},[167,45856,36],{"class":177},[167,45858,185],{"class":173},[15,45860,45861],{},"Esto puede romper el estado de cada fila al reordenar o insertar elementos.",[5363,45863,45864],{},[15,45865,45866,45867,45869],{},"Usa una clave estable (",[87,45868,44226],{},") cuando exista.",[3083,45871,45873,45874,1023,45876,45878],{"id":45872},"_2-mezclar-v-if-y-v-for-en-el-mismo-nodo","2) Mezclar ",[87,45875,13492],{},[87,45877,30722],{}," en el mismo nodo",[154,45880,45883],{"className":156,"code":45881,"filename":34158,"highlights":45882,"language":162,"meta":163,"style":163},"\u003Cli v-for=\"user in users\" v-if=\"user.active\" :key=\"user.id\">\n  {{ user.name }}\n\u003C\u002Fli>\n",[170],[87,45884,45885,45932,45937],{"__ignoreMap":163},[167,45886,45888,45890,45892,45894,45896,45898,45901,45903,45905,45907,45909,45911,45913,45916,45918,45920,45922,45924,45926,45928,45930],{"class":45887,"line":170},[169,213],[167,45889,174],{"class":173},[167,45891,36],{"class":177},[167,45893,18702],{"class":191},[167,45895,267],{"class":173},[167,45897,5076],{"class":201},[167,45899,45900],{"class":173},"user ",[167,45902,44211],{"class":191},[167,45904,16950],{"class":173},[167,45906,5076],{"class":201},[167,45908,5690],{"class":191},[167,45910,267],{"class":173},[167,45912,5076],{"class":201},[167,45914,45915],{"class":173},"user.active",[167,45917,5076],{"class":201},[167,45919,5308],{"class":173},[167,45921,7841],{"class":181},[167,45923,267],{"class":173},[167,45925,5076],{"class":201},[167,45927,5186],{"class":173},[167,45929,5076],{"class":201},[167,45931,185],{"class":173},[167,45933,45934],{"class":169,"line":188},[167,45935,45936],{"class":173},"  {{ user.name }}\n",[167,45938,45939,45941,45943],{"class":169,"line":205},[167,45940,282],{"class":173},[167,45942,36],{"class":177},[167,45944,185],{"class":173},[5363,45946,45947],{},[15,45948,45949,45950,45952],{},"Crea una lista ",[87,45951,1657],{}," filtrada e itera esa lista.",[3083,45954,45956,45957],{"id":45955},"_3-mutar-directamente-el-resultado-de-un-computed","3) Mutar directamente el resultado de un ",[87,45958,1657],{},[15,45960,45961],{},"Si derives una lista ordenada\u002Ffiltrada, no la mutas directamente.\nLa fuente de verdad debe seguir siendo el estado original.",[3083,45963,32600,45965,45967],{"id":45964},"_4-key-duplicadas",[87,45966,7841],{}," duplicadas",[15,45969,45970,45971,45973],{},"Si dos elementos comparten la misma ",[87,45972,7841],{},", Vue no puede hacer diff correctamente.\nResultado: renders inconsistentes y bugs visuales difíciles de depurar.",[22,45975,45977],{"id":45976},"buenas-prácticas-rápidas","Buenas prácticas rápidas",[33,45979,45980,45987,45992,45995,46001],{},[36,45981,1577,45982,45984,45985,1675],{},[87,45983,580],{}," estable para ",[87,45986,42776],{},[36,45988,45989,45990,1675],{},"Prefiltra y ordena con ",[87,45991,1657],{},[36,45993,45994],{},"Evita lógica compleja en el template.",[36,45996,45997,45998,46000],{},"Mantén los bloques ",[87,45999,30722],{}," pequeños y legibles.",[36,46002,46003],{},"En listas grandes, considera paginación o virtualización.",[22,46005,23570],{"id":23569},[15,46007,46008,46010],{},[87,46009,30722],{}," no es solo \"pintar arrays\".\nEs una pieza central del renderizado declarativo en Vue.",[15,46012,46013],{},"Si aplicas estas reglas:",[33,46015,46016,46021,46026],{},[36,46017,46018,46020],{},[87,46019,7841],{}," estable",[36,46022,46023,46024],{},"Listas derivadas con ",[87,46025,1657],{},[36,46027,46028],{},"Estructura limpia del template",[15,46030,46031],{},"Vas a tener componentes más predecibles, más performantes y mucho más fáciles de mantener.",[924,46033,6161],{},{"title":163,"searchDepth":188,"depth":188,"links":46035},[46036,46037,46039,46040,46041,46042,46050,46057,46068,46069],{"id":26498,"depth":188,"text":26499},{"id":42822,"depth":188,"text":46038},"Cuándo usar v-for",{"id":6344,"depth":188,"text":6345},{"id":42874,"depth":188,"text":42875},{"id":43125,"depth":188,"text":43126},{"id":43545,"depth":188,"text":46043,"children":46044},"Nivel intermedio: índice, objetos y template v-for",[46045,46047,46048],{"id":43552,"depth":205,"text":46046},"1) Índice en v-for",{"id":43803,"depth":205,"text":43804},{"id":44086,"depth":205,"text":46049},"3) Repetir varios nodos con template",{"id":44474,"depth":188,"text":44475,"children":46051},[46052,46054,46056],{"id":44478,"depth":205,"text":46053},"1) Prefiltrar y ordenar con computed",{"id":45033,"depth":205,"text":46055},"2) Renderizar componentes con v-for",{"id":45348,"depth":205,"text":45349},{"id":45792,"depth":188,"text":46058,"children":46059},"Errores comunes con v-for",[46060,46062,46064,46066],{"id":45798,"depth":205,"text":46061},"1) Usar index como key en listas mutables",{"id":45872,"depth":205,"text":46063},"2) Mezclar v-if y v-for en el mismo nodo",{"id":45955,"depth":205,"text":46065},"3) Mutar directamente el resultado de un computed",{"id":45964,"depth":205,"text":46067},"4) key duplicadas",{"id":45976,"depth":188,"text":45977},{"id":23569,"depth":188,"text":23570},"https:\u002F\u002Fres.cloudinary.com\u002Fdenj4fg7f\u002Fimage\u002Fupload\u002Fv1770690176\u002Fdirectives-vue-v-for-guide_itbdds.png","Imagen temporal para portada del artículo sobre v-for en Vue","2026-02-10","Aprende a dominar v-for en Vue con ejemplos prácticos desde lo más básico hasta patrones avanzados, uso correcto de key, errores comunes y buenas prácticas en Composition API y Options API.",{"updatedAt":46075,"coverCaption":23652,"author":945,"keywords":46076},"2026-02-09T21:30:00-05:00",[3254,30722,46077,7841,3256,3969,16575],"listas","\u002Fblog\u002Fdirectives-vue-v-for-guide.es",[46080],{"headline":46081,"author":46082,"datePublished":46075,"@type":959},"Directiva v-for en Vue: guía completa de básico a avanzado",{"name":945,"@type":958},{"title":42747,"description":46073},"blog\u002Fdirectives-vue-v-for-guide.es",[46086,46087,46089,46090],{"tag":26462,"color":26463},{"tag":46088,"color":3266},"Listas",{"tag":27753,"color":27754},{"tag":5420,"color":5421},"h_Z-6C71ir_sIzxviVE8eEY3vMd8ZVXbADx8GTll9U8",{"id":46093,"title":46094,"body":46095,"cover":47934,"coverAlt":47935,"date":47936,"description":47937,"draft":1617,"extension":940,"lab":941,"locale":942,"meta":47938,"navigation":208,"path":47944,"schemaOrg":47945,"seo":47949,"series":26456,"seriesDescription":26457,"seriesOrder":188,"seriesTitle":26458,"slug":941,"stem":47950,"tags":47951,"__hash__":47958},"blog\u002Fblog\u002Fdirectives-vue-v-if-v-else-v-show-guide.es.md","Directivas en Vue: v-if, v-else y v-show",{"type":8,"value":46096,"toc":47908},[46097,46108,46122,46149,46159,46163,46167,46183,46188,46199,46210,46218,46229,46232,46247,46251,46258,46262,46270,46282,46286,46321,46329,46332,46570,46813,46833,46839,46847,47033,47221,47225,47232,47243,47252,47262,47272,47517,47750,47752,47761,47763,47814,47826,47832,47847,47854,47867,47869,47897,47905],[11,46098,46100,1020,46102,1023,46105,46107],{"id":46099},"v-if-v-else-y-v-show-en-vue-cuándo-usar-cada-una",[87,46101,13492],{},[87,46103,46104],{},"v-else",[87,46106,13655],{}," en Vue: cuándo usar cada una",[15,46109,46110,46111,1020,46113,1023,46115,46117,46118,46121],{},"Las directivas ",[87,46112,13492],{},[87,46114,46104],{},[87,46116,13655],{}," sirven para ",[3929,46119,46120],{},"mostrar u ocultar contenido"," en función de una condición reactiva.\nLa diferencia clave —la que evita bugs sutiles y problemas de rendimiento— es esta:",[33,46123,46124,46136],{},[36,46125,46126,1103,46132,46135],{},[3929,46127,46128,11223,46130],{},[87,46129,13492],{},[87,46131,46104],{},[9291,46133,46134],{},"crean o destruyen"," elementos del DOM.",[36,46137,46138,1103,46142,46145,46146,1675],{},[3929,46139,46140],{},[87,46141,13655],{},[9291,46143,46144],{},"no destruye nada","; solo alterna ",[87,46147,46148],{},"display: none",[15,46150,46151,46152,1658,46155,46158],{},"Si lo piensas como ",[3929,46153,46154],{},"“¿Esto existe?”",[3929,46156,46157],{},"“¿Esto se ve?”",", ya vas por buen camino.",[22,46160,46162],{"id":46161},"qué-hace-cada-una","Qué hace cada una",[3083,46164,46165],{"id":13492},[87,46166,13492],{},[15,46168,46169,46170,46173,46174,46176,46177,46179,46180,1675],{},"Renderiza el elemento ",[3929,46171,46172],{},"solo si"," la condición es ",[87,46175,390],{},".\nSi es ",[87,46178,3388],{},", el elemento ",[3929,46181,46182],{},"no existe en el DOM",[15,46184,46185],{},[3929,46186,46187],{},"Útil cuando:",[33,46189,46190,46193,46196],{},[36,46191,46192],{},"El contenido es pesado (componentes grandes, listas, gráficos)",[36,46194,46195],{},"No debería existir si no se cumple la condición (permisos de UI, flujos sensibles)",[36,46197,46198],{},"Se muestra pocas veces u ocasionalmente",[5363,46200,46201],{},[15,46202,46203,46205,46206,46209],{},[87,46204,13492],{}," tiene un costo mayor al alternar, porque implica ",[3929,46207,46208],{},"montaje y desmontaje"," del árbol de componentes.",[3083,46211,46213,1023,46215],{"id":46212},"v-else-y-v-else-if",[87,46214,46104],{},[87,46216,46217],{},"v-else-if",[15,46219,46220,46221,46224,46225,90,46227,1675],{},"Se usan ",[3929,46222,46223],{},"inmediatamente después"," de un ",[87,46226,13492],{},[87,46228,46217],{},[15,46230,46231],{},"Reglas importantes:",[33,46233,46234,46241],{},[36,46235,46236,46237,46240],{},"Deben estar ",[3929,46238,46239],{},"adyacentes"," (sin nodos intermedios).",[36,46242,46243,46244,1675],{},"Vue los interpreta como ",[3929,46245,46246],{},"un único bloque condicional",[3083,46248,46249],{"id":13655},[87,46250,13655],{},[15,46252,46253,46254,46257],{},"El elemento ",[3929,46255,46256],{},"siempre se renderiza"," (existe en el DOM), pero se muestra u oculta con CSS.",[15,46259,46260],{},[3929,46261,46187],{},[33,46263,46264,46267],{},[36,46265,46266],{},"La visibilidad cambia con frecuencia (toggles, menús, paneles)",[36,46268,46269],{},"Quieres evitar el costo de montar\u002Fdesmontar",[5363,46271,46272],{},[15,46273,46274,16899,46276,46281],{},[87,46275,13655],{},[3929,46277,46278,46279],{},"no funciona con ",[87,46280,31993],{},", porque no es un elemento real.\nEl contenido sigue en el DOM: foco, tab order y accesibilidad pueden verse afectados si no se gestiona bien.",[22,46283,46285],{"id":46284},"resumen-rápido-cuál-usar","Resumen rápido: cuál usar",[33,46287,46288,46299,46312],{},[36,46289,1577,46290,46294,46295,46298],{},[3929,46291,46292],{},[87,46293,13492],{}," cuando el contenido ",[3929,46296,46297],{},"no debe existir"," si la condición no se cumple.",[36,46300,1577,46301,46294,46305,46308,46309,1675],{},[3929,46302,46303],{},[87,46304,13655],{},[3929,46306,46307],{},"solo debe ocultarse"," y el toggle será ",[3929,46310,46311],{},"frecuente",[36,46313,1577,46314,46318,46319,1675],{},[3929,46315,46316],{},[87,46317,46104],{}," para el caso alternativo inmediato de un ",[87,46320,13492],{},[22,46322,46324,46325,33969,46327,6215],{"id":46323},"ejemplo-1-login-v-if-v-else","Ejemplo 1: Login (",[87,46326,13492],{},[87,46328,46104],{},[15,46330,46331],{},"Cuando una persona está autenticada, muestras el panel; si no, un CTA para iniciar sesión.",[154,46333,46336],{"className":156,"code":46334,"filename":3256,"highlights":46335,"language":162,"meta":163,"style":163},"\u003Cscript setup>\nimport { ref } from \"vue\";\n\nconst isLoggedIn = ref(false);\n\nfunction toggleLogin() {\n  isLoggedIn.value = !isLoggedIn.value;\n}\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cbutton @click=\"toggleLogin\">\n    {{ isLoggedIn ? \"Log out\" : \"Log in\" }}\n  \u003C\u002Fbutton>\n\n  \u003Csection v-if=\"isLoggedIn\">\n    \u003Ch2>Welcome back\u003C\u002Fh2>\n    \u003Cp>You have access to your dashboard.\u003C\u002Fp>\n  \u003C\u002Fsection>\n\n  \u003Csection v-else>\n    \u003Ch2>Please log in\u003C\u002Fh2>\n    \u003Cp>You need an account to continue.\u003C\u002Fp>\n  \u003C\u002Fsection>\n\u003C\u002Ftemplate>\n",[261,341,781],[87,46337,46338,46348,46360,46364,46381,46385,46394,46407,46411,46419,46423,46431,46446,46451,46459,46463,46479,46492,46505,46513,46517,46528,46541,46554,46562],{"__ignoreMap":163},[167,46339,46340,46342,46344,46346],{"class":169,"line":170},[167,46341,174],{"class":173},[167,46343,178],{"class":177},[167,46345,182],{"class":181},[167,46347,185],{"class":173},[167,46349,46350,46352,46354,46356,46358],{"class":169,"line":188},[167,46351,192],{"class":191},[167,46353,195],{"class":173},[167,46355,198],{"class":191},[167,46357,24037],{"class":201},[167,46359,24040],{"class":173},[167,46361,46362],{"class":169,"line":205},[167,46363,209],{"emptyLinePlaceholder":208},[167,46365,46366,46368,46371,46373,46375,46377,46379],{"class":169,"line":160},[167,46367,216],{"class":191},[167,46369,46370],{"class":219}," isLoggedIn",[167,46372,223],{"class":191},[167,46374,226],{"class":181},[167,46376,229],{"class":173},[167,46378,3388],{"class":219},[167,46380,24165],{"class":173},[167,46382,46383],{"class":169,"line":238},[167,46384,209],{"emptyLinePlaceholder":208},[167,46386,46387,46389,46392],{"class":169,"line":243},[167,46388,246],{"class":191},[167,46390,46391],{"class":181}," toggleLogin",[167,46393,763],{"class":173},[167,46395,46397,46400,46402,46404],{"class":46396,"line":261},[169,213],[167,46398,46399],{"class":173},"  isLoggedIn.value ",[167,46401,267],{"class":191},[167,46403,5621],{"class":191},[167,46405,46406],{"class":173},"isLoggedIn.value;\n",[167,46408,46409],{"class":169,"line":273},[167,46410,276],{"class":173},[167,46412,46413,46415,46417],{"class":169,"line":279},[167,46414,282],{"class":173},[167,46416,178],{"class":177},[167,46418,185],{"class":173},[167,46420,46421],{"class":169,"line":289},[167,46422,209],{"emptyLinePlaceholder":208},[167,46424,46425,46427,46429],{"class":169,"line":294},[167,46426,174],{"class":173},[167,46428,299],{"class":177},[167,46430,185],{"class":173},[167,46432,46433,46435,46437,46439,46441,46444],{"class":169,"line":304},[167,46434,307],{"class":173},[167,46436,507],{"class":177},[167,46438,1177],{"class":181},[167,46440,267],{"class":173},[167,46442,46443],{"class":201},"\"toggleLogin\"",[167,46445,185],{"class":173},[167,46447,46448],{"class":169,"line":313},[167,46449,46450],{"class":173},"    {{ isLoggedIn ? \"Log out\" : \"Log in\" }}\n",[167,46452,46453,46455,46457],{"class":169,"line":161},[167,46454,504],{"class":173},[167,46456,507],{"class":177},[167,46458,185],{"class":173},[167,46460,46461],{"class":169,"line":335},[167,46462,209],{"emptyLinePlaceholder":208},[167,46464,46466,46468,46470,46472,46474,46477],{"class":46465,"line":341},[169,213],[167,46467,307],{"class":173},[167,46469,10113],{"class":177},[167,46471,5690],{"class":181},[167,46473,267],{"class":173},[167,46475,46476],{"class":201},"\"isLoggedIn\"",[167,46478,185],{"class":173},[167,46480,46481,46483,46485,46488,46490],{"class":169,"line":489},[167,46482,1252],{"class":173},[167,46484,22],{"class":177},[167,46486,46487],{"class":173},">Welcome back\u003C\u002F",[167,46489,22],{"class":177},[167,46491,185],{"class":173},[167,46493,46494,46496,46498,46501,46503],{"class":169,"line":495},[167,46495,1252],{"class":173},[167,46497,15],{"class":177},[167,46499,46500],{"class":173},">You have access to your dashboard.\u003C\u002F",[167,46502,15],{"class":177},[167,46504,185],{"class":173},[167,46506,46507,46509,46511],{"class":169,"line":501},[167,46508,504],{"class":173},[167,46510,10113],{"class":177},[167,46512,185],{"class":173},[167,46514,46515],{"class":169,"line":512},[167,46516,209],{"emptyLinePlaceholder":208},[167,46518,46520,46522,46524,46526],{"class":46519,"line":781},[169,213],[167,46521,307],{"class":173},[167,46523,10113],{"class":177},[167,46525,7034],{"class":181},[167,46527,185],{"class":173},[167,46529,46530,46532,46534,46537,46539],{"class":169,"line":786},[167,46531,1252],{"class":173},[167,46533,22],{"class":177},[167,46535,46536],{"class":173},">Please log in\u003C\u002F",[167,46538,22],{"class":177},[167,46540,185],{"class":173},[167,46542,46543,46545,46547,46550,46552],{"class":169,"line":2674},[167,46544,1252],{"class":173},[167,46546,15],{"class":177},[167,46548,46549],{"class":173},">You need an account to continue.\u003C\u002F",[167,46551,15],{"class":177},[167,46553,185],{"class":173},[167,46555,46556,46558,46560],{"class":169,"line":2688},[167,46557,504],{"class":173},[167,46559,10113],{"class":177},[167,46561,185],{"class":173},[167,46563,46564,46566,46568],{"class":169,"line":3571},[167,46565,282],{"class":173},[167,46567,299],{"class":177},[167,46569,185],{"class":173},[154,46571,46574],{"className":156,"code":46572,"filename":3969,"highlights":46573,"language":162,"meta":163,"style":163},"\u003Cscript>\nexport default {\n  data() {\n    return {\n      isLoggedIn: false,\n    };\n  },\n  methods: {\n    toggleLogin() {\n      this.isLoggedIn = !this.isLoggedIn;\n    },\n  },\n};\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cbutton @click=\"toggleLogin\">\n    {{ isLoggedIn ? \"Log out\" : \"Log in\" }}\n  \u003C\u002Fbutton>\n\n  \u003Csection v-if=\"isLoggedIn\">\n    \u003Ch2>Welcome back\u003C\u002Fh2>\n    \u003Cp>You have access to your dashboard.\u003C\u002Fp>\n  \u003C\u002Fsection>\n\n  \u003Csection v-else>\n    \u003Ch2>Please log in\u003C\u002Fh2>\n    \u003Cp>You need an account to continue.\u003C\u002Fp>\n  \u003C\u002Fsection>\n\u003C\u002Ftemplate>\n",[289,781,5024],[87,46575,46576,46584,46592,46598,46604,46613,46617,46621,46625,46632,46649,46653,46657,46661,46669,46673,46681,46695,46699,46707,46711,46726,46738,46750,46758,46762,46773,46785,46797,46805],{"__ignoreMap":163},[167,46577,46578,46580,46582],{"class":169,"line":170},[167,46579,174],{"class":173},[167,46581,178],{"class":177},[167,46583,185],{"class":173},[167,46585,46586,46588,46590],{"class":169,"line":188},[167,46587,608],{"class":191},[167,46589,3987],{"class":191},[167,46591,1901],{"class":173},[167,46593,46594,46596],{"class":169,"line":205},[167,46595,7172],{"class":181},[167,46597,763],{"class":173},[167,46599,46600,46602],{"class":169,"line":160},[167,46601,1933],{"class":191},[167,46603,1901],{"class":173},[167,46605,46606,46609,46611],{"class":169,"line":238},[167,46607,46608],{"class":173},"      isLoggedIn: ",[167,46610,3388],{"class":219},[167,46612,393],{"class":173},[167,46614,46615],{"class":169,"line":243},[167,46616,24366],{"class":173},[167,46618,46619],{"class":169,"line":261},[167,46620,398],{"class":173},[167,46622,46623],{"class":169,"line":273},[167,46624,4415],{"class":173},[167,46626,46627,46630],{"class":169,"line":279},[167,46628,46629],{"class":181},"    toggleLogin",[167,46631,763],{"class":173},[167,46633,46635,46637,46640,46642,46644,46646],{"class":46634,"line":289},[169,213],[167,46636,741],{"class":219},[167,46638,46639],{"class":173},".isLoggedIn ",[167,46641,267],{"class":191},[167,46643,5621],{"class":191},[167,46645,4923],{"class":219},[167,46647,46648],{"class":173},".isLoggedIn;\n",[167,46650,46651],{"class":169,"line":294},[167,46652,755],{"class":173},[167,46654,46655],{"class":169,"line":304},[167,46656,398],{"class":173},[167,46658,46659],{"class":169,"line":313},[167,46660,24144],{"class":173},[167,46662,46663,46665,46667],{"class":169,"line":161},[167,46664,282],{"class":173},[167,46666,178],{"class":177},[167,46668,185],{"class":173},[167,46670,46671],{"class":169,"line":335},[167,46672,209],{"emptyLinePlaceholder":208},[167,46674,46675,46677,46679],{"class":169,"line":341},[167,46676,174],{"class":173},[167,46678,299],{"class":177},[167,46680,185],{"class":173},[167,46682,46683,46685,46687,46689,46691,46693],{"class":169,"line":489},[167,46684,307],{"class":173},[167,46686,507],{"class":177},[167,46688,1177],{"class":181},[167,46690,267],{"class":173},[167,46692,46443],{"class":201},[167,46694,185],{"class":173},[167,46696,46697],{"class":169,"line":495},[167,46698,46450],{"class":173},[167,46700,46701,46703,46705],{"class":169,"line":501},[167,46702,504],{"class":173},[167,46704,507],{"class":177},[167,46706,185],{"class":173},[167,46708,46709],{"class":169,"line":512},[167,46710,209],{"emptyLinePlaceholder":208},[167,46712,46714,46716,46718,46720,46722,46724],{"class":46713,"line":781},[169,213],[167,46715,307],{"class":173},[167,46717,10113],{"class":177},[167,46719,5690],{"class":181},[167,46721,267],{"class":173},[167,46723,46476],{"class":201},[167,46725,185],{"class":173},[167,46727,46728,46730,46732,46734,46736],{"class":169,"line":786},[167,46729,1252],{"class":173},[167,46731,22],{"class":177},[167,46733,46487],{"class":173},[167,46735,22],{"class":177},[167,46737,185],{"class":173},[167,46739,46740,46742,46744,46746,46748],{"class":169,"line":2674},[167,46741,1252],{"class":173},[167,46743,15],{"class":177},[167,46745,46500],{"class":173},[167,46747,15],{"class":177},[167,46749,185],{"class":173},[167,46751,46752,46754,46756],{"class":169,"line":2688},[167,46753,504],{"class":173},[167,46755,10113],{"class":177},[167,46757,185],{"class":173},[167,46759,46760],{"class":169,"line":3571},[167,46761,209],{"emptyLinePlaceholder":208},[167,46763,46765,46767,46769,46771],{"class":46764,"line":5024},[169,213],[167,46766,307],{"class":173},[167,46768,10113],{"class":177},[167,46770,7034],{"class":181},[167,46772,185],{"class":173},[167,46774,46775,46777,46779,46781,46783],{"class":169,"line":5033},[167,46776,1252],{"class":173},[167,46778,22],{"class":177},[167,46780,46536],{"class":173},[167,46782,22],{"class":177},[167,46784,185],{"class":173},[167,46786,46787,46789,46791,46793,46795],{"class":169,"line":5042},[167,46788,1252],{"class":173},[167,46790,15],{"class":177},[167,46792,46549],{"class":173},[167,46794,15],{"class":177},[167,46796,185],{"class":173},[167,46798,46799,46801,46803],{"class":169,"line":6752},[167,46800,504],{"class":173},[167,46802,10113],{"class":177},[167,46804,185],{"class":173},[167,46806,46807,46809,46811],{"class":169,"line":6774},[167,46808,282],{"class":173},[167,46810,299],{"class":177},[167,46812,185],{"class":173},[5363,46814,46815],{},[15,46816,23769,46817,46820,46821,22873,46824,46826,46827,46830,46831,1675],{},[87,46818,46819],{},"\u003Csection v-else>"," debe ir ",[3929,46822,46823],{},"justo después",[87,46825,13492],{},".\nSi intercalas un comentario, un ",[87,46828,46829],{},"\u003Cdiv>"," u otro nodo, Vue deja de asociarlo como ",[87,46832,22566],{},[22,46834,46836,46837,6215],{"id":46835},"ejemplo-2-tabs-o-panel-que-se-abre-y-cierra-v-show","Ejemplo 2: Tabs o panel que se abre y cierra (",[87,46838,13655],{},[15,46840,46841,46842,46846],{},"Un panel de filtros que el usuario abre y cierra constantemente. Aquí ",[3929,46843,46844],{},[87,46845,13655],{}," es ideal.",[154,46848,46851],{"className":156,"code":46849,"filename":3256,"highlights":46850,"language":162,"meta":163,"style":163},"\u003Cscript setup>\nimport { ref } from \"vue\";\n\nconst isOpen = ref(false);\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cbutton @click=\"isOpen = !isOpen\">\n    {{ isOpen ? \"Hide filters\" : \"Show filters\" }}\n  \u003C\u002Fbutton>\n\n  \u003Caside v-show=\"isOpen\" class=\"filters\">\n    \u003Ch3>Filters\u003C\u002Fh3>\n    \u003Clabel>\n      \u003Cinput type=\"checkbox\" \u002F>\n      Only available items\n    \u003C\u002Flabel>\n  \u003C\u002Faside>\n\u003C\u002Ftemplate>\n",[160,304],[87,46852,46853,46863,46875,46879,46896,46904,46908,46916,46930,46935,46943,46947,46969,46982,46990,47004,47009,47017,47025],{"__ignoreMap":163},[167,46854,46855,46857,46859,46861],{"class":169,"line":170},[167,46856,174],{"class":173},[167,46858,178],{"class":177},[167,46860,182],{"class":181},[167,46862,185],{"class":173},[167,46864,46865,46867,46869,46871,46873],{"class":169,"line":188},[167,46866,192],{"class":191},[167,46868,195],{"class":173},[167,46870,198],{"class":191},[167,46872,24037],{"class":201},[167,46874,24040],{"class":173},[167,46876,46877],{"class":169,"line":205},[167,46878,209],{"emptyLinePlaceholder":208},[167,46880,46882,46884,46886,46888,46890,46892,46894],{"class":46881,"line":160},[169,213],[167,46883,216],{"class":191},[167,46885,5519],{"class":219},[167,46887,223],{"class":191},[167,46889,226],{"class":181},[167,46891,229],{"class":173},[167,46893,3388],{"class":219},[167,46895,24165],{"class":173},[167,46897,46898,46900,46902],{"class":169,"line":238},[167,46899,282],{"class":173},[167,46901,178],{"class":177},[167,46903,185],{"class":173},[167,46905,46906],{"class":169,"line":243},[167,46907,209],{"emptyLinePlaceholder":208},[167,46909,46910,46912,46914],{"class":169,"line":261},[167,46911,174],{"class":173},[167,46913,299],{"class":177},[167,46915,185],{"class":173},[167,46917,46918,46920,46922,46924,46926,46928],{"class":169,"line":273},[167,46919,307],{"class":173},[167,46921,507],{"class":177},[167,46923,1177],{"class":181},[167,46925,267],{"class":173},[167,46927,24588],{"class":201},[167,46929,185],{"class":173},[167,46931,46932],{"class":169,"line":279},[167,46933,46934],{"class":173},"    {{ isOpen ? \"Hide filters\" : \"Show filters\" }}\n",[167,46936,46937,46939,46941],{"class":169,"line":289},[167,46938,504],{"class":173},[167,46940,507],{"class":177},[167,46942,185],{"class":173},[167,46944,46945],{"class":169,"line":294},[167,46946,209],{"emptyLinePlaceholder":208},[167,46948,46950,46952,46954,46957,46959,46961,46963,46965,46967],{"class":46949,"line":304},[169,213],[167,46951,307],{"class":173},[167,46953,27350],{"class":177},[167,46955,46956],{"class":181}," v-show",[167,46958,267],{"class":173},[167,46960,5695],{"class":201},[167,46962,1240],{"class":181},[167,46964,267],{"class":173},[167,46966,12379],{"class":201},[167,46968,185],{"class":173},[167,46970,46971,46973,46975,46978,46980],{"class":169,"line":313},[167,46972,1252],{"class":173},[167,46974,3083],{"class":177},[167,46976,46977],{"class":173},">Filters\u003C\u002F",[167,46979,3083],{"class":177},[167,46981,185],{"class":173},[167,46983,46984,46986,46988],{"class":169,"line":161},[167,46985,1252],{"class":173},[167,46987,9871],{"class":177},[167,46989,185],{"class":173},[167,46991,46992,46994,46996,46998,47000,47002],{"class":169,"line":335},[167,46993,1263],{"class":173},[167,46995,2646],{"class":177},[167,46997,1169],{"class":181},[167,46999,267],{"class":173},[167,47001,34998],{"class":201},[167,47003,5321],{"class":173},[167,47005,47006],{"class":169,"line":341},[167,47007,47008],{"class":173},"      Only available items\n",[167,47010,47011,47013,47015],{"class":169,"line":489},[167,47012,1287],{"class":173},[167,47014,9871],{"class":177},[167,47016,185],{"class":173},[167,47018,47019,47021,47023],{"class":169,"line":495},[167,47020,504],{"class":173},[167,47022,27350],{"class":177},[167,47024,185],{"class":173},[167,47026,47027,47029,47031],{"class":169,"line":501},[167,47028,282],{"class":173},[167,47030,299],{"class":177},[167,47032,185],{"class":173},[154,47034,47037],{"className":156,"code":47035,"filename":3969,"highlights":47036,"language":162,"meta":163,"style":163},"\u003Cscript>\nexport default {\n  data() {\n    return {\n      isOpen: false,\n    };\n  },\n};\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cbutton @click=\"isOpen = !isOpen\">\n    {{ isOpen ? \"Hide filters\" : \"Show filters\" }}\n  \u003C\u002Fbutton>\n\n  \u003Caside v-show=\"isOpen\" class=\"filters\">\n    \u003Ch3>Filters\u003C\u002Fh3>\n    \u003Clabel>\n      \u003Cinput type=\"checkbox\" \u002F>\n      Only available items\n    \u003C\u002Flabel>\n  \u003C\u002Faside>\n\u003C\u002Ftemplate>\n",[238,341],[87,47038,47039,47047,47055,47061,47067,47076,47080,47084,47088,47096,47100,47108,47122,47126,47134,47138,47159,47171,47179,47193,47197,47205,47213],{"__ignoreMap":163},[167,47040,47041,47043,47045],{"class":169,"line":170},[167,47042,174],{"class":173},[167,47044,178],{"class":177},[167,47046,185],{"class":173},[167,47048,47049,47051,47053],{"class":169,"line":188},[167,47050,608],{"class":191},[167,47052,3987],{"class":191},[167,47054,1901],{"class":173},[167,47056,47057,47059],{"class":169,"line":205},[167,47058,7172],{"class":181},[167,47060,763],{"class":173},[167,47062,47063,47065],{"class":169,"line":160},[167,47064,1933],{"class":191},[167,47066,1901],{"class":173},[167,47068,47070,47072,47074],{"class":47069,"line":238},[169,213],[167,47071,24718],{"class":173},[167,47073,3388],{"class":219},[167,47075,393],{"class":173},[167,47077,47078],{"class":169,"line":243},[167,47079,24366],{"class":173},[167,47081,47082],{"class":169,"line":261},[167,47083,398],{"class":173},[167,47085,47086],{"class":169,"line":273},[167,47087,24144],{"class":173},[167,47089,47090,47092,47094],{"class":169,"line":279},[167,47091,282],{"class":173},[167,47093,178],{"class":177},[167,47095,185],{"class":173},[167,47097,47098],{"class":169,"line":289},[167,47099,209],{"emptyLinePlaceholder":208},[167,47101,47102,47104,47106],{"class":169,"line":294},[167,47103,174],{"class":173},[167,47105,299],{"class":177},[167,47107,185],{"class":173},[167,47109,47110,47112,47114,47116,47118,47120],{"class":169,"line":304},[167,47111,307],{"class":173},[167,47113,507],{"class":177},[167,47115,1177],{"class":181},[167,47117,267],{"class":173},[167,47119,24588],{"class":201},[167,47121,185],{"class":173},[167,47123,47124],{"class":169,"line":313},[167,47125,46934],{"class":173},[167,47127,47128,47130,47132],{"class":169,"line":161},[167,47129,504],{"class":173},[167,47131,507],{"class":177},[167,47133,185],{"class":173},[167,47135,47136],{"class":169,"line":335},[167,47137,209],{"emptyLinePlaceholder":208},[167,47139,47141,47143,47145,47147,47149,47151,47153,47155,47157],{"class":47140,"line":341},[169,213],[167,47142,307],{"class":173},[167,47144,27350],{"class":177},[167,47146,46956],{"class":181},[167,47148,267],{"class":173},[167,47150,5695],{"class":201},[167,47152,1240],{"class":181},[167,47154,267],{"class":173},[167,47156,12379],{"class":201},[167,47158,185],{"class":173},[167,47160,47161,47163,47165,47167,47169],{"class":169,"line":489},[167,47162,1252],{"class":173},[167,47164,3083],{"class":177},[167,47166,46977],{"class":173},[167,47168,3083],{"class":177},[167,47170,185],{"class":173},[167,47172,47173,47175,47177],{"class":169,"line":495},[167,47174,1252],{"class":173},[167,47176,9871],{"class":177},[167,47178,185],{"class":173},[167,47180,47181,47183,47185,47187,47189,47191],{"class":169,"line":501},[167,47182,1263],{"class":173},[167,47184,2646],{"class":177},[167,47186,1169],{"class":181},[167,47188,267],{"class":173},[167,47190,34998],{"class":201},[167,47192,5321],{"class":173},[167,47194,47195],{"class":169,"line":512},[167,47196,47008],{"class":173},[167,47198,47199,47201,47203],{"class":169,"line":781},[167,47200,1287],{"class":173},[167,47202,9871],{"class":177},[167,47204,185],{"class":173},[167,47206,47207,47209,47211],{"class":169,"line":786},[167,47208,504],{"class":173},[167,47210,27350],{"class":177},[167,47212,185],{"class":173},[167,47214,47215,47217,47219],{"class":169,"line":2674},[167,47216,282],{"class":173},[167,47218,299],{"class":177},[167,47220,185],{"class":173},[3083,47222,47224],{"id":47223},"nota-de-ux-y-accesibilidad","Nota de UX y accesibilidad",[15,47226,47227,47228,47231],{},"Como el panel ",[3929,47229,47230],{},"sigue existiendo",", sus elementos interactivos pueden:",[33,47233,47234,47237,47240],{},[36,47235,47236],{},"Conservar estado",[36,47238,47239],{},"Conservar foco (a veces deseable, a veces no)",[36,47241,47242],{},"Seguir siendo accesibles para lectores de pantalla si no se manejan roles\u002FARIA",[15,47244,47245,47246,47249,47250,1675],{},"Si el contenido ",[3929,47247,47248],{},"no debería existir"," en absoluto, usa ",[87,47251,13492],{},[22,47253,47255,47257,47258,47261],{"id":47254},"v-else-if-múltiples-estados-sin-anidar-if-innecesarios",[87,47256,46217],{},": múltiples estados (sin anidar ",[87,47259,47260],{},"if"," innecesarios)",[15,47263,47264,47265,1020,47267,1023,47269,1675],{},"Un patrón común: ",[9291,47266,9342],{},[9291,47268,9348],{},[9291,47270,47271],{},"success",[154,47273,47276],{"className":156,"code":47274,"filename":3256,"highlights":47275,"language":162,"meta":163,"style":163},"\u003Cscript setup>\nimport { ref } from \"vue\";\n\nconst status = ref(\"idle\"); \u002F\u002F \"idle\" | \"loading\" | \"error\" | \"success\"\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cbutton @click=\"status = 'loading'\">Simulate loading\u003C\u002Fbutton>\n  \u003Cbutton @click=\"status = 'error'\">Simulate error\u003C\u002Fbutton>\n  \u003Cbutton @click=\"status = 'success'\">Simulate success\u003C\u002Fbutton>\n  \u003Cbutton @click=\"status = 'idle'\">Reset\u003C\u002Fbutton>\n\n  \u003Cp v-if=\"status === 'loading'\">Loading...\u003C\u002Fp>\n  \u003Cp v-else-if=\"status === 'error'\">Something went wrong.\u003C\u002Fp>\n  \u003Cp v-else-if=\"status === 'success'\">Done!\u003C\u002Fp>\n  \u003Cp v-else>Idle. Click a button.\u003C\u002Fp>\n\u003C\u002Ftemplate>\n",[160,313,161,335,341],[87,47277,47278,47288,47300,47304,47326,47334,47338,47346,47366,47386,47406,47426,47430,47451,47472,47493,47509],{"__ignoreMap":163},[167,47279,47280,47282,47284,47286],{"class":169,"line":170},[167,47281,174],{"class":173},[167,47283,178],{"class":177},[167,47285,182],{"class":181},[167,47287,185],{"class":173},[167,47289,47290,47292,47294,47296,47298],{"class":169,"line":188},[167,47291,192],{"class":191},[167,47293,195],{"class":173},[167,47295,198],{"class":191},[167,47297,24037],{"class":201},[167,47299,24040],{"class":173},[167,47301,47302],{"class":169,"line":205},[167,47303,209],{"emptyLinePlaceholder":208},[167,47305,47307,47309,47311,47313,47315,47317,47320,47323],{"class":47306,"line":160},[169,213],[167,47308,216],{"class":191},[167,47310,11696],{"class":219},[167,47312,223],{"class":191},[167,47314,226],{"class":181},[167,47316,229],{"class":173},[167,47318,47319],{"class":201},"\"idle\"",[167,47321,47322],{"class":173},"); ",[167,47324,47325],{"class":18658},"\u002F\u002F \"idle\" | \"loading\" | \"error\" | \"success\"\n",[167,47327,47328,47330,47332],{"class":169,"line":238},[167,47329,282],{"class":173},[167,47331,178],{"class":177},[167,47333,185],{"class":173},[167,47335,47336],{"class":169,"line":243},[167,47337,209],{"emptyLinePlaceholder":208},[167,47339,47340,47342,47344],{"class":169,"line":261},[167,47341,174],{"class":173},[167,47343,299],{"class":177},[167,47345,185],{"class":173},[167,47347,47348,47350,47352,47354,47356,47359,47362,47364],{"class":169,"line":273},[167,47349,307],{"class":173},[167,47351,507],{"class":177},[167,47353,1177],{"class":181},[167,47355,267],{"class":173},[167,47357,47358],{"class":201},"\"status = 'loading'\"",[167,47360,47361],{"class":173},">Simulate loading\u003C\u002F",[167,47363,507],{"class":177},[167,47365,185],{"class":173},[167,47367,47368,47370,47372,47374,47376,47379,47382,47384],{"class":169,"line":279},[167,47369,307],{"class":173},[167,47371,507],{"class":177},[167,47373,1177],{"class":181},[167,47375,267],{"class":173},[167,47377,47378],{"class":201},"\"status = 'error'\"",[167,47380,47381],{"class":173},">Simulate error\u003C\u002F",[167,47383,507],{"class":177},[167,47385,185],{"class":173},[167,47387,47388,47390,47392,47394,47396,47399,47402,47404],{"class":169,"line":289},[167,47389,307],{"class":173},[167,47391,507],{"class":177},[167,47393,1177],{"class":181},[167,47395,267],{"class":173},[167,47397,47398],{"class":201},"\"status = 'success'\"",[167,47400,47401],{"class":173},">Simulate success\u003C\u002F",[167,47403,507],{"class":177},[167,47405,185],{"class":173},[167,47407,47408,47410,47412,47414,47416,47419,47422,47424],{"class":169,"line":294},[167,47409,307],{"class":173},[167,47411,507],{"class":177},[167,47413,1177],{"class":181},[167,47415,267],{"class":173},[167,47417,47418],{"class":201},"\"status = 'idle'\"",[167,47420,47421],{"class":173},">Reset\u003C\u002F",[167,47423,507],{"class":177},[167,47425,185],{"class":173},[167,47427,47428],{"class":169,"line":304},[167,47429,209],{"emptyLinePlaceholder":208},[167,47431,47433,47435,47437,47439,47441,47444,47447,47449],{"class":47432,"line":313},[169,213],[167,47434,307],{"class":173},[167,47436,15],{"class":177},[167,47438,5690],{"class":181},[167,47440,267],{"class":173},[167,47442,47443],{"class":201},"\"status === 'loading'\"",[167,47445,47446],{"class":173},">Loading...\u003C\u002F",[167,47448,15],{"class":177},[167,47450,185],{"class":173},[167,47452,47454,47456,47458,47460,47462,47465,47468,47470],{"class":47453,"line":161},[169,213],[167,47455,307],{"class":173},[167,47457,15],{"class":177},[167,47459,6957],{"class":181},[167,47461,267],{"class":173},[167,47463,47464],{"class":201},"\"status === 'error'\"",[167,47466,47467],{"class":173},">Something went wrong.\u003C\u002F",[167,47469,15],{"class":177},[167,47471,185],{"class":173},[167,47473,47475,47477,47479,47481,47483,47486,47489,47491],{"class":47474,"line":335},[169,213],[167,47476,307],{"class":173},[167,47478,15],{"class":177},[167,47480,6957],{"class":181},[167,47482,267],{"class":173},[167,47484,47485],{"class":201},"\"status === 'success'\"",[167,47487,47488],{"class":173},">Done!\u003C\u002F",[167,47490,15],{"class":177},[167,47492,185],{"class":173},[167,47494,47496,47498,47500,47502,47505,47507],{"class":47495,"line":341},[169,213],[167,47497,307],{"class":173},[167,47499,15],{"class":177},[167,47501,7034],{"class":181},[167,47503,47504],{"class":173},">Idle. Click a button.\u003C\u002F",[167,47506,15],{"class":177},[167,47508,185],{"class":173},[167,47510,47511,47513,47515],{"class":169,"line":489},[167,47512,282],{"class":173},[167,47514,299],{"class":177},[167,47516,185],{"class":173},[154,47518,47521],{"className":156,"code":47519,"filename":3969,"highlights":47520,"language":162,"meta":163,"style":163},"\u003Cscript>\nexport default {\n  data() {\n    return {\n      status: \"idle\", \u002F\u002F \"idle\" | \"loading\" | \"error\" | \"success\"\n    };\n  },\n};\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cbutton @click=\"status = 'loading'\">Simulate loading\u003C\u002Fbutton>\n  \u003Cbutton @click=\"status = 'error'\">Simulate error\u003C\u002Fbutton>\n  \u003Cbutton @click=\"status = 'success'\">Simulate success\u003C\u002Fbutton>\n  \u003Cbutton @click=\"status = 'idle'\">Reset\u003C\u002Fbutton>\n\n  \u003Cp v-if=\"status === 'loading'\">Loading...\u003C\u002Fp>\n  \u003Cp v-else-if=\"status === 'error'\">Something went wrong.\u003C\u002Fp>\n  \u003Cp v-else-if=\"status === 'success'\">Done!\u003C\u002Fp>\n  \u003Cp v-else>Idle. Click a button.\u003C\u002Fp>\n\u003C\u002Ftemplate>\n",[238,489,495,501,512],[87,47522,47523,47531,47539,47545,47551,47562,47566,47570,47574,47582,47586,47594,47612,47630,47648,47666,47670,47689,47708,47727,47742],{"__ignoreMap":163},[167,47524,47525,47527,47529],{"class":169,"line":170},[167,47526,174],{"class":173},[167,47528,178],{"class":177},[167,47530,185],{"class":173},[167,47532,47533,47535,47537],{"class":169,"line":188},[167,47534,608],{"class":191},[167,47536,3987],{"class":191},[167,47538,1901],{"class":173},[167,47540,47541,47543],{"class":169,"line":205},[167,47542,7172],{"class":181},[167,47544,763],{"class":173},[167,47546,47547,47549],{"class":169,"line":160},[167,47548,1933],{"class":191},[167,47550,1901],{"class":173},[167,47552,47554,47556,47558,47560],{"class":47553,"line":238},[169,213],[167,47555,12581],{"class":173},[167,47557,47319],{"class":201},[167,47559,1020],{"class":173},[167,47561,47325],{"class":18658},[167,47563,47564],{"class":169,"line":243},[167,47565,24366],{"class":173},[167,47567,47568],{"class":169,"line":261},[167,47569,398],{"class":173},[167,47571,47572],{"class":169,"line":273},[167,47573,24144],{"class":173},[167,47575,47576,47578,47580],{"class":169,"line":279},[167,47577,282],{"class":173},[167,47579,178],{"class":177},[167,47581,185],{"class":173},[167,47583,47584],{"class":169,"line":289},[167,47585,209],{"emptyLinePlaceholder":208},[167,47587,47588,47590,47592],{"class":169,"line":294},[167,47589,174],{"class":173},[167,47591,299],{"class":177},[167,47593,185],{"class":173},[167,47595,47596,47598,47600,47602,47604,47606,47608,47610],{"class":169,"line":304},[167,47597,307],{"class":173},[167,47599,507],{"class":177},[167,47601,1177],{"class":181},[167,47603,267],{"class":173},[167,47605,47358],{"class":201},[167,47607,47361],{"class":173},[167,47609,507],{"class":177},[167,47611,185],{"class":173},[167,47613,47614,47616,47618,47620,47622,47624,47626,47628],{"class":169,"line":313},[167,47615,307],{"class":173},[167,47617,507],{"class":177},[167,47619,1177],{"class":181},[167,47621,267],{"class":173},[167,47623,47378],{"class":201},[167,47625,47381],{"class":173},[167,47627,507],{"class":177},[167,47629,185],{"class":173},[167,47631,47632,47634,47636,47638,47640,47642,47644,47646],{"class":169,"line":161},[167,47633,307],{"class":173},[167,47635,507],{"class":177},[167,47637,1177],{"class":181},[167,47639,267],{"class":173},[167,47641,47398],{"class":201},[167,47643,47401],{"class":173},[167,47645,507],{"class":177},[167,47647,185],{"class":173},[167,47649,47650,47652,47654,47656,47658,47660,47662,47664],{"class":169,"line":335},[167,47651,307],{"class":173},[167,47653,507],{"class":177},[167,47655,1177],{"class":181},[167,47657,267],{"class":173},[167,47659,47418],{"class":201},[167,47661,47421],{"class":173},[167,47663,507],{"class":177},[167,47665,185],{"class":173},[167,47667,47668],{"class":169,"line":341},[167,47669,209],{"emptyLinePlaceholder":208},[167,47671,47673,47675,47677,47679,47681,47683,47685,47687],{"class":47672,"line":489},[169,213],[167,47674,307],{"class":173},[167,47676,15],{"class":177},[167,47678,5690],{"class":181},[167,47680,267],{"class":173},[167,47682,47443],{"class":201},[167,47684,47446],{"class":173},[167,47686,15],{"class":177},[167,47688,185],{"class":173},[167,47690,47692,47694,47696,47698,47700,47702,47704,47706],{"class":47691,"line":495},[169,213],[167,47693,307],{"class":173},[167,47695,15],{"class":177},[167,47697,6957],{"class":181},[167,47699,267],{"class":173},[167,47701,47464],{"class":201},[167,47703,47467],{"class":173},[167,47705,15],{"class":177},[167,47707,185],{"class":173},[167,47709,47711,47713,47715,47717,47719,47721,47723,47725],{"class":47710,"line":501},[169,213],[167,47712,307],{"class":173},[167,47714,15],{"class":177},[167,47716,6957],{"class":181},[167,47718,267],{"class":173},[167,47720,47485],{"class":201},[167,47722,47488],{"class":173},[167,47724,15],{"class":177},[167,47726,185],{"class":173},[167,47728,47730,47732,47734,47736,47738,47740],{"class":47729,"line":512},[169,213],[167,47731,307],{"class":173},[167,47733,15],{"class":177},[167,47735,7034],{"class":181},[167,47737,47504],{"class":173},[167,47739,15],{"class":177},[167,47741,185],{"class":173},[167,47743,47744,47746,47748],{"class":169,"line":781},[167,47745,282],{"class":173},[167,47747,299],{"class":177},[167,47749,185],{"class":173},[22,47751,3081],{"id":3080},[3083,47753,47755,47756,47758,47759],{"id":47754},"_1-v-else-separado-del-v-if","1) ",[87,47757,46104],{}," separado del ",[87,47760,13492],{},[15,47762,30734],{},[154,47764,47767],{"className":156,"code":47765,"filename":15280,"highlights":47766,"language":162,"meta":163,"style":163},"\u003Cdiv v-if=\"ok\">Ok\u003C\u002Fdiv>\n\u003C!-- comentario o nodo -->\n\u003Cdiv v-else>No ok\u003C\u002Fdiv>\n",[188],[87,47768,47769,47793,47799],{"__ignoreMap":163},[167,47770,47771,47773,47775,47777,47779,47781,47784,47786,47789,47791],{"class":169,"line":170},[167,47772,174],{"class":173},[167,47774,1237],{"class":177},[167,47776,5690],{"class":191},[167,47778,267],{"class":173},[167,47780,5076],{"class":201},[167,47782,47783],{"class":173},"ok",[167,47785,5076],{"class":201},[167,47787,47788],{"class":173},">Ok\u003C\u002F",[167,47790,1237],{"class":177},[167,47792,185],{"class":173},[167,47794,47796],{"class":47795,"line":188},[169,213],[167,47797,47798],{"class":18658},"\u003C!-- comentario o nodo -->\n",[167,47800,47801,47803,47805,47807,47810,47812],{"class":169,"line":205},[167,47802,174],{"class":173},[167,47804,1237],{"class":177},[167,47806,7034],{"class":191},[167,47808,47809],{"class":173},">No ok\u003C\u002F",[167,47811,1237],{"class":177},[167,47813,185],{"class":173},[5363,47815,47816],{},[15,47817,23769,47818,46820,47820,47823,47824,1675],{},[87,47819,46104],{},[3929,47821,47822],{},"inmediatamente"," después del ",[87,47825,13492],{},[3083,47827,18520,47829,47831],{"id":47828},"_2-usar-v-show-para-contenido-que-no-debería-existir",[87,47830,13655],{}," para contenido que no debería existir",[15,47833,47834,47835,47837,47838,1020,47841,47844,47845,1675],{},"Si ocultas con ",[87,47836,13655],{}," algo como un ",[9291,47839,47840],{},"admin panel",[3929,47842,47843],{},"sigue en el DOM",".\nNo es seguridad; es solo presentación. La seguridad va en el backend, pero en la UI al menos usa ",[87,47846,13492],{},[3083,47848,47850,47851,47853],{"id":47849},"_3-pensar-que-v-if-es-gratis","3) Pensar que ",[87,47852,13492],{}," es “gratis”",[15,47855,47856,47857,47859,47860,47863,47864,47866],{},"Alternar ",[87,47858,13492],{}," muchas veces implica ",[3929,47861,47862],{},"montajes y desmontajes repetidos",".\nSi el usuario va a abrir y cerrar algo constantemente, ",[87,47865,13655],{}," suele ser mejor opción.",[22,47868,23570],{"id":23569},[33,47870,47871,47882,47890],{},[36,47872,47873,47877,47878,47881],{},[3929,47874,47875],{},[87,47876,13492],{},": controla la ",[3929,47879,47880],{},"existencia real"," del elemento.",[36,47883,47884,47889],{},[3929,47885,47886],{},[87,47887,47888],{},"v-else \u002F v-else-if",": ramas alternativas del mismo bloque condicional.",[36,47891,47892,47896],{},[3929,47893,47894],{},[87,47895,13655],{},": ocultar\u002Fmostrar rápido con CSS, sin destruir el DOM.",[5363,47898,47899],{},[15,47900,47901,47902],{},"Una UI se vuelve más clara cuando decides conscientemente:\n",[3929,47903,47904],{},"¿Quiero que esto exista o solo que se vea?",[924,47906,47907],{},"html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .s9eBZ, html code.shiki .s9eBZ{--shiki-default:#22863A;--shiki-dark:#85E89D}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}",{"title":163,"searchDepth":188,"depth":188,"links":47909},[47910,47916,47917,47919,47923,47925,47933],{"id":46161,"depth":188,"text":46162,"children":47911},[47912,47913,47915],{"id":13492,"depth":205,"text":13492},{"id":46212,"depth":205,"text":47914},"v-else y v-else-if",{"id":13655,"depth":205,"text":13655},{"id":46284,"depth":188,"text":46285},{"id":46323,"depth":188,"text":47918},"Ejemplo 1: Login (v-if + v-else)",{"id":46835,"depth":188,"text":47920,"children":47921},"Ejemplo 2: Tabs o panel que se abre y cierra (v-show)",[47922],{"id":47223,"depth":205,"text":47224},{"id":47254,"depth":188,"text":47924},"v-else-if: múltiples estados (sin anidar if innecesarios)",{"id":3080,"depth":188,"text":3081,"children":47926},[47927,47929,47931],{"id":47754,"depth":205,"text":47928},"1) v-else separado del v-if",{"id":47828,"depth":205,"text":47930},"2) Usar v-show para contenido que no debería existir",{"id":47849,"depth":205,"text":47932},"3) Pensar que v-if es “gratis”",{"id":23569,"depth":188,"text":23570},"https:\u002F\u002Fres.cloudinary.com\u002Fdenj4fg7f\u002Fimage\u002Fupload\u002Fv1771265982\u002Fdirectives-vue-v-if-v-else-v-show-guide_qmtjik.png","Ilustración conceptual del renderizado condicional en Vue.js","2026-02-05","Aprende a usar v-if, v-else y v-show en Vue con ejemplos claros, buenas prácticas y notas clave para elegir correctamente entre renderizado condicional y visibilidad.",{"updatedAt":47939,"coverCaption":47940,"author":945,"keywords":47941},"2026-02-05T12:30:00-05:00","Renderizado condicional en Vue.js ilustrado por TODOvue",[3254,13492,46104,13655,47942,47943,3256,3969],"conditional rendering","directives","\u002Fblog\u002Fdirectives-vue-v-if-v-else-v-show-guide.es",[47946],{"headline":47947,"author":47948,"datePublished":47939,"@type":959},"v-if, v-else y v-show en Vue: cuándo usar cada uno",{"name":945,"@type":958},{"title":46094,"description":47937},"blog\u002Fdirectives-vue-v-if-v-else-v-show-guide.es",[47952,47953,47956,47957],{"tag":26462,"color":26463},{"tag":47954,"color":47955},"Renderizado Condicional","#E056FD",{"tag":27753,"color":27754},{"tag":5420,"color":5421},"b5lwqC2_R5GDZNjdpBMFknx2dcvVk_FQOPGFJOy4LmQ",{"id":47960,"title":47961,"body":47962,"cover":51327,"coverAlt":47961,"date":51328,"description":51329,"draft":1617,"extension":940,"lab":941,"locale":942,"meta":51330,"navigation":208,"path":51334,"schemaOrg":51335,"seo":51339,"series":26456,"seriesDescription":26457,"seriesOrder":170,"seriesTitle":26458,"slug":941,"stem":51340,"tags":51341,"__hash__":51348},"blog\u002Fblog\u002Fvue-directives-overview.es.md","Directivas en Vue: Una Visión General",{"type":8,"value":47963,"toc":51308},[47964,47968,47983,47994,47996,47999,48051,48060,48069,48072,48083,48195,48310,48314,48323,48325,48333,48430,48530,48534,48537,48540,48551,48686,48827,48835,48839,48842,48847,48852,48953,49069,49073,49080,49083,49093,49204,49318,49326,49330,49333,49454,49595,49608,49612,49615,49710,49810,49813,49817,49820,49916,50017,50026,50030,50033,50179,50336,50342,50346,50353,50462,50575,50578,50582,50585,50715,50834,50841,50845,50848,50916,50990,50993,50997,51000,51068,51141,51144,51147,51150,51241,51275,51278,51280,51286,51289,51299,51306],[11,47965,47967],{"id":47966},"directivas-en-vue-3-guía-completa-para-entenderlas-bien","Directivas en Vue 3: guía completa para entenderlas bien",[15,47969,47970,47971,47974,47975,47978,47979,47982],{},"Las directivas en Vue son ",[3929,47972,47973],{},"atributos especiales"," que permiten aplicar lógica reactiva directamente sobre el DOM.\nTodas comienzan con ",[87,47976,47977],{},"v-"," y existen para ",[3929,47980,47981],{},"reducir código imperativo"," y hacer que el template sea más expresivo y declarativo.",[15,47984,47985,47986,47989,47990,47993],{},"Esta entrada es un ",[3929,47987,47988],{},"mapa general",": no profundiza al extremo, pero te deja claro ",[3929,47991,47992],{},"qué hace cada directiva, cuándo usarla y qué problema resuelve",".\nCada una tendrá luego su artículo dedicado.",[22,47995,19079],{"id":19078},[15,47997,47998],{},"Si quieres profundizar en cada directiva, aquí tienes la ruta completa de esta serie:",[33,48000,48001,48006,48011,48016,48021,48026,48031,48036,48041,48046],{},[36,48002,48003],{},[19088,48004,46094],{"href":48005},"\u002Fblog\u002Fdirectives-vue-v-if-v-else-v-show-guide.es\u002F",[36,48007,48008],{},[19088,48009,42747],{"href":48010},"\u002Fblog\u002Fdirectives-vue-v-for-guide.es\u002F",[36,48012,48013],{},[19088,48014,39768],{"href":48015},"\u002Fblog\u002Fdirectives-vue-v-bind-guide.es\u002F",[36,48017,48018],{},[19088,48019,33935],{"href":48020},"\u002Fblog\u002Fdirectives-vue-v-model-guide.es\u002F",[36,48022,48023],{},[19088,48024,36750],{"href":48025},"\u002Fblog\u002Fdirectives-vue-v-on-guide.es\u002F",[36,48027,48028],{},[19088,48029,30422],{"href":48030},"\u002Fblog\u002Fdirectives-vue-v-text-v-html-guide.es\u002F",[36,48032,48033],{},[19088,48034,31696],{"href":48035},"\u002Fblog\u002Fdirectives-vue-v-slot-guide.es\u002F",[36,48037,48038],{},[19088,48039,27760],{"href":48040},"\u002Fblog\u002Fdirectives-vue-v-once-v-memo-v-pre-guide.es\u002F",[36,48042,48043],{},[19088,48044,26473],{"href":48045},"\u002Fblog\u002Fdirectives-vue-v-cloak-guide.es\u002F",[36,48047,48048],{},[19088,48049,23670],{"href":48050},"\u002Fblog\u002Fdirectives-vue-custom-directives-guide.es\u002F",[22,48052,48054,1020,48056,1020,48058],{"id":48053},"v-if-v-else-if-v-else",[87,48055,13492],{},[87,48057,46217],{},[87,48059,46104],{},[15,48061,48062,48063,48066,48067,1675],{},"Sirven para ",[3929,48064,48065],{},"renderizar o eliminar elementos del DOM"," según una condición reactiva.\nSi la condición es falsa, el elemento ",[3929,48068,46182],{},[15,48070,48071],{},"Úsala cuando:",[33,48073,48074,48077,48080],{},[36,48075,48076],{},"El contenido es pesado",[36,48078,48079],{},"No siempre debe existir",[36,48081,48082],{},"Depende de permisos o estados críticos",[154,48084,48087],{"className":156,"code":48085,"filename":3256,"highlights":48086,"language":162,"meta":163,"style":163},"\u003Cscript setup>\nimport { ref } from 'vue'\n\nconst isLogged = ref(true)\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cp v-if=\"isLogged\">Bienvenido\u003C\u002Fp>\n  \u003Cp v-else>No has iniciado sesión\u003C\u002Fp>\n\u003C\u002Ftemplate>\n",[273,279],[87,48088,48089,48099,48109,48113,48130,48138,48142,48150,48171,48187],{"__ignoreMap":163},[167,48090,48091,48093,48095,48097],{"class":169,"line":170},[167,48092,174],{"class":173},[167,48094,178],{"class":177},[167,48096,182],{"class":181},[167,48098,185],{"class":173},[167,48100,48101,48103,48105,48107],{"class":169,"line":188},[167,48102,192],{"class":191},[167,48104,195],{"class":173},[167,48106,198],{"class":191},[167,48108,202],{"class":201},[167,48110,48111],{"class":169,"line":205},[167,48112,209],{"emptyLinePlaceholder":208},[167,48114,48115,48117,48120,48122,48124,48126,48128],{"class":169,"line":160},[167,48116,216],{"class":191},[167,48118,48119],{"class":219}," isLogged",[167,48121,223],{"class":191},[167,48123,226],{"class":181},[167,48125,229],{"class":173},[167,48127,390],{"class":219},[167,48129,235],{"class":173},[167,48131,48132,48134,48136],{"class":169,"line":238},[167,48133,282],{"class":173},[167,48135,178],{"class":177},[167,48137,185],{"class":173},[167,48139,48140],{"class":169,"line":243},[167,48141,209],{"emptyLinePlaceholder":208},[167,48143,48144,48146,48148],{"class":169,"line":261},[167,48145,174],{"class":173},[167,48147,299],{"class":177},[167,48149,185],{"class":173},[167,48151,48153,48155,48157,48159,48161,48164,48167,48169],{"class":48152,"line":273},[169,213],[167,48154,307],{"class":173},[167,48156,15],{"class":177},[167,48158,5690],{"class":181},[167,48160,267],{"class":173},[167,48162,48163],{"class":201},"\"isLogged\"",[167,48165,48166],{"class":173},">Bienvenido\u003C\u002F",[167,48168,15],{"class":177},[167,48170,185],{"class":173},[167,48172,48174,48176,48178,48180,48183,48185],{"class":48173,"line":279},[169,213],[167,48175,307],{"class":173},[167,48177,15],{"class":177},[167,48179,7034],{"class":181},[167,48181,48182],{"class":173},">No has iniciado sesión\u003C\u002F",[167,48184,15],{"class":177},[167,48186,185],{"class":173},[167,48188,48189,48191,48193],{"class":169,"line":289},[167,48190,282],{"class":173},[167,48192,299],{"class":177},[167,48194,185],{"class":173},[154,48196,48199],{"className":156,"code":48197,"filename":3969,"highlights":48198,"language":162,"meta":163,"style":163},"\u003Cscript>\nexport default {\n  data() {\n    return {\n      isLogged: true\n    }\n  }\n}\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cp v-if=\"isLogged\">Bienvenido\u003C\u002Fp>\n  \u003Cp v-else>No has iniciado sesión\u003C\u002Fp>\n\u003C\u002Ftemplate>\n",[304,313],[87,48200,48201,48209,48217,48223,48229,48236,48240,48244,48248,48256,48260,48268,48287,48302],{"__ignoreMap":163},[167,48202,48203,48205,48207],{"class":169,"line":170},[167,48204,174],{"class":173},[167,48206,178],{"class":177},[167,48208,185],{"class":173},[167,48210,48211,48213,48215],{"class":169,"line":188},[167,48212,608],{"class":191},[167,48214,3987],{"class":191},[167,48216,1901],{"class":173},[167,48218,48219,48221],{"class":169,"line":205},[167,48220,7172],{"class":181},[167,48222,763],{"class":173},[167,48224,48225,48227],{"class":169,"line":160},[167,48226,1933],{"class":191},[167,48228,1901],{"class":173},[167,48230,48231,48234],{"class":169,"line":238},[167,48232,48233],{"class":173},"      isLogged: ",[167,48235,3633],{"class":219},[167,48237,48238],{"class":169,"line":243},[167,48239,4045],{"class":173},[167,48241,48242],{"class":169,"line":261},[167,48243,3488],{"class":173},[167,48245,48246],{"class":169,"line":273},[167,48247,276],{"class":173},[167,48249,48250,48252,48254],{"class":169,"line":279},[167,48251,282],{"class":173},[167,48253,178],{"class":177},[167,48255,185],{"class":173},[167,48257,48258],{"class":169,"line":289},[167,48259,209],{"emptyLinePlaceholder":208},[167,48261,48262,48264,48266],{"class":169,"line":294},[167,48263,174],{"class":173},[167,48265,299],{"class":177},[167,48267,185],{"class":173},[167,48269,48271,48273,48275,48277,48279,48281,48283,48285],{"class":48270,"line":304},[169,213],[167,48272,307],{"class":173},[167,48274,15],{"class":177},[167,48276,5690],{"class":181},[167,48278,267],{"class":173},[167,48280,48163],{"class":201},[167,48282,48166],{"class":173},[167,48284,15],{"class":177},[167,48286,185],{"class":173},[167,48288,48290,48292,48294,48296,48298,48300],{"class":48289,"line":313},[169,213],[167,48291,307],{"class":173},[167,48293,15],{"class":177},[167,48295,7034],{"class":181},[167,48297,48182],{"class":173},[167,48299,15],{"class":177},[167,48301,185],{"class":173},[167,48303,48304,48306,48308],{"class":169,"line":161},[167,48305,282],{"class":173},[167,48307,299],{"class":177},[167,48309,185],{"class":173},[22,48311,48312],{"id":13655},[87,48313,13655],{},[15,48315,48316,48317,48319,48320,1675],{},"Controla la visibilidad usando CSS (",[87,48318,46148],{},"), pero ",[3929,48321,48322],{},"el elemento siempre existe en el DOM",[15,48324,48071],{},[33,48326,48327,48330],{},[36,48328,48329],{},"El elemento se muestra y oculta con frecuencia",[36,48331,48332],{},"No quieres pagar el costo de montar y desmontar el nodo",[154,48334,48337],{"className":156,"code":48335,"filename":3256,"highlights":48336,"language":162,"meta":163,"style":163},"\u003Cscript setup>\nimport { ref } from 'vue'\n  \nconst isVisible = ref(true)\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cp v-show=\"isVisible\">Contenido visible\u003C\u002Fp>\n\u003C\u002Ftemplate>\n",[273],[87,48338,48339,48349,48359,48364,48381,48389,48393,48401,48422],{"__ignoreMap":163},[167,48340,48341,48343,48345,48347],{"class":169,"line":170},[167,48342,174],{"class":173},[167,48344,178],{"class":177},[167,48346,182],{"class":181},[167,48348,185],{"class":173},[167,48350,48351,48353,48355,48357],{"class":169,"line":188},[167,48352,192],{"class":191},[167,48354,195],{"class":173},[167,48356,198],{"class":191},[167,48358,202],{"class":201},[167,48360,48361],{"class":169,"line":205},[167,48362,48363],{"class":173},"  \n",[167,48365,48366,48368,48371,48373,48375,48377,48379],{"class":169,"line":160},[167,48367,216],{"class":191},[167,48369,48370],{"class":219}," isVisible",[167,48372,223],{"class":191},[167,48374,226],{"class":181},[167,48376,229],{"class":173},[167,48378,390],{"class":219},[167,48380,235],{"class":173},[167,48382,48383,48385,48387],{"class":169,"line":238},[167,48384,282],{"class":173},[167,48386,178],{"class":177},[167,48388,185],{"class":173},[167,48390,48391],{"class":169,"line":243},[167,48392,209],{"emptyLinePlaceholder":208},[167,48394,48395,48397,48399],{"class":169,"line":261},[167,48396,174],{"class":173},[167,48398,299],{"class":177},[167,48400,185],{"class":173},[167,48402,48404,48406,48408,48410,48412,48415,48418,48420],{"class":48403,"line":273},[169,213],[167,48405,307],{"class":173},[167,48407,15],{"class":177},[167,48409,46956],{"class":181},[167,48411,267],{"class":173},[167,48413,48414],{"class":201},"\"isVisible\"",[167,48416,48417],{"class":173},">Contenido visible\u003C\u002F",[167,48419,15],{"class":177},[167,48421,185],{"class":173},[167,48423,48424,48426,48428],{"class":169,"line":279},[167,48425,282],{"class":173},[167,48427,299],{"class":177},[167,48429,185],{"class":173},[154,48431,48434],{"className":156,"code":48432,"filename":3969,"highlights":48433,"language":162,"meta":163,"style":163},"\u003Cscript>\nexport default {\n  data() {\n    return {\n      isVisible: true\n    }\n  }\n}\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cp v-show=\"isVisible\">Contenido visible\u003C\u002Fp>\n\u003C\u002Ftemplate>\n",[304],[87,48435,48436,48444,48452,48458,48464,48471,48475,48479,48483,48491,48495,48503,48522],{"__ignoreMap":163},[167,48437,48438,48440,48442],{"class":169,"line":170},[167,48439,174],{"class":173},[167,48441,178],{"class":177},[167,48443,185],{"class":173},[167,48445,48446,48448,48450],{"class":169,"line":188},[167,48447,608],{"class":191},[167,48449,3987],{"class":191},[167,48451,1901],{"class":173},[167,48453,48454,48456],{"class":169,"line":205},[167,48455,7172],{"class":181},[167,48457,763],{"class":173},[167,48459,48460,48462],{"class":169,"line":160},[167,48461,1933],{"class":191},[167,48463,1901],{"class":173},[167,48465,48466,48469],{"class":169,"line":238},[167,48467,48468],{"class":173},"      isVisible: ",[167,48470,3633],{"class":219},[167,48472,48473],{"class":169,"line":243},[167,48474,4045],{"class":173},[167,48476,48477],{"class":169,"line":261},[167,48478,3488],{"class":173},[167,48480,48481],{"class":169,"line":273},[167,48482,276],{"class":173},[167,48484,48485,48487,48489],{"class":169,"line":279},[167,48486,282],{"class":173},[167,48488,178],{"class":177},[167,48490,185],{"class":173},[167,48492,48493],{"class":169,"line":289},[167,48494,209],{"emptyLinePlaceholder":208},[167,48496,48497,48499,48501],{"class":169,"line":294},[167,48498,174],{"class":173},[167,48500,299],{"class":177},[167,48502,185],{"class":173},[167,48504,48506,48508,48510,48512,48514,48516,48518,48520],{"class":48505,"line":304},[169,213],[167,48507,307],{"class":173},[167,48509,15],{"class":177},[167,48511,46956],{"class":181},[167,48513,267],{"class":173},[167,48515,48414],{"class":201},[167,48517,48417],{"class":173},[167,48519,15],{"class":177},[167,48521,185],{"class":173},[167,48523,48524,48526,48528],{"class":169,"line":313},[167,48525,282],{"class":173},[167,48527,299],{"class":177},[167,48529,185],{"class":173},[22,48531,48532],{"id":30722},[87,48533,30722],{},[15,48535,48536],{},"Permite renderizar listas a partir de arreglos u objetos reactivos.",[15,48538,48539],{},"Clave mental:",[5363,48541,48542],{},[15,48543,48544,48546,48547,48550],{},[87,48545,30722],{}," describe ",[3929,48548,48549],{},"estructura",", no lógica.",[154,48552,48555],{"className":156,"code":48553,"filename":3256,"highlights":48554,"language":162,"meta":163,"style":163},"\u003Cscript setup>\nimport { ref } from 'vue'\n  \nconst items = ref([\n  { id: 1, name: 'Vue' },\n  { id: 2, name: 'React' }\n])\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cli v-for=\"item in items\" :key=\"item.id\">\n    {{ item.name }}\n  \u003C\u002Fli>\n\u003C\u002Ftemplate>\n",[294,304,313],[87,48556,48557,48567,48577,48581,48593,48605,48617,48621,48629,48633,48641,48663,48669,48678],{"__ignoreMap":163},[167,48558,48559,48561,48563,48565],{"class":169,"line":170},[167,48560,174],{"class":173},[167,48562,178],{"class":177},[167,48564,182],{"class":181},[167,48566,185],{"class":173},[167,48568,48569,48571,48573,48575],{"class":169,"line":188},[167,48570,192],{"class":191},[167,48572,195],{"class":173},[167,48574,198],{"class":191},[167,48576,202],{"class":201},[167,48578,48579],{"class":169,"line":205},[167,48580,48363],{"class":173},[167,48582,48583,48585,48587,48589,48591],{"class":169,"line":160},[167,48584,216],{"class":191},[167,48586,1816],{"class":219},[167,48588,223],{"class":191},[167,48590,226],{"class":181},[167,48592,1823],{"class":173},[167,48594,48595,48597,48599,48601,48603],{"class":169,"line":238},[167,48596,1828],{"class":173},[167,48598,1831],{"class":219},[167,48600,1834],{"class":173},[167,48602,42921],{"class":201},[167,48604,1852],{"class":173},[167,48606,48607,48609,48611,48613,48615],{"class":169,"line":243},[167,48608,1828],{"class":173},[167,48610,1849],{"class":219},[167,48612,1834],{"class":173},[167,48614,42926],{"class":201},[167,48616,599],{"class":173},[167,48618,48619],{"class":169,"line":261},[167,48620,429],{"class":173},[167,48622,48623,48625,48627],{"class":169,"line":273},[167,48624,282],{"class":173},[167,48626,178],{"class":177},[167,48628,185],{"class":173},[167,48630,48631],{"class":169,"line":279},[167,48632,209],{"emptyLinePlaceholder":208},[167,48634,48635,48637,48639],{"class":169,"line":289},[167,48636,174],{"class":173},[167,48638,299],{"class":177},[167,48640,185],{"class":173},[167,48642,48644,48646,48648,48650,48652,48655,48657,48659,48661],{"class":48643,"line":294},[169,213],[167,48645,307],{"class":173},[167,48647,36],{"class":177},[167,48649,18702],{"class":181},[167,48651,267],{"class":173},[167,48653,48654],{"class":201},"\"item in items\"",[167,48656,10303],{"class":181},[167,48658,267],{"class":173},[167,48660,35839],{"class":201},[167,48662,185],{"class":173},[167,48664,48666],{"class":48665,"line":304},[169,213],[167,48667,48668],{"class":173},"    {{ item.name }}\n",[167,48670,48672,48674,48676],{"class":48671,"line":313},[169,213],[167,48673,504],{"class":173},[167,48675,36],{"class":177},[167,48677,185],{"class":173},[167,48679,48680,48682,48684],{"class":169,"line":161},[167,48681,282],{"class":173},[167,48683,299],{"class":177},[167,48685,185],{"class":173},[154,48687,48690],{"className":156,"code":48688,"filename":3969,"highlights":48689,"language":162,"meta":163,"style":163},"\u003Cscript>\nexport default {\n  data() {\n    return {\n      items: [\n        { id: 1, name: 'Vue' },\n        { id: 2, name: 'React' }\n      ]\n    }\n  }\n}\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cli v-for=\"item in items\" :key=\"item.id\">\n    {{ item.name }}\n  \u003C\u002Fli>\n\u003C\u002Ftemplate>\n",[335,341,489],[87,48691,48692,48700,48708,48714,48720,48724,48736,48748,48752,48756,48760,48764,48772,48776,48784,48805,48810,48819],{"__ignoreMap":163},[167,48693,48694,48696,48698],{"class":169,"line":170},[167,48695,174],{"class":173},[167,48697,178],{"class":177},[167,48699,185],{"class":173},[167,48701,48702,48704,48706],{"class":169,"line":188},[167,48703,608],{"class":191},[167,48705,3987],{"class":191},[167,48707,1901],{"class":173},[167,48709,48710,48712],{"class":169,"line":205},[167,48711,7172],{"class":181},[167,48713,763],{"class":173},[167,48715,48716,48718],{"class":169,"line":160},[167,48717,1933],{"class":191},[167,48719,1901],{"class":173},[167,48721,48722],{"class":169,"line":238},[167,48723,44320],{"class":173},[167,48725,48726,48728,48730,48732,48734],{"class":169,"line":243},[167,48727,8673],{"class":173},[167,48729,1831],{"class":219},[167,48731,1834],{"class":173},[167,48733,42921],{"class":201},[167,48735,1852],{"class":173},[167,48737,48738,48740,48742,48744,48746],{"class":169,"line":261},[167,48739,8673],{"class":173},[167,48741,1849],{"class":219},[167,48743,1834],{"class":173},[167,48745,42926],{"class":201},[167,48747,599],{"class":173},[167,48749,48750],{"class":169,"line":273},[167,48751,8734],{"class":173},[167,48753,48754],{"class":169,"line":279},[167,48755,4045],{"class":173},[167,48757,48758],{"class":169,"line":289},[167,48759,3488],{"class":173},[167,48761,48762],{"class":169,"line":294},[167,48763,276],{"class":173},[167,48765,48766,48768,48770],{"class":169,"line":304},[167,48767,282],{"class":173},[167,48769,178],{"class":177},[167,48771,185],{"class":173},[167,48773,48774],{"class":169,"line":313},[167,48775,209],{"emptyLinePlaceholder":208},[167,48777,48778,48780,48782],{"class":169,"line":161},[167,48779,174],{"class":173},[167,48781,299],{"class":177},[167,48783,185],{"class":173},[167,48785,48787,48789,48791,48793,48795,48797,48799,48801,48803],{"class":48786,"line":335},[169,213],[167,48788,307],{"class":173},[167,48790,36],{"class":177},[167,48792,18702],{"class":181},[167,48794,267],{"class":173},[167,48796,48654],{"class":201},[167,48798,10303],{"class":181},[167,48800,267],{"class":173},[167,48802,35839],{"class":201},[167,48804,185],{"class":173},[167,48806,48808],{"class":48807,"line":341},[169,213],[167,48809,48668],{"class":173},[167,48811,48813,48815,48817],{"class":48812,"line":489},[169,213],[167,48814,504],{"class":173},[167,48816,36],{"class":177},[167,48818,185],{"class":173},[167,48820,48821,48823,48825],{"class":169,"line":495},[167,48822,282],{"class":173},[167,48824,299],{"class":177},[167,48826,185],{"class":173},[15,48828,48829,16899,48831,48834],{},[87,48830,7841],{},[3929,48832,48833],{},"no es opcional",". Nunca lo fue.\nEs esencial para que Vue pueda optimizar correctamente el renderizado.",[22,48836,48837],{"id":23864},[87,48838,23864],{},[15,48840,48841],{},"Vincula dinámicamente atributos HTML o props de componentes.",[15,48843,13784,48844,48846],{},[87,48845,23864],{}," como:",[5363,48848,48849],{},[15,48850,48851],{},"“Este atributo depende del estado”",[154,48853,48856],{"className":156,"code":48854,"filename":3256,"highlights":48855,"language":162,"meta":163,"style":163},"\u003Cscript setup>\nimport { ref } from 'vue'\n\nconst imageUrl = ref('https:\u002F\u002Fexample.com\u002Fimage.jpg')\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cimg v-bind:src=\"imageUrl\" alt=\"Imagen dinámica\" \u002F>\n\u003C\u002Ftemplate>\n",[273],[87,48857,48858,48868,48878,48882,48900,48908,48912,48920,48945],{"__ignoreMap":163},[167,48859,48860,48862,48864,48866],{"class":169,"line":170},[167,48861,174],{"class":173},[167,48863,178],{"class":177},[167,48865,182],{"class":181},[167,48867,185],{"class":173},[167,48869,48870,48872,48874,48876],{"class":169,"line":188},[167,48871,192],{"class":191},[167,48873,195],{"class":173},[167,48875,198],{"class":191},[167,48877,202],{"class":201},[167,48879,48880],{"class":169,"line":205},[167,48881,209],{"emptyLinePlaceholder":208},[167,48883,48884,48886,48889,48891,48893,48895,48898],{"class":169,"line":160},[167,48885,216],{"class":191},[167,48887,48888],{"class":219}," imageUrl",[167,48890,223],{"class":191},[167,48892,226],{"class":181},[167,48894,229],{"class":173},[167,48896,48897],{"class":201},"'https:\u002F\u002Fexample.com\u002Fimage.jpg'",[167,48899,235],{"class":173},[167,48901,48902,48904,48906],{"class":169,"line":238},[167,48903,282],{"class":173},[167,48905,178],{"class":177},[167,48907,185],{"class":173},[167,48909,48910],{"class":169,"line":243},[167,48911,209],{"emptyLinePlaceholder":208},[167,48913,48914,48916,48918],{"class":169,"line":261},[167,48915,174],{"class":173},[167,48917,299],{"class":177},[167,48919,185],{"class":173},[167,48921,48923,48925,48927,48930,48932,48935,48938,48940,48943],{"class":48922,"line":273},[169,213],[167,48924,307],{"class":173},[167,48926,40002],{"class":177},[167,48928,48929],{"class":181}," v-bind:src",[167,48931,267],{"class":173},[167,48933,48934],{"class":201},"\"imageUrl\"",[167,48936,48937],{"class":181}," alt",[167,48939,267],{"class":173},[167,48941,48942],{"class":201},"\"Imagen dinámica\"",[167,48944,5321],{"class":173},[167,48946,48947,48949,48951],{"class":169,"line":279},[167,48948,282],{"class":173},[167,48950,299],{"class":177},[167,48952,185],{"class":173},[154,48954,48957],{"className":156,"code":48955,"filename":3969,"highlights":48956,"language":162,"meta":163,"style":163},"\u003Cscript>\nexport default {\n  data() {\n    return {\n      imageUrl: '\u002Flogo.png',\n      description: 'Logo'\n    }\n  }\n}\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cimg :src=\"imageUrl\" :alt=\"description\" \u002F>\n\u003C\u002Ftemplate>\n",[313],[87,48958,48959,48967,48975,48981,48987,48997,49005,49009,49013,49017,49025,49029,49037,49061],{"__ignoreMap":163},[167,48960,48961,48963,48965],{"class":169,"line":170},[167,48962,174],{"class":173},[167,48964,178],{"class":177},[167,48966,185],{"class":173},[167,48968,48969,48971,48973],{"class":169,"line":188},[167,48970,608],{"class":191},[167,48972,3987],{"class":191},[167,48974,1901],{"class":173},[167,48976,48977,48979],{"class":169,"line":205},[167,48978,7172],{"class":181},[167,48980,763],{"class":173},[167,48982,48983,48985],{"class":169,"line":160},[167,48984,1933],{"class":191},[167,48986,1901],{"class":173},[167,48988,48989,48992,48995],{"class":169,"line":238},[167,48990,48991],{"class":173},"      imageUrl: ",[167,48993,48994],{"class":201},"'\u002Flogo.png'",[167,48996,393],{"class":173},[167,48998,48999,49002],{"class":169,"line":243},[167,49000,49001],{"class":173},"      description: ",[167,49003,49004],{"class":201},"'Logo'\n",[167,49006,49007],{"class":169,"line":261},[167,49008,4045],{"class":173},[167,49010,49011],{"class":169,"line":273},[167,49012,3488],{"class":173},[167,49014,49015],{"class":169,"line":279},[167,49016,276],{"class":173},[167,49018,49019,49021,49023],{"class":169,"line":289},[167,49020,282],{"class":173},[167,49022,178],{"class":177},[167,49024,185],{"class":173},[167,49026,49027],{"class":169,"line":294},[167,49028,209],{"emptyLinePlaceholder":208},[167,49030,49031,49033,49035],{"class":169,"line":304},[167,49032,174],{"class":173},[167,49034,299],{"class":177},[167,49036,185],{"class":173},[167,49038,49040,49042,49044,49047,49049,49051,49054,49056,49059],{"class":49039,"line":313},[169,213],[167,49041,307],{"class":173},[167,49043,40002],{"class":177},[167,49045,49046],{"class":181}," :src",[167,49048,267],{"class":173},[167,49050,48934],{"class":201},[167,49052,49053],{"class":181}," :alt",[167,49055,267],{"class":173},[167,49057,49058],{"class":201},"\"description\"",[167,49060,5321],{"class":173},[167,49062,49063,49065,49067],{"class":169,"line":161},[167,49064,282],{"class":173},[167,49066,299],{"class":177},[167,49068,185],{"class":173},[22,49070,49071],{"id":23861},[87,49072,23861],{},[15,49074,49075,49076,49079],{},"Crea una ",[3929,49077,49078],{},"sincronización bidireccional"," entre el estado y un input o componente.",[15,49081,49082],{},"Es ideal para:",[33,49084,49085,49087,49090],{},[36,49086,36743],{},[36,49088,49089],{},"Inputs controlados",[36,49091,49092],{},"Componentes reutilizables",[154,49094,49097],{"className":156,"code":49095,"filename":3256,"highlights":49096,"language":162,"meta":163,"style":163},"\u003Cscript setup>\nimport { ref } from 'vue'\n\nconst username = ref('')\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cinput v-model=\"username\" placeholder=\"Ingresa tu nombre de usuario\" \u002F>\n  \u003Cp>Hola, {{ username }}!\u003C\u002Fp>\n\u003C\u002Ftemplate>\n",[273],[87,49098,49099,49109,49119,49123,49140,49148,49152,49160,49183,49196],{"__ignoreMap":163},[167,49100,49101,49103,49105,49107],{"class":169,"line":170},[167,49102,174],{"class":173},[167,49104,178],{"class":177},[167,49106,182],{"class":181},[167,49108,185],{"class":173},[167,49110,49111,49113,49115,49117],{"class":169,"line":188},[167,49112,192],{"class":191},[167,49114,195],{"class":173},[167,49116,198],{"class":191},[167,49118,202],{"class":201},[167,49120,49121],{"class":169,"line":205},[167,49122,209],{"emptyLinePlaceholder":208},[167,49124,49125,49127,49130,49132,49134,49136,49138],{"class":169,"line":160},[167,49126,216],{"class":191},[167,49128,49129],{"class":219}," username",[167,49131,223],{"class":191},[167,49133,226],{"class":181},[167,49135,229],{"class":173},[167,49137,2180],{"class":201},[167,49139,235],{"class":173},[167,49141,49142,49144,49146],{"class":169,"line":238},[167,49143,282],{"class":173},[167,49145,178],{"class":177},[167,49147,185],{"class":173},[167,49149,49150],{"class":169,"line":243},[167,49151,209],{"emptyLinePlaceholder":208},[167,49153,49154,49156,49158],{"class":169,"line":261},[167,49155,174],{"class":173},[167,49157,299],{"class":177},[167,49159,185],{"class":173},[167,49161,49163,49165,49167,49169,49171,49174,49176,49178,49181],{"class":49162,"line":273},[169,213],[167,49164,307],{"class":173},[167,49166,2646],{"class":177},[167,49168,2649],{"class":181},[167,49170,267],{"class":173},[167,49172,49173],{"class":201},"\"username\"",[167,49175,2664],{"class":181},[167,49177,267],{"class":173},[167,49179,49180],{"class":201},"\"Ingresa tu nombre de usuario\"",[167,49182,5321],{"class":173},[167,49184,49185,49187,49189,49192,49194],{"class":169,"line":279},[167,49186,307],{"class":173},[167,49188,15],{"class":177},[167,49190,49191],{"class":173},">Hola, {{ username }}!\u003C\u002F",[167,49193,15],{"class":177},[167,49195,185],{"class":173},[167,49197,49198,49200,49202],{"class":169,"line":289},[167,49199,282],{"class":173},[167,49201,299],{"class":177},[167,49203,185],{"class":173},[154,49205,49208],{"className":156,"code":49206,"filename":3969,"highlights":49207,"language":162,"meta":163,"style":163},"\u003Cscript>\nexport default {\n  data() {\n    return {\n      username: ''\n    }\n  }\n}\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cinput v-model=\"username\" placeholder=\"Ingresa tu nombre de usuario\" \u002F>\n  \u003Cp>Hola, {{ username }}!\u003C\u002Fp>\n\u003C\u002Ftemplate>\n",[304],[87,49209,49210,49218,49226,49232,49238,49245,49249,49253,49257,49265,49269,49277,49298,49310],{"__ignoreMap":163},[167,49211,49212,49214,49216],{"class":169,"line":170},[167,49213,174],{"class":173},[167,49215,178],{"class":177},[167,49217,185],{"class":173},[167,49219,49220,49222,49224],{"class":169,"line":188},[167,49221,608],{"class":191},[167,49223,3987],{"class":191},[167,49225,1901],{"class":173},[167,49227,49228,49230],{"class":169,"line":205},[167,49229,7172],{"class":181},[167,49231,763],{"class":173},[167,49233,49234,49236],{"class":169,"line":160},[167,49235,1933],{"class":191},[167,49237,1901],{"class":173},[167,49239,49240,49243],{"class":169,"line":238},[167,49241,49242],{"class":173},"      username: ",[167,49244,7205],{"class":201},[167,49246,49247],{"class":169,"line":243},[167,49248,4045],{"class":173},[167,49250,49251],{"class":169,"line":261},[167,49252,3488],{"class":173},[167,49254,49255],{"class":169,"line":273},[167,49256,276],{"class":173},[167,49258,49259,49261,49263],{"class":169,"line":279},[167,49260,282],{"class":173},[167,49262,178],{"class":177},[167,49264,185],{"class":173},[167,49266,49267],{"class":169,"line":289},[167,49268,209],{"emptyLinePlaceholder":208},[167,49270,49271,49273,49275],{"class":169,"line":294},[167,49272,174],{"class":173},[167,49274,299],{"class":177},[167,49276,185],{"class":173},[167,49278,49280,49282,49284,49286,49288,49290,49292,49294,49296],{"class":49279,"line":304},[169,213],[167,49281,307],{"class":173},[167,49283,2646],{"class":177},[167,49285,2649],{"class":181},[167,49287,267],{"class":173},[167,49289,49173],{"class":201},[167,49291,2664],{"class":181},[167,49293,267],{"class":173},[167,49295,49180],{"class":201},[167,49297,5321],{"class":173},[167,49299,49300,49302,49304,49306,49308],{"class":169,"line":313},[167,49301,307],{"class":173},[167,49303,15],{"class":177},[167,49305,49191],{"class":173},[167,49307,15],{"class":177},[167,49309,185],{"class":173},[167,49311,49312,49314,49316],{"class":169,"line":161},[167,49313,282],{"class":173},[167,49315,299],{"class":177},[167,49317,185],{"class":173},[15,49319,49320,49321,33969,49323,49325],{},"Internamente, combina props y eventos (",[87,49322,34045],{},[87,49324,34051],{},").\nNo es magia, pero se le parece bastante.",[22,49327,49328],{"id":23867},[87,49329,23867],{},[15,49331,49332],{},"Escucha eventos del DOM y ejecuta lógica reactiva.",[154,49334,49337],{"className":156,"code":49335,"filename":3256,"highlights":49336,"language":162,"meta":163,"style":163},"\u003Cscript setup>\nimport { ref } from 'vue'\n\nconst count = ref(0)\nconst increment = () => {\n  count.value++\n}\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cbutton v-on:click=\"increment\">Has hecho clic {{ count }} veces\u003C\u002Fbutton>\n\u003C\u002Ftemplate>\n",[294],[87,49338,49339,49349,49359,49363,49379,49394,49400,49404,49412,49416,49424,49446],{"__ignoreMap":163},[167,49340,49341,49343,49345,49347],{"class":169,"line":170},[167,49342,174],{"class":173},[167,49344,178],{"class":177},[167,49346,182],{"class":181},[167,49348,185],{"class":173},[167,49350,49351,49353,49355,49357],{"class":169,"line":188},[167,49352,192],{"class":191},[167,49354,195],{"class":173},[167,49356,198],{"class":191},[167,49358,202],{"class":201},[167,49360,49361],{"class":169,"line":205},[167,49362,209],{"emptyLinePlaceholder":208},[167,49364,49365,49367,49369,49371,49373,49375,49377],{"class":169,"line":160},[167,49366,216],{"class":191},[167,49368,15321],{"class":219},[167,49370,223],{"class":191},[167,49372,226],{"class":181},[167,49374,229],{"class":173},[167,49376,1956],{"class":219},[167,49378,235],{"class":173},[167,49380,49381,49383,49386,49388,49390,49392],{"class":169,"line":238},[167,49382,216],{"class":191},[167,49384,49385],{"class":181}," increment",[167,49387,223],{"class":191},[167,49389,1464],{"class":173},[167,49391,639],{"class":191},[167,49393,1901],{"class":173},[167,49395,49396,49398],{"class":169,"line":243},[167,49397,15352],{"class":173},[167,49399,3122],{"class":191},[167,49401,49402],{"class":169,"line":261},[167,49403,276],{"class":173},[167,49405,49406,49408,49410],{"class":169,"line":273},[167,49407,282],{"class":173},[167,49409,178],{"class":177},[167,49411,185],{"class":173},[167,49413,49414],{"class":169,"line":279},[167,49415,209],{"emptyLinePlaceholder":208},[167,49417,49418,49420,49422],{"class":169,"line":289},[167,49419,174],{"class":173},[167,49421,299],{"class":177},[167,49423,185],{"class":173},[167,49425,49427,49429,49431,49434,49436,49439,49442,49444],{"class":49426,"line":294},[169,213],[167,49428,307],{"class":173},[167,49430,507],{"class":177},[167,49432,49433],{"class":181}," v-on:click",[167,49435,267],{"class":173},[167,49437,49438],{"class":201},"\"increment\"",[167,49440,49441],{"class":173},">Has hecho clic {{ count }} veces\u003C\u002F",[167,49443,507],{"class":177},[167,49445,185],{"class":173},[167,49447,49448,49450,49452],{"class":169,"line":304},[167,49449,282],{"class":173},[167,49451,299],{"class":177},[167,49453,185],{"class":173},[154,49455,49458],{"className":156,"code":49456,"filename":3969,"highlights":49457,"language":162,"meta":163,"style":163},"\u003Cscript>\nexport default {\n  data() {\n    return {\n      count: 0\n    }\n  },\n  methods: {\n    increment() {\n      this.count++\n    }\n  }\n}\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cbutton v-on:click=\"increment\">Clickeame\u003C\u002Fbutton>\n  \u003Cp>Has clickeado {{ count }} veces.\u003C\u002Fp>\n\u003C\u002Ftemplate>\n",[489],[87,49459,49460,49468,49476,49482,49488,49494,49498,49502,49506,49513,49522,49526,49530,49534,49542,49546,49554,49574,49587],{"__ignoreMap":163},[167,49461,49462,49464,49466],{"class":169,"line":170},[167,49463,174],{"class":173},[167,49465,178],{"class":177},[167,49467,185],{"class":173},[167,49469,49470,49472,49474],{"class":169,"line":188},[167,49471,608],{"class":191},[167,49473,3987],{"class":191},[167,49475,1901],{"class":173},[167,49477,49478,49480],{"class":169,"line":205},[167,49479,7172],{"class":181},[167,49481,763],{"class":173},[167,49483,49484,49486],{"class":169,"line":160},[167,49485,1933],{"class":191},[167,49487,1901],{"class":173},[167,49489,49490,49492],{"class":169,"line":238},[167,49491,37480],{"class":173},[167,49493,10677],{"class":219},[167,49495,49496],{"class":169,"line":243},[167,49497,4045],{"class":173},[167,49499,49500],{"class":169,"line":261},[167,49501,398],{"class":173},[167,49503,49504],{"class":169,"line":273},[167,49505,4415],{"class":173},[167,49507,49508,49511],{"class":169,"line":279},[167,49509,49510],{"class":181},"    increment",[167,49512,763],{"class":173},[167,49514,49515,49517,49520],{"class":169,"line":289},[167,49516,741],{"class":219},[167,49518,49519],{"class":173},".count",[167,49521,3122],{"class":191},[167,49523,49524],{"class":169,"line":294},[167,49525,4045],{"class":173},[167,49527,49528],{"class":169,"line":304},[167,49529,3488],{"class":173},[167,49531,49532],{"class":169,"line":313},[167,49533,276],{"class":173},[167,49535,49536,49538,49540],{"class":169,"line":161},[167,49537,282],{"class":173},[167,49539,178],{"class":177},[167,49541,185],{"class":173},[167,49543,49544],{"class":169,"line":335},[167,49545,209],{"emptyLinePlaceholder":208},[167,49547,49548,49550,49552],{"class":169,"line":341},[167,49549,174],{"class":173},[167,49551,299],{"class":177},[167,49553,185],{"class":173},[167,49555,49557,49559,49561,49563,49565,49567,49570,49572],{"class":49556,"line":489},[169,213],[167,49558,307],{"class":173},[167,49560,507],{"class":177},[167,49562,49433],{"class":181},[167,49564,267],{"class":173},[167,49566,49438],{"class":201},[167,49568,49569],{"class":173},">Clickeame\u003C\u002F",[167,49571,507],{"class":177},[167,49573,185],{"class":173},[167,49575,49576,49578,49580,49583,49585],{"class":169,"line":495},[167,49577,307],{"class":173},[167,49579,15],{"class":177},[167,49581,49582],{"class":173},">Has clickeado {{ count }} veces.\u003C\u002F",[167,49584,15],{"class":177},[167,49586,185],{"class":173},[167,49588,49589,49591,49593],{"class":169,"line":501},[167,49590,282],{"class":173},[167,49592,299],{"class":177},[167,49594,185],{"class":173},[15,49596,49597,49598,2522,49601,1020,49603,1020,49605,49607],{},"Soporta ",[3929,49599,49600],{},"modificadores",[87,49602,36904],{},[87,49604,36901],{},[87,49606,36907],{},", etc.) que evitan código innecesario.",[22,49609,49610],{"id":30430},[87,49611,30430],{},[15,49613,49614],{},"Inserta texto plano en un elemento, reemplazando su contenido.",[154,49616,49619],{"className":156,"code":49617,"filename":3256,"highlights":49618,"language":162,"meta":163,"style":163},"\u003Cscript setup>\nimport { ref } from 'vue'\n\nconst message = ref('Hola Mundo')\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cdiv v-text=\"message\">\u003C\u002Fdiv>\n\u003C\u002Ftemplate>\n",[273],[87,49620,49621,49631,49641,49645,49662,49670,49674,49682,49702],{"__ignoreMap":163},[167,49622,49623,49625,49627,49629],{"class":169,"line":170},[167,49624,174],{"class":173},[167,49626,178],{"class":177},[167,49628,182],{"class":181},[167,49630,185],{"class":173},[167,49632,49633,49635,49637,49639],{"class":169,"line":188},[167,49634,192],{"class":191},[167,49636,195],{"class":173},[167,49638,198],{"class":191},[167,49640,202],{"class":201},[167,49642,49643],{"class":169,"line":205},[167,49644,209],{"emptyLinePlaceholder":208},[167,49646,49647,49649,49651,49653,49655,49657,49660],{"class":169,"line":160},[167,49648,216],{"class":191},[167,49650,29008],{"class":219},[167,49652,223],{"class":191},[167,49654,226],{"class":181},[167,49656,229],{"class":173},[167,49658,49659],{"class":201},"'Hola Mundo'",[167,49661,235],{"class":173},[167,49663,49664,49666,49668],{"class":169,"line":238},[167,49665,282],{"class":173},[167,49667,178],{"class":177},[167,49669,185],{"class":173},[167,49671,49672],{"class":169,"line":243},[167,49673,209],{"emptyLinePlaceholder":208},[167,49675,49676,49678,49680],{"class":169,"line":261},[167,49677,174],{"class":173},[167,49679,299],{"class":177},[167,49681,185],{"class":173},[167,49683,49685,49687,49689,49691,49693,49696,49698,49700],{"class":49684,"line":273},[169,213],[167,49686,307],{"class":173},[167,49688,1237],{"class":177},[167,49690,30521],{"class":181},[167,49692,267],{"class":173},[167,49694,49695],{"class":201},"\"message\"",[167,49697,1277],{"class":173},[167,49699,1237],{"class":177},[167,49701,185],{"class":173},[167,49703,49704,49706,49708],{"class":169,"line":279},[167,49705,282],{"class":173},[167,49707,299],{"class":177},[167,49709,185],{"class":173},[154,49711,49714],{"className":156,"code":49712,"filename":3969,"highlights":49713,"language":162,"meta":163,"style":163},"\u003Cscript>\nexport default {\n  data() {\n    return {\n      message: 'Hola Vue'\n    }\n  }\n}\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cdiv v-text=\"message\">\u003C\u002Fdiv>\n\u003C\u002Ftemplate>\n",[304],[87,49715,49716,49724,49732,49738,49744,49751,49755,49759,49763,49771,49775,49783,49802],{"__ignoreMap":163},[167,49717,49718,49720,49722],{"class":169,"line":170},[167,49719,174],{"class":173},[167,49721,178],{"class":177},[167,49723,185],{"class":173},[167,49725,49726,49728,49730],{"class":169,"line":188},[167,49727,608],{"class":191},[167,49729,3987],{"class":191},[167,49731,1901],{"class":173},[167,49733,49734,49736],{"class":169,"line":205},[167,49735,7172],{"class":181},[167,49737,763],{"class":173},[167,49739,49740,49742],{"class":169,"line":160},[167,49741,1933],{"class":191},[167,49743,1901],{"class":173},[167,49745,49746,49748],{"class":169,"line":238},[167,49747,29122],{"class":173},[167,49749,49750],{"class":201},"'Hola Vue'\n",[167,49752,49753],{"class":169,"line":243},[167,49754,4045],{"class":173},[167,49756,49757],{"class":169,"line":261},[167,49758,3488],{"class":173},[167,49760,49761],{"class":169,"line":273},[167,49762,276],{"class":173},[167,49764,49765,49767,49769],{"class":169,"line":279},[167,49766,282],{"class":173},[167,49768,178],{"class":177},[167,49770,185],{"class":173},[167,49772,49773],{"class":169,"line":289},[167,49774,209],{"emptyLinePlaceholder":208},[167,49776,49777,49779,49781],{"class":169,"line":294},[167,49778,174],{"class":173},[167,49780,299],{"class":177},[167,49782,185],{"class":173},[167,49784,49786,49788,49790,49792,49794,49796,49798,49800],{"class":49785,"line":304},[169,213],[167,49787,307],{"class":173},[167,49789,1237],{"class":177},[167,49791,30521],{"class":181},[167,49793,267],{"class":173},[167,49795,49695],{"class":201},[167,49797,1277],{"class":173},[167,49799,1237],{"class":177},[167,49801,185],{"class":173},[167,49803,49804,49806,49808],{"class":169,"line":313},[167,49805,282],{"class":173},[167,49807,299],{"class":177},[167,49809,185],{"class":173},[15,49811,49812],{},"No se usa mucho, pero existe para casos muy específicos donde no quieres interpolaciones.",[22,49814,49815],{"id":30433},[87,49816,30433],{},[15,49818,49819],{},"Inserta HTML sin escapar.",[154,49821,49824],{"className":156,"code":49822,"filename":3256,"highlights":49823,"language":162,"meta":163,"style":163},"\u003Cscript setup>\nimport { ref } from 'vue'\n\nconst rawHtml = ref('\u003Cstrong>Texto en negrita\u003C\u002Fstrong>')\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cdiv v-html=\"rawHtml\">\u003C\u002Fdiv>\n\u003C\u002Ftemplate>\n",[273],[87,49825,49826,49836,49846,49850,49868,49876,49880,49888,49908],{"__ignoreMap":163},[167,49827,49828,49830,49832,49834],{"class":169,"line":170},[167,49829,174],{"class":173},[167,49831,178],{"class":177},[167,49833,182],{"class":181},[167,49835,185],{"class":173},[167,49837,49838,49840,49842,49844],{"class":169,"line":188},[167,49839,192],{"class":191},[167,49841,195],{"class":173},[167,49843,198],{"class":191},[167,49845,202],{"class":201},[167,49847,49848],{"class":169,"line":205},[167,49849,209],{"emptyLinePlaceholder":208},[167,49851,49852,49854,49857,49859,49861,49863,49866],{"class":169,"line":160},[167,49853,216],{"class":191},[167,49855,49856],{"class":219}," rawHtml",[167,49858,223],{"class":191},[167,49860,226],{"class":181},[167,49862,229],{"class":173},[167,49864,49865],{"class":201},"'\u003Cstrong>Texto en negrita\u003C\u002Fstrong>'",[167,49867,235],{"class":173},[167,49869,49870,49872,49874],{"class":169,"line":238},[167,49871,282],{"class":173},[167,49873,178],{"class":177},[167,49875,185],{"class":173},[167,49877,49878],{"class":169,"line":243},[167,49879,209],{"emptyLinePlaceholder":208},[167,49881,49882,49884,49886],{"class":169,"line":261},[167,49883,174],{"class":173},[167,49885,299],{"class":177},[167,49887,185],{"class":173},[167,49889,49891,49893,49895,49897,49899,49902,49904,49906],{"class":49890,"line":273},[169,213],[167,49892,307],{"class":173},[167,49894,1237],{"class":177},[167,49896,30590],{"class":181},[167,49898,267],{"class":173},[167,49900,49901],{"class":201},"\"rawHtml\"",[167,49903,1277],{"class":173},[167,49905,1237],{"class":177},[167,49907,185],{"class":173},[167,49909,49910,49912,49914],{"class":169,"line":279},[167,49911,282],{"class":173},[167,49913,299],{"class":177},[167,49915,185],{"class":173},[154,49917,49920],{"className":156,"code":49918,"filename":3969,"highlights":49919,"language":162,"meta":163,"style":163},"\u003Cscript>\nexport default {\n  data() {\n    return {\n      rawHtml: '\u003Cstrong>HTML dinámico\u003C\u002Fstrong>'\n    }\n  }\n}\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cdiv v-html=\"rawHtml\">\u003C\u002Fdiv>\n\u003C\u002Ftemplate>\n",[304],[87,49921,49922,49930,49938,49944,49950,49958,49962,49966,49970,49978,49982,49990,50009],{"__ignoreMap":163},[167,49923,49924,49926,49928],{"class":169,"line":170},[167,49925,174],{"class":173},[167,49927,178],{"class":177},[167,49929,185],{"class":173},[167,49931,49932,49934,49936],{"class":169,"line":188},[167,49933,608],{"class":191},[167,49935,3987],{"class":191},[167,49937,1901],{"class":173},[167,49939,49940,49942],{"class":169,"line":205},[167,49941,7172],{"class":181},[167,49943,763],{"class":173},[167,49945,49946,49948],{"class":169,"line":160},[167,49947,1933],{"class":191},[167,49949,1901],{"class":173},[167,49951,49952,49955],{"class":169,"line":238},[167,49953,49954],{"class":173},"      rawHtml: ",[167,49956,49957],{"class":201},"'\u003Cstrong>HTML dinámico\u003C\u002Fstrong>'\n",[167,49959,49960],{"class":169,"line":243},[167,49961,4045],{"class":173},[167,49963,49964],{"class":169,"line":261},[167,49965,3488],{"class":173},[167,49967,49968],{"class":169,"line":273},[167,49969,276],{"class":173},[167,49971,49972,49974,49976],{"class":169,"line":279},[167,49973,282],{"class":173},[167,49975,178],{"class":177},[167,49977,185],{"class":173},[167,49979,49980],{"class":169,"line":289},[167,49981,209],{"emptyLinePlaceholder":208},[167,49983,49984,49986,49988],{"class":169,"line":294},[167,49985,174],{"class":173},[167,49987,299],{"class":177},[167,49989,185],{"class":173},[167,49991,49993,49995,49997,49999,50001,50003,50005,50007],{"class":49992,"line":304},[169,213],[167,49994,307],{"class":173},[167,49996,1237],{"class":177},[167,49998,30590],{"class":181},[167,50000,267],{"class":173},[167,50002,49901],{"class":201},[167,50004,1277],{"class":173},[167,50006,1237],{"class":177},[167,50008,185],{"class":173},[167,50010,50011,50013,50015],{"class":169,"line":313},[167,50012,282],{"class":173},[167,50014,299],{"class":177},[167,50016,185],{"class":173},[5363,50018,50019],{},[15,50020,50021,50022,50025],{},"⚠️ ",[3929,50023,50024],{},"Nunca lo uses con contenido no confiable",".\nEs una puerta directa a XSS si no sabes exactamente lo que estás renderizando.",[22,50027,50028],{"id":31704},[87,50029,31704],{},[15,50031,50032],{},"Permite definir contenido dinámico dentro de componentes mediante slots.",[154,50034,50037],{"className":156,"code":50035,"filename":3256,"highlights":50036,"language":162,"meta":163,"style":163},"\u003Cscript setup>\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003CMyCard>\n    \u003Ctemplate v-slot:header>\n      \u003Ch1>Encabezado Personalizado\u003C\u002Fh1>\n    \u003C\u002Ftemplate>\n    \u003Cp>Contenido del cuerpo de la tarjeta.\u003C\u002Fp>\n    \u003Ctemplate v-slot:footer>\n      \u003Cbutton>Acción\u003C\u002Fbutton>\n    \u003C\u002Ftemplate>\n  \u003C\u002FMyCard>\n\u003C\u002Ftemplate>\n",[243,289],[87,50038,50039,50049,50057,50061,50069,50078,50093,50106,50114,50127,50142,50155,50163,50171],{"__ignoreMap":163},[167,50040,50041,50043,50045,50047],{"class":169,"line":170},[167,50042,174],{"class":173},[167,50044,178],{"class":177},[167,50046,182],{"class":181},[167,50048,185],{"class":173},[167,50050,50051,50053,50055],{"class":169,"line":188},[167,50052,282],{"class":173},[167,50054,178],{"class":177},[167,50056,185],{"class":173},[167,50058,50059],{"class":169,"line":205},[167,50060,209],{"emptyLinePlaceholder":208},[167,50062,50063,50065,50067],{"class":169,"line":160},[167,50064,174],{"class":173},[167,50066,299],{"class":177},[167,50068,185],{"class":173},[167,50070,50071,50073,50076],{"class":169,"line":238},[167,50072,307],{"class":173},[167,50074,50075],{"class":177},"MyCard",[167,50077,185],{"class":173},[167,50079,50081,50083,50085,50087,50089,50091],{"class":50080,"line":243},[169,213],[167,50082,1252],{"class":173},[167,50084,299],{"class":177},[167,50086,32025],{"class":181},[167,50088,583],{"class":173},[167,50090,1255],{"class":181},[167,50092,185],{"class":173},[167,50094,50095,50097,50099,50102,50104],{"class":169,"line":261},[167,50096,1263],{"class":173},[167,50098,11],{"class":177},[167,50100,50101],{"class":173},">Encabezado Personalizado\u003C\u002F",[167,50103,11],{"class":177},[167,50105,185],{"class":173},[167,50107,50108,50110,50112],{"class":169,"line":273},[167,50109,1287],{"class":173},[167,50111,299],{"class":177},[167,50113,185],{"class":173},[167,50115,50116,50118,50120,50123,50125],{"class":169,"line":279},[167,50117,1252],{"class":173},[167,50119,15],{"class":177},[167,50121,50122],{"class":173},">Contenido del cuerpo de la tarjeta.\u003C\u002F",[167,50124,15],{"class":177},[167,50126,185],{"class":173},[167,50128,50130,50132,50134,50136,50138,50140],{"class":50129,"line":289},[169,213],[167,50131,1252],{"class":173},[167,50133,299],{"class":177},[167,50135,32025],{"class":181},[167,50137,583],{"class":173},[167,50139,1329],{"class":181},[167,50141,185],{"class":173},[167,50143,50144,50146,50148,50151,50153],{"class":169,"line":294},[167,50145,1263],{"class":173},[167,50147,507],{"class":177},[167,50149,50150],{"class":173},">Acción\u003C\u002F",[167,50152,507],{"class":177},[167,50154,185],{"class":173},[167,50156,50157,50159,50161],{"class":169,"line":304},[167,50158,1287],{"class":173},[167,50160,299],{"class":177},[167,50162,185],{"class":173},[167,50164,50165,50167,50169],{"class":169,"line":313},[167,50166,504],{"class":173},[167,50168,50075],{"class":177},[167,50170,185],{"class":173},[167,50172,50173,50175,50177],{"class":169,"line":161},[167,50174,282],{"class":173},[167,50176,299],{"class":177},[167,50178,185],{"class":173},[154,50180,50183],{"className":156,"code":50181,"filename":3969,"highlights":50182,"language":162,"meta":163,"style":163},"\u003Cscript>\nexport default {\n  components: { MyCard }\n}\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003CMyCard>\n    \u003Ctemplate v-slot:header>\n      \u003Ch1>Encabezado Personalizado\u003C\u002Fh1>\n    \u003C\u002Ftemplate>\n    \u003Cp>Contenido del cuerpo de la tarjeta.\u003C\u002Fp>\n    \u003Ctemplate v-slot:footer>\n      \u003Cbutton>Acción\u003C\u002Fbutton>\n    \u003C\u002Ftemplate>\n  \u003C\u002FMyCard>\n\u003C\u002Ftemplate>\n",[279,313],[87,50184,50185,50193,50201,50206,50210,50218,50222,50230,50238,50253,50265,50273,50285,50300,50312,50320,50328],{"__ignoreMap":163},[167,50186,50187,50189,50191],{"class":169,"line":170},[167,50188,174],{"class":173},[167,50190,178],{"class":177},[167,50192,185],{"class":173},[167,50194,50195,50197,50199],{"class":169,"line":188},[167,50196,608],{"class":191},[167,50198,3987],{"class":191},[167,50200,1901],{"class":173},[167,50202,50203],{"class":169,"line":205},[167,50204,50205],{"class":173},"  components: { MyCard }\n",[167,50207,50208],{"class":169,"line":160},[167,50209,276],{"class":173},[167,50211,50212,50214,50216],{"class":169,"line":238},[167,50213,282],{"class":173},[167,50215,178],{"class":177},[167,50217,185],{"class":173},[167,50219,50220],{"class":169,"line":243},[167,50221,209],{"emptyLinePlaceholder":208},[167,50223,50224,50226,50228],{"class":169,"line":261},[167,50225,174],{"class":173},[167,50227,299],{"class":177},[167,50229,185],{"class":173},[167,50231,50232,50234,50236],{"class":169,"line":273},[167,50233,307],{"class":173},[167,50235,50075],{"class":177},[167,50237,185],{"class":173},[167,50239,50241,50243,50245,50247,50249,50251],{"class":50240,"line":279},[169,213],[167,50242,1252],{"class":173},[167,50244,299],{"class":177},[167,50246,32025],{"class":181},[167,50248,583],{"class":173},[167,50250,1255],{"class":181},[167,50252,185],{"class":173},[167,50254,50255,50257,50259,50261,50263],{"class":169,"line":289},[167,50256,1263],{"class":173},[167,50258,11],{"class":177},[167,50260,50101],{"class":173},[167,50262,11],{"class":177},[167,50264,185],{"class":173},[167,50266,50267,50269,50271],{"class":169,"line":294},[167,50268,1287],{"class":173},[167,50270,299],{"class":177},[167,50272,185],{"class":173},[167,50274,50275,50277,50279,50281,50283],{"class":169,"line":304},[167,50276,1252],{"class":173},[167,50278,15],{"class":177},[167,50280,50122],{"class":173},[167,50282,15],{"class":177},[167,50284,185],{"class":173},[167,50286,50288,50290,50292,50294,50296,50298],{"class":50287,"line":313},[169,213],[167,50289,1252],{"class":173},[167,50291,299],{"class":177},[167,50293,32025],{"class":181},[167,50295,583],{"class":173},[167,50297,1329],{"class":181},[167,50299,185],{"class":173},[167,50301,50302,50304,50306,50308,50310],{"class":169,"line":161},[167,50303,1263],{"class":173},[167,50305,507],{"class":177},[167,50307,50150],{"class":173},[167,50309,507],{"class":177},[167,50311,185],{"class":173},[167,50313,50314,50316,50318],{"class":169,"line":335},[167,50315,1287],{"class":173},[167,50317,299],{"class":177},[167,50319,185],{"class":173},[167,50321,50322,50324,50326],{"class":169,"line":341},[167,50323,504],{"class":173},[167,50325,50075],{"class":177},[167,50327,185],{"class":173},[167,50329,50330,50332,50334],{"class":169,"line":489},[167,50331,282],{"class":173},[167,50333,299],{"class":177},[167,50335,185],{"class":173},[15,50337,50338,50339,1675],{},"Es clave para crear componentes ",[3929,50340,50341],{},"flexibles, composables y reutilizables",[22,50343,50344],{"id":27768},[87,50345,27768],{},[15,50347,50348,50349,50352],{},"Renderiza el contenido ",[3929,50350,50351],{},"una sola vez"," y lo excluye del sistema reactivo.",[154,50354,50357],{"className":156,"code":50355,"filename":3256,"highlights":50356,"language":162,"meta":163,"style":163},"\u003Cscript setup>\nimport { ref } from 'vue'\n  \nconst count = ref(0)\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cp v-once>Este texto no cambiará: {{ count }}\u003C\u002Fp>\n  \u003Cbutton @click=\"count++\">Incrementar\u003C\u002Fbutton>\n\u003C\u002Ftemplate>\n",[273],[87,50358,50359,50369,50379,50383,50399,50407,50411,50419,50435,50454],{"__ignoreMap":163},[167,50360,50361,50363,50365,50367],{"class":169,"line":170},[167,50362,174],{"class":173},[167,50364,178],{"class":177},[167,50366,182],{"class":181},[167,50368,185],{"class":173},[167,50370,50371,50373,50375,50377],{"class":169,"line":188},[167,50372,192],{"class":191},[167,50374,195],{"class":173},[167,50376,198],{"class":191},[167,50378,202],{"class":201},[167,50380,50381],{"class":169,"line":205},[167,50382,48363],{"class":173},[167,50384,50385,50387,50389,50391,50393,50395,50397],{"class":169,"line":160},[167,50386,216],{"class":191},[167,50388,15321],{"class":219},[167,50390,223],{"class":191},[167,50392,226],{"class":181},[167,50394,229],{"class":173},[167,50396,1956],{"class":219},[167,50398,235],{"class":173},[167,50400,50401,50403,50405],{"class":169,"line":238},[167,50402,282],{"class":173},[167,50404,178],{"class":177},[167,50406,185],{"class":173},[167,50408,50409],{"class":169,"line":243},[167,50410,209],{"emptyLinePlaceholder":208},[167,50412,50413,50415,50417],{"class":169,"line":261},[167,50414,174],{"class":173},[167,50416,299],{"class":177},[167,50418,185],{"class":173},[167,50420,50422,50424,50426,50428,50431,50433],{"class":50421,"line":273},[169,213],[167,50423,307],{"class":173},[167,50425,15],{"class":177},[167,50427,28174],{"class":181},[167,50429,50430],{"class":173},">Este texto no cambiará: {{ count }}\u003C\u002F",[167,50432,15],{"class":177},[167,50434,185],{"class":173},[167,50436,50437,50439,50441,50443,50445,50447,50450,50452],{"class":169,"line":279},[167,50438,307],{"class":173},[167,50440,507],{"class":177},[167,50442,1177],{"class":181},[167,50444,267],{"class":173},[167,50446,18382],{"class":201},[167,50448,50449],{"class":173},">Incrementar\u003C\u002F",[167,50451,507],{"class":177},[167,50453,185],{"class":173},[167,50455,50456,50458,50460],{"class":169,"line":289},[167,50457,282],{"class":173},[167,50459,299],{"class":177},[167,50461,185],{"class":173},[154,50463,50466],{"className":156,"code":50464,"filename":3969,"highlights":50465,"language":162,"meta":163,"style":163},"\u003Cscript>\nexport default {\n  data() {\n    return {\n      count: 0\n    }\n  }\n}\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cp v-once>Este texto no cambiará: {{ count }}\u003C\u002Fp>\n  \u003Cbutton @click=\"count++\">Incrementar\u003C\u002Fbutton>\n\u003C\u002Ftemplate>\n",[304],[87,50467,50468,50476,50484,50490,50496,50502,50506,50510,50514,50522,50526,50534,50549,50567],{"__ignoreMap":163},[167,50469,50470,50472,50474],{"class":169,"line":170},[167,50471,174],{"class":173},[167,50473,178],{"class":177},[167,50475,185],{"class":173},[167,50477,50478,50480,50482],{"class":169,"line":188},[167,50479,608],{"class":191},[167,50481,3987],{"class":191},[167,50483,1901],{"class":173},[167,50485,50486,50488],{"class":169,"line":205},[167,50487,7172],{"class":181},[167,50489,763],{"class":173},[167,50491,50492,50494],{"class":169,"line":160},[167,50493,1933],{"class":191},[167,50495,1901],{"class":173},[167,50497,50498,50500],{"class":169,"line":238},[167,50499,37480],{"class":173},[167,50501,10677],{"class":219},[167,50503,50504],{"class":169,"line":243},[167,50505,4045],{"class":173},[167,50507,50508],{"class":169,"line":261},[167,50509,3488],{"class":173},[167,50511,50512],{"class":169,"line":273},[167,50513,276],{"class":173},[167,50515,50516,50518,50520],{"class":169,"line":279},[167,50517,282],{"class":173},[167,50519,178],{"class":177},[167,50521,185],{"class":173},[167,50523,50524],{"class":169,"line":289},[167,50525,209],{"emptyLinePlaceholder":208},[167,50527,50528,50530,50532],{"class":169,"line":294},[167,50529,174],{"class":173},[167,50531,299],{"class":177},[167,50533,185],{"class":173},[167,50535,50537,50539,50541,50543,50545,50547],{"class":50536,"line":304},[169,213],[167,50538,307],{"class":173},[167,50540,15],{"class":177},[167,50542,28174],{"class":181},[167,50544,50430],{"class":173},[167,50546,15],{"class":177},[167,50548,185],{"class":173},[167,50550,50551,50553,50555,50557,50559,50561,50563,50565],{"class":169,"line":313},[167,50552,307],{"class":173},[167,50554,507],{"class":177},[167,50556,1177],{"class":181},[167,50558,267],{"class":173},[167,50560,18382],{"class":201},[167,50562,50449],{"class":173},[167,50564,507],{"class":177},[167,50566,185],{"class":173},[167,50568,50569,50571,50573],{"class":169,"line":161},[167,50570,282],{"class":173},[167,50572,299],{"class":177},[167,50574,185],{"class":173},[15,50576,50577],{},"Útil cuando el contenido no debe actualizarse jamás, incluso si el estado cambia.",[22,50579,50580],{"id":27771},[87,50581,27771],{},[15,50583,50584],{},"Evita renderizados innecesarios cuando las dependencias no cambian.",[154,50586,50589],{"className":156,"code":50587,"filename":3256,"highlights":50588,"language":162,"meta":163,"style":163},"\u003Cscript setup>\nimport { ref } from 'vue'\n\nconst count = ref(0)\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cdiv v-memo=\"[count]\">\n    \u003Cp>Este bloque solo se re-renderiza si 'count' cambia: {{ count }}\u003C\u002Fp>\n  \u003C\u002Fdiv>\n  \u003Cbutton @click=\"count++\">Incrementar\u003C\u002Fbutton>\n\u003C\u002Ftemplate>\n",[273],[87,50590,50591,50601,50611,50615,50631,50639,50643,50651,50668,50681,50689,50707],{"__ignoreMap":163},[167,50592,50593,50595,50597,50599],{"class":169,"line":170},[167,50594,174],{"class":173},[167,50596,178],{"class":177},[167,50598,182],{"class":181},[167,50600,185],{"class":173},[167,50602,50603,50605,50607,50609],{"class":169,"line":188},[167,50604,192],{"class":191},[167,50606,195],{"class":173},[167,50608,198],{"class":191},[167,50610,202],{"class":201},[167,50612,50613],{"class":169,"line":205},[167,50614,209],{"emptyLinePlaceholder":208},[167,50616,50617,50619,50621,50623,50625,50627,50629],{"class":169,"line":160},[167,50618,216],{"class":191},[167,50620,15321],{"class":219},[167,50622,223],{"class":191},[167,50624,226],{"class":181},[167,50626,229],{"class":173},[167,50628,1956],{"class":219},[167,50630,235],{"class":173},[167,50632,50633,50635,50637],{"class":169,"line":238},[167,50634,282],{"class":173},[167,50636,178],{"class":177},[167,50638,185],{"class":173},[167,50640,50641],{"class":169,"line":243},[167,50642,209],{"emptyLinePlaceholder":208},[167,50644,50645,50647,50649],{"class":169,"line":261},[167,50646,174],{"class":173},[167,50648,299],{"class":177},[167,50650,185],{"class":173},[167,50652,50654,50656,50658,50661,50663,50666],{"class":50653,"line":273},[169,213],[167,50655,307],{"class":173},[167,50657,1237],{"class":177},[167,50659,50660],{"class":181}," v-memo",[167,50662,267],{"class":173},[167,50664,50665],{"class":201},"\"[count]\"",[167,50667,185],{"class":173},[167,50669,50670,50672,50674,50677,50679],{"class":169,"line":279},[167,50671,1252],{"class":173},[167,50673,15],{"class":177},[167,50675,50676],{"class":173},">Este bloque solo se re-renderiza si 'count' cambia: {{ count }}\u003C\u002F",[167,50678,15],{"class":177},[167,50680,185],{"class":173},[167,50682,50683,50685,50687],{"class":169,"line":289},[167,50684,504],{"class":173},[167,50686,1237],{"class":177},[167,50688,185],{"class":173},[167,50690,50691,50693,50695,50697,50699,50701,50703,50705],{"class":169,"line":294},[167,50692,307],{"class":173},[167,50694,507],{"class":177},[167,50696,1177],{"class":181},[167,50698,267],{"class":173},[167,50700,18382],{"class":201},[167,50702,50449],{"class":173},[167,50704,507],{"class":177},[167,50706,185],{"class":173},[167,50708,50709,50711,50713],{"class":169,"line":304},[167,50710,282],{"class":173},[167,50712,299],{"class":177},[167,50714,185],{"class":173},[154,50716,50719],{"className":156,"code":50717,"filename":3969,"highlights":50718,"language":162,"meta":163,"style":163},"\u003Cscript>\nexport default {\n  data() {\n    return {\n      value: 10\n    }\n  }\n}\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cdiv v-memo=\"[value]\">\n    \u003Cp>El valor es: {{ value }}\u003C\u002Fp>\n  \u003C\u002Fdiv>\n\u003C\u002Ftemplate>\n",[304],[87,50720,50721,50729,50737,50743,50749,50757,50761,50765,50769,50777,50781,50789,50805,50818,50826],{"__ignoreMap":163},[167,50722,50723,50725,50727],{"class":169,"line":170},[167,50724,174],{"class":173},[167,50726,178],{"class":177},[167,50728,185],{"class":173},[167,50730,50731,50733,50735],{"class":169,"line":188},[167,50732,608],{"class":191},[167,50734,3987],{"class":191},[167,50736,1901],{"class":173},[167,50738,50739,50741],{"class":169,"line":205},[167,50740,7172],{"class":181},[167,50742,763],{"class":173},[167,50744,50745,50747],{"class":169,"line":160},[167,50746,1933],{"class":191},[167,50748,1901],{"class":173},[167,50750,50751,50754],{"class":169,"line":238},[167,50752,50753],{"class":173},"      value: ",[167,50755,50756],{"class":219},"10\n",[167,50758,50759],{"class":169,"line":243},[167,50760,4045],{"class":173},[167,50762,50763],{"class":169,"line":261},[167,50764,3488],{"class":173},[167,50766,50767],{"class":169,"line":273},[167,50768,276],{"class":173},[167,50770,50771,50773,50775],{"class":169,"line":279},[167,50772,282],{"class":173},[167,50774,178],{"class":177},[167,50776,185],{"class":173},[167,50778,50779],{"class":169,"line":289},[167,50780,209],{"emptyLinePlaceholder":208},[167,50782,50783,50785,50787],{"class":169,"line":294},[167,50784,174],{"class":173},[167,50786,299],{"class":177},[167,50788,185],{"class":173},[167,50790,50792,50794,50796,50798,50800,50803],{"class":50791,"line":304},[169,213],[167,50793,307],{"class":173},[167,50795,1237],{"class":177},[167,50797,50660],{"class":181},[167,50799,267],{"class":173},[167,50801,50802],{"class":201},"\"[value]\"",[167,50804,185],{"class":173},[167,50806,50807,50809,50811,50814,50816],{"class":169,"line":313},[167,50808,1252],{"class":173},[167,50810,15],{"class":177},[167,50812,50813],{"class":173},">El valor es: {{ value }}\u003C\u002F",[167,50815,15],{"class":177},[167,50817,185],{"class":173},[167,50819,50820,50822,50824],{"class":169,"line":161},[167,50821,504],{"class":173},[167,50823,1237],{"class":177},[167,50825,185],{"class":173},[167,50827,50828,50830,50832],{"class":169,"line":335},[167,50829,282],{"class":173},[167,50831,299],{"class":177},[167,50833,185],{"class":173},[15,50835,50836,50837,50840],{},"Es una ",[3929,50838,50839],{},"optimización avanzada",".\nNo está pensada para usarse “porque sí”, sino en cuellos de botella reales.",[22,50842,50843],{"id":27774},[87,50844,27774],{},[15,50846,50847],{},"Evita que Vue compile el contenido del nodo.",[154,50849,50852],{"className":156,"code":50850,"filename":3256,"highlights":50851,"language":162,"meta":163,"style":163},"\u003Cscript setup>\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cdiv v-pre>\n    {{ esto_no_se_evaluará }}\n  \u003C\u002Fdiv>\n\u003C\u002Ftemplate>\n",[238],[87,50853,50854,50864,50872,50876,50884,50895,50900,50908],{"__ignoreMap":163},[167,50855,50856,50858,50860,50862],{"class":169,"line":170},[167,50857,174],{"class":173},[167,50859,178],{"class":177},[167,50861,182],{"class":181},[167,50863,185],{"class":173},[167,50865,50866,50868,50870],{"class":169,"line":188},[167,50867,282],{"class":173},[167,50869,178],{"class":177},[167,50871,185],{"class":173},[167,50873,50874],{"class":169,"line":205},[167,50875,209],{"emptyLinePlaceholder":208},[167,50877,50878,50880,50882],{"class":169,"line":160},[167,50879,174],{"class":173},[167,50881,299],{"class":177},[167,50883,185],{"class":173},[167,50885,50887,50889,50891,50893],{"class":50886,"line":238},[169,213],[167,50888,307],{"class":173},[167,50890,1237],{"class":177},[167,50892,29062],{"class":181},[167,50894,185],{"class":173},[167,50896,50897],{"class":169,"line":243},[167,50898,50899],{"class":173},"    {{ esto_no_se_evaluará }}\n",[167,50901,50902,50904,50906],{"class":169,"line":261},[167,50903,504],{"class":173},[167,50905,1237],{"class":177},[167,50907,185],{"class":173},[167,50909,50910,50912,50914],{"class":169,"line":273},[167,50911,282],{"class":173},[167,50913,299],{"class":177},[167,50915,185],{"class":173},[154,50917,50920],{"className":156,"code":50918,"filename":3969,"highlights":50919,"language":162,"meta":163,"style":163},"\u003Cscript>\nexport default {}\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cdiv v-pre>\n    {{ esto_no_se_evaluará }}\n  \u003C\u002Fdiv>\n\u003C\u002Ftemplate>\n",[243],[87,50921,50922,50930,50939,50947,50951,50959,50970,50974,50982],{"__ignoreMap":163},[167,50923,50924,50926,50928],{"class":169,"line":170},[167,50925,174],{"class":173},[167,50927,178],{"class":177},[167,50929,185],{"class":173},[167,50931,50932,50934,50936],{"class":169,"line":188},[167,50933,608],{"class":191},[167,50935,3987],{"class":191},[167,50937,50938],{"class":173}," {}\n",[167,50940,50941,50943,50945],{"class":169,"line":205},[167,50942,282],{"class":173},[167,50944,178],{"class":177},[167,50946,185],{"class":173},[167,50948,50949],{"class":169,"line":160},[167,50950,209],{"emptyLinePlaceholder":208},[167,50952,50953,50955,50957],{"class":169,"line":238},[167,50954,174],{"class":173},[167,50956,299],{"class":177},[167,50958,185],{"class":173},[167,50960,50962,50964,50966,50968],{"class":50961,"line":243},[169,213],[167,50963,307],{"class":173},[167,50965,1237],{"class":177},[167,50967,29062],{"class":181},[167,50969,185],{"class":173},[167,50971,50972],{"class":169,"line":261},[167,50973,50899],{"class":173},[167,50975,50976,50978,50980],{"class":169,"line":273},[167,50977,504],{"class":173},[167,50979,1237],{"class":177},[167,50981,185],{"class":173},[167,50983,50984,50986,50988],{"class":169,"line":279},[167,50985,282],{"class":173},[167,50987,299],{"class":177},[167,50989,185],{"class":173},[15,50991,50992],{},"Perfecta para mostrar snippets, ejemplos literales o templates de demostración.",[22,50994,50995],{"id":26482},[87,50996,26482],{},[15,50998,50999],{},"Oculta el template hasta que Vue termine de montar la aplicación.",[154,51001,51004],{"className":156,"code":51002,"filename":3256,"highlights":51003,"language":162,"meta":163,"style":163},"\u003Cscript setup>\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cdiv v-cloak>\n    {{ mensaje }}\n  \u003C\u002Fdiv>\n\u003C\u002Ftemplate>\n",[238],[87,51005,51006,51016,51024,51028,51036,51047,51052,51060],{"__ignoreMap":163},[167,51007,51008,51010,51012,51014],{"class":169,"line":170},[167,51009,174],{"class":173},[167,51011,178],{"class":177},[167,51013,182],{"class":181},[167,51015,185],{"class":173},[167,51017,51018,51020,51022],{"class":169,"line":188},[167,51019,282],{"class":173},[167,51021,178],{"class":177},[167,51023,185],{"class":173},[167,51025,51026],{"class":169,"line":205},[167,51027,209],{"emptyLinePlaceholder":208},[167,51029,51030,51032,51034],{"class":169,"line":160},[167,51031,174],{"class":173},[167,51033,299],{"class":177},[167,51035,185],{"class":173},[167,51037,51039,51041,51043,51045],{"class":51038,"line":238},[169,213],[167,51040,307],{"class":173},[167,51042,1237],{"class":177},[167,51044,26871],{"class":181},[167,51046,185],{"class":173},[167,51048,51049],{"class":169,"line":243},[167,51050,51051],{"class":173},"    {{ mensaje }}\n",[167,51053,51054,51056,51058],{"class":169,"line":261},[167,51055,504],{"class":173},[167,51057,1237],{"class":177},[167,51059,185],{"class":173},[167,51061,51062,51064,51066],{"class":169,"line":273},[167,51063,282],{"class":173},[167,51065,299],{"class":177},[167,51067,185],{"class":173},[154,51069,51072],{"className":156,"code":51070,"filename":3969,"highlights":51071,"language":162,"meta":163,"style":163},"\u003Cscript>\nexport default {}\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cdiv v-cloak>\n    {{ mensaje }}\n  \u003C\u002Fdiv>\n\u003C\u002Ftemplate>\n",[243],[87,51073,51074,51082,51090,51098,51102,51110,51121,51125,51133],{"__ignoreMap":163},[167,51075,51076,51078,51080],{"class":169,"line":170},[167,51077,174],{"class":173},[167,51079,178],{"class":177},[167,51081,185],{"class":173},[167,51083,51084,51086,51088],{"class":169,"line":188},[167,51085,608],{"class":191},[167,51087,3987],{"class":191},[167,51089,50938],{"class":173},[167,51091,51092,51094,51096],{"class":169,"line":205},[167,51093,282],{"class":173},[167,51095,178],{"class":177},[167,51097,185],{"class":173},[167,51099,51100],{"class":169,"line":160},[167,51101,209],{"emptyLinePlaceholder":208},[167,51103,51104,51106,51108],{"class":169,"line":238},[167,51105,174],{"class":173},[167,51107,299],{"class":177},[167,51109,185],{"class":173},[167,51111,51113,51115,51117,51119],{"class":51112,"line":243},[169,213],[167,51114,307],{"class":173},[167,51116,1237],{"class":177},[167,51118,26871],{"class":181},[167,51120,185],{"class":173},[167,51122,51123],{"class":169,"line":261},[167,51124,51051],{"class":173},[167,51126,51127,51129,51131],{"class":169,"line":273},[167,51128,504],{"class":173},[167,51130,1237],{"class":177},[167,51132,185],{"class":173},[167,51134,51135,51137,51139],{"class":169,"line":279},[167,51136,282],{"class":173},[167,51138,299],{"class":177},[167,51140,185],{"class":173},[15,51142,51143],{},"Evita el parpadeo inicial en aplicaciones renderizadas del lado del cliente.",[22,51145,9240],{"id":51146},"directivas-personalizadas",[15,51148,51149],{},"Permiten extender Vue para manipular directamente el DOM cuando no hay otra opción más declarativa.",[154,51151,51154],{"className":2875,"code":51152,"filename":25319,"highlights":51153,"language":2878,"meta":163,"style":163},"import { createApp } from 'vue'\nimport App from '.\u002FApp.vue'\nconst app = createApp(App)\napp.directive('focus', {\n  mounted(el) {\n    el.focus()\n  }\n})\n",[160,238,243,261,273],[87,51155,51156,51167,51179,51194,51210,51221,51231,51236],{"__ignoreMap":163},[167,51157,51158,51160,51163,51165],{"class":169,"line":170},[167,51159,192],{"class":191},[167,51161,51162],{"class":173}," { createApp } ",[167,51164,198],{"class":191},[167,51166,202],{"class":201},[167,51168,51169,51171,51174,51176],{"class":169,"line":188},[167,51170,192],{"class":191},[167,51172,51173],{"class":173}," App ",[167,51175,198],{"class":191},[167,51177,51178],{"class":201}," '.\u002FApp.vue'\n",[167,51180,51181,51183,51186,51188,51191],{"class":169,"line":205},[167,51182,216],{"class":191},[167,51184,51185],{"class":219}," app",[167,51187,223],{"class":191},[167,51189,51190],{"class":181}," createApp",[167,51192,51193],{"class":173},"(App)\n",[167,51195,51197,51200,51203,51205,51208],{"class":51196,"line":160},[169,213],[167,51198,51199],{"class":173},"app.",[167,51201,51202],{"class":181},"directive",[167,51204,229],{"class":173},[167,51206,51207],{"class":201},"'focus'",[167,51209,627],{"class":173},[167,51211,51213,51215,51217,51219],{"class":51212,"line":238},[169,213],[167,51214,12745],{"class":181},[167,51216,229],{"class":173},[167,51218,24207],{"class":254},[167,51220,258],{"class":173},[167,51222,51224,51227,51229],{"class":51223,"line":243},[169,213],[167,51225,51226],{"class":173},"    el.",[167,51228,17404],{"class":181},[167,51230,2913],{"class":173},[167,51232,51234],{"class":51233,"line":261},[169,213],[167,51235,3488],{"class":173},[167,51237,51239],{"class":51238,"line":273},[169,213],[167,51240,403],{"class":173},[154,51242,51245],{"className":156,"code":51243,"filename":15280,"highlights":51244,"language":162,"meta":163,"style":163},"\u003Ctemplate>\n  \u003Cinput v-focus \u002F>\n\u003C\u002Ftemplate>\n",[188],[87,51246,51247,51255,51267],{"__ignoreMap":163},[167,51248,51249,51251,51253],{"class":169,"line":170},[167,51250,174],{"class":173},[167,51252,299],{"class":177},[167,51254,185],{"class":173},[167,51256,51258,51260,51262,51265],{"class":51257,"line":188},[169,213],[167,51259,307],{"class":173},[167,51261,2646],{"class":177},[167,51263,51264],{"class":181}," v-focus",[167,51266,5321],{"class":173},[167,51268,51269,51271,51273],{"class":169,"line":205},[167,51270,282],{"class":173},[167,51272,299],{"class":177},[167,51274,185],{"class":173},[15,51276,51277],{},"Son poderosas, pero deben usarse con cuidado:\nsi abusas de ellas, probablemente estás rompiendo el modelo mental de Vue.",[22,51279,23570],{"id":23569},[15,51281,51282,51283,1675],{},"Las directivas no son solo sintaxis bonita.\nSon ",[3929,51284,51285],{},"contratos claros entre el estado y el DOM",[15,51287,51288],{},"Este artículo es el punto de partida.\nCada directiva tendrá su entrada individual, con:",[33,51290,51291,51294,51296],{},[36,51292,51293],{},"Casos reales",[36,51295,3081],{},[36,51297,51298],{},"Buenas y malas prácticas",[15,51300,51301,51302,51305],{},"Este mapa ya te permite ",[3929,51303,51304],{},"leer código Vue con criterio",".\nLo demás es profundidad, no confusión.",[924,51307,6161],{},{"title":163,"searchDepth":188,"depth":188,"links":51309},[51310,51311,51313,51314,51315,51316,51317,51318,51319,51320,51321,51322,51323,51324,51325,51326],{"id":19078,"depth":188,"text":19079},{"id":48053,"depth":188,"text":51312},"v-if, v-else-if, v-else",{"id":13655,"depth":188,"text":13655},{"id":30722,"depth":188,"text":30722},{"id":23864,"depth":188,"text":23864},{"id":23861,"depth":188,"text":23861},{"id":23867,"depth":188,"text":23867},{"id":30430,"depth":188,"text":30430},{"id":30433,"depth":188,"text":30433},{"id":31704,"depth":188,"text":31704},{"id":27768,"depth":188,"text":27768},{"id":27771,"depth":188,"text":27771},{"id":27774,"depth":188,"text":27774},{"id":26482,"depth":188,"text":26482},{"id":51146,"depth":188,"text":9240},{"id":23569,"depth":188,"text":23570},"https:\u002F\u002Fres.cloudinary.com\u002Fdenj4fg7f\u002Fimage\u002Fupload\u002Fv1770161262\u002Fvue-directives-overview_qyrngz.png","2026-02-04","Explora las directivas esenciales de Vue.js, su sintaxis y casos de uso comunes.",{"updatedAt":33915,"readingTime":243,"coverCaption":51331,"author":945,"keywords":51332},"Imagen destacada que representa las directivas en Vue.js.",[3254,26462,51333,968],"Desarrollo Frontend","\u002Fblog\u002Fvue-directives-overview.es",[51336],{"headline":47961,"author":51337,"datePublished":51338,"@type":959},{"name":945,"@type":958},"2026-02-03T20:00:00-05:00",{"title":47961,"description":51329},"blog\u002Fvue-directives-overview.es",[51342,51343,51344,51345,51346,51347],{"tag":26462,"color":26463},{"tag":27753,"color":27754},{"tag":47954,"color":47955},{"tag":46088,"color":3266},{"tag":3265,"color":3266},{"tag":5420,"color":5421},"JwLOQaBKN45DaJoFg7X918rNjFPTm8MZd7iOm0BuH68",{"id":51350,"title":51351,"body":51352,"cover":52111,"coverAlt":51351,"date":52112,"description":52113,"draft":1617,"extension":940,"lab":941,"locale":942,"meta":52114,"navigation":208,"path":52120,"schemaOrg":52121,"seo":52125,"series":941,"seriesDescription":941,"seriesOrder":941,"seriesTitle":941,"slug":941,"stem":52126,"tags":52127,"__hash__":52135},"blog\u002Fblog\u002Fmastering-renderless-components-vue-3.es.md","Patrones Avanzados en Vue 3: El Poder de los Renderless Components",{"type":8,"value":51353,"toc":52100},[51354,51358,51369,51373,51380,51387,51391,51405,51409,51412,51562,51715,51721,51833,51840,51860,51951,51954,51958,51967,52046,52057,52061,52084,52088,52097],[11,51355,51357],{"id":51356},"el-patrón-renderless-en-vue-3-arquitectura-y-separación-de-responsabilidades","El Patrón Renderless en Vue 3: Arquitectura y Separación de Responsabilidades",[15,51359,51360,51361,51364,51365,51368],{},"En el ecosistema de Vue 3, la reutilización de código ha evolucionado significativamente gracias a la Composition API. Sin embargo, persiste un desafío recurrente: ",[3929,51362,51363],{},"¿Cómo compartir una lógica de interfaz compleja sin imponer un diseño o una estructura HTML específicos?"," Aquí es donde el patrón de ",[3929,51366,51367],{},"Renderless Components"," se consolida como una herramienta indispensable para la arquitectura de software.",[22,51370,51372],{"id":51371},"qué-es-un-renderless-component","¿Qué es un Renderless Component?",[15,51374,51375,51376,51379],{},"Un componente ",[9291,51377,51378],{},"renderless"," (sin renderizado) es aquel que no genera ningún marcado propio ni estilos CSS. Su única responsabilidad es encapsular el estado y la lógica de comportamiento para exponer estos datos al componente padre. El padre, a su vez, decide exactamente qué elementos del DOM utilizar y cómo estilizarlos.",[15,51381,51382,51383,51386],{},"Este patrón es la columna vertebral de las ",[3929,51384,51385],{},"bibliotecas \"Headless UI\"",", permitiendo que la lógica de un componente —como la gestión de un modal, un desplegable o un formulario— sea universal, mientras que el diseño permanece 100% personalizable.",[22,51388,51390],{"id":51389},"el-motor-scoped-slots","El Motor: Scoped Slots",[15,51392,51393,51394,51397,51398,51400,51401,51404],{},"La implementación de este patrón se apoya en los ",[3929,51395,51396],{},"Scoped Slots",". A diferencia de un ",[9291,51399,1266],{}," convencional, un ",[9291,51402,51403],{},"scoped slot"," permite al componente hijo enviar datos \"hacia arriba\" a la plantilla del padre en el momento de la ejecución.",[3083,51406,51408],{"id":51407},"ejemplo-práctico-un-controlador-de-visibilidad","Ejemplo Práctico: Un Controlador de Visibilidad",[15,51410,51411],{},"Imagina un componente que gestiona el estado de \"abierto\u002Fcerrado\", algo esencial en menús y modales.",[154,51413,51417],{"className":156,"code":51414,"filename":51415,"highlights":51416,"language":162,"meta":163,"style":163},"\u003Cscript setup>\n  import { ref } from 'vue';\n\n  const isOpen = ref(false);\n  const toggle = () => {\n    isOpen.value = !isOpen.value;\n  };\n\n  \u002F\u002F Exponemos el estado y el método al slot\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cslot :isOpen=\"isOpen\" :toggle=\"toggle\">\u003C\u002Fslot>\n\u003C\u002Ftemplate>\n","LogicToggle.vue - Composition API",[160,238,243,261,313],[87,51418,51419,51429,51443,51447,51464,51479,51492,51498,51502,51507,51515,51519,51527,51554],{"__ignoreMap":163},[167,51420,51421,51423,51425,51427],{"class":169,"line":170},[167,51422,174],{"class":173},[167,51424,178],{"class":177},[167,51426,182],{"class":181},[167,51428,185],{"class":173},[167,51430,51431,51434,51436,51438,51441],{"class":169,"line":188},[167,51432,51433],{"class":191},"  import",[167,51435,195],{"class":173},[167,51437,198],{"class":191},[167,51439,51440],{"class":201}," 'vue'",[167,51442,24040],{"class":173},[167,51444,51445],{"class":169,"line":205},[167,51446,209],{"emptyLinePlaceholder":208},[167,51448,51450,51452,51454,51456,51458,51460,51462],{"class":51449,"line":160},[169,213],[167,51451,1438],{"class":191},[167,51453,5519],{"class":219},[167,51455,223],{"class":191},[167,51457,226],{"class":181},[167,51459,229],{"class":173},[167,51461,3388],{"class":219},[167,51463,24165],{"class":173},[167,51465,51467,51469,51471,51473,51475,51477],{"class":51466,"line":238},[169,213],[167,51468,1438],{"class":191},[167,51470,5604],{"class":181},[167,51472,223],{"class":191},[167,51474,1464],{"class":173},[167,51476,639],{"class":191},[167,51478,1901],{"class":173},[167,51480,51482,51485,51487,51489],{"class":51481,"line":243},[169,213],[167,51483,51484],{"class":173},"    isOpen.value ",[167,51486,267],{"class":191},[167,51488,5621],{"class":191},[167,51490,51491],{"class":173},"isOpen.value;\n",[167,51493,51495],{"class":51494,"line":261},[169,213],[167,51496,51497],{"class":173},"  };\n",[167,51499,51500],{"class":169,"line":273},[167,51501,209],{"emptyLinePlaceholder":208},[167,51503,51504],{"class":169,"line":279},[167,51505,51506],{"class":18658},"  \u002F\u002F Exponemos el estado y el método al slot\n",[167,51508,51509,51511,51513],{"class":169,"line":289},[167,51510,282],{"class":173},[167,51512,178],{"class":177},[167,51514,185],{"class":173},[167,51516,51517],{"class":169,"line":294},[167,51518,209],{"emptyLinePlaceholder":208},[167,51520,51521,51523,51525],{"class":169,"line":304},[167,51522,174],{"class":173},[167,51524,299],{"class":177},[167,51526,185],{"class":173},[167,51528,51530,51532,51534,51537,51539,51541,51544,51546,51548,51550,51552],{"class":51529,"line":313},[169,213],[167,51531,307],{"class":173},[167,51533,1266],{"class":177},[167,51535,51536],{"class":181}," :isOpen",[167,51538,267],{"class":173},[167,51540,5695],{"class":201},[167,51542,51543],{"class":181}," :toggle",[167,51545,267],{"class":173},[167,51547,5661],{"class":201},[167,51549,1277],{"class":173},[167,51551,1266],{"class":177},[167,51553,185],{"class":173},[167,51555,51556,51558,51560],{"class":169,"line":161},[167,51557,282],{"class":173},[167,51559,299],{"class":177},[167,51561,185],{"class":173},[154,51563,51567],{"className":156,"code":51564,"filename":51565,"highlights":51566,"language":162,"meta":163,"style":163},"\u003Cscript>\n  export default {\n    data() {\n      return {\n        isOpen: false\n      };\n    },\n    methods: {\n      toggle() {\n        this.isOpen = !this.isOpen;\n      }\n    }\n  };\n  \u002F\u002F Exponemos el estado y el método al slot\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cslot :isOpen=\"isOpen\" :toggle=\"toggle\">\u003C\u002Fslot>\n\u003C\u002Ftemplate>\n","LogicToggle.vue - Options API",[238,279,289,294,495],[87,51568,51569,51577,51586,51593,51599,51607,51611,51615,51620,51628,51645,51650,51654,51658,51662,51670,51674,51682,51707],{"__ignoreMap":163},[167,51570,51571,51573,51575],{"class":169,"line":170},[167,51572,174],{"class":173},[167,51574,178],{"class":177},[167,51576,185],{"class":173},[167,51578,51579,51582,51584],{"class":169,"line":188},[167,51580,51581],{"class":191},"  export",[167,51583,3987],{"class":191},[167,51585,1901],{"class":173},[167,51587,51588,51591],{"class":169,"line":205},[167,51589,51590],{"class":181},"    data",[167,51592,763],{"class":173},[167,51594,51595,51597],{"class":169,"line":160},[167,51596,8763],{"class":191},[167,51598,1901],{"class":173},[167,51600,51602,51605],{"class":51601,"line":238},[169,213],[167,51603,51604],{"class":173},"        isOpen: ",[167,51606,8089],{"class":219},[167,51608,51609],{"class":169,"line":243},[167,51610,42345],{"class":173},[167,51612,51613],{"class":169,"line":261},[167,51614,755],{"class":173},[167,51616,51617],{"class":169,"line":273},[167,51618,51619],{"class":173},"    methods: {\n",[167,51621,51623,51626],{"class":51622,"line":279},[169,213],[167,51624,51625],{"class":181},"      toggle",[167,51627,763],{"class":173},[167,51629,51631,51633,51636,51638,51640,51642],{"class":51630,"line":289},[169,213],[167,51632,14769],{"class":219},[167,51634,51635],{"class":173},".isOpen ",[167,51637,267],{"class":191},[167,51639,5621],{"class":191},[167,51641,4923],{"class":219},[167,51643,51644],{"class":173},".isOpen;\n",[167,51646,51648],{"class":51647,"line":294},[169,213],[167,51649,7283],{"class":173},[167,51651,51652],{"class":169,"line":304},[167,51653,4045],{"class":173},[167,51655,51656],{"class":169,"line":313},[167,51657,51497],{"class":173},[167,51659,51660],{"class":169,"line":161},[167,51661,51506],{"class":18658},[167,51663,51664,51666,51668],{"class":169,"line":335},[167,51665,282],{"class":173},[167,51667,178],{"class":177},[167,51669,185],{"class":173},[167,51671,51672],{"class":169,"line":341},[167,51673,209],{"emptyLinePlaceholder":208},[167,51675,51676,51678,51680],{"class":169,"line":489},[167,51677,174],{"class":173},[167,51679,299],{"class":177},[167,51681,185],{"class":173},[167,51683,51685,51687,51689,51691,51693,51695,51697,51699,51701,51703,51705],{"class":51684,"line":495},[169,213],[167,51686,307],{"class":173},[167,51688,1266],{"class":177},[167,51690,51536],{"class":181},[167,51692,267],{"class":173},[167,51694,5695],{"class":201},[167,51696,51543],{"class":181},[167,51698,267],{"class":173},[167,51700,5661],{"class":201},[167,51702,1277],{"class":173},[167,51704,1266],{"class":177},[167,51706,185],{"class":173},[167,51708,51709,51711,51713],{"class":169,"line":501},[167,51710,282],{"class":173},[167,51712,299],{"class":177},[167,51714,185],{"class":173},[15,51716,51717,51720],{},[3929,51718,51719],{},"Implementación en el Padre","\nAl consumir este componente, gozas de total libertad creativa:",[154,51722,51726],{"className":156,"code":51723,"filename":51724,"highlights":51725,"language":162,"meta":163,"style":163},"\u003Ctemplate>\n  \u003CLogicToggle v-slot=\"{ isOpen, toggle }\">\n    \u003Cbutton @click=\"toggle\">\n      {{ isOpen ? 'Cerrar Menú' : 'Abrir Menú' }}\n    \u003C\u002Fbutton>\n    \u003Cdiv v-if=\"isOpen\" class=\"custom-dropdown\">\n      Contenido dinámico aquí\n    \u003C\u002Fdiv>\n  \u003C\u002FLogicToggle>\n\u003C\u002Ftemplate>\n","ParentComponent.vue",[188,205,160,243],[87,51727,51728,51736,51753,51768,51774,51782,51804,51809,51817,51825],{"__ignoreMap":163},[167,51729,51730,51732,51734],{"class":169,"line":170},[167,51731,174],{"class":173},[167,51733,299],{"class":177},[167,51735,185],{"class":173},[167,51737,51739,51741,51744,51746,51748,51751],{"class":51738,"line":188},[169,213],[167,51740,307],{"class":173},[167,51742,51743],{"class":177},"LogicToggle",[167,51745,32025],{"class":181},[167,51747,267],{"class":173},[167,51749,51750],{"class":201},"\"{ isOpen, toggle }\"",[167,51752,185],{"class":173},[167,51754,51756,51758,51760,51762,51764,51766],{"class":51755,"line":205},[169,213],[167,51757,1252],{"class":173},[167,51759,507],{"class":177},[167,51761,1177],{"class":181},[167,51763,267],{"class":173},[167,51765,5661],{"class":201},[167,51767,185],{"class":173},[167,51769,51771],{"class":51770,"line":160},[169,213],[167,51772,51773],{"class":173},"      {{ isOpen ? 'Cerrar Menú' : 'Abrir Menú' }}\n",[167,51775,51776,51778,51780],{"class":169,"line":238},[167,51777,1287],{"class":173},[167,51779,507],{"class":177},[167,51781,185],{"class":173},[167,51783,51785,51787,51789,51791,51793,51795,51797,51799,51802],{"class":51784,"line":243},[169,213],[167,51786,1252],{"class":173},[167,51788,1237],{"class":177},[167,51790,5690],{"class":181},[167,51792,267],{"class":173},[167,51794,5695],{"class":201},[167,51796,1240],{"class":181},[167,51798,267],{"class":173},[167,51800,51801],{"class":201},"\"custom-dropdown\"",[167,51803,185],{"class":173},[167,51805,51806],{"class":169,"line":261},[167,51807,51808],{"class":173},"      Contenido dinámico aquí\n",[167,51810,51811,51813,51815],{"class":169,"line":273},[167,51812,1287],{"class":173},[167,51814,1237],{"class":177},[167,51816,185],{"class":173},[167,51818,51819,51821,51823],{"class":169,"line":279},[167,51820,504],{"class":173},[167,51822,51743],{"class":177},[167,51824,185],{"class":173},[167,51826,51827,51829,51831],{"class":169,"line":289},[167,51828,282],{"class":173},[167,51830,299],{"class":177},[167,51832,185],{"class":173},[22,51834,51836,51837,6215],{"id":51835},"optimización-senior-render-functions-h","Optimización Senior: Render Functions (",[87,51838,51839],{},"h",[15,51841,51842,51843,51845,51846,51849,51850,2522,51852,51855,51856,51859],{},"Para alcanzar un nivel de producción profesional, especialmente en bibliotecas distribuidas vía NPM, es recomendable prescindir del bloque ",[87,51844,31993],{},". Al utilizar la función ",[87,51847,51848],{},"render"," y el método ",[87,51851,51839],{},[9291,51853,51854],{},"hyperscript","), eliminamos la ",[3929,51857,51858],{},"sobrecarga"," de la compilación de plantillas y evitamos la creación de nodos adicionales innecesarios en el DOM.",[154,51861,51867],{"className":51862,"code":51863,"filename":51864,"highlights":51865,"language":51866,"meta":163,"style":163},"language-javascript shiki shiki-themes github-light github-dark","import { ref, h } from 'vue';\n\nexport default {\n  setup(props, { slots }) {\n    const isOpen = ref(false);\n    const toggle = () => (isOpen.value = !isOpen.value);\n\n    return () => {\n      \u002F\u002F Retornamos el slot por defecto pasando el estado\n      return slots.default ? slots.default({\n        isOpen: isOpen.value,\n        toggle\n      }) : null;\n    };\n  }\n};\n","LogicToggle.js",[160,238,243,289,294,304,313],"javascript",[87,51868,51869,51874,51878,51883,51889,51895,51901,51905,51910,51915,51921,51927,51933,51939,51943,51947],{"__ignoreMap":163},[167,51870,51871],{"class":169,"line":170},[167,51872,51873],{},"import { ref, h } from 'vue';\n",[167,51875,51876],{"class":169,"line":188},[167,51877,209],{"emptyLinePlaceholder":208},[167,51879,51880],{"class":169,"line":205},[167,51881,51882],{},"export default {\n",[167,51884,51886],{"class":51885,"line":160},[169,213],[167,51887,51888],{},"  setup(props, { slots }) {\n",[167,51890,51892],{"class":51891,"line":238},[169,213],[167,51893,51894],{},"    const isOpen = ref(false);\n",[167,51896,51898],{"class":51897,"line":243},[169,213],[167,51899,51900],{},"    const toggle = () => (isOpen.value = !isOpen.value);\n",[167,51902,51903],{"class":169,"line":261},[167,51904,209],{"emptyLinePlaceholder":208},[167,51906,51907],{"class":169,"line":273},[167,51908,51909],{},"    return () => {\n",[167,51911,51912],{"class":169,"line":279},[167,51913,51914],{},"      \u002F\u002F Retornamos el slot por defecto pasando el estado\n",[167,51916,51918],{"class":51917,"line":289},[169,213],[167,51919,51920],{},"      return slots.default ? slots.default({\n",[167,51922,51924],{"class":51923,"line":294},[169,213],[167,51925,51926],{},"        isOpen: isOpen.value,\n",[167,51928,51930],{"class":51929,"line":304},[169,213],[167,51931,51932],{},"        toggle\n",[167,51934,51936],{"class":51935,"line":313},[169,213],[167,51937,51938],{},"      }) : null;\n",[167,51940,51941],{"class":169,"line":161},[167,51942,24366],{},[167,51944,51945],{"class":169,"line":335},[167,51946,3488],{},[167,51948,51949],{"class":169,"line":341},[167,51950,24144],{},[15,51952,51953],{},"Esta aproximación permite que el componente actúe como un \"pasamanos\" puro de datos, manteniendo el Virtual DOM limpio y eficiente.",[22,51955,51957],{"id":51956},"renderless-components-vs-composables","Renderless Components vs. Composables",[15,51959,51960,51961,2522,51964,51966],{},"Una duda frecuente es por qué no utilizar simplemente un ",[9291,51962,51963],{},"Composable",[87,51965,5731],{},"). La elección depende del contexto:",[56,51968,51969,51980],{},[59,51970,51971],{},[62,51972,51973,51976,51978],{},[65,51974,51975],{},"Característica",[65,51977,953],{},[65,51979,51367],{},[75,51981,51982,51995,52008,52021,52033],{},[62,51983,51984,51989,51992],{},[80,51985,51986],{},[3929,51987,51988],{},"Encapsulación",[80,51990,51991],{},"Lógica pura de JavaScript.",[80,51993,51994],{},"Lógica ligada al ciclo de vida del componente.",[62,51996,51997,52002,52005],{},[80,51998,51999],{},[3929,52000,52001],{},"Plantilla",[80,52003,52004],{},"Se importa en el script.",[80,52006,52007],{},"Se define de forma declarativa en la plantilla.",[62,52009,52010,52015,52018],{},[80,52011,52012],{},[3929,52013,52014],{},"Ámbito",[80,52016,52017],{},"Ideal para lógica global o de negocio.",[80,52019,52020],{},"Ideal para patrones de UI (accesibilidad, eventos).",[62,52022,52023,52027,52030],{},[80,52024,52025],{},[3929,52026,1643],{},[80,52028,52029],{},"No tiene acceso a slots.",[80,52031,52032],{},"Puede orquestar múltiples subcomponentes.",[62,52034,52035,52040,52043],{},[80,52036,52037],{},[3929,52038,52039],{},"Curva de aprendizaje",[80,52041,52042],{},"Requiere entender reactividad pura.",[80,52044,52045],{},"Más intuitivo para desarrolladores de plantillas.",[15,52047,3300,52048,52050,52051,52053,52054,4266],{},[9291,52049,51367],{}," brillan cuando la lógica requiere interactuar con el ciclo de vida (como ",[87,52052,6792],{},") o cuando deseas crear una jerarquía de componentes que compartan un estado implícito (",[9291,52055,52056],{},"Compound Components",[22,52058,52060],{"id":52059},"ventajas-competitivas-del-patrón","Ventajas Competitivas del Patrón",[3031,52062,52063,52072,52078],{},[36,52064,52065,52068,52069,52071],{},[3929,52066,52067],{},"Mantenibilidad:"," Si la lógica de validación cambia, solo modificas el componente ",[9291,52070,51378],{},". La interfaz permanece intacta.",[36,52073,52074,52077],{},[3929,52075,52076],{},"Testabilidad:"," Facilita las pruebas unitarias sobre la lógica de estado sin lidiar con selectores de CSS o colisiones de estilos.",[36,52079,52080,52083],{},[3929,52081,52082],{},"Extensibilidad:"," Permite crear múltiples versiones visuales de una misma funcionalidad sin duplicar código lógico.",[22,52085,52087],{"id":52086},"consideraciones-finales","Consideraciones Finales",[15,52089,52090,52091,52093,52094,52096],{},"Si bien este patrón ofrece una flexibilidad inigualable, debe usarse con criterio. En plantillas muy extensas, el uso excesivo de ",[87,52092,31704],{}," puede dificultar la lectura del código. Sin embargo, para el desarrollo de sistemas de diseño y bibliotecas de componentes, los ",[3929,52095,51367],{}," representan el estándar de oro en la arquitectura de Vue 3.",[924,52098,52099],{},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .s9eBZ, html code.shiki .s9eBZ{--shiki-default:#22863A;--shiki-dark:#85E89D}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}",{"title":163,"searchDepth":188,"depth":188,"links":52101},[52102,52103,52106,52108,52109,52110],{"id":51371,"depth":188,"text":51372},{"id":51389,"depth":188,"text":51390,"children":52104},[52105],{"id":51407,"depth":205,"text":51408},{"id":51835,"depth":188,"text":52107},"Optimización Senior: Render Functions (h)",{"id":51956,"depth":188,"text":51957},{"id":52059,"depth":188,"text":52060},{"id":52086,"depth":188,"text":52087},"https:\u002F\u002Fres.cloudinary.com\u002Fdenj4fg7f\u002Fimage\u002Fupload\u002Fv1769789805\u002Fmastering-renderless-components-vue-3_f5mqbs.png","2026-01-30","Explora cómo los Renderless Components en Vue 3 pueden mejorar la reutilización de código y la separación de lógica y presentación en tus aplicaciones.",{"updatedAt":52115,"coverCaption":52116,"author":945,"keywords":52117},"2026-02-11T00:00:00-05:00","Imagen destacada que representa el concepto de Renderless Components en Vue 3.",[950,51367,52118,52119,51333],"Reutilización de Código","Patrones de Diseño","\u002Fblog\u002Fmastering-renderless-components-vue-3.es",[52122],{"headline":51351,"author":52123,"datePublished":52124,"@type":959},{"name":945,"@type":958},"2026-01-30T17:00:00-05:00",{"title":51351,"description":52113},"blog\u002Fmastering-renderless-components-vue-3.es",[52128,52129,52131,52132,52133,52134],{"tag":952,"color":966},{"tag":52119,"color":52130},"#9C27B0",{"tag":1622,"color":1635},{"tag":3265,"color":3266},{"tag":7726,"color":7727},{"tag":968,"color":969},"a_WGc5ZiKCCKMfNqNWcLEnmC9vGBd9ANrFgOlARIchw",{"id":52137,"title":52138,"body":52139,"cover":54057,"coverAlt":52138,"date":54058,"description":54059,"draft":1617,"extension":940,"lab":941,"locale":942,"meta":54060,"navigation":208,"path":54063,"schemaOrg":54064,"seo":54068,"series":941,"seriesDescription":941,"seriesOrder":941,"seriesTitle":941,"slug":941,"stem":54069,"tags":54070,"__hash__":54079},"blog\u002Fblog\u002Fvue-provide-inject-avoid-prop-drilling.es.md","Provide e Inject en Vue 3: Guía definitiva para eliminar el Prop Drilling",{"type":8,"value":52140,"toc":54042},[52141,52145,52152,52162,52166,52193,52200,52203,52217,52221,52224,52230,52352,52432,52438,52534,52611,52615,52628,52649,52659,52677,52684,52689,52820,53011,53016,53150,53379,53383,53390,53432,53436,53439,53450,53456,53617,53623,53829,53833,53844,53855,53859,53869,53891,53894,53898,53972,53976,53996,53998,54008,54036,54039],[11,52142,52144],{"id":52143},"provide-e-inject-cómo-evitar-el-prop-drilling-en-vuejs","Provide e Inject: Cómo evitar el Prop Drilling en Vue.js",[15,52146,52147,52148,52151],{},"Imagina que en tu proyecto tienes un componente \"Abuelo\" que debe enviar un dato a un componente \"Nieto\". Tradicionalmente, tendrías que pasar ese dato a través del componente \"Padre\", aunque este último no lo utilice para nada. A este fenómeno se le conoce como ",[3929,52149,52150],{},"Prop Drilling",", y es una de las principales causas de que el código se vuelva complejo y difícil de mantener.",[15,52153,52154,52157,52158,52161],{},[87,52155,52156],{},"Provide"," e ",[87,52159,52160],{},"Inject"," permiten que un componente ancestro exponga un dato para que cualquier descendiente lo \"atrape\" directamente, sin necesidad de pasarlo manualmente por cada nivel de la jerarquía.",[22,52163,52165],{"id":52164},"problemas-comunes-del-prop-drilling","Problemas comunes del Prop Drilling",[3031,52167,52168,52178,52184],{},[36,52169,52170,52173,52174,52177],{},[3929,52171,52172],{},"Mantenimiento costoso:"," Si decides renombrar una ",[87,52175,52176],{},"prop"," o modificar su estructura, debes actualizar cada componente intermedio, incluso si no consumen el dato.",[36,52179,52180,52183],{},[3929,52181,52182],{},"Fragilidad:"," Al depender de múltiples niveles de anidamiento, es más fácil romper la cadena de datos por un error en un componente intermedio.",[36,52185,52186,52189,52190,52192],{},[3929,52187,52188],{},"Baja Reutilización:"," Los componentes intermedios pierden versatilidad, ya que quedan obligados a recibir y transmitir ",[87,52191,3296],{}," que no pertenecen a su lógica interna.",[22,52194,52196,52197],{"id":52195},"la-solución-nativa-provide-e-inject","La solución nativa: ",[3929,52198,52199],{},"Provide e Inject",[15,52201,52202],{},"Vue nos ofrece una solución integrada sin necesidad de recurrir a librerías externas de gestión de estado (como Pinia):",[33,52204,52205,52211],{},[36,52206,52207,52210],{},[3929,52208,52209],{},"Provide:"," El componente ancestro define y \"provee\" el dato al árbol de componentes.",[36,52212,52213,52216],{},[3929,52214,52215],{},"Inject:"," Cualquier componente descendiente, sin importar su profundidad, \"inyecta\" y consume ese dato.",[22,52218,52220],{"id":52219},"implementación-en-vue-3-composition-api-y-options-api","Implementación en Vue 3 (Composition API y Options API)",[15,52222,52223],{},"Para implementar esta comunicación, seguimos una estructura de clave y valor.",[29773,52225,52227],{"id":52226},"componente-emisor-abuelo",[3929,52228,52229],{},"Componente Emisor (Abuelo):",[154,52231,52234],{"className":156,"code":52232,"filename":3256,"highlights":52233,"language":162,"meta":163,"style":163},"\u003Cscript setup>\nimport { ref, provide } from 'vue'\nimport Hijo from '.\u002FHijo.vue'\n\nconst nombreApp = ref('TODOvue')\n\n\u002F\u002F Provee el dato usando una \"clave\" única\nprovide('app-name-key', nombreApp)\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003CHijo \u002F>\n\u003C\u002Ftemplate>\n",[188,273],[87,52235,52236,52246,52258,52270,52274,52292,52296,52301,52315,52323,52327,52335,52344],{"__ignoreMap":163},[167,52237,52238,52240,52242,52244],{"class":169,"line":170},[167,52239,174],{"class":173},[167,52241,178],{"class":177},[167,52243,182],{"class":181},[167,52245,185],{"class":173},[167,52247,52249,52251,52254,52256],{"class":52248,"line":188},[169,213],[167,52250,192],{"class":191},[167,52252,52253],{"class":173}," { ref, provide } ",[167,52255,198],{"class":191},[167,52257,202],{"class":201},[167,52259,52260,52262,52265,52267],{"class":169,"line":205},[167,52261,192],{"class":191},[167,52263,52264],{"class":173}," Hijo ",[167,52266,198],{"class":191},[167,52268,52269],{"class":201}," '.\u002FHijo.vue'\n",[167,52271,52272],{"class":169,"line":160},[167,52273,209],{"emptyLinePlaceholder":208},[167,52275,52276,52278,52281,52283,52285,52287,52290],{"class":169,"line":238},[167,52277,216],{"class":191},[167,52279,52280],{"class":219}," nombreApp",[167,52282,223],{"class":191},[167,52284,226],{"class":181},[167,52286,229],{"class":173},[167,52288,52289],{"class":201},"'TODOvue'",[167,52291,235],{"class":173},[167,52293,52294],{"class":169,"line":243},[167,52295,209],{"emptyLinePlaceholder":208},[167,52297,52298],{"class":169,"line":261},[167,52299,52300],{"class":18658},"\u002F\u002F Provee el dato usando una \"clave\" única\n",[167,52302,52304,52307,52309,52312],{"class":52303,"line":273},[169,213],[167,52305,52306],{"class":181},"provide",[167,52308,229],{"class":173},[167,52310,52311],{"class":201},"'app-name-key'",[167,52313,52314],{"class":173},", nombreApp)\n",[167,52316,52317,52319,52321],{"class":169,"line":279},[167,52318,282],{"class":173},[167,52320,178],{"class":177},[167,52322,185],{"class":173},[167,52324,52325],{"class":169,"line":289},[167,52326,209],{"emptyLinePlaceholder":208},[167,52328,52329,52331,52333],{"class":169,"line":294},[167,52330,174],{"class":173},[167,52332,299],{"class":177},[167,52334,185],{"class":173},[167,52336,52337,52339,52342],{"class":169,"line":304},[167,52338,307],{"class":173},[167,52340,52341],{"class":177},"Hijo",[167,52343,5321],{"class":173},[167,52345,52346,52348,52350],{"class":169,"line":313},[167,52347,282],{"class":173},[167,52349,299],{"class":177},[167,52351,185],{"class":173},[154,52353,52356],{"className":156,"code":52354,"filename":3969,"highlights":52355,"language":162,"meta":163,"style":163},"\u003Cscript>\nexport default {\n  provide: {\n    nombreApp : 'TODOvue'\n  }\n}\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003CHijo \u002F>\n\u003C\u002Ftemplate>\n",[205],[87,52357,52358,52366,52374,52380,52388,52392,52396,52404,52408,52416,52424],{"__ignoreMap":163},[167,52359,52360,52362,52364],{"class":169,"line":170},[167,52361,174],{"class":173},[167,52363,178],{"class":177},[167,52365,185],{"class":173},[167,52367,52368,52370,52372],{"class":169,"line":188},[167,52369,608],{"class":191},[167,52371,3987],{"class":191},[167,52373,1901],{"class":173},[167,52375,52377],{"class":52376,"line":205},[169,213],[167,52378,52379],{"class":173},"  provide: {\n",[167,52381,52382,52385],{"class":169,"line":160},[167,52383,52384],{"class":173},"    nombreApp : ",[167,52386,52387],{"class":201},"'TODOvue'\n",[167,52389,52390],{"class":169,"line":238},[167,52391,3488],{"class":173},[167,52393,52394],{"class":169,"line":243},[167,52395,276],{"class":173},[167,52397,52398,52400,52402],{"class":169,"line":261},[167,52399,282],{"class":173},[167,52401,178],{"class":177},[167,52403,185],{"class":173},[167,52405,52406],{"class":169,"line":273},[167,52407,209],{"emptyLinePlaceholder":208},[167,52409,52410,52412,52414],{"class":169,"line":279},[167,52411,174],{"class":173},[167,52413,299],{"class":177},[167,52415,185],{"class":173},[167,52417,52418,52420,52422],{"class":169,"line":289},[167,52419,307],{"class":173},[167,52421,52341],{"class":177},[167,52423,5321],{"class":173},[167,52425,52426,52428,52430],{"class":169,"line":294},[167,52427,282],{"class":173},[167,52429,299],{"class":177},[167,52431,185],{"class":173},[29773,52433,52435],{"id":52434},"componente-receptor-nieto",[3929,52436,52437],{},"Componente Receptor (Nieto):",[154,52439,52442],{"className":156,"code":52440,"filename":3256,"highlights":52441,"language":162,"meta":163,"style":163},"\u003Cscript setup>\nimport { inject } from 'vue'\n\n\u002F\u002F \"Atrapa\" el dato usando la misma clave definida en el ancestro\nconst nombreApp = inject('app-name-key')\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Ch1>{{ nombreApp }}\u003C\u002Fh1>\n\u003C\u002Ftemplate>\n",[188,238],[87,52443,52444,52454,52466,52470,52475,52493,52501,52505,52513,52526],{"__ignoreMap":163},[167,52445,52446,52448,52450,52452],{"class":169,"line":170},[167,52447,174],{"class":173},[167,52449,178],{"class":177},[167,52451,182],{"class":181},[167,52453,185],{"class":173},[167,52455,52457,52459,52462,52464],{"class":52456,"line":188},[169,213],[167,52458,192],{"class":191},[167,52460,52461],{"class":173}," { inject } ",[167,52463,198],{"class":191},[167,52465,202],{"class":201},[167,52467,52468],{"class":169,"line":205},[167,52469,209],{"emptyLinePlaceholder":208},[167,52471,52472],{"class":169,"line":160},[167,52473,52474],{"class":18658},"\u002F\u002F \"Atrapa\" el dato usando la misma clave definida en el ancestro\n",[167,52476,52478,52480,52482,52484,52487,52489,52491],{"class":52477,"line":238},[169,213],[167,52479,216],{"class":191},[167,52481,52280],{"class":219},[167,52483,223],{"class":191},[167,52485,52486],{"class":181}," inject",[167,52488,229],{"class":173},[167,52490,52311],{"class":201},[167,52492,235],{"class":173},[167,52494,52495,52497,52499],{"class":169,"line":243},[167,52496,282],{"class":173},[167,52498,178],{"class":177},[167,52500,185],{"class":173},[167,52502,52503],{"class":169,"line":261},[167,52504,209],{"emptyLinePlaceholder":208},[167,52506,52507,52509,52511],{"class":169,"line":273},[167,52508,174],{"class":173},[167,52510,299],{"class":177},[167,52512,185],{"class":173},[167,52514,52515,52517,52519,52522,52524],{"class":169,"line":279},[167,52516,307],{"class":173},[167,52518,11],{"class":177},[167,52520,52521],{"class":173},">{{ nombreApp }}\u003C\u002F",[167,52523,11],{"class":177},[167,52525,185],{"class":173},[167,52527,52528,52530,52532],{"class":169,"line":289},[167,52529,282],{"class":173},[167,52531,299],{"class":177},[167,52533,185],{"class":173},[154,52535,52538],{"className":156,"code":52536,"filename":3969,"highlights":52537,"language":162,"meta":163,"style":163},"\u003Cscript>\nexport default {\n  inject: ['nombreApp'],\n}\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Ch1>{{ nombreApp }}\u003C\u002Fh1>\n\u003C\u002Ftemplate>\n",[205],[87,52539,52540,52548,52556,52567,52571,52579,52583,52591,52603],{"__ignoreMap":163},[167,52541,52542,52544,52546],{"class":169,"line":170},[167,52543,174],{"class":173},[167,52545,178],{"class":177},[167,52547,185],{"class":173},[167,52549,52550,52552,52554],{"class":169,"line":188},[167,52551,608],{"class":191},[167,52553,3987],{"class":191},[167,52555,1901],{"class":173},[167,52557,52559,52562,52565],{"class":52558,"line":205},[169,213],[167,52560,52561],{"class":173},"  inject: [",[167,52563,52564],{"class":201},"'nombreApp'",[167,52566,4410],{"class":173},[167,52568,52569],{"class":169,"line":160},[167,52570,276],{"class":173},[167,52572,52573,52575,52577],{"class":169,"line":238},[167,52574,282],{"class":173},[167,52576,178],{"class":177},[167,52578,185],{"class":173},[167,52580,52581],{"class":169,"line":243},[167,52582,209],{"emptyLinePlaceholder":208},[167,52584,52585,52587,52589],{"class":169,"line":261},[167,52586,174],{"class":173},[167,52588,299],{"class":177},[167,52590,185],{"class":173},[167,52592,52593,52595,52597,52599,52601],{"class":169,"line":273},[167,52594,307],{"class":173},[167,52596,11],{"class":177},[167,52598,52521],{"class":173},[167,52600,11],{"class":177},[167,52602,185],{"class":173},[167,52604,52605,52607,52609],{"class":169,"line":279},[167,52606,282],{"class":173},[167,52608,299],{"class":177},[167,52610,185],{"class":173},[22,52612,52614],{"id":52613},"el-reto-de-la-reactividad-y-la-seguridad","El reto de la reactividad y la seguridad",[15,52616,52617,52618,15120,52620,52622,52623,52627],{},"Para que los cambios en el dato fluyan correctamente, debemos pasar un ",[87,52619,2081],{},[87,52621,18239],{},". Si quieres profundizar más sobre cómo funciona la reactividad en Vue 3, puedes consultar nuestra entrada ",[19088,52624,52626],{"href":52625},"\u002Fblog\u002Fvue-reactivity-explained.es\u002F","¿Qué es la reactividad? La magia detrás de Vue.js explicada con claridad",". Sin embargo, esto introduce un riesgo: un componente hijo podría intentar modificar el valor directamente.",[154,52629,52632],{"className":51862,"code":52630,"filename":52631,"language":51866,"meta":163,"style":163},"\u002F\u002F ¡Peligro! Modificar el estado desde un hijo dificulta la depuración\nidioma.value = 'en'\n","inject-example.js",[87,52633,52634,52639],{"__ignoreMap":163},[167,52635,52636],{"class":169,"line":170},[167,52637,52638],{"class":18658},"\u002F\u002F ¡Peligro! Modificar el estado desde un hijo dificulta la depuración\n",[167,52640,52641,52644,52646],{"class":169,"line":188},[167,52642,52643],{"class":173},"idioma.value ",[167,52645,267],{"class":191},[167,52647,52648],{"class":201}," 'en'\n",[15,52650,52651,52652,52655,52656,583],{},"Si cualquier componente puede alterar el estado inyectado, perdemos el rastro de ",[3929,52653,52654],{},"quién, cuándo y por qué"," cambió el dato. Para solucionar esto, aplicamos el patrón de ",[3929,52657,52658],{},"Inyección de Solo Lectura",[3031,52660,52661,52671],{},[36,52662,52663,52666,52667,52670],{},[3929,52664,52665],{},"El dato:"," Se protege con ",[87,52668,52669],{},"readonly()"," para evitar modificaciones accidentales.",[36,52672,52673,52676],{},[3929,52674,52675],{},"La función:"," Se provee una función específica para realizar el cambio, centralizando la lógica en el ancestro.",[22,52678,52680,52681],{"id":52679},"ejemplo-de-uso-correcto-con-readonly","Ejemplo de uso correcto con ",[87,52682,52683],{},"readonly",[29773,52685,52687],{"id":52686},"componente-emisor-abuelo-1",[3929,52688,52229],{},[154,52690,52693],{"className":156,"code":52691,"filename":3256,"highlights":52692,"language":162,"meta":163,"style":163},"\u003Cscript setup>\nimport { ref, provide, readonly } from 'vue'\n\nconst idioma = ref('es')\nconst cambiarIdioma = (nuevo) => {\n  idioma.value = nuevo\n}\n\nprovide('config-idioma', {\n  idioma: readonly(idioma), \u002F\u002F Protegemos el estado\n  cambiarIdioma             \u002F\u002F Exponemos la vía de modificación\n})\n\u003C\u002Fscript>\n",[289],[87,52694,52695,52705,52716,52720,52737,52757,52767,52771,52775,52786,52800,52808,52812],{"__ignoreMap":163},[167,52696,52697,52699,52701,52703],{"class":169,"line":170},[167,52698,174],{"class":173},[167,52700,178],{"class":177},[167,52702,182],{"class":181},[167,52704,185],{"class":173},[167,52706,52707,52709,52712,52714],{"class":169,"line":188},[167,52708,192],{"class":191},[167,52710,52711],{"class":173}," { ref, provide, readonly } ",[167,52713,198],{"class":191},[167,52715,202],{"class":201},[167,52717,52718],{"class":169,"line":205},[167,52719,209],{"emptyLinePlaceholder":208},[167,52721,52722,52724,52727,52729,52731,52733,52735],{"class":169,"line":160},[167,52723,216],{"class":191},[167,52725,52726],{"class":219}," idioma",[167,52728,223],{"class":191},[167,52730,226],{"class":181},[167,52732,229],{"class":173},[167,52734,2784],{"class":201},[167,52736,235],{"class":173},[167,52738,52739,52741,52744,52746,52748,52751,52753,52755],{"class":169,"line":238},[167,52740,216],{"class":191},[167,52742,52743],{"class":181}," cambiarIdioma",[167,52745,223],{"class":191},[167,52747,2522],{"class":173},[167,52749,52750],{"class":254},"nuevo",[167,52752,693],{"class":173},[167,52754,639],{"class":191},[167,52756,1901],{"class":173},[167,52758,52759,52762,52764],{"class":169,"line":243},[167,52760,52761],{"class":173},"  idioma.value ",[167,52763,267],{"class":191},[167,52765,52766],{"class":173}," nuevo\n",[167,52768,52769],{"class":169,"line":261},[167,52770,276],{"class":173},[167,52772,52773],{"class":169,"line":273},[167,52774,209],{"emptyLinePlaceholder":208},[167,52776,52777,52779,52781,52784],{"class":169,"line":279},[167,52778,52306],{"class":181},[167,52780,229],{"class":173},[167,52782,52783],{"class":201},"'config-idioma'",[167,52785,627],{"class":173},[167,52787,52789,52792,52794,52797],{"class":52788,"line":289},[169,213],[167,52790,52791],{"class":173},"  idioma: ",[167,52793,52683],{"class":181},[167,52795,52796],{"class":173},"(idioma), ",[167,52798,52799],{"class":18658},"\u002F\u002F Protegemos el estado\n",[167,52801,52802,52805],{"class":169,"line":294},[167,52803,52804],{"class":173},"  cambiarIdioma             ",[167,52806,52807],{"class":18658},"\u002F\u002F Exponemos la vía de modificación\n",[167,52809,52810],{"class":169,"line":304},[167,52811,403],{"class":173},[167,52813,52814,52816,52818],{"class":169,"line":313},[167,52815,282],{"class":173},[167,52817,178],{"class":177},[167,52819,185],{"class":173},[154,52821,52824],{"className":156,"code":52822,"filename":3969,"highlights":52823,"language":162,"meta":163,"style":163},"\u003Cscript>\nimport { computed } from 'vue'\n\nexport default {\n  data() {\n    return {\n      idioma: 'es'\n    }\n  },\n    methods: {\n      cambiarIdioma(nuevo) {\n        this.idioma = nuevo\n      }\n  },\n  provide() {\n    return {\n      \u002F\u002F IMPORTANTE: En Options API, 'provide' se evalúa una sola vez.\n      \u002F\u002F Para mantener reactividad, envolvemos el valor con computed()\n      \u002F\u002F que crea una función getter que Vue reevalúa automáticamente\n      'config-idioma': {\n        \u002F\u002F Usamos computed para que el hijo vea los cambios de this.idioma\n        idioma: computed(() => this.idioma),\n        cambiarIdioma: this.cambiarIdioma\n      }\n    }\n  }\n}\n\u003C\u002Fscript>\n",[2674],[87,52825,52826,52834,52845,52849,52857,52863,52869,52877,52881,52885,52889,52900,52911,52915,52919,52926,52932,52937,52942,52947,52955,52960,52976,52987,52991,52995,52999,53003],{"__ignoreMap":163},[167,52827,52828,52830,52832],{"class":169,"line":170},[167,52829,174],{"class":173},[167,52831,178],{"class":177},[167,52833,185],{"class":173},[167,52835,52836,52838,52841,52843],{"class":169,"line":188},[167,52837,192],{"class":191},[167,52839,52840],{"class":173}," { computed } ",[167,52842,198],{"class":191},[167,52844,202],{"class":201},[167,52846,52847],{"class":169,"line":205},[167,52848,209],{"emptyLinePlaceholder":208},[167,52850,52851,52853,52855],{"class":169,"line":160},[167,52852,608],{"class":191},[167,52854,3987],{"class":191},[167,52856,1901],{"class":173},[167,52858,52859,52861],{"class":169,"line":238},[167,52860,7172],{"class":181},[167,52862,763],{"class":173},[167,52864,52865,52867],{"class":169,"line":243},[167,52866,1933],{"class":191},[167,52868,1901],{"class":173},[167,52870,52871,52874],{"class":169,"line":261},[167,52872,52873],{"class":173},"      idioma: ",[167,52875,52876],{"class":201},"'es'\n",[167,52878,52879],{"class":169,"line":273},[167,52880,4045],{"class":173},[167,52882,52883],{"class":169,"line":279},[167,52884,398],{"class":173},[167,52886,52887],{"class":169,"line":289},[167,52888,51619],{"class":173},[167,52890,52891,52894,52896,52898],{"class":169,"line":294},[167,52892,52893],{"class":181},"      cambiarIdioma",[167,52895,229],{"class":173},[167,52897,52750],{"class":254},[167,52899,258],{"class":173},[167,52901,52902,52904,52907,52909],{"class":169,"line":304},[167,52903,14769],{"class":219},[167,52905,52906],{"class":173},".idioma ",[167,52908,267],{"class":191},[167,52910,52766],{"class":173},[167,52912,52913],{"class":169,"line":313},[167,52914,7283],{"class":173},[167,52916,52917],{"class":169,"line":161},[167,52918,398],{"class":173},[167,52920,52921,52924],{"class":169,"line":335},[167,52922,52923],{"class":181},"  provide",[167,52925,763],{"class":173},[167,52927,52928,52930],{"class":169,"line":341},[167,52929,1933],{"class":191},[167,52931,1901],{"class":173},[167,52933,52934],{"class":169,"line":489},[167,52935,52936],{"class":18658},"      \u002F\u002F IMPORTANTE: En Options API, 'provide' se evalúa una sola vez.\n",[167,52938,52939],{"class":169,"line":495},[167,52940,52941],{"class":18658},"      \u002F\u002F Para mantener reactividad, envolvemos el valor con computed()\n",[167,52943,52944],{"class":169,"line":501},[167,52945,52946],{"class":18658},"      \u002F\u002F que crea una función getter que Vue reevalúa automáticamente\n",[167,52948,52949,52952],{"class":169,"line":512},[167,52950,52951],{"class":201},"      'config-idioma'",[167,52953,52954],{"class":173},": {\n",[167,52956,52957],{"class":169,"line":781},[167,52958,52959],{"class":18658},"        \u002F\u002F Usamos computed para que el hijo vea los cambios de this.idioma\n",[167,52961,52962,52965,52967,52969,52971,52973],{"class":169,"line":786},[167,52963,52964],{"class":173},"        idioma: ",[167,52966,1657],{"class":181},[167,52968,1488],{"class":173},[167,52970,639],{"class":191},[167,52972,7347],{"class":219},[167,52974,52975],{"class":173},".idioma),\n",[167,52977,52979,52982,52984],{"class":52978,"line":2674},[169,213],[167,52980,52981],{"class":173},"        cambiarIdioma: ",[167,52983,4923],{"class":219},[167,52985,52986],{"class":173},".cambiarIdioma\n",[167,52988,52989],{"class":169,"line":2688},[167,52990,7283],{"class":173},[167,52992,52993],{"class":169,"line":3571},[167,52994,4045],{"class":173},[167,52996,52997],{"class":169,"line":5024},[167,52998,3488],{"class":173},[167,53000,53001],{"class":169,"line":5033},[167,53002,276],{"class":173},[167,53004,53005,53007,53009],{"class":169,"line":5042},[167,53006,282],{"class":173},[167,53008,178],{"class":177},[167,53010,185],{"class":173},[29773,53012,53014],{"id":53013},"componente-receptor-nieto-1",[3929,53015,52437],{},[154,53017,53020],{"className":156,"code":53018,"filename":3256,"highlights":53019,"language":162,"meta":163,"style":163},"\u003Cscript setup>\nimport { inject } from 'vue'\n\nconst { idioma, cambiarIdioma } = inject('config-idioma')\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cdiv>\n    \u003Cp>Idioma actual: {{ idioma }}\u003C\u002Fp>\n    \u003Cbutton @click=\"cambiarIdioma('en')\">Cambiar a Inglés\u003C\u002Fbutton>\n  \u003C\u002Fdiv>\n\u003C\u002Ftemplate>\n",[160],[87,53021,53022,53032,53042,53046,53073,53081,53085,53093,53101,53114,53134,53142],{"__ignoreMap":163},[167,53023,53024,53026,53028,53030],{"class":169,"line":170},[167,53025,174],{"class":173},[167,53027,178],{"class":177},[167,53029,182],{"class":181},[167,53031,185],{"class":173},[167,53033,53034,53036,53038,53040],{"class":169,"line":188},[167,53035,192],{"class":191},[167,53037,52461],{"class":173},[167,53039,198],{"class":191},[167,53041,202],{"class":201},[167,53043,53044],{"class":169,"line":205},[167,53045,209],{"emptyLinePlaceholder":208},[167,53047,53049,53051,53053,53056,53058,53061,53063,53065,53067,53069,53071],{"class":53048,"line":160},[169,213],[167,53050,216],{"class":191},[167,53052,577],{"class":173},[167,53054,53055],{"class":219},"idioma",[167,53057,1020],{"class":173},[167,53059,53060],{"class":219},"cambiarIdioma",[167,53062,23405],{"class":173},[167,53064,267],{"class":191},[167,53066,52486],{"class":181},[167,53068,229],{"class":173},[167,53070,52783],{"class":201},[167,53072,235],{"class":173},[167,53074,53075,53077,53079],{"class":169,"line":238},[167,53076,282],{"class":173},[167,53078,178],{"class":177},[167,53080,185],{"class":173},[167,53082,53083],{"class":169,"line":243},[167,53084,209],{"emptyLinePlaceholder":208},[167,53086,53087,53089,53091],{"class":169,"line":261},[167,53088,174],{"class":173},[167,53090,299],{"class":177},[167,53092,185],{"class":173},[167,53094,53095,53097,53099],{"class":169,"line":273},[167,53096,307],{"class":173},[167,53098,1237],{"class":177},[167,53100,185],{"class":173},[167,53102,53103,53105,53107,53110,53112],{"class":169,"line":279},[167,53104,1252],{"class":173},[167,53106,15],{"class":177},[167,53108,53109],{"class":173},">Idioma actual: {{ idioma }}\u003C\u002F",[167,53111,15],{"class":177},[167,53113,185],{"class":173},[167,53115,53116,53118,53120,53122,53124,53127,53130,53132],{"class":169,"line":289},[167,53117,1252],{"class":173},[167,53119,507],{"class":177},[167,53121,1177],{"class":181},[167,53123,267],{"class":173},[167,53125,53126],{"class":201},"\"cambiarIdioma('en')\"",[167,53128,53129],{"class":173},">Cambiar a Inglés\u003C\u002F",[167,53131,507],{"class":177},[167,53133,185],{"class":173},[167,53135,53136,53138,53140],{"class":169,"line":294},[167,53137,504],{"class":173},[167,53139,1237],{"class":177},[167,53141,185],{"class":173},[167,53143,53144,53146,53148],{"class":169,"line":304},[167,53145,282],{"class":173},[167,53147,299],{"class":177},[167,53149,185],{"class":173},[154,53151,53154],{"className":156,"code":53152,"filename":3969,"highlights":53153,"language":162,"meta":163,"style":163},"\u003Cscript>\nexport default {\n  inject: {\n    configIdioma: {\n      from: 'config-idioma',\n      default: () => ({\n        idioma: { value: 'es' },\n        cambiarIdioma: () => {}\n      })\n    }\n  },\n  computed: {\n    idiomaActual() {\n      return this.configIdioma.idioma.value\n    }\n  },\n  methods: {\n    cambiarAIngles() {\n      this.configIdioma.cambiarIdioma('en')\n    }\n  }\n}\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cdiv>\n    \u003Cp>Idioma actual: {{ idiomaActual }}\u003C\u002Fp>\n    \u003Cbutton @click=\"cambiarAIngles\">Cambiar a Inglés\u003C\u002Fbutton>\n  \u003C\u002Fdiv>\n\u003C\u002Ftemplate>\n",[261,161],[87,53155,53156,53164,53172,53177,53182,53191,53202,53212,53223,53227,53231,53235,53239,53246,53256,53260,53264,53268,53275,53291,53295,53299,53303,53311,53315,53323,53331,53344,53363,53371],{"__ignoreMap":163},[167,53157,53158,53160,53162],{"class":169,"line":170},[167,53159,174],{"class":173},[167,53161,178],{"class":177},[167,53163,185],{"class":173},[167,53165,53166,53168,53170],{"class":169,"line":188},[167,53167,608],{"class":191},[167,53169,3987],{"class":191},[167,53171,1901],{"class":173},[167,53173,53174],{"class":169,"line":205},[167,53175,53176],{"class":173},"  inject: {\n",[167,53178,53179],{"class":169,"line":160},[167,53180,53181],{"class":173},"    configIdioma: {\n",[167,53183,53184,53187,53189],{"class":169,"line":238},[167,53185,53186],{"class":173},"      from: ",[167,53188,52783],{"class":201},[167,53190,393],{"class":173},[167,53192,53193,53196,53198,53200],{"class":169,"line":243},[167,53194,53195],{"class":181},"      default",[167,53197,636],{"class":173},[167,53199,639],{"class":191},[167,53201,642],{"class":173},[167,53203,53205,53208,53210],{"class":53204,"line":261},[169,213],[167,53206,53207],{"class":173},"        idioma: { value: ",[167,53209,2784],{"class":201},[167,53211,1852],{"class":173},[167,53213,53214,53217,53219,53221],{"class":169,"line":273},[167,53215,53216],{"class":181},"        cambiarIdioma",[167,53218,636],{"class":173},[167,53220,639],{"class":191},[167,53222,50938],{"class":173},[167,53224,53225],{"class":169,"line":279},[167,53226,8862],{"class":173},[167,53228,53229],{"class":169,"line":289},[167,53230,4045],{"class":173},[167,53232,53233],{"class":169,"line":294},[167,53234,398],{"class":173},[167,53236,53237],{"class":169,"line":304},[167,53238,8751],{"class":173},[167,53240,53241,53244],{"class":169,"line":313},[167,53242,53243],{"class":181},"    idiomaActual",[167,53245,763],{"class":173},[167,53247,53249,53251,53253],{"class":53248,"line":161},[169,213],[167,53250,8763],{"class":191},[167,53252,7347],{"class":219},[167,53254,53255],{"class":173},".configIdioma.idioma.value\n",[167,53257,53258],{"class":169,"line":335},[167,53259,4045],{"class":173},[167,53261,53262],{"class":169,"line":341},[167,53263,398],{"class":173},[167,53265,53266],{"class":169,"line":489},[167,53267,4415],{"class":173},[167,53269,53270,53273],{"class":169,"line":495},[167,53271,53272],{"class":181},"    cambiarAIngles",[167,53274,763],{"class":173},[167,53276,53277,53279,53282,53284,53286,53289],{"class":169,"line":501},[167,53278,741],{"class":219},[167,53280,53281],{"class":173},".configIdioma.",[167,53283,53060],{"class":181},[167,53285,229],{"class":173},[167,53287,53288],{"class":201},"'en'",[167,53290,235],{"class":173},[167,53292,53293],{"class":169,"line":512},[167,53294,4045],{"class":173},[167,53296,53297],{"class":169,"line":781},[167,53298,3488],{"class":173},[167,53300,53301],{"class":169,"line":786},[167,53302,276],{"class":173},[167,53304,53305,53307,53309],{"class":169,"line":2674},[167,53306,282],{"class":173},[167,53308,178],{"class":177},[167,53310,185],{"class":173},[167,53312,53313],{"class":169,"line":2688},[167,53314,209],{"emptyLinePlaceholder":208},[167,53316,53317,53319,53321],{"class":169,"line":3571},[167,53318,174],{"class":173},[167,53320,299],{"class":177},[167,53322,185],{"class":173},[167,53324,53325,53327,53329],{"class":169,"line":5024},[167,53326,307],{"class":173},[167,53328,1237],{"class":177},[167,53330,185],{"class":173},[167,53332,53333,53335,53337,53340,53342],{"class":169,"line":5033},[167,53334,1252],{"class":173},[167,53336,15],{"class":177},[167,53338,53339],{"class":173},">Idioma actual: {{ idiomaActual }}\u003C\u002F",[167,53341,15],{"class":177},[167,53343,185],{"class":173},[167,53345,53346,53348,53350,53352,53354,53357,53359,53361],{"class":169,"line":5042},[167,53347,1252],{"class":173},[167,53349,507],{"class":177},[167,53351,1177],{"class":181},[167,53353,267],{"class":173},[167,53355,53356],{"class":201},"\"cambiarAIngles\"",[167,53358,53129],{"class":173},[167,53360,507],{"class":177},[167,53362,185],{"class":173},[167,53364,53365,53367,53369],{"class":169,"line":6752},[167,53366,504],{"class":173},[167,53368,1237],{"class":177},[167,53370,185],{"class":173},[167,53372,53373,53375,53377],{"class":169,"line":6774},[167,53374,282],{"class":173},[167,53376,299],{"class":177},[167,53378,185],{"class":173},[22,53380,53382],{"id":53381},"manejo-de-valores-por-defecto","Manejo de valores por defecto",[15,53384,53385,53386,53389],{},"Para hacer tus componentes más robustos, puedes definir un valor por defecto en el ",[87,53387,53388],{},"inject",". Si el componente se usa fuera de un árbol que provea la clave, evitarás errores de ejecución:",[154,53391,53395],{"className":51862,"code":53392,"filename":53393,"highlights":53394,"language":51866,"meta":163,"style":163},"\u002F\u002F Si no encuentra 'user-data', usará el objeto por defecto\nconst usuario = inject('user-data', { nombre: 'Invitado', premium: false })\n","inject-default.js",[188],[87,53396,53397,53402],{"__ignoreMap":163},[167,53398,53399],{"class":169,"line":170},[167,53400,53401],{"class":18658},"\u002F\u002F Si no encuentra 'user-data', usará el objeto por defecto\n",[167,53403,53405,53407,53410,53412,53414,53416,53419,53422,53425,53428,53430],{"class":53404,"line":188},[169,213],[167,53406,216],{"class":191},[167,53408,53409],{"class":219}," usuario",[167,53411,223],{"class":191},[167,53413,52486],{"class":181},[167,53415,229],{"class":173},[167,53417,53418],{"class":201},"'user-data'",[167,53420,53421],{"class":173},", { nombre: ",[167,53423,53424],{"class":201},"'Invitado'",[167,53426,53427],{"class":173},", premium: ",[167,53429,3388],{"class":219},[167,53431,2238],{"class":173},[22,53433,53435],{"id":53434},"provideinject-a-nivel-de-aplicación","Provide\u002FInject a nivel de aplicación",[15,53437,53438],{},"Además de usarlo entre componentes, puedes definir valores globales directamente en la instancia de la aplicación. Esto es útil para:",[33,53440,53441,53444,53447],{},[36,53442,53443],{},"Configuración de la aplicación (URL de API, claves de servicios)",[36,53445,53446],{},"Temas o preferencias globales",[36,53448,53449],{},"Plugins o utilidades compartidas",[29773,53451,53453],{"id":53452},"implementación",[3929,53454,53455],{},"Implementación:",[154,53457,53460],{"className":51862,"code":53458,"filename":25319,"highlights":53459,"language":51866,"meta":163,"style":163},"import { createApp } from 'vue'\nimport App from '.\u002FApp.vue'\n\nconst app = createApp(App)\n\n\u002F\u002F Provee valores globales disponibles en toda la aplicación\napp.provide('api-url', 'https:\u002F\u002Fapi.ejemplo.com')\napp.provide('theme', 'dark')\napp.provide('analytics', {\n  trackEvent: (eventName) => {\n    console.log(`Evento: ${eventName}`)\n  }\n})\n\napp.mount('#app')\n",[261,273],[87,53461,53462,53472,53482,53486,53498,53502,53507,53526,53545,53558,53574,53591,53595,53599,53603],{"__ignoreMap":163},[167,53463,53464,53466,53468,53470],{"class":169,"line":170},[167,53465,192],{"class":191},[167,53467,51162],{"class":173},[167,53469,198],{"class":191},[167,53471,202],{"class":201},[167,53473,53474,53476,53478,53480],{"class":169,"line":188},[167,53475,192],{"class":191},[167,53477,51173],{"class":173},[167,53479,198],{"class":191},[167,53481,51178],{"class":201},[167,53483,53484],{"class":169,"line":205},[167,53485,209],{"emptyLinePlaceholder":208},[167,53487,53488,53490,53492,53494,53496],{"class":169,"line":160},[167,53489,216],{"class":191},[167,53491,51185],{"class":219},[167,53493,223],{"class":191},[167,53495,51190],{"class":181},[167,53497,51193],{"class":173},[167,53499,53500],{"class":169,"line":238},[167,53501,209],{"emptyLinePlaceholder":208},[167,53503,53504],{"class":169,"line":243},[167,53505,53506],{"class":18658},"\u002F\u002F Provee valores globales disponibles en toda la aplicación\n",[167,53508,53510,53512,53514,53516,53519,53521,53524],{"class":53509,"line":261},[169,213],[167,53511,51199],{"class":173},[167,53513,52306],{"class":181},[167,53515,229],{"class":173},[167,53517,53518],{"class":201},"'api-url'",[167,53520,1020],{"class":173},[167,53522,53523],{"class":201},"'https:\u002F\u002Fapi.ejemplo.com'",[167,53525,235],{"class":173},[167,53527,53529,53531,53533,53535,53538,53540,53543],{"class":53528,"line":273},[169,213],[167,53530,51199],{"class":173},[167,53532,52306],{"class":181},[167,53534,229],{"class":173},[167,53536,53537],{"class":201},"'theme'",[167,53539,1020],{"class":173},[167,53541,53542],{"class":201},"'dark'",[167,53544,235],{"class":173},[167,53546,53547,53549,53551,53553,53556],{"class":169,"line":279},[167,53548,51199],{"class":173},[167,53550,52306],{"class":181},[167,53552,229],{"class":173},[167,53554,53555],{"class":201},"'analytics'",[167,53557,627],{"class":173},[167,53559,53560,53563,53565,53568,53570,53572],{"class":169,"line":289},[167,53561,53562],{"class":181},"  trackEvent",[167,53564,688],{"class":173},[167,53566,53567],{"class":254},"eventName",[167,53569,693],{"class":173},[167,53571,639],{"class":191},[167,53573,1901],{"class":173},[167,53575,53576,53578,53580,53582,53585,53587,53589],{"class":169,"line":294},[167,53577,8890],{"class":173},[167,53579,2607],{"class":181},[167,53581,229],{"class":173},[167,53583,53584],{"class":201},"`Evento: ${",[167,53586,53567],{"class":173},[167,53588,2356],{"class":201},[167,53590,235],{"class":173},[167,53592,53593],{"class":169,"line":304},[167,53594,3488],{"class":173},[167,53596,53597],{"class":169,"line":313},[167,53598,403],{"class":173},[167,53600,53601],{"class":169,"line":161},[167,53602,209],{"emptyLinePlaceholder":208},[167,53604,53605,53607,53610,53612,53615],{"class":169,"line":335},[167,53606,51199],{"class":173},[167,53608,53609],{"class":181},"mount",[167,53611,229],{"class":173},[167,53613,53614],{"class":201},"'#app'",[167,53616,235],{"class":173},[29773,53618,53620],{"id":53619},"consumiendo-en-cualquier-componente",[3929,53621,53622],{},"Consumiendo en cualquier componente:",[154,53624,53628],{"className":156,"code":53625,"filename":53626,"highlights":53627,"language":162,"meta":163,"style":163},"\u003Cscript setup>\nimport { inject } from 'vue'\n\nconst apiUrl = inject('api-url')\nconst theme = inject('theme')\nconst analytics = inject('analytics')\n\nconst handleClick = () => {\n  analytics.trackEvent('button-click')\n}\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cdiv :class=\"`theme-${theme}`\">\n    \u003Cp>API Base: {{ apiUrl }}\u003C\u002Fp>\n    \u003Cbutton @click=\"handleClick\">Hacer clic\u003C\u002Fbutton>\n  \u003C\u002Fdiv>\n\u003C\u002Ftemplate>\n","SomeComponent.vue",[160,238],[87,53629,53630,53640,53650,53654,53672,53690,53707,53711,53726,53741,53745,53753,53757,53765,53780,53793,53813,53821],{"__ignoreMap":163},[167,53631,53632,53634,53636,53638],{"class":169,"line":170},[167,53633,174],{"class":173},[167,53635,178],{"class":177},[167,53637,182],{"class":181},[167,53639,185],{"class":173},[167,53641,53642,53644,53646,53648],{"class":169,"line":188},[167,53643,192],{"class":191},[167,53645,52461],{"class":173},[167,53647,198],{"class":191},[167,53649,202],{"class":201},[167,53651,53652],{"class":169,"line":205},[167,53653,209],{"emptyLinePlaceholder":208},[167,53655,53657,53659,53662,53664,53666,53668,53670],{"class":53656,"line":160},[169,213],[167,53658,216],{"class":191},[167,53660,53661],{"class":219}," apiUrl",[167,53663,223],{"class":191},[167,53665,52486],{"class":181},[167,53667,229],{"class":173},[167,53669,53518],{"class":201},[167,53671,235],{"class":173},[167,53673,53675,53677,53680,53682,53684,53686,53688],{"class":53674,"line":238},[169,213],[167,53676,216],{"class":191},[167,53678,53679],{"class":219}," theme",[167,53681,223],{"class":191},[167,53683,52486],{"class":181},[167,53685,229],{"class":173},[167,53687,53537],{"class":201},[167,53689,235],{"class":173},[167,53691,53692,53694,53697,53699,53701,53703,53705],{"class":169,"line":243},[167,53693,216],{"class":191},[167,53695,53696],{"class":219}," analytics",[167,53698,223],{"class":191},[167,53700,52486],{"class":181},[167,53702,229],{"class":173},[167,53704,53555],{"class":201},[167,53706,235],{"class":173},[167,53708,53709],{"class":169,"line":261},[167,53710,209],{"emptyLinePlaceholder":208},[167,53712,53713,53715,53718,53720,53722,53724],{"class":169,"line":273},[167,53714,216],{"class":191},[167,53716,53717],{"class":181}," handleClick",[167,53719,223],{"class":191},[167,53721,1464],{"class":173},[167,53723,639],{"class":191},[167,53725,1901],{"class":173},[167,53727,53728,53731,53734,53736,53739],{"class":169,"line":279},[167,53729,53730],{"class":173},"  analytics.",[167,53732,53733],{"class":181},"trackEvent",[167,53735,229],{"class":173},[167,53737,53738],{"class":201},"'button-click'",[167,53740,235],{"class":173},[167,53742,53743],{"class":169,"line":289},[167,53744,276],{"class":173},[167,53746,53747,53749,53751],{"class":169,"line":294},[167,53748,282],{"class":173},[167,53750,178],{"class":177},[167,53752,185],{"class":173},[167,53754,53755],{"class":169,"line":304},[167,53756,209],{"emptyLinePlaceholder":208},[167,53758,53759,53761,53763],{"class":169,"line":313},[167,53760,174],{"class":173},[167,53762,299],{"class":177},[167,53764,185],{"class":173},[167,53766,53767,53769,53771,53773,53775,53778],{"class":169,"line":161},[167,53768,307],{"class":173},[167,53770,1237],{"class":177},[167,53772,42131],{"class":181},[167,53774,267],{"class":173},[167,53776,53777],{"class":201},"\"`theme-${theme}`\"",[167,53779,185],{"class":173},[167,53781,53782,53784,53786,53789,53791],{"class":169,"line":335},[167,53783,1252],{"class":173},[167,53785,15],{"class":177},[167,53787,53788],{"class":173},">API Base: {{ apiUrl }}\u003C\u002F",[167,53790,15],{"class":177},[167,53792,185],{"class":173},[167,53794,53795,53797,53799,53801,53803,53806,53809,53811],{"class":169,"line":341},[167,53796,1252],{"class":173},[167,53798,507],{"class":177},[167,53800,1177],{"class":181},[167,53802,267],{"class":173},[167,53804,53805],{"class":201},"\"handleClick\"",[167,53807,53808],{"class":173},">Hacer clic\u003C\u002F",[167,53810,507],{"class":177},[167,53812,185],{"class":173},[167,53814,53815,53817,53819],{"class":169,"line":489},[167,53816,504],{"class":173},[167,53818,1237],{"class":177},[167,53820,185],{"class":173},[167,53822,53823,53825,53827],{"class":169,"line":495},[167,53824,282],{"class":173},[167,53826,299],{"class":177},[167,53828,185],{"class":173},[29773,53830,53832],{"id":53831},"ventajas","Ventajas",[33,53834,53835,53838,53841],{},[36,53836,53837],{},"No necesitas crear un componente raíz solo para proveer valores",[36,53839,53840],{},"Ideal para configuraciones que no cambian durante la vida de la aplicación",[36,53842,53843],{},"Simplifica el testing al poder sobrescribir estos valores fácilmente",[5363,53845,53846],{},[15,53847,53848,53851,53852,1675],{},[3929,53849,53850],{},"Nota:"," Para valores reactivos a nivel de aplicación que cambien frecuentemente, considera usar Pinia en lugar de ",[87,53853,53854],{},"app.provide()",[22,53856,53858],{"id":53857},"bajo-el-capó-cómo-funciona","Bajo el capó: ¿Cómo funciona?",[15,53860,53861,53862,53864,53865,53868],{},"La eficiencia de ",[87,53863,992],{}," radica en que utiliza la ",[3929,53866,53867],{},"cadena de prototipos"," de JavaScript.",[3031,53870,53871,53886],{},[36,53872,53873,53875,53876,53879,53880,53882,53883,1675],{},[3929,53874,52209],{}," Cuando un componente provee algo, Vue crea un nuevo objeto ",[87,53877,53878],{},"provides"," para ese componente que hereda del objeto ",[87,53881,53878],{}," de su padre mediante ",[87,53884,53885],{},"Object.create()",[36,53887,53888,53890],{},[3929,53889,52215],{}," Vue simplemente busca la clave en el objeto. Si no está en el padre inmediato, el motor de JavaScript sube por la cadena de prototipos hasta encontrarlo o llegar al final.",[15,53892,53893],{},"Esta arquitectura permite que un hijo \"sobrescriba\" un valor para sus propios descendientes sin afectar a sus hermanos o ancestros, garantizando un aislamiento total.",[22,53895,53897],{"id":53896},"resumen-de-capacidades","Resumen de capacidades",[56,53899,53900,53912],{},[59,53901,53902],{},[62,53903,53904,53906,53909],{},[65,53905,51975],{},[65,53907,53908],{},"Nivel Básico",[65,53910,53911],{},"Nivel Profesional",[75,53913,53914,53927,53943,53956],{},[62,53915,53916,53921,53924],{},[80,53917,53918],{},[3929,53919,53920],{},"Flujo",[80,53922,53923],{},"Pasar datos de A a B",[80,53925,53926],{},"Arquitectura de estado jerárquico",[62,53928,53929,53934,53937],{},[80,53930,53931],{},[3929,53932,53933],{},"Seguridad",[80,53935,53936],{},"Datos mutables (riesgoso)",[80,53938,53939,53940,53942],{},"Uso de ",[87,53941,52669],{}," para proteger el estado",[62,53944,53945,53950,53953],{},[80,53946,53947],{},[3929,53948,53949],{},"Robustez",[80,53951,53952],{},"Puede fallar si falta la clave",[80,53954,53955],{},"Uso de valores por defecto",[62,53957,53958,53963,53966],{},[80,53959,53960],{},[3929,53961,53962],{},"Alcance",[80,53964,53965],{},"Entre componentes locales",[80,53967,53968,53969],{},"Configuración global a nivel de ",[87,53970,53971],{},"app",[22,53973,53975],{"id":53974},"cuándo-no-usar-provideinject","Cuándo NO usar Provide\u002FInject",[33,53977,53978,53984,53990],{},[36,53979,53980,53983],{},[3929,53981,53982],{},"Para estado global complejo:"," Usa Pinia o Vuex",[36,53985,53986,53989],{},[3929,53987,53988],{},"Para comunicación entre hermanos:"," Usa composables o el patrón Event Bus",[36,53991,53992,53995],{},[3929,53993,53994],{},"Para estado simple de 2 niveles:"," Las props son más explícitas y fáciles de seguir",[22,53997,23570],{"id":23569},[15,53999,54000,52157,54002,54004,54005,54007],{},[87,54001,52156],{},[87,54003,53388],{}," son herramientas poderosas que, usadas correctamente, eliminan el ",[3929,54006,52150],{}," sin comprometer la mantenibilidad del código. La clave está en:",[3031,54009,54010,54018,54024,54030],{},[36,54011,54012,54015,54016],{},[3929,54013,54014],{},"Proteger el estado"," con ",[87,54017,52669],{},[36,54019,54020,54023],{},[3929,54021,54022],{},"Proveer funciones"," para modificarlo de forma controlada",[36,54025,54026,54029],{},[3929,54027,54028],{},"Definir valores por defecto"," para mayor robustez",[36,54031,54032,54035],{},[3929,54033,54034],{},"Usarlo en el nivel adecuado:"," componentes para estado jerárquico, Pinia para estado global complejo",[15,54037,54038],{},"Dominar este patrón te permitirá construir aplicaciones Vue más escalables y fáciles de mantener.",[924,54040,54041],{},"html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .s9eBZ, html code.shiki .s9eBZ{--shiki-default:#22863A;--shiki-dark:#85E89D}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .s4XuR, html code.shiki .s4XuR{--shiki-default:#E36209;--shiki-dark:#FFAB70}",{"title":163,"searchDepth":188,"depth":188,"links":54043},[54044,54045,54047,54048,54049,54051,54052,54053,54054,54055,54056],{"id":52164,"depth":188,"text":52165},{"id":52195,"depth":188,"text":54046},"La solución nativa: Provide e Inject",{"id":52219,"depth":188,"text":52220},{"id":52613,"depth":188,"text":52614},{"id":52679,"depth":188,"text":54050},"Ejemplo de uso correcto con readonly",{"id":53381,"depth":188,"text":53382},{"id":53434,"depth":188,"text":53435},{"id":53857,"depth":188,"text":53858},{"id":53896,"depth":188,"text":53897},{"id":53974,"depth":188,"text":53975},{"id":23569,"depth":188,"text":23570},"https:\u002F\u002Fres.cloudinary.com\u002Fdenj4fg7f\u002Fimage\u002Fupload\u002Fv1769126104\u002Fvue-provide-inject-avoid-prop-drilling_pkd9s1.png","2026-01-23","Aprende a usar provide e inject en Vue.js para eliminar el Prop Drilling, gestionar la reactividad de forma segura con readonly y mejorar la arquitectura de tus componentes.",{"updatedAt":52115,"coverCaption":54061,"author":945,"keywords":54062},"Provide e Inject en Vue 3 por TODOvue",[3254,52156,52160,52150,3256,3255],"\u002Fblog\u002Fvue-provide-inject-avoid-prop-drilling.es",[54065],{"headline":52138,"author":54066,"datePublished":54067,"@type":959},{"name":945,"@type":958},"2026-01-22T23:30:00-05:00",{"title":52138,"description":54059},"blog\u002Fvue-provide-inject-avoid-prop-drilling.es",[54071,54074,54075,54076,54077,54078],{"tag":54072,"color":54073},"Inyección de Dependencias","#2E86DE",{"tag":951,"color":964},{"tag":952,"color":966},{"tag":52119,"color":52130},{"tag":1622,"color":1635},{"tag":968,"color":969},"A1u4zDgaHmVxz0Ez45AaQr00Z5ZYw963AApX3oEj18I",{"id":54081,"title":52626,"body":54082,"cover":54718,"coverAlt":54719,"date":54720,"description":54721,"draft":1617,"extension":940,"lab":54722,"locale":942,"meta":54732,"navigation":208,"path":54735,"schemaOrg":54736,"seo":54741,"series":941,"seriesDescription":941,"seriesOrder":941,"seriesTitle":941,"slug":941,"stem":54742,"tags":54743,"__hash__":54749},"blog\u002Fblog\u002Fvue-reactivity-explained.es.md",{"type":8,"value":54083,"toc":54704},[54084,54087,54090,54093,54097,54100,54121,54124,54132,54136,54139,54146,54158,54173,54179,54185,54188,54196,54204,54207,54270,54278,54282,54285,54305,54308,54312,54315,54333,54358,54361,54419,54423,54560,54698,54701],[11,54085,52626],{"id":54086},"qué-es-la-reactividad-la-magia-detrás-de-vuejs-explicada-con-claridad",[15,54088,54089],{},"La reactividad es el corazón de Vue.js. Es lo que hace que la interfaz no sea un adorno bonito, sino un sistema vivo que responde a los cambios de estado sin que tú tengas que perseguir el DOM como si fuera 2012.",[15,54091,54092],{},"En este artículo vamos a desmontar el concepto sin misticismo innecesario: primero con una analogía simple, luego con lo que realmente ocurre a nivel técnico, y finalmente con buenas prácticas que te ahorrarán bugs y problemas de rendimiento.",[22,54094,54096],{"id":54095},"la-analogía-el-efecto-excel","La analogía: el efecto Excel",[15,54098,54099],{},"No necesitas un doctorado en ciencias de la computación para entender la reactividad. Basta con haber usado Excel sin romper nada.",[15,54101,54102,54103,54106,54107,54110,54111,54113,54114,90,54117,54120],{},"Si en una celda ",[3929,54104,54105],{},"C1"," escribes la fórmula ",[87,54108,54109],{},"=A1 + B1",", el valor de ",[3929,54112,54105],{}," se actualiza automáticamente cuando cambian ",[3929,54115,54116],{},"A1",[3929,54118,54119],{},"B1",". No haces clic en “refrescar”, no vuelves a escribir la fórmula. Simplemente ocurre.",[15,54122,54123],{},"Eso es reactividad: una relación automática entre datos y resultados.",[5363,54125,54126],{},[15,54127,54128,54131],{},[3929,54129,54130],{},"Analogía del mundo real:"," imagina una cafetera inteligente. En el momento en que detecta que hay una taza colocada, el botón de iniciar se activa. No porque alguien lo programe cada vez, sino porque el sistema está atento al estado.",[22,54133,54135],{"id":54134},"la-evolución-técnica-de-vue-2-a-vue-3","La evolución técnica: de Vue 2 a Vue 3",[15,54137,54138],{},"Vue no siempre tuvo el sistema de reactividad elegante que conocemos hoy. Entender su evolución ayuda a escribir mejor código y a no pelearse con el framework.",[3083,54140,54142,54143],{"id":54141},"vue-2-objectdefineproperty","Vue 2: ",[87,54144,54145],{},"Object.defineProperty",[15,54147,54148,54149,1023,54152,54155,54156,1675],{},"En Vue 2, cada propiedad reactiva se convertía en un par de ",[9291,54150,54151],{},"getters",[9291,54153,54154],{},"setters"," usando ",[87,54157,54145],{},[33,54159,54160],{},[36,54161,54162,54165,54166,54169,54170,1675],{},[3929,54163,54164],{},"La limitación:"," Vue tenía que recorrer el objeto completo al inicializarlo. Si añadías una propiedad nueva o modificabas un índice de un array directamente (",[87,54167,54168],{},"arr[0] = x","), Vue no se enteraba. Por eso existían soluciones como ",[87,54171,54172],{},"Vue.set()",[3083,54174,54176,54177],{"id":54175},"vue-3-el-poder-de-proxy","Vue 3: el poder de ",[87,54178,22876],{},[15,54180,54181,54182,53868],{},"Vue 3 cambió completamente el enfoque usando ",[3929,54183,54184],{},"Proxies",[15,54186,54187],{},"Un Proxy envuelve un objeto y puede interceptar prácticamente cualquier operación: leer, escribir, borrar o añadir propiedades.",[33,54189,54190],{},[36,54191,54192,54195],{},[3929,54193,54194],{},"La ventaja:"," no importa cuándo ni cómo cambie el objeto. Vue puede detectarlo. El resultado es una reactividad más profunda, más predecible y con mejor rendimiento.",[22,54197,54199,54200,1658,54202],{"id":54198},"los-dos-pilares-ref-vs-reactive","Los dos pilares: ",[87,54201,89],{},[87,54203,93],{},[15,54205,54206],{},"Si usas la Composition API, esta duda aparece antes de que termines tu primer café.",[56,54208,54209,54223],{},[59,54210,54211],{},[62,54212,54213,54215,54219],{},[65,54214,51975],{},[65,54216,54217],{},[87,54218,89],{},[65,54220,54221],{},[87,54222,93],{},[75,54224,54225,54236,54248,54259],{},[62,54226,54227,54230,54233],{},[80,54228,54229],{},"Tipo de dato",[80,54231,54232],{},"Primitivos y objetos",[80,54234,54235],{},"Solo objetos y colecciones",[62,54237,54238,54241,54245],{},[80,54239,54240],{},"Acceso en JS",[80,54242,54243],{},[87,54244,22975],{},[80,54246,54247],{},"Acceso directo",[62,54249,54250,54254,54257],{},[80,54251,6300,54252],{},[87,54253,31993],{},[80,54255,54256],{},"Auto-desempaquetado",[80,54258,54247],{},[62,54260,54261,54264,54267],{},[80,54262,54263],{},"Uso ideal",[80,54265,54266],{},"Estados simples y aislados",[80,54268,54269],{},"Estados complejos o anidados",[15,54271,54272,54273,54275,54276,1675],{},"Regla mental rápida: si es una sola cosa, ",[87,54274,2081],{},". Si es una estructura, ",[87,54277,18239],{},[22,54279,54281],{"id":54280},"el-ciclo-interno-track-y-trigger","El ciclo interno: track y trigger",[15,54283,54284],{},"El motor de reactividad de Vue funciona con un sistema sorprendentemente elegante:",[3031,54286,54287,54293,54299],{},[36,54288,54289,54292],{},[3929,54290,54291],{},"Track:"," cuando una función lee una variable reactiva, Vue registra esa relación.",[36,54294,54295,54298],{},[3929,54296,54297],{},"Trigger:"," cuando el valor cambia, Vue notifica a todas las funciones que dependen de él.",[36,54300,54301,54304],{},[3929,54302,54303],{},"Update:"," el componente se vuelve a renderizar. El Virtual DOM se encarga de actualizar solo lo necesario.",[15,54306,54307],{},"Tú cambias datos. Vue decide qué tocar en el DOM. Separación de responsabilidades en su máxima expresión.",[22,54309,54311],{"id":54310},"consejos-de-rendimiento-nivel-2026","Consejos de rendimiento (nivel 2026)",[15,54313,54314],{},"Si tu aplicación empieza a crecer, estas decisiones importan más de lo que parece.",[33,54316,54317,54327],{},[36,54318,54319,54326],{},[3929,54320,54321,1023,54323,583],{},[87,54322,23449],{},[87,54324,54325],{},"shallowReactive"," útiles cuando trabajas con objetos grandes que no necesitan reactividad profunda.",[36,54328,54329,54332],{},[3929,54330,54331],{},"Cuidado al desestructurar:"," hacer esto rompe la reactividad:",[154,54334,54337],{"className":51862,"code":54335,"filename":54336,"language":51866,"meta":163,"style":163},"const { nombre } = estadoReactivo; \u002F\u002F mal\n","index.js",[87,54338,54339],{"__ignoreMap":163},[167,54340,54341,54343,54345,54348,54350,54352,54355],{"class":169,"line":170},[167,54342,216],{"class":191},[167,54344,577],{"class":173},[167,54346,54347],{"class":219},"nombre",[167,54349,23405],{"class":173},[167,54351,267],{"class":191},[167,54353,54354],{"class":173}," estadoReactivo; ",[167,54356,54357],{"class":18658},"\u002F\u002F mal\n",[15,54359,54360],{},"La forma correcta es:",[154,54362,54364],{"className":51862,"code":54363,"filename":54336,"language":51866,"meta":163,"style":163},"import { reactive, toRefs } from 'vue';\n\nconst estado = reactive({ nombre: 'Vue' });\nconst { nombre } = toRefs(estado);\n",[87,54365,54366,54379,54383,54401],{"__ignoreMap":163},[167,54367,54368,54370,54373,54375,54377],{"class":169,"line":170},[167,54369,192],{"class":191},[167,54371,54372],{"class":173}," { reactive, toRefs } ",[167,54374,198],{"class":191},[167,54376,51440],{"class":201},[167,54378,24040],{"class":173},[167,54380,54381],{"class":169,"line":188},[167,54382,209],{"emptyLinePlaceholder":208},[167,54384,54385,54387,54390,54392,54394,54397,54399],{"class":169,"line":205},[167,54386,216],{"class":191},[167,54388,54389],{"class":219}," estado",[167,54391,223],{"class":191},[167,54393,846],{"class":181},[167,54395,54396],{"class":173},"({ nombre: ",[167,54398,42921],{"class":201},[167,54400,35213],{"class":173},[167,54402,54403,54405,54407,54409,54411,54413,54416],{"class":169,"line":160},[167,54404,216],{"class":191},[167,54406,577],{"class":173},[167,54408,54347],{"class":219},[167,54410,23405],{"class":173},[167,54412,267],{"class":191},[167,54414,54415],{"class":181}," toRefs",[167,54417,54418],{"class":173},"(estado);\n",[22,54420,54422],{"id":54421},"ejemplo-práctico-el-contador-más-honesto-del-mundo","Ejemplo práctico: el contador más honesto del mundo",[154,54424,54426],{"className":156,"code":54425,"filename":3256,"language":162,"meta":163,"style":163},"\u003Cscript setup>\nimport { ref } from 'vue';\n\nconst tazasDeCafe = ref(0);\n\nconst incrementar = () => {\n  tazasDeCafe.value++;\n};\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cbutton @click=\"incrementar\">\n    Tazas consumidas: {{ tazasDeCafe }}\n  \u003C\u002Fbutton>\n\u003C\u002Ftemplate>\n",[87,54427,54428,54438,54450,54454,54471,54475,54490,54500,54504,54512,54516,54524,54539,54544,54552],{"__ignoreMap":163},[167,54429,54430,54432,54434,54436],{"class":169,"line":170},[167,54431,174],{"class":173},[167,54433,178],{"class":177},[167,54435,182],{"class":181},[167,54437,185],{"class":173},[167,54439,54440,54442,54444,54446,54448],{"class":169,"line":188},[167,54441,192],{"class":191},[167,54443,195],{"class":173},[167,54445,198],{"class":191},[167,54447,51440],{"class":201},[167,54449,24040],{"class":173},[167,54451,54452],{"class":169,"line":205},[167,54453,209],{"emptyLinePlaceholder":208},[167,54455,54456,54458,54461,54463,54465,54467,54469],{"class":169,"line":160},[167,54457,216],{"class":191},[167,54459,54460],{"class":219}," tazasDeCafe",[167,54462,223],{"class":191},[167,54464,226],{"class":181},[167,54466,229],{"class":173},[167,54468,1956],{"class":219},[167,54470,24165],{"class":173},[167,54472,54473],{"class":169,"line":238},[167,54474,209],{"emptyLinePlaceholder":208},[167,54476,54477,54479,54482,54484,54486,54488],{"class":169,"line":243},[167,54478,216],{"class":191},[167,54480,54481],{"class":181}," incrementar",[167,54483,223],{"class":191},[167,54485,1464],{"class":173},[167,54487,639],{"class":191},[167,54489,1901],{"class":173},[167,54491,54492,54495,54498],{"class":169,"line":261},[167,54493,54494],{"class":173},"  tazasDeCafe.value",[167,54496,54497],{"class":191},"++",[167,54499,24040],{"class":173},[167,54501,54502],{"class":169,"line":273},[167,54503,24144],{"class":173},[167,54505,54506,54508,54510],{"class":169,"line":279},[167,54507,282],{"class":173},[167,54509,178],{"class":177},[167,54511,185],{"class":173},[167,54513,54514],{"class":169,"line":289},[167,54515,209],{"emptyLinePlaceholder":208},[167,54517,54518,54520,54522],{"class":169,"line":294},[167,54519,174],{"class":173},[167,54521,299],{"class":177},[167,54523,185],{"class":173},[167,54525,54526,54528,54530,54532,54534,54537],{"class":169,"line":304},[167,54527,307],{"class":173},[167,54529,507],{"class":177},[167,54531,1177],{"class":181},[167,54533,267],{"class":173},[167,54535,54536],{"class":201},"\"incrementar\"",[167,54538,185],{"class":173},[167,54540,54541],{"class":169,"line":313},[167,54542,54543],{"class":173},"    Tazas consumidas: {{ tazasDeCafe }}\n",[167,54545,54546,54548,54550],{"class":169,"line":161},[167,54547,504],{"class":173},[167,54549,507],{"class":177},[167,54551,185],{"class":173},[167,54553,54554,54556,54558],{"class":169,"line":335},[167,54555,282],{"class":173},[167,54557,299],{"class":177},[167,54559,185],{"class":173},[154,54561,54563],{"className":156,"code":54562,"filename":3969,"language":162,"meta":163,"style":163},"\u003Cscript>\nexport default {\n  data() {\n    return {\n      tazasDeCafe: 0,\n    };\n  },\n  methods: {\n    incrementar() {\n      this.tazasDeCafe++;\n    },\n  },\n};\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cbutton @click=\"incrementar\">\n    Tazas consumidas: {{ tazasDeCafe }}\n  \u003C\u002Fbutton>\n\u003C\u002Ftemplate>\n",[87,54564,54565,54573,54581,54587,54593,54602,54606,54610,54614,54621,54632,54636,54640,54644,54652,54656,54664,54678,54682,54690],{"__ignoreMap":163},[167,54566,54567,54569,54571],{"class":169,"line":170},[167,54568,174],{"class":173},[167,54570,178],{"class":177},[167,54572,185],{"class":173},[167,54574,54575,54577,54579],{"class":169,"line":188},[167,54576,608],{"class":191},[167,54578,3987],{"class":191},[167,54580,1901],{"class":173},[167,54582,54583,54585],{"class":169,"line":205},[167,54584,7172],{"class":181},[167,54586,763],{"class":173},[167,54588,54589,54591],{"class":169,"line":160},[167,54590,1933],{"class":191},[167,54592,1901],{"class":173},[167,54594,54595,54598,54600],{"class":169,"line":238},[167,54596,54597],{"class":173},"      tazasDeCafe: ",[167,54599,1956],{"class":219},[167,54601,393],{"class":173},[167,54603,54604],{"class":169,"line":243},[167,54605,24366],{"class":173},[167,54607,54608],{"class":169,"line":261},[167,54609,398],{"class":173},[167,54611,54612],{"class":169,"line":273},[167,54613,4415],{"class":173},[167,54615,54616,54619],{"class":169,"line":279},[167,54617,54618],{"class":181},"    incrementar",[167,54620,763],{"class":173},[167,54622,54623,54625,54628,54630],{"class":169,"line":289},[167,54624,741],{"class":219},[167,54626,54627],{"class":173},".tazasDeCafe",[167,54629,54497],{"class":191},[167,54631,24040],{"class":173},[167,54633,54634],{"class":169,"line":294},[167,54635,755],{"class":173},[167,54637,54638],{"class":169,"line":304},[167,54639,398],{"class":173},[167,54641,54642],{"class":169,"line":313},[167,54643,24144],{"class":173},[167,54645,54646,54648,54650],{"class":169,"line":161},[167,54647,282],{"class":173},[167,54649,178],{"class":177},[167,54651,185],{"class":173},[167,54653,54654],{"class":169,"line":335},[167,54655,209],{"emptyLinePlaceholder":208},[167,54657,54658,54660,54662],{"class":169,"line":341},[167,54659,174],{"class":173},[167,54661,299],{"class":177},[167,54663,185],{"class":173},[167,54665,54666,54668,54670,54672,54674,54676],{"class":169,"line":489},[167,54667,307],{"class":173},[167,54669,507],{"class":177},[167,54671,1177],{"class":181},[167,54673,267],{"class":173},[167,54675,54536],{"class":201},[167,54677,185],{"class":173},[167,54679,54680],{"class":169,"line":495},[167,54681,54543],{"class":173},[167,54683,54684,54686,54688],{"class":169,"line":501},[167,54685,504],{"class":173},[167,54687,507],{"class":177},[167,54689,185],{"class":173},[167,54691,54692,54694,54696],{"class":169,"line":512},[167,54693,282],{"class":173},[167,54695,299],{"class":177},[167,54697,185],{"class":173},[15,54699,54700],{},"Cada clic actualiza el estado. Vue detecta el cambio, vuelve a renderizar lo necesario y tú no tocas el DOM en ningún momento. Eso es la reactividad bien entendida: menos código imperativo, menos errores mentales y una interfaz que hace exactamente lo que debería.",[924,54702,54703],{},"html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .s9eBZ, html code.shiki .s9eBZ{--shiki-default:#22863A;--shiki-dark:#85E89D}",{"title":163,"searchDepth":188,"depth":188,"links":54705},[54706,54707,54713,54715,54716,54717],{"id":54095,"depth":188,"text":54096},{"id":54134,"depth":188,"text":54135,"children":54708},[54709,54711],{"id":54141,"depth":205,"text":54710},"Vue 2: Object.defineProperty",{"id":54175,"depth":205,"text":54712},"Vue 3: el poder de Proxy",{"id":54198,"depth":188,"text":54714},"Los dos pilares: ref() vs reactive()",{"id":54280,"depth":188,"text":54281},{"id":54310,"depth":188,"text":54311},{"id":54421,"depth":188,"text":54422},"https:\u002F\u002Fres.cloudinary.com\u002Fdenj4fg7f\u002Fimage\u002Fupload\u002Fv1767664201\u002Fmagical_vue_coding_laboratory_p1incq.jpg","Ilustración de un laboratorio de codificación mágica de Vue.js","2026-01-06","Explora el sistema de reactividad de Vue.js, desde analogías simples hasta su implementación técnica con Proxies, y aprende a optimizar tus aplicaciones.",{"title":54723,"goal":54724,"tasks":54725,"starterCode":54730,"solutionHint":54731},"Construye un contador reactivo pequeno","Practica la diferencia entre estado, estado derivado y efectos creando un contador pequeno con primitivas de reactividad de Vue.",[54726,54727,54728,54729],"Crea un contador con ref() y muestra su valor actual.","Agrega un computed que duplique el contador.","Usa watch() para registrar cuando el contador llegue a 5.","Explica en una frase que lecturas se rastrean y que escrituras disparan actualizaciones.","\u003Cscript setup>\nimport { computed, ref, watch } from 'vue'\n\nconst count = ref(0)\nconst doubled = computed(() => count.value * 2)\n\nwatch(count, (value) => {\n  if (value === 5) {\n    console.log('El contador llego a 5')\n  }\n})\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cbutton @click=\"count++\">Contador: {{ count }}\u003C\u002Fbutton>\n  \u003Cp>Doble: {{ doubled }}\u003C\u002Fp>\n\u003C\u002Ftemplate>\n","El template y el getter de computed leen count, por eso Vue rastrea esas dependencias. Al hacer clic en el boton se escribe en count, asi que Vue dispara las actualizaciones dependientes.",{"updatedAt":52115,"coverCaption":54733,"author":945,"keywords":54734},"Ilustración de un laboratorio de codificación mágica de Vue.js por TODOvue",[3254,3265,54184,3256,2081,18239],"\u002Fblog\u002Fvue-reactivity-explained.es",[54737],{"headline":54738,"author":54739,"datePublished":54740,"@type":959},"Vue 3.6 Beta: La Revolución de Vapor Mode y el Nuevo Motor de Reactividad",{"name":945,"@type":958},"2026-01-05T22:00:00-05:00",{"title":52626,"description":54721},"blog\u002Fvue-reactivity-explained.es",[54744,54745,54746],{"tag":3265,"color":3266},{"tag":5420,"color":5421},{"tag":54747,"color":54748},"Historia","#F27E68","aNdUKGKLcU0hgUVTWG4WlFQa2a_Y5FJ5gcfUnxVfX-o",{"id":54751,"title":54738,"body":54752,"cover":55590,"coverAlt":55591,"date":55592,"description":55593,"draft":1617,"extension":940,"lab":941,"locale":942,"meta":55594,"navigation":208,"path":55597,"schemaOrg":55598,"seo":55602,"series":941,"seriesDescription":941,"seriesOrder":941,"seriesTitle":941,"slug":941,"stem":55603,"tags":55604,"__hash__":55615},"blog\u002Fblog\u002Fvue-beta-vapor-mode-revealed.es.md",{"type":8,"value":54753,"toc":55569},[54754,54757,54768,54774,54778,54788,54792,54799,54802,54845,54853,54861,54867,54871,54880,54887,54892,54916,54921,54948,54952,54955,54959,55047,55056,55060,55073,55077,55080,55243,55249,55253,55345,55349,55352,55356,55374,55389,55403,55417,55421,55428,55510,55514,55520,55554,55556,55566],[11,54755,54738],{"id":54756},"vue-36-beta-la-revolución-de-vapor-mode-y-el-nuevo-motor-de-reactividad",[15,54758,54759,54760,54763,54764,54767],{},"El ecosistema de Vue ha alcanzado un punto de inflexión con el lanzamiento de la ",[3929,54761,54762],{},"versión 3.6.0-beta.1",".\nEsta actualización no es un paso incremental; es una reingeniería profunda que prepara a Vue para un futuro donde el ",[3929,54765,54766],{},"Virtual DOM (VDOM)"," deja de ser el protagonista absoluto.",[15,54769,54770,54771,1675],{},"En este artículo, desglosamos los dos pilares de esta beta: la llegada de la \"Paridad Funcional\" en Vapor Mode y el nuevo motor de señales inspirado en ",[87,54772,54773],{},"alien-signals",[22,54775,54777],{"id":54776},"vapor-mode-alcanzando-la-paridad-funcional","Vapor Mode: Alcanzando la \"Paridad Funcional\"",[15,54779,54780,54781,54784,54785,1675],{},"Hasta hace poco, ",[3929,54782,54783],{},"Vapor Mode"," era un experimento prometedor pero limitado.\nCon la versión 3.6, el equipo core anuncia que se ha alcanzado la ",[3929,54786,54787],{},"Paridad Funcional",[3083,54789,54791],{"id":54790},"qué-significa-paridad-funcional-exactamente","¿Qué significa \"Paridad Funcional\" exactamente?",[15,54793,54794,54795,54798],{},"En el desarrollo de software, este término significa que una nueva implementación (en este caso, el compilador Vapor) ya es capaz de hacer ",[3929,54796,54797],{},"exactamente lo mismo"," que la implementación original (el compilador de VDOM estándar).",[15,54800,54801],{},"Para nosotros los desarrolladores, esto implica que Vapor ya no es solo para \"componentes simples\". Ahora soporta:",[33,54803,54804,54817,54832],{},[36,54805,54806,54809,54810,1020,54812,54814,54815,1675],{},[3929,54807,54808],{},"Directivas de control total:"," Manejo complejo de ",[87,54811,13492],{},[87,54813,30722],{}," (con algoritmos de movimiento de nodos optimizados) y ",[87,54816,23861],{},[36,54818,54819,54822,54823,54825,54826,54829,54830,1675],{},[3929,54820,54821],{},"Arquitectura de Componentes:"," Soporte para ",[9291,54824,51396],{},", componentes dinámicos (",[87,54827,54828],{},"\u003Ccomponent :is=\"...\">",") y ",[87,54831,13442],{},[36,54833,54834,54837,54838,54841,54842,1675],{},[3929,54835,54836],{},"Funciones integradas:"," Soporte nativo para ",[87,54839,54840],{},"\u003CTeleport>"," y el sistema de ",[87,54843,54844],{},"\u003CTransition>",[5363,54846,54847],{},[15,54848,54849,54852],{},[3929,54850,54851],{},"En resumen:"," La paridad funcional permite que un componente complejo de producción pueda ser compilado en modo Vapor sin perder ninguna característica de Vue, pero ganando una velocidad de ejecución sin precedentes.",[22,54854,54856,54857,54860],{"id":54855},"refactorización-de-vuereactivity-el-efecto-alien","Refactorización de ",[87,54858,54859],{},"@vue\u002Freactivity",": El efecto \"Alien\"",[15,54862,54863,54864,54866],{},"La gran sorpresa técnica de Vue 3.6 es la integración de los conceptos de ",[3929,54865,54773],{}," (una librería de señales ultrarrápida creada por Johnson Chu, miembro del core team) dentro del núcleo de Vue.",[3083,54868,54870],{"id":54869},"por-qué-cambiar-el-motor-de-señales","¿Por qué cambiar el motor de señales?",[15,54872,54873,54874,54876,54877,54879],{},"El sistema de reactividad de Vue 3 basado en ",[87,54875,22876],{}," era excelente, pero sufría en dos puntos: el uso de memoria y la limpieza de dependencias.\nLa adopción del modelo de ",[87,54878,54773],{}," resuelve esto cambiando la estructura de datos interna.",[29773,54881,54883,54884,54886],{"id":54882},"el-cambio-técnico-de-set-a-listas-enlazadas","El cambio técnico: De ",[87,54885,21726],{}," a Listas Enlazadas",[15,54888,54889,54890,1675],{},"Tradicionalmente, Vue guardaba los \"suscriptores\" (los efectos que deben ejecutarse cuando un dato cambia) en objetos tipo ",[87,54891,21726],{},[33,54893,54894,54906],{},[36,54895,54896,54899,54900,54902,54903,4266],{},[3929,54897,54898],{},"El Problema:"," Crear miles de ",[87,54901,21726],{}," consume mucha memoria y estresa al recolector de basura (",[9291,54904,54905],{},"Garbage Collector",[36,54907,54908,54911,54912,54915],{},[3929,54909,54910],{},"La Solución:"," El nuevo motor usa una ",[3929,54913,54914],{},"Lista Doblemente Enlazada",". Las suscripciones se conectan entre sí como eslabones de una cadena.",[15,54917,54918],{},[3929,54919,54920],{},"Los beneficios reales son impactantes:",[3031,54922,54923,54933,54939],{},[36,54924,54925,54928,54929,54932],{},[3929,54926,54927],{},"Reducción de Memoria:"," Hasta un ",[3929,54930,54931],{},"14% - 20% menos de consumo"," en aplicaciones con alta densidad de estados.",[36,54934,54935,54938],{},[3929,54936,54937],{},"Operaciones O(1):"," Añadir o eliminar una suscripción reactiva ahora tiene un coste constante, sin importar cuántas dependencias existan.",[36,54940,54941,54944,54945,54947],{},[3929,54942,54943],{},"Computadas Inteligentes:"," Se ha refinado el algoritmo de \"limpieza\" (cleanup), evitando que las propiedades ",[87,54946,1657],{}," se recalculen innecesariamente cuando las dependencias no han cambiado realmente.",[22,54949,54951],{"id":54950},"comparativa-vnode-vs-vapor-mode","Comparativa: VNode vs. Vapor Mode",[15,54953,54954],{},"Para entender por qué esto es una revolución, comparemos qué sucede \"bajo el capó\" con un componente básico.",[3083,54956,54958],{"id":54957},"código-fuente","Código Fuente",[154,54960,54962],{"className":156,"code":54961,"filename":3256,"language":162,"meta":163,"style":163},"\u003Cscript setup>\nimport { ref } from 'vue'\nconst count = ref(0)\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cbutton @click=\"count++\">Contador: {{ count }}\u003C\u002Fbutton>\n\u003C\u002Ftemplate>\n",[87,54963,54964,54974,54984,55000,55008,55012,55020,55039],{"__ignoreMap":163},[167,54965,54966,54968,54970,54972],{"class":169,"line":170},[167,54967,174],{"class":173},[167,54969,178],{"class":177},[167,54971,182],{"class":181},[167,54973,185],{"class":173},[167,54975,54976,54978,54980,54982],{"class":169,"line":188},[167,54977,192],{"class":191},[167,54979,195],{"class":173},[167,54981,198],{"class":191},[167,54983,202],{"class":201},[167,54985,54986,54988,54990,54992,54994,54996,54998],{"class":169,"line":205},[167,54987,216],{"class":191},[167,54989,15321],{"class":219},[167,54991,223],{"class":191},[167,54993,226],{"class":181},[167,54995,229],{"class":173},[167,54997,1956],{"class":219},[167,54999,235],{"class":173},[167,55001,55002,55004,55006],{"class":169,"line":160},[167,55003,282],{"class":173},[167,55005,178],{"class":177},[167,55007,185],{"class":173},[167,55009,55010],{"class":169,"line":238},[167,55011,209],{"emptyLinePlaceholder":208},[167,55013,55014,55016,55018],{"class":169,"line":243},[167,55015,174],{"class":173},[167,55017,299],{"class":177},[167,55019,185],{"class":173},[167,55021,55022,55024,55026,55028,55030,55032,55035,55037],{"class":169,"line":261},[167,55023,307],{"class":173},[167,55025,507],{"class":177},[167,55027,1177],{"class":181},[167,55029,267],{"class":173},[167,55031,18382],{"class":201},[167,55033,55034],{"class":173},">Contador: {{ count }}\u003C\u002F",[167,55036,507],{"class":177},[167,55038,185],{"class":173},[167,55040,55041,55043,55045],{"class":169,"line":273},[167,55042,282],{"class":173},[167,55044,299],{"class":177},[167,55046,185],{"class":173},[154,55048,55050],{"className":156,"code":55049,"filename":3969,"language":162,"meta":163,"style":163},"\u002F\u002F Vapor Mode es exclusivo de Composition API. No hay soporte disponible para Options API.\n",[87,55051,55052],{"__ignoreMap":163},[167,55053,55054],{"class":169,"line":170},[167,55055,55049],{"class":173},[3083,55057,55059],{"id":55058},"el-enfoque-tradicional-virtual-dom","El enfoque tradicional (Virtual DOM)",[15,55061,55062,55063,55065,55066,55068,55069,55072],{},"Vue crea un objeto de JavaScript (VNode) que representa el botón. Cuando ",[87,55064,23402],{}," cambia, Vue crea un ",[3929,55067,52750],{}," VNode, compara ambos (",[9291,55070,55071],{},"diffing",") y decide qué parte del DOM real actualizar. Esto ocurre en milisegundos, pero tiene un costo de CPU y memoria.",[3083,55074,55076],{"id":55075},"el-enfoque-vapor-directo-al-grano","El enfoque Vapor (Directo al grano)",[15,55078,55079],{},"El compilador de Vapor genera código que \"apunta\" directamente al nodo de texto del botón.",[154,55081,55084],{"className":51862,"code":55082,"filename":55083,"language":51866,"meta":163,"style":163},"import { delegateEvents, t, setInterpolation, renderEffect } from '@vue\u002Fruntime-vapor'\n\nconst t0 = t('\u003Cbutton>\u003C\u002Fbutton>') \u002F\u002F Plantilla estática\n\nexport function render(_ctx) {\n  const el0 = t0() \n  delegateEvents(el0, 'click', () => _ctx.count++)\n  \n  \u002F\u002F No hay comparación de árboles. Hay un \"vínculo\" directo.\n  renderEffect(() => {\n    setInterpolation(el0, () => `Contador: ${_ctx.count}`)\n  })\n  \n  return el0\n}\n","Counter.vapor.compiled.js",[87,55085,55086,55098,55102,55124,55128,55144,55158,55181,55185,55190,55201,55224,55228,55232,55239],{"__ignoreMap":163},[167,55087,55088,55090,55093,55095],{"class":169,"line":170},[167,55089,192],{"class":191},[167,55091,55092],{"class":173}," { delegateEvents, t, setInterpolation, renderEffect } ",[167,55094,198],{"class":191},[167,55096,55097],{"class":201}," '@vue\u002Fruntime-vapor'\n",[167,55099,55100],{"class":169,"line":188},[167,55101,209],{"emptyLinePlaceholder":208},[167,55103,55104,55106,55109,55111,55114,55116,55119,55121],{"class":169,"line":205},[167,55105,216],{"class":191},[167,55107,55108],{"class":219}," t0",[167,55110,223],{"class":191},[167,55112,55113],{"class":181}," t",[167,55115,229],{"class":173},[167,55117,55118],{"class":201},"'\u003Cbutton>\u003C\u002Fbutton>'",[167,55120,693],{"class":173},[167,55122,55123],{"class":18658},"\u002F\u002F Plantilla estática\n",[167,55125,55126],{"class":169,"line":160},[167,55127,209],{"emptyLinePlaceholder":208},[167,55129,55130,55132,55134,55137,55139,55142],{"class":169,"line":238},[167,55131,608],{"class":191},[167,55133,1427],{"class":191},[167,55135,55136],{"class":181}," render",[167,55138,229],{"class":173},[167,55140,55141],{"class":254},"_ctx",[167,55143,258],{"class":173},[167,55145,55146,55148,55151,55153,55155],{"class":169,"line":243},[167,55147,1438],{"class":191},[167,55149,55150],{"class":219}," el0",[167,55152,223],{"class":191},[167,55154,55108],{"class":181},[167,55156,55157],{"class":173},"() \n",[167,55159,55160,55163,55166,55169,55172,55174,55177,55179],{"class":169,"line":261},[167,55161,55162],{"class":181},"  delegateEvents",[167,55164,55165],{"class":173},"(el0, ",[167,55167,55168],{"class":201},"'click'",[167,55170,55171],{"class":173},", () ",[167,55173,639],{"class":191},[167,55175,55176],{"class":173}," _ctx.count",[167,55178,54497],{"class":191},[167,55180,235],{"class":173},[167,55182,55183],{"class":169,"line":273},[167,55184,48363],{"class":173},[167,55186,55187],{"class":169,"line":279},[167,55188,55189],{"class":18658},"  \u002F\u002F No hay comparación de árboles. Hay un \"vínculo\" directo.\n",[167,55191,55192,55195,55197,55199],{"class":169,"line":289},[167,55193,55194],{"class":181},"  renderEffect",[167,55196,1488],{"class":173},[167,55198,639],{"class":191},[167,55200,1901],{"class":173},[167,55202,55203,55206,55209,55211,55214,55216,55218,55220,55222],{"class":169,"line":294},[167,55204,55205],{"class":181},"    setInterpolation",[167,55207,55208],{"class":173},"(el0, () ",[167,55210,639],{"class":191},[167,55212,55213],{"class":201}," `Contador: ${",[167,55215,55141],{"class":173},[167,55217,1675],{"class":201},[167,55219,23402],{"class":173},[167,55221,2356],{"class":201},[167,55223,235],{"class":173},[167,55225,55226],{"class":169,"line":304},[167,55227,8343],{"class":173},[167,55229,55230],{"class":169,"line":313},[167,55231,48363],{"class":173},[167,55233,55234,55236],{"class":169,"line":161},[167,55235,1534],{"class":191},[167,55237,55238],{"class":173}," el0\n",[167,55240,55241],{"class":169,"line":335},[167,55242,276],{"class":173},[15,55244,55245,55248],{},[3929,55246,55247],{},"Resultado:"," Cero Virtual DOM, cero algoritmos de comparación, solo manipulación directa del DOM con la máxima eficiencia posible.",[22,55250,55252],{"id":55251},"tabla-de-rendimiento-y-capacidades","Tabla de Rendimiento y Capacidades",[56,55254,55255,55267],{},[59,55256,55257],{},[62,55258,55259,55261,55264],{},[65,55260,51975],{},[65,55262,55263],{},"Vue 3.5 (Standard)",[65,55265,55266],{},"Vue 3.6 (Vapor Mode)",[75,55268,55269,55283,55299,55314,55330],{},[62,55270,55271,55276,55278],{},[80,55272,55273],{},[3929,55274,55275],{},"Estructura Interna",[80,55277,54766],{},[80,55279,55280],{},[3929,55281,55282],{},"VDOM-less (Directo)",[62,55284,55285,55290,55295],{},[80,55286,55287],{},[3929,55288,55289],{},"Motor de Señales",[80,55291,55292,55293],{},"Basado en ",[87,55294,21726],{},[80,55296,55297],{},[3929,55298,54914],{},[62,55300,55301,55306,55309],{},[80,55302,55303],{},[3929,55304,55305],{},"Consumo de Memoria",[80,55307,55308],{},"Base estándar",[80,55310,55311],{},[3929,55312,55313],{},"~14% menor",[62,55315,55316,55321,55324],{},[80,55317,55318],{},[3929,55319,55320],{},"Interoperabilidad",[80,55322,55323],{},"Completa",[80,55325,55326,55327,6215],{},"Alta (vía ",[87,55328,55329],{},"vaporInterop",[62,55331,55332,55337,55340],{},[80,55333,55334],{},[3929,55335,55336],{},"Recomendado para",[80,55338,55339],{},"Apps generales, SSR masivo",[80,55341,55342],{},[3929,55343,55344],{},"Dispositivos IoT, Dashboards pesados, Web Components",[22,55346,55348],{"id":55347},"cómo-empezar-a-probarlo","¿Cómo empezar a probarlo?",[15,55350,55351],{},"Para experimentar con estas mejoras, debes usar la versión beta y configurar tu entorno de Vite para reconocer el modo Vapor.",[3083,55353,55355],{"id":55354},"paso-1-instalación","Paso 1: Instalación",[154,55357,55362],{"className":55358,"code":55359,"filename":55360,"language":55361,"meta":163,"style":163},"language-bash shiki shiki-themes github-light github-dark","npm install vue@3.6.0-beta.1\n","npm","bash",[87,55363,55364],{"__ignoreMap":163},[167,55365,55366,55368,55371],{"class":169,"line":170},[167,55367,55360],{"class":181},[167,55369,55370],{"class":201}," install",[167,55372,55373],{"class":201}," vue@3.6.0-beta.1\n",[154,55375,55378],{"className":55358,"code":55376,"filename":55377,"language":55361,"meta":163,"style":163},"pnpm add vue@3.6.0-beta.1\n","pnpm",[87,55379,55380],{"__ignoreMap":163},[167,55381,55382,55384,55387],{"class":169,"line":170},[167,55383,55377],{"class":181},[167,55385,55386],{"class":201}," add",[167,55388,55373],{"class":201},[154,55390,55393],{"className":55358,"code":55391,"filename":55392,"language":55361,"meta":163,"style":163},"yarn add vue@3.6.0-beta.1\n","yarn",[87,55394,55395],{"__ignoreMap":163},[167,55396,55397,55399,55401],{"class":169,"line":170},[167,55398,55392],{"class":181},[167,55400,55386],{"class":201},[167,55402,55373],{"class":201},[154,55404,55407],{"className":55358,"code":55405,"filename":55406,"language":55361,"meta":163,"style":163},"bun add vue@3.6.0-beta.1\n","bun",[87,55408,55409],{"__ignoreMap":163},[167,55410,55411,55413,55415],{"class":169,"line":170},[167,55412,55406],{"class":181},[167,55414,55386],{"class":201},[167,55416,55373],{"class":201},[3083,55418,55420],{"id":55419},"paso-2-configuración-de-vite","Paso 2: Configuración de Vite",[15,55422,55423,55424,55427],{},"Activa el soporte para archivos ",[87,55425,55426],{},".vapor.vue"," (la convención recomendada para diferenciar componentes):",[154,55429,55433],{"className":51862,"code":55430,"filename":55431,"highlights":55432,"language":51866,"meta":163,"style":163},"import { defineConfig } from 'vite'\nimport vue from '@vitejs\u002Fplugin-vue'\n\nexport default defineConfig({\n  plugins: [\n    vue({\n      vapor: true \u002F\u002F Activa el compilador de Vapor\n    })\n  ]\n})\n","vite.config.js",[261],[87,55434,55435,55447,55459,55463,55474,55479,55486,55497,55501,55506],{"__ignoreMap":163},[167,55436,55437,55439,55442,55444],{"class":169,"line":170},[167,55438,192],{"class":191},[167,55440,55441],{"class":173}," { defineConfig } ",[167,55443,198],{"class":191},[167,55445,55446],{"class":201}," 'vite'\n",[167,55448,55449,55451,55454,55456],{"class":169,"line":188},[167,55450,192],{"class":191},[167,55452,55453],{"class":173}," vue ",[167,55455,198],{"class":191},[167,55457,55458],{"class":201}," '@vitejs\u002Fplugin-vue'\n",[167,55460,55461],{"class":169,"line":205},[167,55462,209],{"emptyLinePlaceholder":208},[167,55464,55465,55467,55469,55472],{"class":169,"line":160},[167,55466,608],{"class":191},[167,55468,3987],{"class":191},[167,55470,55471],{"class":181}," defineConfig",[167,55473,372],{"class":173},[167,55475,55476],{"class":169,"line":238},[167,55477,55478],{"class":173},"  plugins: [\n",[167,55480,55481,55484],{"class":169,"line":243},[167,55482,55483],{"class":181},"    vue",[167,55485,372],{"class":173},[167,55487,55489,55492,55494],{"class":55488,"line":261},[169,213],[167,55490,55491],{"class":173},"      vapor: ",[167,55493,390],{"class":219},[167,55495,55496],{"class":18658}," \u002F\u002F Activa el compilador de Vapor\n",[167,55498,55499],{"class":169,"line":273},[167,55500,8922],{"class":173},[167,55502,55503],{"class":169,"line":279},[167,55504,55505],{"class":173},"  ]\n",[167,55507,55508],{"class":169,"line":289},[167,55509,403],{"class":173},[3083,55511,55513],{"id":55512},"paso-3-uso-de-componentes","Paso 3: Uso de componentes",[15,55515,55516,55517,55519],{},"Puedes mezclar componentes estándar y Vapor. Para forzar a un componente a usar el nuevo motor, usa la extensión ",[87,55518,55426],{}," o define el bloque script:",[154,55521,55525],{"className":156,"code":55522,"filename":55523,"highlights":55524,"language":162,"meta":163,"style":163},"\u003Cscript setup vapor>\n\u002F\u002F Este componente se compilará sin Virtual DOM\n\u003C\u002Fscript>\n","Index.vue",[170],[87,55526,55527,55541,55546],{"__ignoreMap":163},[167,55528,55530,55532,55534,55536,55539],{"class":55529,"line":170},[169,213],[167,55531,174],{"class":173},[167,55533,178],{"class":177},[167,55535,182],{"class":181},[167,55537,55538],{"class":181}," vapor",[167,55540,185],{"class":173},[167,55542,55543],{"class":169,"line":188},[167,55544,55545],{"class":18658},"\u002F\u002F Este componente se compilará sin Virtual DOM\n",[167,55547,55548,55550,55552],{"class":169,"line":205},[167,55549,282],{"class":173},[167,55551,178],{"class":177},[167,55553,185],{"class":173},[22,55555,23570],{"id":23569},[15,55557,55558,55559,55562,55563,55565],{},"Vue 3.6 no es solo una actualización; es un mensaje claro a la comunidad: ",[3929,55560,55561],{},"Vue puede ser tan rápido y ligero como el que más, sin sacrificar su amada sintaxis."," Al integrar la eficiencia de ",[87,55564,54773],{}," y alcanzar la paridad funcional con Vapor, Vue se posiciona como el framework más flexible y potente para la próxima década del desarrollo web.",[924,55567,55568],{},"html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .s9eBZ, html code.shiki .s9eBZ{--shiki-default:#22863A;--shiki-dark:#85E89D}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .s4XuR, html code.shiki .s4XuR{--shiki-default:#E36209;--shiki-dark:#FFAB70}",{"title":163,"searchDepth":188,"depth":188,"links":55570},[55571,55574,55578,55583,55584,55589],{"id":54776,"depth":188,"text":54777,"children":55572},[55573],{"id":54790,"depth":205,"text":54791},{"id":54855,"depth":188,"text":55575,"children":55576},"Refactorización de @vue\u002Freactivity: El efecto \"Alien\"",[55577],{"id":54869,"depth":205,"text":54870},{"id":54950,"depth":188,"text":54951,"children":55579},[55580,55581,55582],{"id":54957,"depth":205,"text":54958},{"id":55058,"depth":205,"text":55059},{"id":55075,"depth":205,"text":55076},{"id":55251,"depth":188,"text":55252},{"id":55347,"depth":188,"text":55348,"children":55585},[55586,55587,55588],{"id":55354,"depth":205,"text":55355},{"id":55419,"depth":205,"text":55420},{"id":55512,"depth":205,"text":55513},{"id":23569,"depth":188,"text":23570},"https:\u002F\u002Fres.cloudinary.com\u002Fdenj4fg7f\u002Fimage\u002Fupload\u002Fv1766870280\u002Fvue-beta-vapor-mode-revealed_snvcqg.png","Logo de Vue.js sobre un fondo de código fuente","2025-12-27","Explora las novedades de Vue 3.6 Beta, incluyendo Vapor Mode y la integración de alien-signals para una reactividad más eficiente.",{"updatedAt":52115,"coverCaption":55595,"author":945,"keywords":55596},"Descubre las innovaciones de Vue 3.6 Beta: Vapor Mode y un motor de reactividad renovado","vue 3.6, vapor mode, alien-signals, reactividad, javascript, framework, frontend, beta","\u002Fblog\u002Fvue-beta-vapor-mode-revealed.es",[55599],{"headline":54738,"author":55600,"datePublished":55601,"@type":959},{"name":945,"@type":958},"2025-12-27T00:00:00-05",{"title":54738,"description":55593},"blog\u002Fvue-beta-vapor-mode-revealed.es",[55605,55608,55610,55611,55614],{"tag":55606,"color":55607},"Beta","#42B883",{"tag":54783,"color":55609},"#41B2A6",{"tag":3265,"color":3266},{"tag":55612,"color":55613},"Ecosistema","#68D4F2",{"tag":7726,"color":7727},"OoT1wXBWbx7Nm_VxKBcOVEX_68taHaHv5lb5JWYp_3Q",{"id":55617,"title":55618,"body":55619,"cover":56577,"coverAlt":56578,"date":56579,"description":56580,"draft":1617,"extension":940,"lab":941,"locale":942,"meta":56581,"navigation":208,"path":56583,"schemaOrg":56584,"seo":56588,"series":941,"seriesDescription":941,"seriesOrder":941,"seriesTitle":941,"slug":941,"stem":56589,"tags":56590,"__hash__":56595},"blog\u002Fblog\u002Fsetting-up-vue-with-vite.es.md","¿Cómo crear tu primer proyecto con Vue usando Vite?",{"type":8,"value":55620,"toc":56565},[55621,55625,55632,55636,55639,55675,55679,55686,55699,55703,55706,55724,55740,55755,55770,55780,55784,55787,55811,55815,55818,55821,55833,55836,55848,55859,55870,55881,55888,55892,55895,55910,55921,55932,55945,55952,55956,55959,56000,56004,56010,56273,56525,56529,56562],[11,55622,55624],{"id":55623},"guía-creando-tu-primer-proyecto-con-vue-y-vite","Guía: Creando tu primer proyecto con Vue y Vite",[15,55626,55627,55628,55631],{},"En esta guía aprenderás a configurar un entorno de desarrollo moderno. ",[3929,55629,55630],{},"Vite"," es una herramienta que reemplaza al antiguo Vue CLI, ofreciendo una velocidad de carga casi instantánea durante el desarrollo.",[22,55633,55635],{"id":55634},"resumen-de-la-solución","Resumen de la solución",[15,55637,55638],{},"Para completar este proyecto, seguiremos estos pasos:",[3031,55640,55641,55647,55657,55663,55669],{},[36,55642,55643,55646],{},[3929,55644,55645],{},"Preparación",": Verificación de herramientas necesarias (Node.js).",[36,55648,55649,55652,55653,55656],{},[3929,55650,55651],{},"Andamiaje",": Uso del comando ",[87,55654,55655],{},"npm create vite"," para generar la estructura.",[36,55658,55659,55662],{},[3929,55660,55661],{},"Instalación",": Configuración de las dependencias del proyecto.",[36,55664,55665,55668],{},[3929,55666,55667],{},"Ejecución",": Lanzamiento del servidor de desarrollo local.",[36,55670,55671,55674],{},[3929,55672,55673],{},"Exploración",": Breve explicación de la estructura de archivos generada.",[22,55676,55678],{"id":55677},"requisitos-previos","Requisitos previos",[15,55680,55681,55682,55685],{},"Antes de empezar, asegúrate de tener instalado ",[3929,55683,55684],{},"Node.js"," (versión 18 o superior). Puedes verificarlo abriendo una terminal y escribiendo:",[154,55687,55689],{"className":55358,"code":55688,"filename":55361,"language":55361,"meta":163,"style":163},"node -v\n",[87,55690,55691],{"__ignoreMap":163},[167,55692,55693,55696],{"class":169,"line":170},[167,55694,55695],{"class":181},"node",[167,55697,55698],{"class":219}," -v\n",[22,55700,55702],{"id":55701},"paso-1-inicializar-el-proyecto","Paso 1: Inicializar el proyecto",[15,55704,55705],{},"Abre tu terminal en la carpeta donde quieras guardar tu proyecto y ejecuta el siguiente comando:",[154,55707,55709],{"className":55358,"code":55708,"filename":55360,"language":55361,"meta":163,"style":163},"npm create vite@latest mi-primer-proyecto-vue\n",[87,55710,55711],{"__ignoreMap":163},[167,55712,55713,55715,55718,55721],{"class":169,"line":170},[167,55714,55360],{"class":181},[167,55716,55717],{"class":201}," create",[167,55719,55720],{"class":201}," vite@latest",[167,55722,55723],{"class":201}," mi-primer-proyecto-vue\n",[154,55725,55727],{"className":55358,"code":55726,"filename":55377,"language":55361,"meta":163,"style":163},"pnpm create vite mi-primer-proyecto-vue\n",[87,55728,55729],{"__ignoreMap":163},[167,55730,55731,55733,55735,55738],{"class":169,"line":170},[167,55732,55377],{"class":181},[167,55734,55717],{"class":201},[167,55736,55737],{"class":201}," vite",[167,55739,55723],{"class":201},[154,55741,55743],{"className":55358,"code":55742,"filename":55392,"language":55361,"meta":163,"style":163},"yarn create vite mi-primer-proyecto-vue\n",[87,55744,55745],{"__ignoreMap":163},[167,55746,55747,55749,55751,55753],{"class":169,"line":170},[167,55748,55392],{"class":181},[167,55750,55717],{"class":201},[167,55752,55737],{"class":201},[167,55754,55723],{"class":201},[154,55756,55758],{"className":55358,"code":55757,"filename":55406,"language":55361,"meta":163,"style":163},"bun create vite mi-primer-proyecto-vue\n",[87,55759,55760],{"__ignoreMap":163},[167,55761,55762,55764,55766,55768],{"class":169,"line":170},[167,55763,55406],{"class":181},[167,55765,55717],{"class":201},[167,55767,55737],{"class":201},[167,55769,55723],{"class":201},[5363,55771,55772],{},[15,55773,55774,16899,55776,55779],{},[3929,55775,53850],{},[87,55777,55778],{},"mi-primer-proyecto-vue"," es el nombre de la carpeta que se creará. Puedes cambiarlo por el que prefieras.",[22,55781,55783],{"id":55782},"paso-2-configuración-del-asistente","Paso 2: Configuración del asistente",[15,55785,55786],{},"Una vez ejecutado el comando, la terminal te hará unas preguntas interactivas. Sigue estas opciones para un proyecto estándar:",[3031,55788,55789,55797],{},[36,55790,55791,55794,55795,1675],{},[3929,55792,55793],{},"Select a framework:"," Usa las flechas del teclado para seleccionar ",[87,55796,26490],{},[36,55798,55799,55802,55803,55806,55807,55810],{},[3929,55800,55801],{},"Select a variant:"," Selecciona ",[87,55804,55805],{},"JavaScript"," (o ",[87,55808,55809],{},"TypeScript"," si prefieres tipado fuerte, pero para empezar recomendamos JavaScript).",[22,55812,55814],{"id":55813},"paso-3-instalación-de-dependencias","Paso 3: Instalación de dependencias",[15,55816,55817],{},"Vite crea la estructura de archivos, pero no instala las librerías automáticamente para ahorrar tiempo. Debes entrar a la carpeta e instalarlas manualmente:",[15,55819,55820],{},"Entra a la carpeta del proyecto",[154,55822,55824],{"className":55358,"code":55823,"filename":55361,"language":55361,"meta":163,"style":163},"cd mi-primer-proyecto-vue\n",[87,55825,55826],{"__ignoreMap":163},[167,55827,55828,55831],{"class":169,"line":170},[167,55829,55830],{"class":219},"cd",[167,55832,55723],{"class":201},[15,55834,55835],{},"Instala todas las librerías necesarias",[154,55837,55839],{"className":55358,"code":55838,"filename":55360,"language":55361,"meta":163,"style":163},"npm install\n",[87,55840,55841],{"__ignoreMap":163},[167,55842,55843,55845],{"class":169,"line":170},[167,55844,55360],{"class":181},[167,55846,55847],{"class":201}," install\n",[154,55849,55851],{"className":55358,"code":55850,"filename":55377,"language":55361,"meta":163,"style":163},"pnpm install\n",[87,55852,55853],{"__ignoreMap":163},[167,55854,55855,55857],{"class":169,"line":170},[167,55856,55377],{"class":181},[167,55858,55847],{"class":201},[154,55860,55862],{"className":55358,"code":55861,"filename":55392,"language":55361,"meta":163,"style":163},"yarn install\n",[87,55863,55864],{"__ignoreMap":163},[167,55865,55866,55868],{"class":169,"line":170},[167,55867,55392],{"class":181},[167,55869,55847],{"class":201},[154,55871,55873],{"className":55358,"code":55872,"filename":55406,"language":55361,"meta":163,"style":163},"bun install\n",[87,55874,55875],{"__ignoreMap":163},[167,55876,55877,55879],{"class":169,"line":170},[167,55878,55406],{"class":181},[167,55880,55847],{"class":201},[15,55882,55883,55884,55887],{},"Este proceso creará la carpeta ",[87,55885,55886],{},"node_modules",", que contiene todo el código necesario para que Vue funcione.",[22,55889,55891],{"id":55890},"paso-4-ejecutar-el-servidor-de-desarrollo","Paso 4: Ejecutar el servidor de desarrollo",[15,55893,55894],{},"¡Ya estás listo! Ahora inicia el servidor para ver tu aplicación en el navegador:",[154,55896,55898],{"className":55358,"code":55897,"filename":55360,"language":55361,"meta":163,"style":163},"npm run dev\n",[87,55899,55900],{"__ignoreMap":163},[167,55901,55902,55904,55907],{"class":169,"line":170},[167,55903,55360],{"class":181},[167,55905,55906],{"class":201}," run",[167,55908,55909],{"class":201}," dev\n",[154,55911,55913],{"className":55358,"code":55912,"filename":55377,"language":55361,"meta":163,"style":163},"pnpm dev\n",[87,55914,55915],{"__ignoreMap":163},[167,55916,55917,55919],{"class":169,"line":170},[167,55918,55377],{"class":181},[167,55920,55909],{"class":201},[154,55922,55924],{"className":55358,"code":55923,"filename":55392,"language":55361,"meta":163,"style":163},"yarn dev\n",[87,55925,55926],{"__ignoreMap":163},[167,55927,55928,55930],{"class":169,"line":170},[167,55929,55392],{"class":181},[167,55931,55909],{"class":201},[154,55933,55935],{"className":55358,"code":55934,"filename":55406,"language":55361,"meta":163,"style":163},"bun run dev\n",[87,55936,55937],{"__ignoreMap":163},[167,55938,55939,55941,55943],{"class":169,"line":170},[167,55940,55406],{"class":181},[167,55942,55906],{"class":201},[167,55944,55909],{"class":201},[15,55946,55947,55948,55951],{},"La terminal te mostrará una URL (normalmente ",[87,55949,55950],{},"http:\u002F\u002Flocalhost:5173\u002F","). Abre ese enlace en tu navegador y verás la página de bienvenida de Vue.",[22,55953,55955],{"id":55954},"paso-5-estructura-del-proyecto","Paso 5: Estructura del proyecto",[15,55957,55958],{},"Aquí tienes una descripción de los archivos más importantes que verás en tu editor de código:",[33,55960,55961,55969,55977,55985,55993],{},[36,55962,55963,55968],{},[3929,55964,55965],{},[87,55966,55967],{},"index.html",": El punto de entrada principal. Vite lo usa para montar la aplicación.",[36,55970,55971,55976],{},[3929,55972,55973],{},[87,55974,55975],{},"src\u002Fmain.js",": El archivo JavaScript que inicializa la instancia de Vue y la conecta con el HTML.",[36,55978,55979,55984],{},[3929,55980,55981],{},[87,55982,55983],{},"src\u002FApp.vue",": El componente raíz de tu aplicación. Todo lo que escribas aquí se verá en pantalla.",[36,55986,55987,55992],{},[3929,55988,55989],{},[87,55990,55991],{},"src\u002Fcomponents\u002F",": Carpeta donde guardarás tus propios componentes reutilizables.",[36,55994,55995,55999],{},[3929,55996,55997],{},[87,55998,55431],{},": Archivo de configuración de Vite.",[22,56001,56003],{"id":56002},"ejemplo-de-un-componente-básico","Ejemplo de un componente básico",[15,56005,56006,56007,56009],{},"Para empezar a programar, puedes abrir el archivo ",[87,56008,55983],{}," y reemplazar su contenido con este código sencillo para entender cómo funciona la reactividad:",[154,56011,56013],{"className":156,"code":56012,"filename":3256,"language":162,"meta":163,"style":163},"\u003Ctemplate>\n  \u003Cdiv>\n    \u003Ch1>{{ mensaje }}\u003C\u002Fh1>\n    \u003Cbutton @click=\"incrementar\">Contador: {{ contador }}\u003C\u002Fbutton>\n  \u003C\u002Fdiv>\n\u003C\u002Ftemplate>\n\n\u003Cscript setup>\nimport { ref } from 'vue';\n\n\u002F\u002F Definimos una variable reactiva\nconst mensaje = \"¡Hola desde mi app con Vite!\";\nconst contador = ref(0);\n\n\u002F\u002F Función para cambiar el estado\nconst incrementar = () => {\n  contador.value++;\n};\n\u003C\u002Fscript>\n\n\u003Cstyle scoped>\nh1 {\n  color: #42b983;\n}\nbutton {\n  padding: 10px 20px;\n  cursor: pointer;\n}\n\u003C\u002Fstyle>\n",[87,56014,56015,56023,56031,56044,56063,56071,56079,56083,56093,56105,56109,56114,56128,56145,56149,56154,56168,56177,56181,56189,56193,56204,56210,56221,56225,56231,56249,56261,56265],{"__ignoreMap":163},[167,56016,56017,56019,56021],{"class":169,"line":170},[167,56018,174],{"class":173},[167,56020,299],{"class":177},[167,56022,185],{"class":173},[167,56024,56025,56027,56029],{"class":169,"line":188},[167,56026,307],{"class":173},[167,56028,1237],{"class":177},[167,56030,185],{"class":173},[167,56032,56033,56035,56037,56040,56042],{"class":169,"line":205},[167,56034,1252],{"class":173},[167,56036,11],{"class":177},[167,56038,56039],{"class":173},">{{ mensaje }}\u003C\u002F",[167,56041,11],{"class":177},[167,56043,185],{"class":173},[167,56045,56046,56048,56050,56052,56054,56056,56059,56061],{"class":169,"line":160},[167,56047,1252],{"class":173},[167,56049,507],{"class":177},[167,56051,1177],{"class":181},[167,56053,267],{"class":173},[167,56055,54536],{"class":201},[167,56057,56058],{"class":173},">Contador: {{ contador }}\u003C\u002F",[167,56060,507],{"class":177},[167,56062,185],{"class":173},[167,56064,56065,56067,56069],{"class":169,"line":238},[167,56066,504],{"class":173},[167,56068,1237],{"class":177},[167,56070,185],{"class":173},[167,56072,56073,56075,56077],{"class":169,"line":243},[167,56074,282],{"class":173},[167,56076,299],{"class":177},[167,56078,185],{"class":173},[167,56080,56081],{"class":169,"line":261},[167,56082,209],{"emptyLinePlaceholder":208},[167,56084,56085,56087,56089,56091],{"class":169,"line":273},[167,56086,174],{"class":173},[167,56088,178],{"class":177},[167,56090,182],{"class":181},[167,56092,185],{"class":173},[167,56094,56095,56097,56099,56101,56103],{"class":169,"line":279},[167,56096,192],{"class":191},[167,56098,195],{"class":173},[167,56100,198],{"class":191},[167,56102,51440],{"class":201},[167,56104,24040],{"class":173},[167,56106,56107],{"class":169,"line":289},[167,56108,209],{"emptyLinePlaceholder":208},[167,56110,56111],{"class":169,"line":294},[167,56112,56113],{"class":18658},"\u002F\u002F Definimos una variable reactiva\n",[167,56115,56116,56118,56121,56123,56126],{"class":169,"line":304},[167,56117,216],{"class":191},[167,56119,56120],{"class":219}," mensaje",[167,56122,223],{"class":191},[167,56124,56125],{"class":201}," \"¡Hola desde mi app con Vite!\"",[167,56127,24040],{"class":173},[167,56129,56130,56132,56135,56137,56139,56141,56143],{"class":169,"line":313},[167,56131,216],{"class":191},[167,56133,56134],{"class":219}," contador",[167,56136,223],{"class":191},[167,56138,226],{"class":181},[167,56140,229],{"class":173},[167,56142,1956],{"class":219},[167,56144,24165],{"class":173},[167,56146,56147],{"class":169,"line":161},[167,56148,209],{"emptyLinePlaceholder":208},[167,56150,56151],{"class":169,"line":335},[167,56152,56153],{"class":18658},"\u002F\u002F Función para cambiar el estado\n",[167,56155,56156,56158,56160,56162,56164,56166],{"class":169,"line":341},[167,56157,216],{"class":191},[167,56159,54481],{"class":181},[167,56161,223],{"class":191},[167,56163,1464],{"class":173},[167,56165,639],{"class":191},[167,56167,1901],{"class":173},[167,56169,56170,56173,56175],{"class":169,"line":489},[167,56171,56172],{"class":173},"  contador.value",[167,56174,54497],{"class":191},[167,56176,24040],{"class":173},[167,56178,56179],{"class":169,"line":495},[167,56180,24144],{"class":173},[167,56182,56183,56185,56187],{"class":169,"line":501},[167,56184,282],{"class":173},[167,56186,178],{"class":177},[167,56188,185],{"class":173},[167,56190,56191],{"class":169,"line":512},[167,56192,209],{"emptyLinePlaceholder":208},[167,56194,56195,56197,56199,56202],{"class":169,"line":781},[167,56196,174],{"class":173},[167,56198,924],{"class":177},[167,56200,56201],{"class":181}," scoped",[167,56203,185],{"class":173},[167,56205,56206,56208],{"class":169,"line":786},[167,56207,11],{"class":177},[167,56209,1901],{"class":173},[167,56211,56212,56214,56216,56219],{"class":169,"line":2674},[167,56213,27135],{"class":219},[167,56215,1103],{"class":173},[167,56217,56218],{"class":219},"#42b983",[167,56220,24040],{"class":173},[167,56222,56223],{"class":169,"line":2688},[167,56224,276],{"class":173},[167,56226,56227,56229],{"class":169,"line":3571},[167,56228,507],{"class":177},[167,56230,1901],{"class":173},[167,56232,56233,56235,56237,56240,56242,56245,56247],{"class":169,"line":5024},[167,56234,27147],{"class":219},[167,56236,1103],{"class":173},[167,56238,56239],{"class":219},"10",[167,56241,27169],{"class":191},[167,56243,56244],{"class":219}," 20",[167,56246,27169],{"class":191},[167,56248,24040],{"class":173},[167,56250,56251,56254,56256,56259],{"class":169,"line":5033},[167,56252,56253],{"class":219},"  cursor",[167,56255,1103],{"class":173},[167,56257,56258],{"class":219},"pointer",[167,56260,24040],{"class":173},[167,56262,56263],{"class":169,"line":5042},[167,56264,276],{"class":173},[167,56266,56267,56269,56271],{"class":169,"line":6752},[167,56268,282],{"class":173},[167,56270,924],{"class":177},[167,56272,185],{"class":173},[154,56274,56276],{"className":156,"code":56275,"filename":3969,"language":162,"meta":163,"style":163},"\u003Ctemplate>\n  \u003Cdiv>\n    \u003Ch1>{{ mensaje }}\u003C\u002Fh1>\n    \u003Cbutton @click=\"incrementar\">Contador: {{ contador }}\u003C\u002Fbutton>\n  \u003C\u002Fdiv>\n\u003C\u002Ftemplate>\n\n\u003Cscript>\nexport default {\n  name: 'App',\n  data() {\n    return {\n      mensaje: '¡Hola desde mi app con Vite!',\n      contador: 0\n    };\n  },\n  methods: {\n    incrementar() {\n      this.contador++;\n    }\n  }\n};\n\u003C\u002Fscript>\n\n\u003Cstyle scoped>\nh1 {\n  color: #42b983;\n}\nbutton {\n  padding: 10px 20px;\n  cursor: pointer;\n}\n\u003C\u002Fstyle>\n",[87,56277,56278,56286,56294,56306,56324,56332,56340,56344,56352,56360,56369,56375,56381,56391,56398,56402,56406,56410,56416,56427,56431,56435,56439,56447,56451,56461,56467,56477,56481,56487,56503,56513,56517],{"__ignoreMap":163},[167,56279,56280,56282,56284],{"class":169,"line":170},[167,56281,174],{"class":173},[167,56283,299],{"class":177},[167,56285,185],{"class":173},[167,56287,56288,56290,56292],{"class":169,"line":188},[167,56289,307],{"class":173},[167,56291,1237],{"class":177},[167,56293,185],{"class":173},[167,56295,56296,56298,56300,56302,56304],{"class":169,"line":205},[167,56297,1252],{"class":173},[167,56299,11],{"class":177},[167,56301,56039],{"class":173},[167,56303,11],{"class":177},[167,56305,185],{"class":173},[167,56307,56308,56310,56312,56314,56316,56318,56320,56322],{"class":169,"line":160},[167,56309,1252],{"class":173},[167,56311,507],{"class":177},[167,56313,1177],{"class":181},[167,56315,267],{"class":173},[167,56317,54536],{"class":201},[167,56319,56058],{"class":173},[167,56321,507],{"class":177},[167,56323,185],{"class":173},[167,56325,56326,56328,56330],{"class":169,"line":238},[167,56327,504],{"class":173},[167,56329,1237],{"class":177},[167,56331,185],{"class":173},[167,56333,56334,56336,56338],{"class":169,"line":243},[167,56335,282],{"class":173},[167,56337,299],{"class":177},[167,56339,185],{"class":173},[167,56341,56342],{"class":169,"line":261},[167,56343,209],{"emptyLinePlaceholder":208},[167,56345,56346,56348,56350],{"class":169,"line":273},[167,56347,174],{"class":173},[167,56349,178],{"class":177},[167,56351,185],{"class":173},[167,56353,56354,56356,56358],{"class":169,"line":279},[167,56355,608],{"class":191},[167,56357,3987],{"class":191},[167,56359,1901],{"class":173},[167,56361,56362,56364,56367],{"class":169,"line":289},[167,56363,4394],{"class":173},[167,56365,56366],{"class":201},"'App'",[167,56368,393],{"class":173},[167,56370,56371,56373],{"class":169,"line":294},[167,56372,7172],{"class":181},[167,56374,763],{"class":173},[167,56376,56377,56379],{"class":169,"line":304},[167,56378,1933],{"class":191},[167,56380,1901],{"class":173},[167,56382,56383,56386,56389],{"class":169,"line":313},[167,56384,56385],{"class":173},"      mensaje: ",[167,56387,56388],{"class":201},"'¡Hola desde mi app con Vite!'",[167,56390,393],{"class":173},[167,56392,56393,56396],{"class":169,"line":161},[167,56394,56395],{"class":173},"      contador: ",[167,56397,10677],{"class":219},[167,56399,56400],{"class":169,"line":335},[167,56401,24366],{"class":173},[167,56403,56404],{"class":169,"line":341},[167,56405,398],{"class":173},[167,56407,56408],{"class":169,"line":489},[167,56409,4415],{"class":173},[167,56411,56412,56414],{"class":169,"line":495},[167,56413,54618],{"class":181},[167,56415,763],{"class":173},[167,56417,56418,56420,56423,56425],{"class":169,"line":501},[167,56419,741],{"class":219},[167,56421,56422],{"class":173},".contador",[167,56424,54497],{"class":191},[167,56426,24040],{"class":173},[167,56428,56429],{"class":169,"line":512},[167,56430,4045],{"class":173},[167,56432,56433],{"class":169,"line":781},[167,56434,3488],{"class":173},[167,56436,56437],{"class":169,"line":786},[167,56438,24144],{"class":173},[167,56440,56441,56443,56445],{"class":169,"line":2674},[167,56442,282],{"class":173},[167,56444,178],{"class":177},[167,56446,185],{"class":173},[167,56448,56449],{"class":169,"line":2688},[167,56450,209],{"emptyLinePlaceholder":208},[167,56452,56453,56455,56457,56459],{"class":169,"line":3571},[167,56454,174],{"class":173},[167,56456,924],{"class":177},[167,56458,56201],{"class":181},[167,56460,185],{"class":173},[167,56462,56463,56465],{"class":169,"line":5024},[167,56464,11],{"class":177},[167,56466,1901],{"class":173},[167,56468,56469,56471,56473,56475],{"class":169,"line":5033},[167,56470,27135],{"class":219},[167,56472,1103],{"class":173},[167,56474,56218],{"class":219},[167,56476,24040],{"class":173},[167,56478,56479],{"class":169,"line":5042},[167,56480,276],{"class":173},[167,56482,56483,56485],{"class":169,"line":6752},[167,56484,507],{"class":177},[167,56486,1901],{"class":173},[167,56488,56489,56491,56493,56495,56497,56499,56501],{"class":169,"line":6774},[167,56490,27147],{"class":219},[167,56492,1103],{"class":173},[167,56494,56239],{"class":219},[167,56496,27169],{"class":191},[167,56498,56244],{"class":219},[167,56500,27169],{"class":191},[167,56502,24040],{"class":173},[167,56504,56505,56507,56509,56511],{"class":169,"line":6779},[167,56506,56253],{"class":219},[167,56508,1103],{"class":173},[167,56510,56258],{"class":219},[167,56512,24040],{"class":173},[167,56514,56515],{"class":169,"line":6784},[167,56516,276],{"class":173},[167,56518,56519,56521,56523],{"class":169,"line":6789},[167,56520,282],{"class":173},[167,56522,924],{"class":177},[167,56524,185],{"class":173},[3083,56526,56528],{"id":56527},"explicación-del-código","Explicación del código:",[33,56530,56531,56541,56551],{},[36,56532,56533,56537,56538,56540],{},[3929,56534,56535],{},[87,56536,31993],{},": Contiene el HTML. Usamos ",[87,56539,30564],{}," para mostrar variables.",[36,56542,56543,56547,56548,56550],{},[3929,56544,56545],{},[87,56546,1003],{},": Es la forma moderna de escribir lógica en Vue 3. Usamos ",[87,56549,2081],{}," para que Vue sepa que cuando el valor cambie, debe actualizar la pantalla.",[36,56552,56553,56557,56558,56561],{},[3929,56554,56555],{},[87,56556,26710],{},": Aquí va el CSS, y el atributo ",[87,56559,56560],{},"scoped"," asegura que los estilos solo afecten a este componente.",[924,56563,56564],{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .s9eBZ, html code.shiki .s9eBZ{--shiki-default:#22863A;--shiki-dark:#85E89D}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}",{"title":163,"searchDepth":188,"depth":188,"links":56566},[56567,56568,56569,56570,56571,56572,56573,56574],{"id":55634,"depth":188,"text":55635},{"id":55677,"depth":188,"text":55678},{"id":55701,"depth":188,"text":55702},{"id":55782,"depth":188,"text":55783},{"id":55813,"depth":188,"text":55814},{"id":55890,"depth":188,"text":55891},{"id":55954,"depth":188,"text":55955},{"id":56002,"depth":188,"text":56003,"children":56575},[56576],{"id":56527,"depth":205,"text":56528},"https:\u002F\u002Fres.cloudinary.com\u002Fdenj4fg7f\u002Fimage\u002Fupload\u002Fv1766607505\u002Fsetting_up_vue_with_vite_crikmp.png","Logo de Vue.js con el logo de Vite de fondo","2025-12-24","Una guía paso a paso para configurar un entorno de desarrollo moderno con Vue.js y Vite.",{"updatedAt":52115,"coverCaption":56582},"Configura tu entorno de desarrollo con Vue y Vite en minutos","\u002Fblog\u002Fsetting-up-vue-with-vite.es",[56585],{"headline":55618,"author":56586,"datePublished":56587,"@type":959},{"name":945,"@type":958},"2025-12-24T00:00:00-05",{"title":55618,"description":56580},"blog\u002Fsetting-up-vue-with-vite.es",[56591,56593,56594],{"tag":55630,"color":56592},"#646CFF",{"tag":55612,"color":55613},{"tag":5420,"color":5421},"ID3RcMYIQmxPmT53eZ4R0DE5wAx-pz-SvPR2vkFFjRc",{"id":56597,"title":56598,"body":56599,"cover":56772,"coverAlt":56773,"date":56774,"description":56775,"draft":1617,"extension":940,"lab":941,"locale":942,"meta":56776,"navigation":208,"path":56778,"schemaOrg":56779,"seo":56783,"series":941,"seriesDescription":941,"seriesOrder":941,"seriesTitle":941,"slug":941,"stem":56784,"tags":56785,"__hash__":56788},"blog\u002Fblog\u002Fhistory-evolution-philosophy-vue-progressive-framework.es.md","Historia y Evolución de Vue.js: El Framework Progresivo",{"type":8,"value":56600,"toc":56763},[56601,56605,56611,56615,56626,56632,56636,56643,56682,56692,56696,56700,56714,56718,56721,56746,56750],[11,56602,56604],{"id":56603},"vuejs-la-evolución-del-framework-progresivo","Vue.js: La Evolución del Framework Progresivo",[15,56606,56607,56608,56610],{},"Desde su humilde comienzo como un proyecto paralelo en Google hasta convertirse en uno de los pilares del desarrollo web moderno, ",[3929,56609,3254],{}," ha mantenido una filosofía única: ser el framework que crece contigo. En este artículo, exploraremos cómo su historia y diseño técnico han redefinido la experiencia de desarrollo (DX).",[22,56612,56614],{"id":56613},"el-origen-la-visión-de-evan-you","El Origen: La Visión de Evan You",[15,56616,56617,56618,56621,56622,56625],{},"La historia de Vue comienza en 2013, dentro de las oficinas de Google Creative Lab. ",[3929,56619,56620],{},"Evan You",", trabajando con AngularJS, sintió que podía extraer lo mejor de ese mundo (el enlace de datos o ",[9291,56623,56624],{},"data binding",") y combinarlo con una estructura mucho más ligera y menos restrictiva.",[15,56627,6300,56628,56631],{},[3929,56629,56630],{},"febrero de 2014",", se lanzó oficialmente la versión 1.0. A diferencia de sus competidores, Vue no nació bajo el ala de una gran corporación (como React con Facebook o Angular con Google), sino como un proyecto independiente impulsado por la comunidad y el feedback directo de los desarrolladores.",[22,56633,56635],{"id":56634},"la-filosofía-del-framework-progresivo","La Filosofía del \"Framework Progresivo\"",[15,56637,56638,56639,56642],{},"¿Qué significa realmente que Vue sea ",[3929,56640,56641],{},"progresivo","? A diferencia de los frameworks monolíticos, Vue se divide en capas que puedes adoptar según tus necesidades:",[3031,56644,56645,56651,56657,56666,56674],{},[36,56646,56647,56650],{},[3929,56648,56649],{},"Declarative Rendering:"," Puedes usarlo solo para manejar el DOM.",[36,56652,56653,56656],{},[3929,56654,56655],{},"Component System:"," Para crear interfaces modulares.",[36,56658,56659,56662,56663,1675],{},[3929,56660,56661],{},"Client-Side Routing:"," Mediante ",[9291,56664,56665],{},"Vue Router",[36,56667,56668,56662,56671,56673],{},[3929,56669,56670],{},"State Management:",[9291,56672,949],{}," (anteriormente Vuex).",[36,56675,56676,56679,56680,1675],{},[3929,56677,56678],{},"Build System:"," Optimizado actualmente por ",[9291,56681,55630],{},[15,56683,56684,56685,56687,56688,56691],{},"Esta escalabilidad permite que un desarrollador integre Vue en una página legacy mediante un simple ",[87,56686,1003],{}," de CDN, o construya una ",[3929,56689,56690],{},"Single Page Application (SPA)"," compleja con millones de usuarios.",[22,56693,56695],{"id":56694},"evolución-técnica-de-la-v1-a-la-v3","Evolución Técnica: De la V1 a la V3",[3083,56697,56699],{"id":56698},"vue-2-la-consolidación","Vue 2: La Consolidación",[15,56701,56702,56703,56706,56707,56710,56711,56713],{},"Lanzado en 2016, introdujo el ",[3929,56704,56705],{},"Virtual DOM",", mejorando drásticamente el rendimiento. Fue la era donde el ecosistema explotó, popularizando los ",[3929,56708,56709],{},"Single File Components (SFC)"," y el uso de ",[87,56712,54145],{}," para su sistema de reactividad.",[3083,56715,56717],{"id":56716},"vue-3-el-gran-salto-one-piece","Vue 3: El Gran Salto (One Piece)",[15,56719,56720],{},"En septiembre de 2020, Vue 3 trajo una reescritura completa del núcleo. Los cambios clave fueron:",[33,56722,56723,56734,56740],{},[36,56724,56725,56728,56729,56731,56732,4266],{},[3929,56726,56727],{},"Composition API:"," Una alternativa superior a la ",[9291,56730,3969],{}," para organizar la lógica de componentes complejos y mejorar la reutilización de código (",[9291,56733,1626],{},[36,56735,56736,56739],{},[3929,56737,56738],{},"Reactividad basada en Proxies:"," Superando las limitaciones de Vue 2, permitiendo detectar cambios en propiedades nuevas y arreglos de forma nativa.",[36,56741,56742,56745],{},[3929,56743,56744],{},"Soporte de TypeScript de primer nivel:"," El framework ahora está escrito en TS, facilitando el tipado estático.",[22,56747,56749],{"id":56748},"el-futuro-y-el-ecosistema-actual","El Futuro y el Ecosistema Actual",[15,56751,56752,56753,56755,56756,56759,56760,56762],{},"Hoy, Vue no es solo una librería; es un estándar de rendimiento gracias a ",[3929,56754,55630],{},", el motor de bundling creado por el propio equipo de Vue que ha revolucionado la industria. Con el auge de ",[3929,56757,56758],{},"Nuxt 3"," para aplicaciones SSR (Server Side Rendering) y la transición oficial a ",[3929,56761,949],{}," como gestor de estado, el ecosistema es más robusto y maduro que nunca.",{"title":163,"searchDepth":188,"depth":188,"links":56764},[56765,56766,56767,56771],{"id":56613,"depth":188,"text":56614},{"id":56634,"depth":188,"text":56635},{"id":56694,"depth":188,"text":56695,"children":56768},[56769,56770],{"id":56698,"depth":205,"text":56699},{"id":56716,"depth":205,"text":56717},{"id":56748,"depth":188,"text":56749},"https:\u002F\u002Fres.cloudinary.com\u002Fdenj4fg7f\u002Fimage\u002Fupload\u002Fv1766105778\u002Fhistoria_de_vue_wbwv72.png","Logo de Vue.js con fondo de código fuente","2025-12-19","Desde sus inicios como un proyecto paralelo en Google hasta convertirse en uno de los pilares del desarrollo web moderno, exploramos la evolución y filosofía de Vue.js.",{"updatedAt":52115,"coverCaption":56777},"Explorando la evolución de Vue.js desde sus inicios hasta la actualidad","\u002Fblog\u002Fhistory-evolution-philosophy-vue-progressive-framework.es",[56780],{"headline":56598,"author":56781,"datePublished":56782,"@type":959},{"name":945,"@type":958},"2025-12-19T00:00:00-05",{"title":56598,"description":56775},"blog\u002Fhistory-evolution-philosophy-vue-progressive-framework.es",[56786,56787],{"tag":54747,"color":54748},{"tag":55612,"color":55613},"rJyCA4jjvQiJ_sw3YqFOoiddKcMhFEHJpq4Aw3J5Uzg",{"id":56790,"title":56791,"body":56792,"cover":57423,"coverAlt":55591,"date":57424,"description":57425,"draft":1617,"extension":940,"lab":941,"locale":942,"meta":57426,"navigation":208,"path":57429,"schemaOrg":57430,"seo":57434,"series":941,"seriesDescription":941,"seriesOrder":941,"seriesTitle":941,"slug":941,"stem":57435,"tags":57436,"__hash__":57440},"blog\u002Fblog\u002Fwhat-is-vue-js-and-why-you-should-use-it.es.md","¿Qué es Vue.js y por qué deberías usarlo?",{"type":8,"value":56793,"toc":57405},[56794,56798,56804,56810,56813,56817,56823,56829,56834,56840,56851,56855,56861,57076,57285,57296,57300,57303,57309,57321,57326,57336,57340,57346,57351,57357,57372,57378,57383,57389,57394,57396,57399,57402],[11,56795,56797],{"id":56796},"vuejs-el-framework-progresivo-para-la-web-moderna","Vue.js: El Framework Progresivo para la Web Moderna",[15,56799,56800,56801,56803],{},"En el saturado ecosistema de JavaScript, elegir una herramienta para el frontend puede sentirse como intentar dar a un blanco móvil. Sin embargo, ",[3929,56802,3254],{}," ha logrado posicionarse no solo como una alternativa a gigantes como React o Angular, sino como la opción preferida para quienes buscan un equilibrio entre potencia, simplicidad y rendimiento.",[15,56805,56806,56809],{},[3929,56807,56808],{},"Vue.js es un framework JavaScript de código abierto"," creado por Evan You en 2014, diseñado específicamente para construir interfaces de usuario interactivas y aplicaciones de una sola página (SPA). Su filosofía se centra en ser accesible, versátil y eficiente, priorizando la experiencia del desarrollador sin comprometer el rendimiento.",[15,56811,56812],{},"Pero, ¿qué es exactamente lo que hace a Vue especial y por qué deberías considerarlo para tu próximo proyecto en 2025?",[22,56814,56816],{"id":56815},"el-concepto-de-framework-progresivo","El Concepto de \"Framework Progresivo\"",[15,56818,56819,56820,56822],{},"A diferencia de otros frameworks monolíticos que te obligan a adoptar toda su estructura desde el día uno, Vue se define como ",[3929,56821,56641],{},". Esto significa que su complejidad escala según tus necesidades:",[3083,56824,56826],{"id":56825},"uso-como-librería",[3929,56827,56828],{},"Uso como librería:",[33,56830,56831],{},[36,56832,56833],{},"Puedes integrar Vue en una página existente mediante un simple CDN para manejar widgets pequeños o añadir interactividad ligera sin reescribir todo tu backend.",[3083,56835,56837],{"id":56836},"uso-como-framework-spa",[3929,56838,56839],{},"Uso como Framework (SPA):",[33,56841,56842],{},[36,56843,56844,56845,56847,56848,56850],{},"Puedes construir aplicaciones robustas de una sola página (Single Page Applications) utilizando su ecosistema oficial completo: ",[3929,56846,56665],{}," para la navegación y ",[3929,56849,949],{}," para la gestión del estado global.",[22,56852,56854],{"id":56853},"reactividad-transparente-y-eficiente","Reactividad Transparente y Eficiente",[15,56856,56857,56858,56860],{},"El corazón de Vue es su sistema de reactividad. En su versión 3, Vue utiliza los ",[87,56859,22876],{}," nativos de JavaScript para interceptar cambios en los datos. Esto permite que el framework sepa exactamente qué parte del DOM debe actualizarse, evitando renderizados innecesarios y procesos pesados de comparación de nodos.",[154,56862,56864],{"className":156,"code":56863,"filename":3256,"language":162,"meta":163,"style":163},"\u003Cscript setup>\nimport { ref, computed } from 'vue';\n\n\u002F\u002F Estado reactivo simple\nconst contador = ref(0);\n\n\u002F\u002F Propiedad computada: se recalcula solo cuando cambia 'contador'\nconst esPar = computed(() => contador.value % 2 === 0);\n\nconst incrementar = () => {\n  contador.value++;\n};\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cdiv class=\"contador\">\n    \u003Ch3>Contador: {{ contador }}\u003C\u002Fh3>\n    \u003Cp>El número es: {{ esPar ? 'Par' : 'Impar' }}\u003C\u002Fp>\n    \u003Cbutton @click=\"incrementar\">Incrementar\u003C\u002Fbutton>\n  \u003C\u002Fdiv>\n\u003C\u002Ftemplate>\n",[87,56865,56866,56876,56888,56892,56897,56913,56917,56922,56952,56956,56970,56978,56982,56990,56994,57002,57017,57029,57042,57060,57068],{"__ignoreMap":163},[167,56867,56868,56870,56872,56874],{"class":169,"line":170},[167,56869,174],{"class":173},[167,56871,178],{"class":177},[167,56873,182],{"class":181},[167,56875,185],{"class":173},[167,56877,56878,56880,56882,56884,56886],{"class":169,"line":188},[167,56879,192],{"class":191},[167,56881,18281],{"class":173},[167,56883,198],{"class":191},[167,56885,51440],{"class":201},[167,56887,24040],{"class":173},[167,56889,56890],{"class":169,"line":205},[167,56891,209],{"emptyLinePlaceholder":208},[167,56893,56894],{"class":169,"line":160},[167,56895,56896],{"class":18658},"\u002F\u002F Estado reactivo simple\n",[167,56898,56899,56901,56903,56905,56907,56909,56911],{"class":169,"line":238},[167,56900,216],{"class":191},[167,56902,56134],{"class":219},[167,56904,223],{"class":191},[167,56906,226],{"class":181},[167,56908,229],{"class":173},[167,56910,1956],{"class":219},[167,56912,24165],{"class":173},[167,56914,56915],{"class":169,"line":243},[167,56916,209],{"emptyLinePlaceholder":208},[167,56918,56919],{"class":169,"line":261},[167,56920,56921],{"class":18658},"\u002F\u002F Propiedad computada: se recalcula solo cuando cambia 'contador'\n",[167,56923,56924,56926,56929,56931,56933,56935,56937,56940,56943,56945,56948,56950],{"class":169,"line":273},[167,56925,216],{"class":191},[167,56927,56928],{"class":219}," esPar",[167,56930,223],{"class":191},[167,56932,1894],{"class":181},[167,56934,1488],{"class":173},[167,56936,639],{"class":191},[167,56938,56939],{"class":173}," contador.value ",[167,56941,56942],{"class":191},"%",[167,56944,18328],{"class":219},[167,56946,56947],{"class":191}," ===",[167,56949,44655],{"class":219},[167,56951,24165],{"class":173},[167,56953,56954],{"class":169,"line":279},[167,56955,209],{"emptyLinePlaceholder":208},[167,56957,56958,56960,56962,56964,56966,56968],{"class":169,"line":289},[167,56959,216],{"class":191},[167,56961,54481],{"class":181},[167,56963,223],{"class":191},[167,56965,1464],{"class":173},[167,56967,639],{"class":191},[167,56969,1901],{"class":173},[167,56971,56972,56974,56976],{"class":169,"line":294},[167,56973,56172],{"class":173},[167,56975,54497],{"class":191},[167,56977,24040],{"class":173},[167,56979,56980],{"class":169,"line":304},[167,56981,24144],{"class":173},[167,56983,56984,56986,56988],{"class":169,"line":313},[167,56985,282],{"class":173},[167,56987,178],{"class":177},[167,56989,185],{"class":173},[167,56991,56992],{"class":169,"line":161},[167,56993,209],{"emptyLinePlaceholder":208},[167,56995,56996,56998,57000],{"class":169,"line":335},[167,56997,174],{"class":173},[167,56999,299],{"class":177},[167,57001,185],{"class":173},[167,57003,57004,57006,57008,57010,57012,57015],{"class":169,"line":341},[167,57005,307],{"class":173},[167,57007,1237],{"class":177},[167,57009,1240],{"class":181},[167,57011,267],{"class":173},[167,57013,57014],{"class":201},"\"contador\"",[167,57016,185],{"class":173},[167,57018,57019,57021,57023,57025,57027],{"class":169,"line":489},[167,57020,1252],{"class":173},[167,57022,3083],{"class":177},[167,57024,56058],{"class":173},[167,57026,3083],{"class":177},[167,57028,185],{"class":173},[167,57030,57031,57033,57035,57038,57040],{"class":169,"line":495},[167,57032,1252],{"class":173},[167,57034,15],{"class":177},[167,57036,57037],{"class":173},">El número es: {{ esPar ? 'Par' : 'Impar' }}\u003C\u002F",[167,57039,15],{"class":177},[167,57041,185],{"class":173},[167,57043,57044,57046,57048,57050,57052,57054,57056,57058],{"class":169,"line":501},[167,57045,1252],{"class":173},[167,57047,507],{"class":177},[167,57049,1177],{"class":181},[167,57051,267],{"class":173},[167,57053,54536],{"class":201},[167,57055,50449],{"class":173},[167,57057,507],{"class":177},[167,57059,185],{"class":173},[167,57061,57062,57064,57066],{"class":169,"line":512},[167,57063,504],{"class":173},[167,57065,1237],{"class":177},[167,57067,185],{"class":173},[167,57069,57070,57072,57074],{"class":169,"line":781},[167,57071,282],{"class":173},[167,57073,299],{"class":177},[167,57075,185],{"class":173},[154,57077,57079],{"className":156,"code":57078,"filename":3969,"language":162,"meta":163,"style":163},"\u003Cscript>\nexport default {\n  data() {\n    return {\n      contador: 0\n    };\n  },\n  computed: {\n    esPar() {\n      return this.contador % 2 === 0;\n    }\n  },\n  methods: {\n    incrementar() {\n      this.contador++;\n    }\n  }\n};\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cdiv class=\"contador\">\n    \u003Ch3>Contador: {{ contador }}\u003C\u002Fh3>\n    \u003Cp>El número es: {{ esPar ? 'Par' : 'Impar' }}\u003C\u002Fp>\n    \u003Cbutton @click=\"incrementar\">Incrementar\u003C\u002Fbutton>\n  \u003C\u002Fdiv>\n\u003C\u002Ftemplate>\n",[87,57080,57081,57089,57097,57103,57109,57115,57119,57123,57127,57134,57153,57157,57161,57165,57171,57181,57185,57189,57193,57201,57205,57213,57227,57239,57251,57269,57277],{"__ignoreMap":163},[167,57082,57083,57085,57087],{"class":169,"line":170},[167,57084,174],{"class":173},[167,57086,178],{"class":177},[167,57088,185],{"class":173},[167,57090,57091,57093,57095],{"class":169,"line":188},[167,57092,608],{"class":191},[167,57094,3987],{"class":191},[167,57096,1901],{"class":173},[167,57098,57099,57101],{"class":169,"line":205},[167,57100,7172],{"class":181},[167,57102,763],{"class":173},[167,57104,57105,57107],{"class":169,"line":160},[167,57106,1933],{"class":191},[167,57108,1901],{"class":173},[167,57110,57111,57113],{"class":169,"line":238},[167,57112,56395],{"class":173},[167,57114,10677],{"class":219},[167,57116,57117],{"class":169,"line":243},[167,57118,24366],{"class":173},[167,57120,57121],{"class":169,"line":261},[167,57122,398],{"class":173},[167,57124,57125],{"class":169,"line":273},[167,57126,8751],{"class":173},[167,57128,57129,57132],{"class":169,"line":279},[167,57130,57131],{"class":181},"    esPar",[167,57133,763],{"class":173},[167,57135,57136,57138,57140,57143,57145,57147,57149,57151],{"class":169,"line":289},[167,57137,8763],{"class":191},[167,57139,7347],{"class":219},[167,57141,57142],{"class":173},".contador ",[167,57144,56942],{"class":191},[167,57146,18328],{"class":219},[167,57148,56947],{"class":191},[167,57150,44655],{"class":219},[167,57152,24040],{"class":173},[167,57154,57155],{"class":169,"line":294},[167,57156,4045],{"class":173},[167,57158,57159],{"class":169,"line":304},[167,57160,398],{"class":173},[167,57162,57163],{"class":169,"line":313},[167,57164,4415],{"class":173},[167,57166,57167,57169],{"class":169,"line":161},[167,57168,54618],{"class":181},[167,57170,763],{"class":173},[167,57172,57173,57175,57177,57179],{"class":169,"line":335},[167,57174,741],{"class":219},[167,57176,56422],{"class":173},[167,57178,54497],{"class":191},[167,57180,24040],{"class":173},[167,57182,57183],{"class":169,"line":341},[167,57184,4045],{"class":173},[167,57186,57187],{"class":169,"line":489},[167,57188,3488],{"class":173},[167,57190,57191],{"class":169,"line":495},[167,57192,24144],{"class":173},[167,57194,57195,57197,57199],{"class":169,"line":501},[167,57196,282],{"class":173},[167,57198,178],{"class":177},[167,57200,185],{"class":173},[167,57202,57203],{"class":169,"line":512},[167,57204,209],{"emptyLinePlaceholder":208},[167,57206,57207,57209,57211],{"class":169,"line":781},[167,57208,174],{"class":173},[167,57210,299],{"class":177},[167,57212,185],{"class":173},[167,57214,57215,57217,57219,57221,57223,57225],{"class":169,"line":786},[167,57216,307],{"class":173},[167,57218,1237],{"class":177},[167,57220,1240],{"class":181},[167,57222,267],{"class":173},[167,57224,57014],{"class":201},[167,57226,185],{"class":173},[167,57228,57229,57231,57233,57235,57237],{"class":169,"line":2674},[167,57230,1252],{"class":173},[167,57232,3083],{"class":177},[167,57234,56058],{"class":173},[167,57236,3083],{"class":177},[167,57238,185],{"class":173},[167,57240,57241,57243,57245,57247,57249],{"class":169,"line":2688},[167,57242,1252],{"class":173},[167,57244,15],{"class":177},[167,57246,57037],{"class":173},[167,57248,15],{"class":177},[167,57250,185],{"class":173},[167,57252,57253,57255,57257,57259,57261,57263,57265,57267],{"class":169,"line":3571},[167,57254,1252],{"class":173},[167,57256,507],{"class":177},[167,57258,1177],{"class":181},[167,57260,267],{"class":173},[167,57262,54536],{"class":201},[167,57264,50449],{"class":173},[167,57266,507],{"class":177},[167,57268,185],{"class":173},[167,57270,57271,57273,57275],{"class":169,"line":5024},[167,57272,504],{"class":173},[167,57274,1237],{"class":177},[167,57276,185],{"class":173},[167,57278,57279,57281,57283],{"class":169,"line":5033},[167,57280,282],{"class":173},[167,57282,299],{"class":177},[167,57284,185],{"class":173},[15,57286,57287,57288,57291,57292,57295],{},"Este simple ejemplo demuestra cómo Vue rastrea automáticamente las dependencias: cuando ",[87,57289,57290],{},"contador"," cambia, tanto la visualización del número como la propiedad computada ",[87,57293,57294],{},"esPar"," se actualizan sin intervención manual.",[22,57297,57299],{"id":57298},"versatilidad-de-apis-options-vs-composition","Versatilidad de APIs: Options vs. Composition",[15,57301,57302],{},"Una de las mayores fortalezas de Vue es su dualidad, adaptándose al nivel de experiencia del equipo y a la escala del problema:",[3083,57304,57306],{"id":57305},"options-api",[3929,57307,57308],{},"Options API:",[33,57310,57311],{},[36,57312,57313,57314,1020,57316,1020,57318,57320],{},"La forma clásica. Organiza el código por \"opciones\" (",[87,57315,17979],{},[87,57317,17988],{},[87,57319,1657],{},"). Es extremadamente legible y recomendada para quienes están haciendo la transición desde HTML\u002FJS básico o jQuery.",[3083,57322,57324],{"id":57323},"composition-api",[3929,57325,56727],{},[33,57327,57328],{},[36,57329,57330,57331,57333,57334,1675],{},"Introducida en Vue 3, permite agrupar la lógica por funcionalidades en lugar de por tipos de opción. Es la herramienta definitiva para proyectos grandes, ya que facilita la creación de lógica reutilizable (",[3929,57332,953],{},") y ofrece una integración nativa y robusta con ",[3929,57335,55809],{},[22,57337,57339],{"id":57338},"por-qué-elegir-vuejs-hoy","¿Por qué elegir Vue.js hoy?",[3083,57341,57343],{"id":57342},"curva-de-aprendizaje-amable",[3929,57344,57345],{},"Curva de aprendizaje amable:",[33,57347,57348],{},[36,57349,57350],{},"Si dominas los fundamentos de la web (HTML, CSS y JS), serás productivo en Vue en cuestión de horas. Su sintaxis de plantillas (Templates) es familiar y reduce la carga cognitiva.",[3083,57352,57354],{"id":57353},"ecosistema-unificado",[3929,57355,57356],{},"Ecosistema Unificado:",[33,57358,57359],{},[36,57360,57361,57362,57364,57365,57367,57368,57371],{},"El equipo oficial de Vue mantiene las herramientas críticas: ",[3929,57363,55630],{}," (el bundler más rápido del mercado), ",[3929,57366,949],{}," (estado) y ",[3929,57369,57370],{},"Router",". Esto garantiza que todas las piezas encajen perfectamente tras cada actualización.",[3083,57373,57375],{"id":57374},"rendimiento-de-élite",[3929,57376,57377],{},"Rendimiento de Élite:",[33,57379,57380],{},[36,57381,57382],{},"Gracias a un compilador inteligente que optimiza las plantillas en tiempo de construcción, Vue genera un código de ejecución ligero que suele superar en velocidad a frameworks con mayor cuota de mercado.",[3083,57384,57386],{"id":57385},"documentación-de-referencia",[3929,57387,57388],{},"Documentación de referencia:",[33,57390,57391],{},[36,57392,57393],{},"Es ampliamente considerada como el estándar de oro en la industria por ser clara, estar siempre actualizada y ofrecer ejemplos que funcionan \"a la primera\".",[22,57395,23570],{"id":23569},[15,57397,57398],{},"Vue.js no intenta reinventar la web, sino hacer que trabajar en ella sea más placentero y eficiente. Es la elección lógica si buscas un framework que crezca con tu proyecto, ofreciendo la flexibilidad de una pequeña librería con la potencia de un entorno empresarial de alto nivel.",[15,57400,57401],{},"Ya sea que estés construyendo tu primera aplicación web o migrando un proyecto legacy, Vue te acompaña en cada etapa sin imponerte decisiones arquitectónicas prematuras. Su comunidad activa, el soporte corporativo de empresas como Alibaba y la constante innovación del equipo core garantizan que Vue seguirá siendo relevante en los años venideros.",[924,57403,57404],{},"html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .s9eBZ, html code.shiki .s9eBZ{--shiki-default:#22863A;--shiki-dark:#85E89D}html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":163,"searchDepth":188,"depth":188,"links":57406},[57407,57411,57412,57416,57422],{"id":56815,"depth":188,"text":56816,"children":57408},[57409,57410],{"id":56825,"depth":205,"text":56828},{"id":56836,"depth":205,"text":56839},{"id":56853,"depth":188,"text":56854},{"id":57298,"depth":188,"text":57299,"children":57413},[57414,57415],{"id":57305,"depth":205,"text":57308},{"id":57323,"depth":205,"text":56727},{"id":57338,"depth":188,"text":57339,"children":57417},[57418,57419,57420,57421],{"id":57342,"depth":205,"text":57345},{"id":57353,"depth":205,"text":57356},{"id":57374,"depth":205,"text":57377},{"id":57385,"depth":205,"text":57388},{"id":23569,"depth":188,"text":23570},"https:\u002F\u002Fres.cloudinary.com\u002Fdenj4fg7f\u002Fimage\u002Fupload\u002Fv1766098457\u002FQue_es_Vue_y_por_que_deberias_usarlo_tmowoz.png","2025-12-18","Descubre Vue.js, un framework progresivo de JavaScript, y aprende por qué es una excelente opción para desarrollar aplicaciones web modernas y reactivas.",{"updatedAt":52115,"coverCaption":57427,"author":945,"keywords":57428},"Explorando Vue.js: El framework progresivo para la web moderna","vue.js, javascript, framework, frontend, spa, reactividad, composition api, vue 3","\u002Fblog\u002Fwhat-is-vue-js-and-why-you-should-use-it.es",[57431],{"headline":56791,"author":57432,"datePublished":57433,"@type":959},{"name":945,"@type":958},"2025-12-18T00:00:00-05",{"title":56791,"description":57425},"blog\u002Fwhat-is-vue-js-and-why-you-should-use-it.es",[57437,57438,57439],{"tag":55612,"color":55613},{"tag":5420,"color":5421},{"tag":54747,"color":54748},"3oUGsbaCuwOgI_KyRJd-09Ixe2vRBkwOj4YxwJT8Nks",{"id":57442,"title":57443,"body":57444,"cover":57599,"coverAlt":57600,"date":57601,"description":57602,"draft":1617,"extension":940,"lab":941,"locale":942,"meta":57603,"navigation":208,"path":57605,"schemaOrg":57606,"seo":57610,"series":941,"seriesDescription":941,"seriesOrder":941,"seriesTitle":941,"slug":941,"stem":57611,"tags":57612,"__hash__":57618},"blog\u002Fblog\u002Fwelcome-to-todovue.es.md","TODOvue: Un espacio dedicado al ecosistema de Vue.js",{"type":8,"value":57445,"toc":57593},[57446,57452,57458,57468,57472,57475,57526,57530,57536,57543,57550,57554,57568,57572,57578,57581,57583],[11,57447,57449,57450,6637],{"id":57448},"bienvenidos-a-todovue","¡Bienvenidos a ",[3929,57451,945],{},[15,57453,57454,57455,57457],{},"Este espacio nace de una necesidad clara: establecer un punto de encuentro para desarrolladores que, al igual que yo, encuentran en el ecosistema de ",[3929,57456,3254],{}," una de las herramientas más potentes, elegantes y eficientes para construir la web moderna.",[15,57459,57460,57462,57463,1020,57465,57467],{},[3929,57461,945],{}," no es solo un blog; es un proyecto técnico dedicado a desglosar cada rincón de ",[3929,57464,950],{},[3929,57466,6303],{}," y el abanico de librerías que optimizan nuestro flujo de trabajo diario.",[22,57469,57471],{"id":57470},"qué-esperar-de-este-blog","¿Qué esperar de este blog?",[15,57473,57474],{},"Nuestro objetivo es trascender los tutoriales introductorios. En TODOvue profundizaremos en pilares fundamentales para el desarrollo profesional:",[33,57476,57477,57488,57503,57513],{},[36,57478,57479,57482,57483,57485,57486,1675],{},[3929,57480,57481],{},"Patrones de Diseño y Composición",": Uso avanzado de la ",[3929,57484,3256],{},", patrones de reusabilidad y diseño de ",[9291,57487,1626],{},[36,57489,57490,57493,57494,1020,57496,1020,57499,57502],{},[3929,57491,57492],{},"Ecosistema Nuxt",": Estrategias de renderizado avanzado (",[3929,57495,973],{},[3929,57497,57498],{},"SSG",[3929,57500,57501],{},"Hybrid Rendering \u002F ISR","), gestión de módulos y despliegue optimizado.",[36,57504,57505,57508,57509,57512],{},[3929,57506,57507],{},"Rendimiento y Optimización",": Técnicas de ",[9291,57510,57511],{},"code-splitting",", optimización de bundles y estrategias para alcanzar la máxima velocidad en el lado del cliente.",[36,57514,57515,57518,57519,1020,57521,1020,57523,57525],{},[3929,57516,57517],{},"Herramientas y Librerías",": Análisis profundo de ",[3929,57520,949],{},[3929,57522,56665],{},[3929,57524,55630],{}," y las propuestas emergentes más disruptivas de la comunidad.",[22,57527,57529],{"id":57528},"dogfooding-construido-con-lo-que-enseñamos","\"Dogfooding\": Construido con lo que enseñamos",[15,57531,57532,57533,1675],{},"Un aspecto diferencial de este blog es su propia arquitectura. Todo lo que interactúa en esta plataforma ha sido desarrollado bajo los principios de ",[3929,57534,57535],{},"Atomic Design",[15,57537,57538,57539,57542],{},"He decidido que cada pieza de TODOvue —desde los átomos (botones) hasta el motor de renderizado de artículos— funcione como un componente independiente publicado en ",[3929,57540,57541],{},"NPM",". Aunque el foco principal es el contenido educativo, la infraestructura es totalmente transparente y abierta para quienes deseen integrarla en sus propios proyectos.",[15,57544,57545,57546,57549],{},"Creemos en el ",[3929,57547,57548],{},"Open Source"," no solo como una filosofía, sino como una práctica de ingeniería. Si un componente es lo suficientemente robusto para dar vida a este blog, debe estar disponible para la comunidad en el registro de NPM.",[22,57551,57553],{"id":57552},"por-qué-ahora","¿Por qué ahora?",[15,57555,57556,57557,57559,57560,57563,57564,57567],{},"Vue 3 ha alcanzado un estado de madurez excepcional. Gracias a la adopción de ",[87,57558,1003],{},", la estabilidad de Nuxt 3 y la velocidad de Vite, el desarrollo ",[9291,57561,57562],{},"frontend"," nunca ha sido tan gratificante. Sin embargo, la evolución es constante: surgen nuevos retos, ",[9291,57565,57566],{},"breaking changes"," y patrones de arquitectura que merecen ser documentados y analizados con rigor técnico.",[22,57569,57571],{"id":57570},"únete-a-la-conversación","Únete a la conversación",[15,57573,57574,57575,57577],{},"Este es el inicio de un camino de aprendizaje continuo. ",[3929,57576,945],{}," aspira a ser una fuente de consulta confiable y un espacio de intercambio de conocimientos.",[15,57579,57580],{},"Te invito a explorar el contenido, experimentar con los componentes que alimentan este sitio y, sobre todo, a mantener la curiosidad por este framework que nos apasiona.",[44263,57582],{},[15,57584,57585,57588,57589],{},[3929,57586,57587],{},"¿Hay algún tema específico de Vue o Nuxt que te gustaría que tratáramos primero?","\n¡Contáctame! ",[19088,57590,57592],{"href":57591},"mailto:blog@todovue.blog","blog@todovue.blog",{"title":163,"searchDepth":188,"depth":188,"links":57594},[57595,57596,57597,57598],{"id":57470,"depth":188,"text":57471},{"id":57528,"depth":188,"text":57529},{"id":57552,"depth":188,"text":57553},{"id":57570,"depth":188,"text":57571},"https:\u002F\u002Fres.cloudinary.com\u002Fdenj4fg7f\u002Fimage\u002Fupload\u002Fv1766098456\u002FTODOvue_idegxt.png","Logo de TODOvue con código fuente de fondo","2025-12-17","Bienvenidos a TODOvue. Un blog técnico diseñado por y para desarrolladores, donde exploramos a fondo Vue 3, Nuxt y la arquitectura de componentes moderna.",{"updatedAt":52115,"coverCaption":57604},"Explorando el universo de Vue.js de principio a fin","\u002Fblog\u002Fwelcome-to-todovue.es",[57607],{"headline":57443,"author":57608,"datePublished":57609,"@type":959},{"name":945,"@type":958},"2025-12-17T00:00:00-05:00",{"title":57443,"description":57602},"blog\u002Fwelcome-to-todovue.es",[57613,57614,57617],{"tag":945,"color":55607},{"tag":57615,"color":57616},"Offtopic","#605AD1",{"tag":55612,"color":55613},"QCC1KEhGX4J18VW5hhPy_dY_G47DK7o6kElWExWVHwg",{"id":57620,"title":57621,"body":57622,"cover":5391,"coverAlt":57621,"date":5392,"description":59595,"draft":1617,"extension":940,"lab":59596,"locale":59606,"meta":59607,"navigation":208,"path":59611,"schemaOrg":59612,"seo":59615,"series":941,"seriesDescription":941,"seriesOrder":941,"seriesTitle":941,"slug":941,"stem":59616,"tags":59617,"__hash__":59626},"blog\u002Fblog\u002Fvue-3-props-emits-component-communication.en.md","Props and Emits in Vue 3: Component Communication",{"type":8,"value":57623,"toc":59583},[57624,57627,57630,57633,57645,57648,57652,57655,57890,57893,57896,58094,58097,58103,58111,58258,58406,58409,58412,58418,58421,58630,58848,58851,58855,58858,58861,58951,58954,58957,59070,59287,59290,59334,59338,59341,59344,59366,59375,59379,59382,59385,59497,59503,59527,59530,59534,59537,59551,59557,59560,59564,59567,59572,59575,59578,59581],[11,57625,57621],{"id":57626},"props-and-emits-in-vue-3-component-communication",[15,57628,57629],{},"Once an application starts to split into components, a simple question appears: how do those components share information?",[15,57631,57632],{},"In Vue, the basic answer usually looks like this:",[33,57634,57635,57640],{},[36,57636,57637,57639],{},[87,57638,3296],{}," pass data from a parent component down to a child component.",[36,57641,57642,57644],{},[87,57643,3303],{}," let a child component notify the parent that something happened.",[15,57646,57647],{},"That flow may look small, but it gives a lot of order to an interface. The parent keeps the important state. The child receives what it needs to render and emits events when something happens that the parent should know about.",[22,57649,57651],{"id":57650},"the-usual-flow-data-down-events-up","The usual flow: data down, events up",[15,57653,57654],{},"Imagine a task list. The parent component owns the full array:",[154,57656,57659],{"className":156,"code":57657,"filename":3318,"highlights":57658,"language":162,"meta":163,"style":163},"\u003Cscript setup>\nimport { ref } from 'vue'\nimport TaskCard from '.\u002FTaskCard.vue'\n\nconst tasks = ref([\n  { id: 1, title: 'Read the props guide', completed: false },\n  { id: 2, title: 'Create a small component', completed: false }\n])\n\nconst completeTask = (taskId) => {\n  const task = tasks.value.find((item) => item.id === taskId)\n  if (task) {\n    task.completed = true\n  }\n}\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003CTaskCard\n    v-for=\"task in tasks\"\n    :key=\"task.id\"\n    :task=\"task\"\n    @complete=\"completeTask\"\n  \u002F>\n\u003C\u002Ftemplate>\n",[501,512,781,786,2674],[87,57660,57661,57671,57681,57691,57695,57707,57724,57741,57745,57749,57767,57793,57799,57807,57811,57815,57823,57827,57835,57842,57851,57860,57869,57878,57882],{"__ignoreMap":163},[167,57662,57663,57665,57667,57669],{"class":169,"line":170},[167,57664,174],{"class":173},[167,57666,178],{"class":177},[167,57668,182],{"class":181},[167,57670,185],{"class":173},[167,57672,57673,57675,57677,57679],{"class":169,"line":188},[167,57674,192],{"class":191},[167,57676,195],{"class":173},[167,57678,198],{"class":191},[167,57680,202],{"class":201},[167,57682,57683,57685,57687,57689],{"class":169,"line":205},[167,57684,192],{"class":191},[167,57686,3348],{"class":173},[167,57688,198],{"class":191},[167,57690,3353],{"class":201},[167,57692,57693],{"class":169,"line":160},[167,57694,209],{"emptyLinePlaceholder":208},[167,57696,57697,57699,57701,57703,57705],{"class":169,"line":238},[167,57698,216],{"class":191},[167,57700,3364],{"class":219},[167,57702,223],{"class":191},[167,57704,226],{"class":181},[167,57706,1823],{"class":173},[167,57708,57709,57711,57713,57715,57718,57720,57722],{"class":169,"line":243},[167,57710,1828],{"class":173},[167,57712,1831],{"class":219},[167,57714,3379],{"class":173},[167,57716,57717],{"class":201},"'Read the props guide'",[167,57719,3385],{"class":173},[167,57721,3388],{"class":219},[167,57723,1852],{"class":173},[167,57725,57726,57728,57730,57732,57735,57737,57739],{"class":169,"line":261},[167,57727,1828],{"class":173},[167,57729,1849],{"class":219},[167,57731,3379],{"class":173},[167,57733,57734],{"class":201},"'Create a small component'",[167,57736,3385],{"class":173},[167,57738,3388],{"class":219},[167,57740,599],{"class":173},[167,57742,57743],{"class":169,"line":273},[167,57744,429],{"class":173},[167,57746,57747],{"class":169,"line":279},[167,57748,209],{"emptyLinePlaceholder":208},[167,57750,57751,57753,57755,57757,57759,57761,57763,57765],{"class":169,"line":289},[167,57752,216],{"class":191},[167,57754,3422],{"class":181},[167,57756,223],{"class":191},[167,57758,2522],{"class":173},[167,57760,3429],{"class":254},[167,57762,693],{"class":173},[167,57764,639],{"class":191},[167,57766,1901],{"class":173},[167,57768,57769,57771,57773,57775,57777,57779,57781,57783,57785,57787,57789,57791],{"class":169,"line":294},[167,57770,1438],{"class":191},[167,57772,3442],{"class":219},[167,57774,223],{"class":191},[167,57776,3447],{"class":173},[167,57778,3450],{"class":181},[167,57780,1914],{"class":173},[167,57782,1922],{"class":254},[167,57784,693],{"class":173},[167,57786,639],{"class":191},[167,57788,3461],{"class":173},[167,57790,2546],{"class":191},[167,57792,3466],{"class":173},[167,57794,57795,57797],{"class":169,"line":304},[167,57796,2540],{"class":191},[167,57798,3473],{"class":173},[167,57800,57801,57803,57805],{"class":169,"line":313},[167,57802,3478],{"class":173},[167,57804,267],{"class":191},[167,57806,3483],{"class":219},[167,57808,57809],{"class":169,"line":161},[167,57810,3488],{"class":173},[167,57812,57813],{"class":169,"line":335},[167,57814,276],{"class":173},[167,57816,57817,57819,57821],{"class":169,"line":341},[167,57818,282],{"class":173},[167,57820,178],{"class":177},[167,57822,185],{"class":173},[167,57824,57825],{"class":169,"line":489},[167,57826,209],{"emptyLinePlaceholder":208},[167,57828,57829,57831,57833],{"class":169,"line":495},[167,57830,174],{"class":173},[167,57832,299],{"class":177},[167,57834,185],{"class":173},[167,57836,57838,57840],{"class":57837,"line":501},[169,213],[167,57839,307],{"class":173},[167,57841,3520],{"class":177},[167,57843,57845,57847,57849],{"class":57844,"line":512},[169,213],[167,57846,3526],{"class":181},[167,57848,267],{"class":173},[167,57850,3531],{"class":201},[167,57852,57854,57856,57858],{"class":57853,"line":781},[169,213],[167,57855,3537],{"class":181},[167,57857,267],{"class":173},[167,57859,3542],{"class":201},[167,57861,57863,57865,57867],{"class":57862,"line":786},[169,213],[167,57864,3548],{"class":181},[167,57866,267],{"class":173},[167,57868,3553],{"class":201},[167,57870,57872,57874,57876],{"class":57871,"line":2674},[169,213],[167,57873,3559],{"class":181},[167,57875,267],{"class":173},[167,57877,3564],{"class":201},[167,57879,57880],{"class":169,"line":2688},[167,57881,338],{"class":173},[167,57883,57884,57886,57888],{"class":169,"line":3571},[167,57885,282],{"class":173},[167,57887,299],{"class":177},[167,57889,185],{"class":173},[15,57891,57892],{},"The parent knows the list, knows how to update it, and decides what to do when a task changes.",[15,57894,57895],{},"The child component only needs to display one task and notify the parent when the user clicks:",[154,57897,57900],{"className":156,"code":57898,"filename":3587,"highlights":57899,"language":162,"meta":163,"style":163},"\u003Cscript setup>\nconst props = defineProps({\n  task: {\n    type: Object,\n    required: true\n  }\n})\n\nconst emit = defineEmits(['complete'])\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Carticle>\n    \u003Ch2>{{ props.task.title }}\u003C\u002Fh2>\n    \u003Cp>{{ props.task.completed ? 'Completed' : 'Pending' }}\u003C\u002Fp>\n\n    \u003Cbutton\n      type=\"button\"\n      :disabled=\"props.task.completed\"\n      @click=\"emit('complete', props.task.id)\"\n    >\n      Mark as complete\n    \u003C\u002Fbutton>\n  \u003C\u002Farticle>\n\u003C\u002Ftemplate>\n",[188,205,160,238,243,261,279,512],[87,57901,57902,57912,57925,57930,57935,57942,57947,57952,57956,57973,57981,57985,57993,58001,58013,58026,58030,58036,58044,58052,58061,58065,58070,58078,58086],{"__ignoreMap":163},[167,57903,57904,57906,57908,57910],{"class":169,"line":170},[167,57905,174],{"class":173},[167,57907,178],{"class":177},[167,57909,182],{"class":181},[167,57911,185],{"class":173},[167,57913,57915,57917,57919,57921,57923],{"class":57914,"line":188},[169,213],[167,57916,216],{"class":191},[167,57918,1060],{"class":219},[167,57920,223],{"class":191},[167,57922,1065],{"class":181},[167,57924,372],{"class":173},[167,57926,57928],{"class":57927,"line":205},[169,213],[167,57929,3619],{"class":173},[167,57931,57933],{"class":57932,"line":160},[169,213],[167,57934,3625],{"class":173},[167,57936,57938,57940],{"class":57937,"line":238},[169,213],[167,57939,387],{"class":173},[167,57941,3633],{"class":219},[167,57943,57945],{"class":57944,"line":243},[169,213],[167,57946,3488],{"class":173},[167,57948,57950],{"class":57949,"line":261},[169,213],[167,57951,403],{"class":173},[167,57953,57954],{"class":169,"line":273},[167,57955,209],{"emptyLinePlaceholder":208},[167,57957,57959,57961,57963,57965,57967,57969,57971],{"class":57958,"line":279},[169,213],[167,57960,216],{"class":191},[167,57962,415],{"class":219},[167,57964,223],{"class":191},[167,57966,420],{"class":181},[167,57968,423],{"class":173},[167,57970,3663],{"class":201},[167,57972,429],{"class":173},[167,57974,57975,57977,57979],{"class":169,"line":289},[167,57976,282],{"class":173},[167,57978,178],{"class":177},[167,57980,185],{"class":173},[167,57982,57983],{"class":169,"line":294},[167,57984,209],{"emptyLinePlaceholder":208},[167,57986,57987,57989,57991],{"class":169,"line":304},[167,57988,174],{"class":173},[167,57990,299],{"class":177},[167,57992,185],{"class":173},[167,57994,57995,57997,57999],{"class":169,"line":313},[167,57996,307],{"class":173},[167,57998,3692],{"class":177},[167,58000,185],{"class":173},[167,58002,58003,58005,58007,58009,58011],{"class":169,"line":161},[167,58004,1252],{"class":173},[167,58006,22],{"class":177},[167,58008,3703],{"class":173},[167,58010,22],{"class":177},[167,58012,185],{"class":173},[167,58014,58015,58017,58019,58022,58024],{"class":169,"line":335},[167,58016,1252],{"class":173},[167,58018,15],{"class":177},[167,58020,58021],{"class":173},">{{ props.task.completed ? 'Completed' : 'Pending' }}\u003C\u002F",[167,58023,15],{"class":177},[167,58025,185],{"class":173},[167,58027,58028],{"class":169,"line":341},[167,58029,209],{"emptyLinePlaceholder":208},[167,58031,58032,58034],{"class":169,"line":489},[167,58033,1252],{"class":173},[167,58035,456],{"class":177},[167,58037,58038,58040,58042],{"class":169,"line":495},[167,58039,3735],{"class":181},[167,58041,267],{"class":173},[167,58043,466],{"class":201},[167,58045,58046,58048,58050],{"class":169,"line":501},[167,58047,3744],{"class":181},[167,58049,267],{"class":173},[167,58051,3749],{"class":201},[167,58053,58055,58057,58059],{"class":58054,"line":512},[169,213],[167,58056,3755],{"class":181},[167,58058,267],{"class":173},[167,58060,3760],{"class":201},[167,58062,58063],{"class":169,"line":781},[167,58064,3765],{"class":173},[167,58066,58067],{"class":169,"line":786},[167,58068,58069],{"class":173},"      Mark as complete\n",[167,58071,58072,58074,58076],{"class":169,"line":2674},[167,58073,1287],{"class":173},[167,58075,507],{"class":177},[167,58077,185],{"class":173},[167,58079,58080,58082,58084],{"class":169,"line":2688},[167,58081,504],{"class":173},[167,58083,3692],{"class":177},[167,58085,185],{"class":173},[167,58087,58088,58090,58092],{"class":169,"line":3571},[167,58089,282],{"class":173},[167,58091,299],{"class":177},[167,58093,185],{"class":173},[15,58095,58096],{},"This pattern keeps a healthy separation: the child does not need to know how the full list is stored. It only says, \"this task should be completed.\"",[22,58098,58100,58102],{"id":58099},"defineprops-what-the-component-needs-to-receive",[87,58101,369],{},": what the component needs to receive",[15,58104,58105,58106,58108,58109,1675],{},"With ",[87,58107,1003],{},", props are declared with ",[87,58110,3812],{},[154,58112,58115],{"className":156,"code":58113,"filename":3256,"highlights":58114,"language":162,"meta":163,"style":163},"\u003Cscript setup>\nconst props = defineProps({\n  name: {\n    type: String,\n    required: true\n  },\n  role: {\n    type: String,\n    default: 'Member'\n  }\n})\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cdiv>\n    \u003Cstrong>{{ props.name }}\u003C\u002Fstrong>\n    \u003Cspan>{{ props.role }}\u003C\u002Fspan>\n  \u003C\u002Fdiv>\n\u003C\u002Ftemplate>\n",[188,205,160,238,243,261,273,279,289,294],[87,58116,58117,58127,58140,58145,58150,58157,58162,58167,58172,58180,58185,58190,58198,58202,58210,58218,58230,58242,58250],{"__ignoreMap":163},[167,58118,58119,58121,58123,58125],{"class":169,"line":170},[167,58120,174],{"class":173},[167,58122,178],{"class":177},[167,58124,182],{"class":181},[167,58126,185],{"class":173},[167,58128,58130,58132,58134,58136,58138],{"class":58129,"line":188},[169,213],[167,58131,216],{"class":191},[167,58133,1060],{"class":219},[167,58135,223],{"class":191},[167,58137,1065],{"class":181},[167,58139,372],{"class":173},[167,58141,58143],{"class":58142,"line":205},[169,213],[167,58144,3847],{"class":173},[167,58146,58148],{"class":58147,"line":160},[169,213],[167,58149,382],{"class":173},[167,58151,58153,58155],{"class":58152,"line":238},[169,213],[167,58154,387],{"class":173},[167,58156,3633],{"class":219},[167,58158,58160],{"class":58159,"line":243},[169,213],[167,58161,398],{"class":173},[167,58163,58165],{"class":58164,"line":261},[169,213],[167,58166,3870],{"class":173},[167,58168,58170],{"class":58169,"line":273},[169,213],[167,58171,382],{"class":173},[167,58173,58175,58177],{"class":58174,"line":279},[169,213],[167,58176,3881],{"class":173},[167,58178,58179],{"class":201},"'Member'\n",[167,58181,58183],{"class":58182,"line":289},[169,213],[167,58184,3488],{"class":173},[167,58186,58188],{"class":58187,"line":294},[169,213],[167,58189,403],{"class":173},[167,58191,58192,58194,58196],{"class":169,"line":304},[167,58193,282],{"class":173},[167,58195,178],{"class":177},[167,58197,185],{"class":173},[167,58199,58200],{"class":169,"line":313},[167,58201,209],{"emptyLinePlaceholder":208},[167,58203,58204,58206,58208],{"class":169,"line":161},[167,58205,174],{"class":173},[167,58207,299],{"class":177},[167,58209,185],{"class":173},[167,58211,58212,58214,58216],{"class":169,"line":335},[167,58213,307],{"class":173},[167,58215,1237],{"class":177},[167,58217,185],{"class":173},[167,58219,58220,58222,58224,58226,58228],{"class":169,"line":341},[167,58221,1252],{"class":173},[167,58223,3929],{"class":177},[167,58225,3932],{"class":173},[167,58227,3929],{"class":177},[167,58229,185],{"class":173},[167,58231,58232,58234,58236,58238,58240],{"class":169,"line":489},[167,58233,1252],{"class":173},[167,58235,167],{"class":177},[167,58237,3945],{"class":173},[167,58239,167],{"class":177},[167,58241,185],{"class":173},[167,58243,58244,58246,58248],{"class":169,"line":495},[167,58245,504],{"class":173},[167,58247,1237],{"class":177},[167,58249,185],{"class":173},[167,58251,58252,58254,58256],{"class":169,"line":501},[167,58253,282],{"class":173},[167,58255,299],{"class":177},[167,58257,185],{"class":173},[154,58259,58262],{"className":156,"code":58260,"filename":3969,"highlights":58261,"language":162,"meta":163,"style":163},"\u003Cscript>\nexport default {\n  props: {\n    name: {\n      type: String,\n      required: true\n    },\n    role: {\n      type: String,\n      default: 'Member'\n    }\n  }\n}\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cdiv>\n    \u003Cstrong>{{ name }}\u003C\u002Fstrong>\n    \u003Cspan>{{ role }}\u003C\u002Fspan>\n  \u003C\u002Fdiv>\n\u003C\u002Ftemplate>\n",[205,160,238,243,261,273,279,289,294,304],[87,58263,58264,58272,58280,58285,58290,58295,58302,58307,58312,58317,58324,58329,58334,58338,58346,58350,58358,58366,58378,58390,58398],{"__ignoreMap":163},[167,58265,58266,58268,58270],{"class":169,"line":170},[167,58267,174],{"class":173},[167,58269,178],{"class":177},[167,58271,185],{"class":173},[167,58273,58274,58276,58278],{"class":169,"line":188},[167,58275,608],{"class":191},[167,58277,3987],{"class":191},[167,58279,1901],{"class":173},[167,58281,58283],{"class":58282,"line":205},[169,213],[167,58284,3995],{"class":173},[167,58286,58288],{"class":58287,"line":160},[169,213],[167,58289,4001],{"class":173},[167,58291,58293],{"class":58292,"line":238},[169,213],[167,58294,4007],{"class":173},[167,58296,58298,58300],{"class":58297,"line":243},[169,213],[167,58299,4013],{"class":173},[167,58301,3633],{"class":219},[167,58303,58305],{"class":58304,"line":261},[169,213],[167,58306,755],{"class":173},[167,58308,58310],{"class":58309,"line":273},[169,213],[167,58311,4026],{"class":173},[167,58313,58315],{"class":58314,"line":279},[169,213],[167,58316,4007],{"class":173},[167,58318,58320,58322],{"class":58319,"line":289},[169,213],[167,58321,4037],{"class":173},[167,58323,58179],{"class":201},[167,58325,58327],{"class":58326,"line":294},[169,213],[167,58328,4045],{"class":173},[167,58330,58332],{"class":58331,"line":304},[169,213],[167,58333,3488],{"class":173},[167,58335,58336],{"class":169,"line":313},[167,58337,276],{"class":173},[167,58339,58340,58342,58344],{"class":169,"line":161},[167,58341,282],{"class":173},[167,58343,178],{"class":177},[167,58345,185],{"class":173},[167,58347,58348],{"class":169,"line":335},[167,58349,209],{"emptyLinePlaceholder":208},[167,58351,58352,58354,58356],{"class":169,"line":341},[167,58353,174],{"class":173},[167,58355,299],{"class":177},[167,58357,185],{"class":173},[167,58359,58360,58362,58364],{"class":169,"line":489},[167,58361,307],{"class":173},[167,58363,1237],{"class":177},[167,58365,185],{"class":173},[167,58367,58368,58370,58372,58374,58376],{"class":169,"line":495},[167,58369,1252],{"class":173},[167,58371,3929],{"class":177},[167,58373,4091],{"class":173},[167,58375,3929],{"class":177},[167,58377,185],{"class":173},[167,58379,58380,58382,58384,58386,58388],{"class":169,"line":501},[167,58381,1252],{"class":173},[167,58383,167],{"class":177},[167,58385,4104],{"class":173},[167,58387,167],{"class":177},[167,58389,185],{"class":173},[167,58391,58392,58394,58396],{"class":169,"line":512},[167,58393,504],{"class":173},[167,58395,1237],{"class":177},[167,58397,185],{"class":173},[167,58399,58400,58402,58404],{"class":169,"line":781},[167,58401,282],{"class":173},[167,58403,299],{"class":177},[167,58405,185],{"class":173},[15,58407,58408],{},"A prop should answer a concrete question: what data does this component need in order to render?",[15,58410,58411],{},"If the component needs a name, a URL, an active state, or a small list, that is probably a prop. If it needs to modify shared state, save data, or coordinate several pieces, you may no longer be dealing with a simple prop.",[22,58413,58415,58417],{"id":58414},"defineemits-what-the-component-can-communicate",[87,58416,1026],{},": what the component can communicate",[15,58419,58420],{},"Emits describe events that a child component can fire.",[154,58422,58425],{"className":156,"code":58423,"filename":3256,"highlights":58424,"language":162,"meta":163,"style":163},"\u003Cscript setup>\nconst emit = defineEmits(['search'])\n\nconst handleSubmit = (event) => {\n  const form = event.currentTarget\n  const query = new FormData(form).get('query')\n\n  emit('search', String(query || '').trim())\n}\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cform @submit.prevent=\"handleSubmit\">\n    \u003Cinput name=\"query\" type=\"search\">\n    \u003Cbutton type=\"submit\">Search\u003C\u002Fbutton>\n  \u003C\u002Fform>\n\u003C\u002Ftemplate>\n",[188,273],[87,58426,58427,58437,58454,58458,58476,58486,58508,58512,58537,58541,58549,58553,58561,58575,58595,58614,58622],{"__ignoreMap":163},[167,58428,58429,58431,58433,58435],{"class":169,"line":170},[167,58430,174],{"class":173},[167,58432,178],{"class":177},[167,58434,182],{"class":181},[167,58436,185],{"class":173},[167,58438,58440,58442,58444,58446,58448,58450,58452],{"class":58439,"line":188},[169,213],[167,58441,216],{"class":191},[167,58443,415],{"class":219},[167,58445,223],{"class":191},[167,58447,420],{"class":181},[167,58449,423],{"class":173},[167,58451,4171],{"class":201},[167,58453,429],{"class":173},[167,58455,58456],{"class":169,"line":205},[167,58457,209],{"emptyLinePlaceholder":208},[167,58459,58460,58462,58464,58466,58468,58470,58472,58474],{"class":169,"line":160},[167,58461,216],{"class":191},[167,58463,4184],{"class":181},[167,58465,223],{"class":191},[167,58467,2522],{"class":173},[167,58469,4191],{"class":254},[167,58471,693],{"class":173},[167,58473,639],{"class":191},[167,58475,1901],{"class":173},[167,58477,58478,58480,58482,58484],{"class":169,"line":238},[167,58479,1438],{"class":191},[167,58481,4204],{"class":219},[167,58483,223],{"class":191},[167,58485,4209],{"class":173},[167,58487,58488,58490,58492,58494,58496,58498,58500,58502,58504,58506],{"class":169,"line":243},[167,58489,1438],{"class":191},[167,58491,2444],{"class":219},[167,58493,223],{"class":191},[167,58495,4220],{"class":191},[167,58497,4223],{"class":181},[167,58499,4226],{"class":173},[167,58501,4229],{"class":181},[167,58503,229],{"class":173},[167,58505,4234],{"class":201},[167,58507,235],{"class":173},[167,58509,58510],{"class":169,"line":261},[167,58511,209],{"emptyLinePlaceholder":208},[167,58513,58515,58517,58519,58521,58523,58525,58527,58529,58531,58533,58535],{"class":58514,"line":273},[169,213],[167,58516,1128],{"class":181},[167,58518,229],{"class":173},[167,58520,4171],{"class":201},[167,58522,1020],{"class":173},[167,58524,4254],{"class":181},[167,58526,4257],{"class":173},[167,58528,4260],{"class":191},[167,58530,4263],{"class":201},[167,58532,4266],{"class":173},[167,58534,2496],{"class":181},[167,58536,2505],{"class":173},[167,58538,58539],{"class":169,"line":279},[167,58540,276],{"class":173},[167,58542,58543,58545,58547],{"class":169,"line":289},[167,58544,282],{"class":173},[167,58546,178],{"class":177},[167,58548,185],{"class":173},[167,58550,58551],{"class":169,"line":294},[167,58552,209],{"emptyLinePlaceholder":208},[167,58554,58555,58557,58559],{"class":169,"line":304},[167,58556,174],{"class":173},[167,58558,299],{"class":177},[167,58560,185],{"class":173},[167,58562,58563,58565,58567,58569,58571,58573],{"class":169,"line":313},[167,58564,307],{"class":173},[167,58566,4301],{"class":177},[167,58568,4304],{"class":181},[167,58570,267],{"class":173},[167,58572,4309],{"class":201},[167,58574,185],{"class":173},[167,58576,58577,58579,58581,58583,58585,58587,58589,58591,58593],{"class":169,"line":161},[167,58578,1252],{"class":173},[167,58580,2646],{"class":177},[167,58582,1269],{"class":181},[167,58584,267],{"class":173},[167,58586,2654],{"class":201},[167,58588,1169],{"class":181},[167,58590,267],{"class":173},[167,58592,2661],{"class":201},[167,58594,185],{"class":173},[167,58596,58597,58599,58601,58603,58605,58607,58610,58612],{"class":169,"line":335},[167,58598,1252],{"class":173},[167,58600,507],{"class":177},[167,58602,1169],{"class":181},[167,58604,267],{"class":173},[167,58606,4344],{"class":201},[167,58608,58609],{"class":173},">Search\u003C\u002F",[167,58611,507],{"class":177},[167,58613,185],{"class":173},[167,58615,58616,58618,58620],{"class":169,"line":341},[167,58617,504],{"class":173},[167,58619,4301],{"class":177},[167,58621,185],{"class":173},[167,58623,58624,58626,58628],{"class":169,"line":489},[167,58625,282],{"class":173},[167,58627,299],{"class":177},[167,58629,185],{"class":173},[154,58631,58634],{"className":156,"code":58632,"filename":3969,"highlights":58633,"language":162,"meta":163,"style":163},"\u003Cscript>\nexport default {\n  name: 'SearchBox',\n  emits: ['search'],\n  methods: {\n    handleSubmit(event) {\n      const form = event.currentTarget\n      const query = new FormData(form).get('query')\n\n      this.$emit('search', String(query || '').trim())\n    }\n  }\n}\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cform @submit.prevent=\"handleSubmit\">\n    \u003Cinput name=\"query\" type=\"search\">\n    \u003Cbutton type=\"submit\">Search\u003C\u002Fbutton>\n  \u003C\u002Fform>\n\u003C\u002Ftemplate>\n",[160,289],[87,58635,58636,58644,58652,58660,58669,58673,58683,58693,58715,58719,58748,58752,58756,58760,58768,58772,58780,58794,58814,58832,58840],{"__ignoreMap":163},[167,58637,58638,58640,58642],{"class":169,"line":170},[167,58639,174],{"class":173},[167,58641,178],{"class":177},[167,58643,185],{"class":173},[167,58645,58646,58648,58650],{"class":169,"line":188},[167,58647,608],{"class":191},[167,58649,3987],{"class":191},[167,58651,1901],{"class":173},[167,58653,58654,58656,58658],{"class":169,"line":205},[167,58655,4394],{"class":173},[167,58657,4397],{"class":201},[167,58659,393],{"class":173},[167,58661,58663,58665,58667],{"class":58662,"line":160},[169,213],[167,58664,4405],{"class":173},[167,58666,4171],{"class":201},[167,58668,4410],{"class":173},[167,58670,58671],{"class":169,"line":238},[167,58672,4415],{"class":173},[167,58674,58675,58677,58679,58681],{"class":169,"line":243},[167,58676,4420],{"class":181},[167,58678,229],{"class":173},[167,58680,4191],{"class":254},[167,58682,258],{"class":173},[167,58684,58685,58687,58689,58691],{"class":169,"line":261},[167,58686,4431],{"class":191},[167,58688,4204],{"class":219},[167,58690,223],{"class":191},[167,58692,4209],{"class":173},[167,58694,58695,58697,58699,58701,58703,58705,58707,58709,58711,58713],{"class":169,"line":273},[167,58696,4431],{"class":191},[167,58698,2444],{"class":219},[167,58700,223],{"class":191},[167,58702,4220],{"class":191},[167,58704,4223],{"class":181},[167,58706,4226],{"class":173},[167,58708,4229],{"class":181},[167,58710,229],{"class":173},[167,58712,4234],{"class":201},[167,58714,235],{"class":173},[167,58716,58717],{"class":169,"line":279},[167,58718,209],{"emptyLinePlaceholder":208},[167,58720,58722,58724,58726,58728,58730,58732,58734,58736,58738,58740,58742,58744,58746],{"class":58721,"line":289},[169,213],[167,58723,741],{"class":219},[167,58725,1675],{"class":173},[167,58727,4473],{"class":181},[167,58729,229],{"class":173},[167,58731,4171],{"class":201},[167,58733,1020],{"class":173},[167,58735,4254],{"class":181},[167,58737,4257],{"class":173},[167,58739,4260],{"class":191},[167,58741,4263],{"class":201},[167,58743,4266],{"class":173},[167,58745,2496],{"class":181},[167,58747,2505],{"class":173},[167,58749,58750],{"class":169,"line":294},[167,58751,4045],{"class":173},[167,58753,58754],{"class":169,"line":304},[167,58755,3488],{"class":173},[167,58757,58758],{"class":169,"line":313},[167,58759,276],{"class":173},[167,58761,58762,58764,58766],{"class":169,"line":161},[167,58763,282],{"class":173},[167,58765,178],{"class":177},[167,58767,185],{"class":173},[167,58769,58770],{"class":169,"line":335},[167,58771,209],{"emptyLinePlaceholder":208},[167,58773,58774,58776,58778],{"class":169,"line":341},[167,58775,174],{"class":173},[167,58777,299],{"class":177},[167,58779,185],{"class":173},[167,58781,58782,58784,58786,58788,58790,58792],{"class":169,"line":489},[167,58783,307],{"class":173},[167,58785,4301],{"class":177},[167,58787,4304],{"class":181},[167,58789,267],{"class":173},[167,58791,4309],{"class":201},[167,58793,185],{"class":173},[167,58795,58796,58798,58800,58802,58804,58806,58808,58810,58812],{"class":169,"line":495},[167,58797,1252],{"class":173},[167,58799,2646],{"class":177},[167,58801,1269],{"class":181},[167,58803,267],{"class":173},[167,58805,2654],{"class":201},[167,58807,1169],{"class":181},[167,58809,267],{"class":173},[167,58811,2661],{"class":201},[167,58813,185],{"class":173},[167,58815,58816,58818,58820,58822,58824,58826,58828,58830],{"class":169,"line":501},[167,58817,1252],{"class":173},[167,58819,507],{"class":177},[167,58821,1169],{"class":181},[167,58823,267],{"class":173},[167,58825,4344],{"class":201},[167,58827,58609],{"class":173},[167,58829,507],{"class":177},[167,58831,185],{"class":173},[167,58833,58834,58836,58838],{"class":169,"line":512},[167,58835,504],{"class":173},[167,58837,4301],{"class":177},[167,58839,185],{"class":173},[167,58841,58842,58844,58846],{"class":169,"line":781},[167,58843,282],{"class":173},[167,58845,299],{"class":177},[167,58847,185],{"class":173},[15,58849,58850],{},"The component does not decide what to do with the search. The parent might call an API, update the URL, or filter a local list. The child only communicates the event with the data the parent needs.",[22,58852,58854],{"id":58853},"do-not-mutate-props-directly","Do not mutate props directly",[15,58856,58857],{},"One important rule: a child component should not mutate a prop it receives.",[15,58859,58860],{},"This is tempting:",[154,58862,58864],{"className":156,"code":4609,"filename":3256,"highlights":58863,"language":162,"meta":163,"style":163},[279,289,294],[87,58865,58866,58876,58888,58892,58896,58902,58906,58910,58914,58929,58938,58943],{"__ignoreMap":163},[167,58867,58868,58870,58872,58874],{"class":169,"line":170},[167,58869,174],{"class":173},[167,58871,178],{"class":177},[167,58873,182],{"class":181},[167,58875,185],{"class":173},[167,58877,58878,58880,58882,58884,58886],{"class":169,"line":188},[167,58879,216],{"class":191},[167,58881,1060],{"class":219},[167,58883,223],{"class":191},[167,58885,1065],{"class":181},[167,58887,372],{"class":173},[167,58889,58890],{"class":169,"line":205},[167,58891,3619],{"class":173},[167,58893,58894],{"class":169,"line":160},[167,58895,3625],{"class":173},[167,58897,58898,58900],{"class":169,"line":238},[167,58899,387],{"class":173},[167,58901,3633],{"class":219},[167,58903,58904],{"class":169,"line":243},[167,58905,3488],{"class":173},[167,58907,58908],{"class":169,"line":261},[167,58909,403],{"class":173},[167,58911,58912],{"class":169,"line":273},[167,58913,209],{"emptyLinePlaceholder":208},[167,58915,58917,58919,58921,58923,58925,58927],{"class":58916,"line":279},[169,213],[167,58918,216],{"class":191},[167,58920,4668],{"class":181},[167,58922,223],{"class":191},[167,58924,1464],{"class":173},[167,58926,639],{"class":191},[167,58928,1901],{"class":173},[167,58930,58932,58934,58936],{"class":58931,"line":289},[169,213],[167,58933,4682],{"class":173},[167,58935,267],{"class":191},[167,58937,3483],{"class":219},[167,58939,58941],{"class":58940,"line":294},[169,213],[167,58942,276],{"class":173},[167,58944,58945,58947,58949],{"class":169,"line":304},[167,58946,282],{"class":173},[167,58948,178],{"class":177},[167,58950,185],{"class":173},[15,58952,58953],{},"With objects, it may look like it works, but the design becomes harder to follow. The parent stops being the clear place where state changes, and the child starts having too much control over something it does not own.",[15,58955,58956],{},"A cleaner version is to emit the intention:",[154,58958,58960],{"className":156,"code":4708,"filename":3256,"highlights":58959,"language":162,"meta":163,"style":163},[279,294,304,313],[87,58961,58962,58972,58984,58988,58992,58998,59002,59006,59010,59027,59031,59046,59057,59062],{"__ignoreMap":163},[167,58963,58964,58966,58968,58970],{"class":169,"line":170},[167,58965,174],{"class":173},[167,58967,178],{"class":177},[167,58969,182],{"class":181},[167,58971,185],{"class":173},[167,58973,58974,58976,58978,58980,58982],{"class":169,"line":188},[167,58975,216],{"class":191},[167,58977,1060],{"class":219},[167,58979,223],{"class":191},[167,58981,1065],{"class":181},[167,58983,372],{"class":173},[167,58985,58986],{"class":169,"line":205},[167,58987,3619],{"class":173},[167,58989,58990],{"class":169,"line":160},[167,58991,3625],{"class":173},[167,58993,58994,58996],{"class":169,"line":238},[167,58995,387],{"class":173},[167,58997,3633],{"class":219},[167,58999,59000],{"class":169,"line":243},[167,59001,3488],{"class":173},[167,59003,59004],{"class":169,"line":261},[167,59005,403],{"class":173},[167,59007,59008],{"class":169,"line":273},[167,59009,209],{"emptyLinePlaceholder":208},[167,59011,59013,59015,59017,59019,59021,59023,59025],{"class":59012,"line":279},[169,213],[167,59014,216],{"class":191},[167,59016,415],{"class":219},[167,59018,223],{"class":191},[167,59020,420],{"class":181},[167,59022,423],{"class":173},[167,59024,3663],{"class":201},[167,59026,429],{"class":173},[167,59028,59029],{"class":169,"line":289},[167,59030,209],{"emptyLinePlaceholder":208},[167,59032,59034,59036,59038,59040,59042,59044],{"class":59033,"line":294},[169,213],[167,59035,216],{"class":191},[167,59037,4668],{"class":181},[167,59039,223],{"class":191},[167,59041,1464],{"class":173},[167,59043,639],{"class":191},[167,59045,1901],{"class":173},[167,59047,59049,59051,59053,59055],{"class":59048,"line":304},[169,213],[167,59050,1128],{"class":181},[167,59052,229],{"class":173},[167,59054,3663],{"class":201},[167,59056,4807],{"class":173},[167,59058,59060],{"class":59059,"line":313},[169,213],[167,59061,276],{"class":173},[167,59063,59064,59066,59068],{"class":169,"line":161},[167,59065,282],{"class":173},[167,59067,178],{"class":177},[167,59069,185],{"class":173},[154,59071,59074],{"className":156,"code":59072,"filename":3969,"highlights":59073,"language":162,"meta":163,"style":163},"\u003Cscript>\nexport default {\n  name: 'TaskCard',\n  props: {\n    task: {\n      type: Object,\n      required: true\n    }\n  },\n  emits: ['complete'],\n  methods: {\n    complete() {\n      this.$emit('complete', this.task.id)\n    }\n  }\n}\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Carticle>\n    \u003Ch2>{{ task.title }}\u003C\u002Fh2>\n    \u003Cp>{{ task.completed ? 'Completed' : 'Pending' }}\u003C\u002Fp>\n\n    \u003Cbutton type=\"button\" @click=\"complete\">\n      Mark as complete\n    \u003C\u002Fbutton>\n  \u003C\u002Farticle>\n\u003C\u002Ftemplate>\n",[160,238,243,261,273,279,289,313],[87,59075,59076,59084,59092,59100,59105,59110,59115,59122,59127,59132,59141,59145,59151,59170,59174,59178,59182,59190,59194,59202,59210,59222,59235,59239,59259,59263,59271,59279],{"__ignoreMap":163},[167,59077,59078,59080,59082],{"class":169,"line":170},[167,59079,174],{"class":173},[167,59081,178],{"class":177},[167,59083,185],{"class":173},[167,59085,59086,59088,59090],{"class":169,"line":188},[167,59087,608],{"class":191},[167,59089,3987],{"class":191},[167,59091,1901],{"class":173},[167,59093,59094,59096,59098],{"class":169,"line":205},[167,59095,4394],{"class":173},[167,59097,4849],{"class":201},[167,59099,393],{"class":173},[167,59101,59103],{"class":59102,"line":160},[169,213],[167,59104,3995],{"class":173},[167,59106,59108],{"class":59107,"line":238},[169,213],[167,59109,4862],{"class":173},[167,59111,59113],{"class":59112,"line":243},[169,213],[167,59114,4868],{"class":173},[167,59116,59118,59120],{"class":59117,"line":261},[169,213],[167,59119,4013],{"class":173},[167,59121,3633],{"class":219},[167,59123,59125],{"class":59124,"line":273},[169,213],[167,59126,4045],{"class":173},[167,59128,59130],{"class":59129,"line":279},[169,213],[167,59131,398],{"class":173},[167,59133,59135,59137,59139],{"class":59134,"line":289},[169,213],[167,59136,4405],{"class":173},[167,59138,3663],{"class":201},[167,59140,4410],{"class":173},[167,59142,59143],{"class":169,"line":294},[167,59144,4415],{"class":173},[167,59146,59147,59149],{"class":169,"line":304},[167,59148,4903],{"class":181},[167,59150,763],{"class":173},[167,59152,59154,59156,59158,59160,59162,59164,59166,59168],{"class":59153,"line":313},[169,213],[167,59155,741],{"class":219},[167,59157,1675],{"class":173},[167,59159,4473],{"class":181},[167,59161,229],{"class":173},[167,59163,3663],{"class":201},[167,59165,1020],{"class":173},[167,59167,4923],{"class":219},[167,59169,4926],{"class":173},[167,59171,59172],{"class":169,"line":161},[167,59173,4045],{"class":173},[167,59175,59176],{"class":169,"line":335},[167,59177,3488],{"class":173},[167,59179,59180],{"class":169,"line":341},[167,59181,276],{"class":173},[167,59183,59184,59186,59188],{"class":169,"line":489},[167,59185,282],{"class":173},[167,59187,178],{"class":177},[167,59189,185],{"class":173},[167,59191,59192],{"class":169,"line":495},[167,59193,209],{"emptyLinePlaceholder":208},[167,59195,59196,59198,59200],{"class":169,"line":501},[167,59197,174],{"class":173},[167,59199,299],{"class":177},[167,59201,185],{"class":173},[167,59203,59204,59206,59208],{"class":169,"line":512},[167,59205,307],{"class":173},[167,59207,3692],{"class":177},[167,59209,185],{"class":173},[167,59211,59212,59214,59216,59218,59220],{"class":169,"line":781},[167,59213,1252],{"class":173},[167,59215,22],{"class":177},[167,59217,4975],{"class":173},[167,59219,22],{"class":177},[167,59221,185],{"class":173},[167,59223,59224,59226,59228,59231,59233],{"class":169,"line":786},[167,59225,1252],{"class":173},[167,59227,15],{"class":177},[167,59229,59230],{"class":173},">{{ task.completed ? 'Completed' : 'Pending' }}\u003C\u002F",[167,59232,15],{"class":177},[167,59234,185],{"class":173},[167,59236,59237],{"class":169,"line":2674},[167,59238,209],{"emptyLinePlaceholder":208},[167,59240,59241,59243,59245,59247,59249,59251,59253,59255,59257],{"class":169,"line":2688},[167,59242,1252],{"class":173},[167,59244,507],{"class":177},[167,59246,1169],{"class":181},[167,59248,267],{"class":173},[167,59250,1174],{"class":201},[167,59252,1177],{"class":181},[167,59254,267],{"class":173},[167,59256,5015],{"class":201},[167,59258,185],{"class":173},[167,59260,59261],{"class":169,"line":3571},[167,59262,58069],{"class":173},[167,59264,59265,59267,59269],{"class":169,"line":5024},[167,59266,1287],{"class":173},[167,59268,507],{"class":177},[167,59270,185],{"class":173},[167,59272,59273,59275,59277],{"class":169,"line":5033},[167,59274,504],{"class":173},[167,59276,3692],{"class":177},[167,59278,185],{"class":173},[167,59280,59281,59283,59285],{"class":169,"line":5042},[167,59282,282],{"class":173},[167,59284,299],{"class":177},[167,59286,185],{"class":173},[15,59288,59289],{},"The parent receives the event and makes the change:",[154,59291,59293],{"className":156,"code":5054,"filename":3318,"highlights":59292,"language":162,"meta":163,"style":163},[205],[87,59294,59295,59301,59315,59330],{"__ignoreMap":163},[167,59296,59297,59299],{"class":169,"line":170},[167,59298,174],{"class":173},[167,59300,3520],{"class":177},[167,59302,59303,59305,59307,59309,59311,59313],{"class":169,"line":188},[167,59304,5068],{"class":173},[167,59306,5071],{"class":181},[167,59308,267],{"class":173},[167,59310,5076],{"class":201},[167,59312,5071],{"class":173},[167,59314,5081],{"class":201},[167,59316,59318,59320,59322,59324,59326,59328],{"class":59317,"line":205},[169,213],[167,59319,5087],{"class":173},[167,59321,5090],{"class":181},[167,59323,267],{"class":173},[167,59325,5076],{"class":201},[167,59327,5097],{"class":173},[167,59329,5081],{"class":201},[167,59331,59332],{"class":169,"line":160},[167,59333,5104],{"class":173},[22,59335,59337],{"id":59336},"name-events-by-intention","Name events by intention",[15,59339,59340],{},"A good event name says what happened, not how the parent should react.",[15,59342,59343],{},"For example:",[33,59345,59346,59350,59354,59358,59362],{},[36,59347,59348],{},[87,59349,5121],{},[36,59351,59352],{},[87,59353,5126],{},[36,59355,59356],{},[87,59357,5131],{},[36,59359,59360],{},[87,59361,5136],{},[36,59363,59364],{},[87,59365,5141],{},[15,59367,59368,59369,59371,59372,59374],{},"Avoid names that are too coupled to the parent, like ",[87,59370,5147],{}," or ",[87,59373,5150],{},". The child should not know that much about what the parent will do next.",[22,59376,59378],{"id":59377},"small-props-clear-events","Small props, clear events",[15,59380,59381],{},"The problem is not usually using props. The problem appears when a component receives too many loose props and emits events that are hard to follow.",[15,59383,59384],{},"If you see something like this:",[154,59386,59387],{"className":156,"code":5164,"language":162,"meta":163,"style":163},[87,59388,59389,59395,59409,59423,59437,59451,59465,59479,59493],{"__ignoreMap":163},[167,59390,59391,59393],{"class":169,"line":170},[167,59392,174],{"class":173},[167,59394,5173],{"class":177},[167,59396,59397,59399,59401,59403,59405,59407],{"class":169,"line":188},[167,59398,5068],{"class":173},[167,59400,580],{"class":181},[167,59402,267],{"class":173},[167,59404,5076],{"class":201},[167,59406,5186],{"class":173},[167,59408,5081],{"class":201},[167,59410,59411,59413,59415,59417,59419,59421],{"class":169,"line":205},[167,59412,5068],{"class":173},[167,59414,592],{"class":181},[167,59416,267],{"class":173},[167,59418,5076],{"class":201},[167,59420,5201],{"class":173},[167,59422,5081],{"class":201},[167,59424,59425,59427,59429,59431,59433,59435],{"class":169,"line":160},[167,59426,5068],{"class":173},[167,59428,5210],{"class":181},[167,59430,267],{"class":173},[167,59432,5076],{"class":201},[167,59434,5217],{"class":173},[167,59436,5081],{"class":201},[167,59438,59439,59441,59443,59445,59447,59449],{"class":169,"line":238},[167,59440,5068],{"class":173},[167,59442,5226],{"class":181},[167,59444,267],{"class":173},[167,59446,5076],{"class":201},[167,59448,5233],{"class":173},[167,59450,5081],{"class":201},[167,59452,59453,59455,59457,59459,59461,59463],{"class":169,"line":243},[167,59454,5068],{"class":173},[167,59456,5242],{"class":181},[167,59458,267],{"class":173},[167,59460,5076],{"class":201},[167,59462,5249],{"class":173},[167,59464,5081],{"class":201},[167,59466,59467,59469,59471,59473,59475,59477],{"class":169,"line":261},[167,59468,5068],{"class":173},[167,59470,5258],{"class":181},[167,59472,267],{"class":173},[167,59474,5076],{"class":201},[167,59476,5265],{"class":173},[167,59478,5081],{"class":201},[167,59480,59481,59483,59485,59487,59489,59491],{"class":169,"line":273},[167,59482,5068],{"class":173},[167,59484,5274],{"class":181},[167,59486,267],{"class":173},[167,59488,5076],{"class":201},[167,59490,5281],{"class":173},[167,59492,5081],{"class":201},[167,59494,59495],{"class":169,"line":279},[167,59496,5104],{"class":173},[15,59498,59499,59500,59502],{},"maybe the component should receive a full ",[87,59501,729],{}," object instead:",[154,59504,59505],{"className":156,"code":5296,"language":162,"meta":163,"style":163},[87,59506,59507],{"__ignoreMap":163},[167,59508,59509,59511,59513,59515,59517,59519,59521,59523,59525],{"class":169,"line":170},[167,59510,174],{"class":173},[167,59512,5305],{"class":177},[167,59514,5308],{"class":173},[167,59516,729],{"class":181},[167,59518,267],{"class":173},[167,59520,5076],{"class":201},[167,59522,729],{"class":173},[167,59524,5076],{"class":201},[167,59526,5321],{"class":173},[15,59528,59529],{},"Not always. If the component only needs two fields, passing specific props can be more explicit. But when all props represent the same entity, grouping them can make the template clearer.",[22,59531,59533],{"id":59532},"when-to-use-props-and-emits","When to use props and emits",[15,59535,59536],{},"Props and emits are a good fit when:",[33,59538,59539,59542,59545,59548],{},[36,59540,59541],{},"There is a direct parent-child relationship.",[36,59543,59544],{},"The state naturally belongs in the parent.",[36,59546,59547],{},"The child only needs to display data and notify interactions.",[36,59549,59550],{},"You want the flow to be easy to read from the template.",[15,59552,59553,59554,59556],{},"If you start passing the same prop through five levels, you probably need another tool. That may be a good moment to look at ",[87,59555,992],{},", a shared composable, or a state solution like Pinia.",[15,59558,59559],{},"But do not jump to those options too early. For many components, props and emits are enough.",[22,59561,59563],{"id":59562},"a-simple-way-to-think-about-it","A simple way to think about it",[15,59565,59566],{},"Before connecting two components, ask:",[5363,59568,59569],{},[15,59570,59571],{},"Does this component need to receive data, or does it need to notify that something happened?",[15,59573,59574],{},"If it needs to receive data, use a prop.",[15,59576,59577],{},"If it needs to notify something, use an emit.",[15,59579,59580],{},"That distinction keeps the code predictable. Data goes down, events go up, and each component keeps a clear responsibility.",[924,59582,926],{},{"title":163,"searchDepth":188,"depth":188,"links":59584},[59585,59586,59588,59590,59591,59592,59593,59594],{"id":57650,"depth":188,"text":57651},{"id":58099,"depth":188,"text":59587},"defineProps: what the component needs to receive",{"id":58414,"depth":188,"text":59589},"defineEmits: what the component can communicate",{"id":58853,"depth":188,"text":58854},{"id":59336,"depth":188,"text":59337},{"id":59377,"depth":188,"text":59378},{"id":59532,"depth":188,"text":59533},{"id":59562,"depth":188,"text":59563},"Learn how to use props and emits in Vue 3 to pass data down to child components and communicate events back to parent components.",{"title":59597,"goal":59598,"tasks":59599,"starterCode":59604,"solutionHint":59605},"Create a task card with props and emits","Build a small component that receives a task through props and tells the parent when the user wants to mark it as complete.",[59600,59601,59602,59603],"Create a TaskCard.vue component.","Receive a task prop with title and completed fields.","Show the task state in the template.","Emit a complete event when the user clicks the button.","\u003C!-- TaskCard.vue -->\n\u003Cscript setup>\nconst props = defineProps({\n  task: {\n    type: Object,\n    required: true\n  }\n})\n\nconst emit = defineEmits(['complete'])\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Carticle>\n    \u003Ch2>{{ props.task.title }}\u003C\u002Fh2>\n    \u003Cp>{{ props.task.completed ? 'Completed' : 'Pending' }}\u003C\u002Fp>\n\n    \u003Cbutton @click=\"emit('complete', props.task.id)\">\n      Mark as complete\n    \u003C\u002Fbutton>\n  \u003C\u002Farticle>\n\u003C\u002Ftemplate>\n","The child component does not need to change the list directly. It only communicates the intention; the parent decides how to update the state.","en",{"updatedAt":5405,"coverCaption":59608,"author":945,"keywords":59609},"Component communication in Vue 3 by TODOvue",[3254,950,3296,3303,59610,369,1026],"components","\u002Fblog\u002Fvue-3-props-emits-component-communication.en",[59613],{"headline":57621,"author":59614,"datePublished":5405,"@type":959},{"name":945,"@type":958},{"title":57621,"description":59595},"blog\u002Fvue-3-props-emits-component-communication.en",[59618,59620,59622,59624],{"tag":59619,"color":1635},"Components",{"tag":59621,"color":1641},"Events",{"tag":59623,"color":3273},"Guides",{"tag":59625,"color":5421},"Basics","QIj-guPKzwyy27eWmzggGbUyTkECuObI7p1SAnLrTLk",[59628,60333,60867,62204,64115,64774,66067,67315,69024,71103,72474,73833,74917,75909,78272,79980,82492,83624,86073,87167,89217,91798,94595,97339,100444,102123,105307,105960,107648,108196,108868,109710,109832,110402],{"id":5,"title":6,"body":59629,"cover":936,"coverAlt":937,"date":938,"description":939,"draft":208,"extension":940,"lab":941,"locale":942,"meta":60321,"navigation":208,"path":954,"schemaOrg":60323,"seo":60326,"series":941,"seriesDescription":941,"seriesOrder":941,"seriesTitle":941,"slug":941,"stem":961,"tags":60327,"__hash__":975},{"type":8,"value":59630,"toc":60312},[59631,59633,59635,59637,59639,59641,59643,59653,59655,59657,59715,59717,59719,59721,59723,59852,59992,59994,59996,60000,60004,60204,60210,60212,60214,60218,60294,60298,60300,60302,60304,60306,60308,60310],[11,59632,6],{"id":13},[15,59634,17],{},[15,59636,20],{},[22,59638,25],{"id":24},[15,59640,28],{},[15,59642,31],{},[33,59644,59645,59647,59649,59651],{},[36,59646,38],{},[36,59648,41],{},[36,59650,44],{},[36,59652,47],{},[15,59654,50],{},[22,59656,54],{"id":53},[56,59658,59659,59669],{},[59,59660,59661],{},[62,59662,59663,59665,59667],{},[65,59664,67],{},[65,59666,70],{},[65,59668,73],{},[75,59670,59671,59683,59691,59699,59707],{},[62,59672,59673,59675,59681],{},[80,59674,82],{},[80,59676,85,59677,90,59679],{},[87,59678,89],{},[87,59680,93],{},[80,59682,96],{},[62,59684,59685,59687,59689],{},[80,59686,101],{},[80,59688,104],{},[80,59690,107],{},[62,59692,59693,59695,59697],{},[80,59694,112],{},[80,59696,115],{},[80,59698,118],{},[62,59700,59701,59703,59705],{},[80,59702,123],{},[80,59704,126],{},[80,59706,129],{},[62,59708,59709,59711,59713],{},[80,59710,134],{},[80,59712,126],{},[80,59714,139],{},[15,59716,142],{},[22,59718,146],{"id":145},[15,59720,149],{},[15,59722,152],{},[154,59724,59726],{"className":156,"code":157,"filename":158,"highlights":59725,"language":162,"meta":163,"style":163},[160,161],[87,59727,59728,59738,59748,59752,59769,59773,59785,59793,59797,59805,59809,59817,59823,59831,59840,59844],{"__ignoreMap":163},[167,59729,59730,59732,59734,59736],{"class":169,"line":170},[167,59731,174],{"class":173},[167,59733,178],{"class":177},[167,59735,182],{"class":181},[167,59737,185],{"class":173},[167,59739,59740,59742,59744,59746],{"class":169,"line":188},[167,59741,192],{"class":191},[167,59743,195],{"class":173},[167,59745,198],{"class":191},[167,59747,202],{"class":201},[167,59749,59750],{"class":169,"line":205},[167,59751,209],{"emptyLinePlaceholder":208},[167,59753,59755,59757,59759,59761,59763,59765,59767],{"class":59754,"line":160},[169,213],[167,59756,216],{"class":191},[167,59758,220],{"class":219},[167,59760,223],{"class":191},[167,59762,226],{"class":181},[167,59764,229],{"class":173},[167,59766,232],{"class":201},[167,59768,235],{"class":173},[167,59770,59771],{"class":169,"line":238},[167,59772,209],{"emptyLinePlaceholder":208},[167,59774,59775,59777,59779,59781,59783],{"class":169,"line":243},[167,59776,246],{"class":191},[167,59778,249],{"class":181},[167,59780,229],{"class":173},[167,59782,255],{"class":254},[167,59784,258],{"class":173},[167,59786,59787,59789,59791],{"class":169,"line":261},[167,59788,264],{"class":173},[167,59790,267],{"class":191},[167,59792,270],{"class":173},[167,59794,59795],{"class":169,"line":273},[167,59796,276],{"class":173},[167,59798,59799,59801,59803],{"class":169,"line":279},[167,59800,282],{"class":173},[167,59802,178],{"class":177},[167,59804,185],{"class":173},[167,59806,59807],{"class":169,"line":289},[167,59808,209],{"emptyLinePlaceholder":208},[167,59810,59811,59813,59815],{"class":169,"line":294},[167,59812,174],{"class":173},[167,59814,299],{"class":177},[167,59816,185],{"class":173},[167,59818,59819,59821],{"class":169,"line":304},[167,59820,307],{"class":173},[167,59822,310],{"class":177},[167,59824,59825,59827,59829],{"class":169,"line":313},[167,59826,316],{"class":181},[167,59828,267],{"class":173},[167,59830,321],{"class":201},[167,59832,59834,59836,59838],{"class":59833,"line":161},[169,213],[167,59835,327],{"class":181},[167,59837,267],{"class":173},[167,59839,332],{"class":201},[167,59841,59842],{"class":169,"line":335},[167,59843,338],{"class":173},[167,59845,59846,59848,59850],{"class":169,"line":341},[167,59847,282],{"class":173},[167,59849,299],{"class":177},[167,59851,185],{"class":173},[154,59853,59855],{"className":156,"code":350,"filename":351,"highlights":59854,"language":162,"meta":163,"style":163},[279],[87,59856,59857,59867,59873,59877,59881,59889,59893,59897,59901,59918,59926,59930,59938,59944,59952,59960,59968,59972,59976,59984],{"__ignoreMap":163},[167,59858,59859,59861,59863,59865],{"class":169,"line":170},[167,59860,174],{"class":173},[167,59862,178],{"class":177},[167,59864,182],{"class":181},[167,59866,185],{"class":173},[167,59868,59869,59871],{"class":169,"line":188},[167,59870,369],{"class":181},[167,59872,372],{"class":173},[167,59874,59875],{"class":169,"line":205},[167,59876,377],{"class":173},[167,59878,59879],{"class":169,"line":160},[167,59880,382],{"class":173},[167,59882,59883,59885,59887],{"class":169,"line":238},[167,59884,387],{"class":173},[167,59886,390],{"class":219},[167,59888,393],{"class":173},[167,59890,59891],{"class":169,"line":243},[167,59892,398],{"class":173},[167,59894,59895],{"class":169,"line":261},[167,59896,403],{"class":173},[167,59898,59899],{"class":169,"line":273},[167,59900,209],{"emptyLinePlaceholder":208},[167,59902,59904,59906,59908,59910,59912,59914,59916],{"class":59903,"line":279},[169,213],[167,59905,216],{"class":191},[167,59907,415],{"class":219},[167,59909,223],{"class":191},[167,59911,420],{"class":181},[167,59913,423],{"class":173},[167,59915,426],{"class":201},[167,59917,429],{"class":173},[167,59919,59920,59922,59924],{"class":169,"line":289},[167,59921,282],{"class":173},[167,59923,178],{"class":177},[167,59925,185],{"class":173},[167,59927,59928],{"class":169,"line":294},[167,59929,209],{"emptyLinePlaceholder":208},[167,59931,59932,59934,59936],{"class":169,"line":304},[167,59933,174],{"class":173},[167,59935,299],{"class":177},[167,59937,185],{"class":173},[167,59939,59940,59942],{"class":169,"line":313},[167,59941,307],{"class":173},[167,59943,456],{"class":177},[167,59945,59946,59948,59950],{"class":169,"line":161},[167,59947,461],{"class":181},[167,59949,267],{"class":173},[167,59951,466],{"class":201},[167,59953,59954,59956,59958],{"class":169,"line":335},[167,59955,471],{"class":181},[167,59957,267],{"class":173},[167,59959,476],{"class":201},[167,59961,59962,59964,59966],{"class":169,"line":341},[167,59963,481],{"class":181},[167,59965,267],{"class":173},[167,59967,486],{"class":201},[167,59969,59970],{"class":169,"line":489},[167,59971,492],{"class":173},[167,59973,59974],{"class":169,"line":495},[167,59975,498],{"class":173},[167,59977,59978,59980,59982],{"class":169,"line":501},[167,59979,504],{"class":173},[167,59981,507],{"class":177},[167,59983,185],{"class":173},[167,59985,59986,59988,59990],{"class":169,"line":512},[167,59987,282],{"class":173},[167,59989,299],{"class":177},[167,59991,185],{"class":173},[15,59993,521],{},[22,59995,525],{"id":524},[15,59997,528,59998,532],{},[87,59999,531],{},[15,60001,535,60002,539],{},[87,60003,538],{},[154,60005,60007],{"className":542,"code":543,"filename":544,"highlights":60006,"language":546,"meta":163,"style":163},[243,261,273,294,335,341,489],[87,60008,60009,60019,60023,60049,60053,60071,60082,60099,60104,60108,60112,60133,60137,60141,60145,60160,60171,60176,60182,60192,60196,60200],{"__ignoreMap":163},[167,60010,60011,60013,60015,60017],{"class":169,"line":170},[167,60012,192],{"class":191},[167,60014,555],{"class":173},[167,60016,198],{"class":191},[167,60018,560],{"class":201},[167,60020,60021],{"class":169,"line":188},[167,60022,209],{"emptyLinePlaceholder":208},[167,60024,60025,60027,60029,60031,60033,60035,60037,60039,60041,60043,60045,60047],{"class":169,"line":205},[167,60026,569],{"class":191},[167,60028,572],{"class":181},[167,60030,223],{"class":191},[167,60032,577],{"class":173},[167,60034,580],{"class":254},[167,60036,583],{"class":191},[167,60038,586],{"class":219},[167,60040,589],{"class":173},[167,60042,592],{"class":254},[167,60044,583],{"class":191},[167,60046,586],{"class":219},[167,60048,599],{"class":173},[167,60050,60051],{"class":169,"line":160},[167,60052,209],{"emptyLinePlaceholder":208},[167,60054,60055,60057,60059,60061,60063,60065,60067,60069],{"class":169,"line":238},[167,60056,608],{"class":191},[167,60058,611],{"class":191},[167,60060,614],{"class":219},[167,60062,223],{"class":191},[167,60064,619],{"class":181},[167,60066,229],{"class":173},[167,60068,624],{"class":201},[167,60070,627],{"class":173},[167,60072,60074,60076,60078,60080],{"class":60073,"line":243},[169,213],[167,60075,633],{"class":181},[167,60077,636],{"class":173},[167,60079,639],{"class":191},[167,60081,642],{"class":173},[167,60083,60085,60087,60089,60091,60093,60095,60097],{"class":60084,"line":261},[169,213],[167,60086,648],{"class":173},[167,60088,651],{"class":219},[167,60090,654],{"class":191},[167,60092,572],{"class":181},[167,60094,659],{"class":191},[167,60096,662],{"class":219},[167,60098,393],{"class":173},[167,60100,60102],{"class":60101,"line":273},[169,213],[167,60103,670],{"class":173},[167,60105,60106],{"class":169,"line":279},[167,60107,209],{"emptyLinePlaceholder":208},[167,60109,60110],{"class":169,"line":289},[167,60111,679],{"class":173},[167,60113,60115,60117,60119,60121,60123,60125,60127,60129,60131],{"class":60114,"line":294},[169,213],[167,60116,685],{"class":181},[167,60118,688],{"class":173},[167,60120,531],{"class":254},[167,60122,693],{"class":173},[167,60124,639],{"class":191},[167,60126,698],{"class":173},[167,60128,701],{"class":191},[167,60130,662],{"class":219},[167,60132,393],{"class":173},[167,60134,60135],{"class":169,"line":304},[167,60136,398],{"class":173},[167,60138,60139],{"class":169,"line":313},[167,60140,209],{"emptyLinePlaceholder":208},[167,60142,60143],{"class":169,"line":161},[167,60144,718],{"class":173},[167,60146,60148,60150,60152,60154,60156,60158],{"class":60147,"line":335},[169,213],[167,60149,724],{"class":181},[167,60151,229],{"class":173},[167,60153,729],{"class":254},[167,60155,583],{"class":191},[167,60157,572],{"class":181},[167,60159,258],{"class":173},[167,60161,60163,60165,60167,60169],{"class":60162,"line":341},[169,213],[167,60164,741],{"class":219},[167,60166,744],{"class":173},[167,60168,267],{"class":191},[167,60170,749],{"class":173},[167,60172,60174],{"class":60173,"line":489},[169,213],[167,60175,755],{"class":173},[167,60177,60178,60180],{"class":169,"line":495},[167,60179,760],{"class":181},[167,60181,763],{"class":173},[167,60183,60184,60186,60188,60190],{"class":169,"line":501},[167,60185,741],{"class":219},[167,60187,744],{"class":173},[167,60189,267],{"class":191},[167,60191,774],{"class":219},[167,60193,60194],{"class":169,"line":512},[167,60195,755],{"class":173},[167,60197,60198],{"class":169,"line":781},[167,60199,398],{"class":173},[167,60201,60202],{"class":169,"line":786},[167,60203,403],{"class":173},[15,60205,60206,793,60208,797],{},[87,60207,729],{},[87,60209,796],{},[15,60211,800],{},[22,60213,804],{"id":803},[15,60215,807,60216,810],{},[87,60217,93],{},[154,60219,60221],{"className":542,"code":813,"filename":814,"highlights":60220,"language":546,"meta":163,"style":163},[238,243,261],[87,60222,60223,60233,60237,60251,60259,60274,60285,60290],{"__ignoreMap":163},[167,60224,60225,60227,60229,60231],{"class":169,"line":170},[167,60226,192],{"class":191},[167,60228,824],{"class":173},[167,60230,198],{"class":191},[167,60232,202],{"class":201},[167,60234,60235],{"class":169,"line":188},[167,60236,209],{"emptyLinePlaceholder":208},[167,60238,60239,60241,60243,60245,60247,60249],{"class":169,"line":205},[167,60240,608],{"class":191},[167,60242,611],{"class":191},[167,60244,841],{"class":219},[167,60246,223],{"class":191},[167,60248,846],{"class":181},[167,60250,372],{"class":173},[167,60252,60253,60255,60257],{"class":169,"line":160},[167,60254,853],{"class":173},[167,60256,232],{"class":201},[167,60258,393],{"class":173},[167,60260,60262,60264,60266,60268,60270,60272],{"class":60261,"line":238},[169,213],[167,60263,863],{"class":181},[167,60265,229],{"class":173},[167,60267,255],{"class":254},[167,60269,583],{"class":191},[167,60271,586],{"class":219},[167,60273,258],{"class":173},[167,60275,60277,60279,60281,60283],{"class":60276,"line":243},[169,213],[167,60278,879],{"class":219},[167,60280,882],{"class":173},[167,60282,267],{"class":191},[167,60284,270],{"class":173},[167,60286,60288],{"class":60287,"line":261},[169,213],[167,60289,398],{"class":173},[167,60291,60292],{"class":169,"line":273},[167,60293,403],{"class":173},[15,60295,898,60296,902],{},[87,60297,901],{},[22,60299,906],{"id":905},[15,60301,909],{},[15,60303,912],{},[22,60305,916],{"id":915},[15,60307,919],{},[15,60309,922],{},[924,60311,926],{},{"title":163,"searchDepth":188,"depth":188,"links":60313},[60314,60315,60316,60317,60318,60319,60320],{"id":24,"depth":188,"text":25},{"id":53,"depth":188,"text":54},{"id":145,"depth":188,"text":146},{"id":524,"depth":188,"text":525},{"id":803,"depth":188,"text":804},{"id":905,"depth":188,"text":906},{"id":915,"depth":188,"text":916},{"updatedAt":944,"author":945,"coverCaption":946,"keywords":60322},[948,949,950,951,952,953],[60324],{"headline":6,"author":60325,"datePublished":944,"@type":959},{"name":945,"@type":958},{"title":6,"description":939},[60328,60329,60330,60331,60332],{"tag":951,"color":964},{"tag":952,"color":966},{"tag":968,"color":969},{"tag":953,"color":971},{"tag":973,"color":974},{"id":977,"title":978,"body":60334,"cover":1613,"coverAlt":1614,"date":1615,"description":1616,"draft":1617,"extension":940,"lab":941,"locale":942,"meta":60854,"navigation":208,"path":1627,"schemaOrg":60856,"seo":60859,"series":941,"seriesDescription":941,"seriesOrder":941,"seriesTitle":941,"slug":941,"stem":1632,"tags":60860,"__hash__":1645},{"type":8,"value":60335,"toc":60846},[60336,60338,60340,60344,60346,60350,60352,60354,60356,60364,60519,60521,60523,60525,60668,60670,60678,60680,60682,60804,60806,60808,60810,60814,60816,60818,60840,60844],[11,60337,978],{"id":983},[15,60339,986],{},[15,60341,989,60342,993],{},[87,60343,992],{},[22,60345,997],{"id":996},[15,60347,1000,60348,1004],{},[87,60349,1003],{},[15,60351,1007],{},[22,60353,1011],{"id":1010},[15,60355,1014],{},[15,60357,1017,60358,1020,60360,1023,60362,1027],{},[87,60359,1003],{},[87,60361,369],{},[87,60363,1026],{},[154,60365,60367],{"className":156,"code":1030,"filename":1031,"highlights":60366,"language":162,"meta":163,"style":163},[188,243],[87,60368,60369,60385,60406,60432,60436,60444,60455,60459,60467,60471,60479,60499,60503,60511],{"__ignoreMap":163},[167,60370,60371,60373,60375,60377,60379,60381,60383],{"class":169,"line":170},[167,60372,174],{"class":173},[167,60374,178],{"class":177},[167,60376,182],{"class":181},[167,60378,1045],{"class":181},[167,60380,267],{"class":173},[167,60382,1050],{"class":201},[167,60384,185],{"class":173},[167,60386,60388,60390,60392,60394,60396,60398,60400,60402,60404],{"class":60387,"line":188},[169,213],[167,60389,216],{"class":191},[167,60391,1060],{"class":219},[167,60393,223],{"class":191},[167,60395,1065],{"class":181},[167,60397,1068],{"class":173},[167,60399,1071],{"class":254},[167,60401,583],{"class":191},[167,60403,586],{"class":219},[167,60405,1078],{"class":173},[167,60407,60408,60410,60412,60414,60416,60418,60420,60422,60424,60426,60428,60430],{"class":169,"line":205},[167,60409,216],{"class":191},[167,60411,415],{"class":219},[167,60413,223],{"class":191},[167,60415,420],{"class":181},[167,60417,1068],{"class":173},[167,60419,1093],{"class":254},[167,60421,583],{"class":191},[167,60423,1098],{"class":173},[167,60425,1071],{"class":181},[167,60427,1103],{"class":173},[167,60429,1106],{"class":219},[167,60431,1109],{"class":173},[167,60433,60434],{"class":169,"line":160},[167,60435,209],{"emptyLinePlaceholder":208},[167,60437,60438,60440,60442],{"class":169,"line":238},[167,60439,246],{"class":191},[167,60441,1120],{"class":181},[167,60443,763],{"class":173},[167,60445,60447,60449,60451,60453],{"class":60446,"line":243},[169,213],[167,60448,1128],{"class":181},[167,60450,229],{"class":173},[167,60452,1133],{"class":201},[167,60454,1136],{"class":173},[167,60456,60457],{"class":169,"line":261},[167,60458,276],{"class":173},[167,60460,60461,60463,60465],{"class":169,"line":273},[167,60462,282],{"class":173},[167,60464,178],{"class":177},[167,60466,185],{"class":173},[167,60468,60469],{"class":169,"line":279},[167,60470,209],{"emptyLinePlaceholder":208},[167,60472,60473,60475,60477],{"class":169,"line":289},[167,60474,174],{"class":173},[167,60476,299],{"class":177},[167,60478,185],{"class":173},[167,60480,60481,60483,60485,60487,60489,60491,60493,60495,60497],{"class":169,"line":294},[167,60482,307],{"class":173},[167,60484,507],{"class":177},[167,60486,1169],{"class":181},[167,60488,267],{"class":173},[167,60490,1174],{"class":201},[167,60492,1177],{"class":181},[167,60494,267],{"class":173},[167,60496,1182],{"class":201},[167,60498,185],{"class":173},[167,60500,60501],{"class":169,"line":304},[167,60502,1189],{"class":173},[167,60504,60505,60507,60509],{"class":169,"line":313},[167,60506,504],{"class":173},[167,60508,507],{"class":177},[167,60510,185],{"class":173},[167,60512,60513,60515,60517],{"class":169,"line":161},[167,60514,282],{"class":173},[167,60516,299],{"class":177},[167,60518,185],{"class":173},[15,60520,1208],{},[22,60522,1212],{"id":1211},[15,60524,1215],{},[154,60526,60528],{"className":156,"code":1218,"filename":1219,"highlights":60527,"language":162,"meta":163,"style":163},[160,238,243,261],[87,60529,60530,60538,60552,60560,60579,60588,60597,60610,60618,60626,60644,60652,60660],{"__ignoreMap":163},[167,60531,60532,60534,60536],{"class":169,"line":170},[167,60533,174],{"class":173},[167,60535,299],{"class":177},[167,60537,185],{"class":173},[167,60539,60540,60542,60544,60546,60548,60550],{"class":169,"line":188},[167,60541,307],{"class":173},[167,60543,1237],{"class":177},[167,60545,1240],{"class":181},[167,60547,267],{"class":173},[167,60549,1245],{"class":201},[167,60551,185],{"class":173},[167,60553,60554,60556,60558],{"class":169,"line":205},[167,60555,1252],{"class":173},[167,60557,1255],{"class":177},[167,60559,185],{"class":173},[167,60561,60563,60565,60567,60569,60571,60573,60575,60577],{"class":60562,"line":160},[169,213],[167,60564,1263],{"class":173},[167,60566,1266],{"class":177},[167,60568,1269],{"class":181},[167,60570,267],{"class":173},[167,60572,1274],{"class":201},[167,60574,1277],{"class":173},[167,60576,1266],{"class":177},[167,60578,185],{"class":173},[167,60580,60582,60584,60586],{"class":60581,"line":238},[169,213],[167,60583,1287],{"class":173},[167,60585,1255],{"class":177},[167,60587,185],{"class":173},[167,60589,60591,60593,60595],{"class":60590,"line":243},[169,213],[167,60592,1252],{"class":173},[167,60594,1299],{"class":177},[167,60596,185],{"class":173},[167,60598,60600,60602,60604,60606,60608],{"class":60599,"line":261},[169,213],[167,60601,1263],{"class":173},[167,60603,1266],{"class":177},[167,60605,1277],{"class":173},[167,60607,1266],{"class":177},[167,60609,185],{"class":173},[167,60611,60612,60614,60616],{"class":169,"line":273},[167,60613,1287],{"class":173},[167,60615,1299],{"class":177},[167,60617,185],{"class":173},[167,60619,60620,60622,60624],{"class":169,"line":279},[167,60621,1252],{"class":173},[167,60623,1329],{"class":177},[167,60625,185],{"class":173},[167,60627,60628,60630,60632,60634,60636,60638,60640,60642],{"class":169,"line":289},[167,60629,1263],{"class":173},[167,60631,1266],{"class":177},[167,60633,1269],{"class":181},[167,60635,267],{"class":173},[167,60637,1344],{"class":201},[167,60639,1277],{"class":173},[167,60641,1266],{"class":177},[167,60643,185],{"class":173},[167,60645,60646,60648,60650],{"class":169,"line":294},[167,60647,1287],{"class":173},[167,60649,1329],{"class":177},[167,60651,185],{"class":173},[167,60653,60654,60656,60658],{"class":169,"line":304},[167,60655,504],{"class":173},[167,60657,1237],{"class":177},[167,60659,185],{"class":173},[167,60661,60662,60664,60666],{"class":169,"line":313},[167,60663,282],{"class":173},[167,60665,299],{"class":177},[167,60667,185],{"class":173},[15,60669,1377],{},[15,60671,1380,60672,1384,60674,1388,60676,1391],{},[87,60673,1383],{},[87,60675,1387],{},[87,60677,1383],{},[22,60679,1395],{"id":1394},[15,60681,1398],{},[154,60683,60685],{"className":542,"code":1401,"filename":1402,"highlights":60684,"language":546,"meta":163,"style":163},[160,238,243,261,273],[87,60686,60687,60697,60701,60711,60728,60747,60752,60771,60790,60794,60800],{"__ignoreMap":163},[167,60688,60689,60691,60693,60695],{"class":169,"line":170},[167,60690,192],{"class":191},[167,60692,1412],{"class":173},[167,60694,198],{"class":191},[167,60696,202],{"class":201},[167,60698,60699],{"class":169,"line":188},[167,60700,209],{"emptyLinePlaceholder":208},[167,60702,60703,60705,60707,60709],{"class":169,"line":205},[167,60704,608],{"class":191},[167,60706,1427],{"class":191},[167,60708,1430],{"class":181},[167,60710,763],{"class":173},[167,60712,60714,60716,60718,60720,60722,60724,60726],{"class":60713,"line":160},[169,213],[167,60715,1438],{"class":191},[167,60717,1441],{"class":219},[167,60719,223],{"class":191},[167,60721,226],{"class":181},[167,60723,229],{"class":173},[167,60725,390],{"class":219},[167,60727,235],{"class":173},[167,60729,60731,60733,60735,60737,60739,60741,60743,60745],{"class":60730,"line":238},[169,213],[167,60732,1438],{"class":191},[167,60734,1459],{"class":181},[167,60736,223],{"class":191},[167,60738,1464],{"class":173},[167,60740,639],{"class":191},[167,60742,1469],{"class":173},[167,60744,267],{"class":191},[167,60746,1474],{"class":173},[167,60748,60750],{"class":60749,"line":243},[169,213],[167,60751,209],{"emptyLinePlaceholder":208},[167,60753,60755,60757,60759,60761,60763,60765,60767,60769],{"class":60754,"line":261},[169,213],[167,60756,1485],{"class":181},[167,60758,1488],{"class":173},[167,60760,639],{"class":191},[167,60762,1493],{"class":173},[167,60764,1496],{"class":181},[167,60766,229],{"class":173},[167,60768,1501],{"class":201},[167,60770,1504],{"class":173},[167,60772,60774,60776,60778,60780,60782,60784,60786,60788],{"class":60773,"line":273},[169,213],[167,60775,1510],{"class":181},[167,60777,1488],{"class":173},[167,60779,639],{"class":191},[167,60781,1493],{"class":173},[167,60783,1519],{"class":181},[167,60785,229],{"class":173},[167,60787,1501],{"class":201},[167,60789,1504],{"class":173},[167,60791,60792],{"class":169,"line":279},[167,60793,209],{"emptyLinePlaceholder":208},[167,60795,60796,60798],{"class":169,"line":289},[167,60797,1534],{"class":191},[167,60799,1537],{"class":173},[167,60801,60802],{"class":169,"line":294},[167,60803,276],{"class":173},[15,60805,1544],{},[15,60807,1547],{},[22,60809,1551],{"id":1550},[15,60811,60812,1556],{},[87,60813,992],{},[15,60815,1559],{},[22,60817,1563],{"id":1562},[33,60819,60820,60822,60824,60826,60830,60832,60834,60836,60838],{},[36,60821,1568],{},[36,60823,1571],{},[36,60825,1574],{},[36,60827,1577,60828,1580],{},[87,60829,992],{},[36,60831,1583],{},[36,60833,1586],{},[36,60835,1589],{},[36,60837,1592],{},[36,60839,1595],{},[15,60841,1598,60842,1601],{},[87,60843,992],{},[924,60845,1604],{},{"title":163,"searchDepth":188,"depth":188,"links":60847},[60848,60849,60850,60851,60852,60853],{"id":996,"depth":188,"text":997},{"id":1010,"depth":188,"text":1011},{"id":1211,"depth":188,"text":1212},{"id":1394,"depth":188,"text":1395},{"id":1550,"depth":188,"text":1551},{"id":1562,"depth":188,"text":1563},{"updatedAt":1619,"author":945,"coverCaption":1620,"keywords":60855},[1622,1623,1624,1625,1626,992],[60857],{"headline":978,"author":60858,"datePublished":1619,"@type":959},{"name":945,"@type":958},{"title":978,"description":1616},[60861,60862,60863,60864,60865,60866],{"tag":1622,"color":1635},{"tag":952,"color":966},{"tag":968,"color":969},{"tag":953,"color":971},{"tag":1640,"color":1641},{"tag":1643,"color":1644},{"id":1647,"title":1648,"body":60868,"cover":3236,"coverAlt":3237,"date":3238,"description":3239,"draft":1617,"extension":940,"lab":62191,"locale":942,"meta":62193,"navigation":208,"path":3257,"schemaOrg":62195,"seo":62198,"series":941,"seriesDescription":941,"seriesOrder":941,"seriesTitle":941,"slug":941,"stem":3262,"tags":62199,"__hash__":3274},{"type":8,"value":60869,"toc":62176},[60870,60878,60886,60888,60890,60892,60894,60898,60902,60906,60958,60962,60964,60966,61196,61202,61206,61216,61224,61228,61230,61360,61364,61368,61474,61478,61482,61484,61486,61500,61502,61752,61758,61760,61764,61768,61770,61884,61890,61892,61896,61900,61902,61940,61944,61982,61986,62028,62030,62032,62034,62038,62042,62046,62050,62054,62058,62062,62066,62070,62074,62076,62080,62082,62120,62124,62126,62128,62142,62146,62150,62154,62158,62160,62164,62168,62172,62174],[11,60871,1654,60872,1658,60874,1658,60876,1665],{"id":1653},[87,60873,1657],{},[87,60875,1661],{},[87,60877,1664],{},[15,60879,1668,60880,1020,60882,1023,60884,1675],{},[87,60881,1657],{},[87,60883,1661],{},[87,60885,1664],{},[15,60887,1678],{},[15,60889,1681],{},[15,60891,1684],{},[22,60893,1688],{"id":1687},[15,60895,1577,60896,1693],{},[87,60897,1657],{},[15,60899,1577,60900,1698],{},[87,60901,1661],{},[15,60903,1577,60904,1703],{},[87,60905,1664],{},[56,60907,60908,60920],{},[59,60909,60910],{},[62,60911,60912,60914,60916,60918],{},[65,60913,1712],{},[65,60915,1715],{},[65,60917,1718],{},[65,60919,1721],{},[75,60921,60922,60934,60946],{},[62,60923,60924,60928,60930,60932],{},[80,60925,60926],{},[87,60927,1657],{},[80,60929,1732],{},[80,60931,1735],{},[80,60933,1738],{},[62,60935,60936,60940,60942,60944],{},[80,60937,60938],{},[87,60939,1661],{},[80,60941,1747],{},[80,60943,1738],{},[80,60945,1735],{},[62,60947,60948,60952,60954,60956],{},[80,60949,60950],{},[87,60951,1664],{},[80,60953,1760],{},[80,60955,1738],{},[80,60957,1765],{},[22,60959,1769,60960,1772],{"id":1768},[87,60961,1657],{},[15,60963,1775],{},[15,60965,1778],{},[154,60967,60968],{"className":156,"code":1781,"filename":1782,"language":162,"meta":163,"style":163},[87,60969,60970,60980,60990,60994,61006,61026,61046,61050,61054,61070,61092,61106,61114,61118,61122,61144,61152,61156,61164,61176,61188],{"__ignoreMap":163},[167,60971,60972,60974,60976,60978],{"class":169,"line":170},[167,60973,174],{"class":173},[167,60975,178],{"class":177},[167,60977,182],{"class":181},[167,60979,185],{"class":173},[167,60981,60982,60984,60986,60988],{"class":169,"line":188},[167,60983,192],{"class":191},[167,60985,1801],{"class":173},[167,60987,198],{"class":191},[167,60989,202],{"class":201},[167,60991,60992],{"class":169,"line":205},[167,60993,209],{"emptyLinePlaceholder":208},[167,60995,60996,60998,61000,61002,61004],{"class":169,"line":160},[167,60997,216],{"class":191},[167,60999,1816],{"class":219},[167,61001,223],{"class":191},[167,61003,226],{"class":181},[167,61005,1823],{"class":173},[167,61007,61008,61010,61012,61014,61016,61018,61020,61022,61024],{"class":169,"line":238},[167,61009,1828],{"class":173},[167,61011,1831],{"class":219},[167,61013,1834],{"class":173},[167,61015,1837],{"class":201},[167,61017,1840],{"class":173},[167,61019,1843],{"class":219},[167,61021,1846],{"class":173},[167,61023,1849],{"class":219},[167,61025,1852],{"class":173},[167,61027,61028,61030,61032,61034,61036,61038,61040,61042,61044],{"class":169,"line":243},[167,61029,1828],{"class":173},[167,61031,1849],{"class":219},[167,61033,1834],{"class":173},[167,61035,1863],{"class":201},[167,61037,1840],{"class":173},[167,61039,1868],{"class":219},[167,61041,1846],{"class":173},[167,61043,1831],{"class":219},[167,61045,599],{"class":173},[167,61047,61048],{"class":169,"line":261},[167,61049,429],{"class":173},[167,61051,61052],{"class":169,"line":273},[167,61053,209],{"emptyLinePlaceholder":208},[167,61055,61056,61058,61060,61062,61064,61066,61068],{"class":169,"line":279},[167,61057,216],{"class":191},[167,61059,1889],{"class":219},[167,61061,223],{"class":191},[167,61063,1894],{"class":181},[167,61065,1488],{"class":173},[167,61067,639],{"class":191},[167,61069,1901],{"class":173},[167,61071,61072,61074,61076,61078,61080,61082,61084,61086,61088,61090],{"class":169,"line":289},[167,61073,1534],{"class":191},[167,61075,1908],{"class":173},[167,61077,1911],{"class":181},[167,61079,1914],{"class":173},[167,61081,1917],{"class":254},[167,61083,1020],{"class":173},[167,61085,1922],{"class":254},[167,61087,693],{"class":173},[167,61089,639],{"class":191},[167,61091,1901],{"class":173},[167,61093,61094,61096,61098,61100,61102,61104],{"class":169,"line":294},[167,61095,1933],{"class":191},[167,61097,1936],{"class":173},[167,61099,1939],{"class":191},[167,61101,1942],{"class":173},[167,61103,1945],{"class":191},[167,61105,1948],{"class":173},[167,61107,61108,61110,61112],{"class":169,"line":304},[167,61109,1953],{"class":173},[167,61111,1956],{"class":219},[167,61113,235],{"class":173},[167,61115,61116],{"class":169,"line":313},[167,61117,403],{"class":173},[167,61119,61120],{"class":169,"line":161},[167,61121,209],{"emptyLinePlaceholder":208},[167,61123,61124,61126,61128,61130,61132,61134,61136,61138,61140,61142],{"class":169,"line":335},[167,61125,216],{"class":191},[167,61127,1973],{"class":219},[167,61129,223],{"class":191},[167,61131,1894],{"class":181},[167,61133,1488],{"class":173},[167,61135,639],{"class":191},[167,61137,1984],{"class":173},[167,61139,1987],{"class":191},[167,61141,1990],{"class":219},[167,61143,235],{"class":173},[167,61145,61146,61148,61150],{"class":169,"line":341},[167,61147,282],{"class":173},[167,61149,178],{"class":177},[167,61151,185],{"class":173},[167,61153,61154],{"class":169,"line":489},[167,61155,209],{"emptyLinePlaceholder":208},[167,61157,61158,61160,61162],{"class":169,"line":495},[167,61159,174],{"class":173},[167,61161,299],{"class":177},[167,61163,185],{"class":173},[167,61165,61166,61168,61170,61172,61174],{"class":169,"line":501},[167,61167,307],{"class":173},[167,61169,15],{"class":177},[167,61171,2021],{"class":173},[167,61173,15],{"class":177},[167,61175,185],{"class":173},[167,61177,61178,61180,61182,61184,61186],{"class":169,"line":512},[167,61179,307],{"class":173},[167,61181,15],{"class":177},[167,61183,2034],{"class":173},[167,61185,15],{"class":177},[167,61187,185],{"class":173},[167,61189,61190,61192,61194],{"class":169,"line":781},[167,61191,282],{"class":173},[167,61193,299],{"class":177},[167,61195,185],{"class":173},[15,61197,61198,2052,61200,1675],{},[87,61199,2051],{},[87,61201,2055],{},[15,61203,2058,61204,2061],{},[87,61205,1657],{},[33,61207,61208,61210,61212,61214],{},[36,61209,2066],{},[36,61211,2069],{},[36,61213,2072],{},[36,61215,2075],{},[15,61217,2078,61218,2082,61220,2085,61222,1675],{},[87,61219,2081],{},[87,61221,2081],{},[87,61223,1657],{},[22,61225,2091,61226,2094],{"id":2090},[87,61227,1661],{},[15,61229,2097],{},[154,61231,61232],{"className":156,"code":2100,"filename":2101,"language":162,"meta":163,"style":163},[87,61233,61234,61244,61254,61258,61274,61290,61306,61310,61320,61344,61352],{"__ignoreMap":163},[167,61235,61236,61238,61240,61242],{"class":169,"line":170},[167,61237,174],{"class":173},[167,61239,178],{"class":177},[167,61241,182],{"class":181},[167,61243,185],{"class":173},[167,61245,61246,61248,61250,61252],{"class":169,"line":188},[167,61247,192],{"class":191},[167,61249,2120],{"class":173},[167,61251,198],{"class":191},[167,61253,202],{"class":201},[167,61255,61256],{"class":169,"line":205},[167,61257,209],{"emptyLinePlaceholder":208},[167,61259,61260,61262,61264,61266,61268,61270,61272],{"class":169,"line":160},[167,61261,216],{"class":191},[167,61263,2135],{"class":219},[167,61265,223],{"class":191},[167,61267,226],{"class":181},[167,61269,229],{"class":173},[167,61271,2144],{"class":201},[167,61273,235],{"class":173},[167,61275,61276,61278,61280,61282,61284,61286,61288],{"class":169,"line":238},[167,61277,216],{"class":191},[167,61279,2153],{"class":219},[167,61281,223],{"class":191},[167,61283,226],{"class":181},[167,61285,229],{"class":173},[167,61287,2162],{"class":201},[167,61289,235],{"class":173},[167,61291,61292,61294,61296,61298,61300,61302,61304],{"class":169,"line":243},[167,61293,216],{"class":191},[167,61295,2171],{"class":219},[167,61297,223],{"class":191},[167,61299,226],{"class":181},[167,61301,229],{"class":173},[167,61303,2180],{"class":201},[167,61305,235],{"class":173},[167,61307,61308],{"class":169,"line":261},[167,61309,209],{"emptyLinePlaceholder":208},[167,61311,61312,61314,61316,61318],{"class":169,"line":273},[167,61313,1661],{"class":181},[167,61315,2193],{"class":173},[167,61317,639],{"class":191},[167,61319,1901],{"class":173},[167,61321,61322,61324,61326,61328,61330,61332,61334,61336,61338,61340,61342],{"class":169,"line":279},[167,61323,2202],{"class":173},[167,61325,267],{"class":191},[167,61327,2207],{"class":201},[167,61329,2210],{"class":173},[167,61331,1675],{"class":201},[167,61333,2215],{"class":173},[167,61335,2218],{"class":201},[167,61337,2221],{"class":173},[167,61339,1675],{"class":201},[167,61341,2215],{"class":173},[167,61343,2228],{"class":201},[167,61345,61346,61348,61350],{"class":169,"line":289},[167,61347,2233],{"class":173},[167,61349,390],{"class":219},[167,61351,2238],{"class":173},[167,61353,61354,61356,61358],{"class":169,"line":294},[167,61355,282],{"class":173},[167,61357,178],{"class":177},[167,61359,185],{"class":173},[15,61361,2249,61362,2253],{},[87,61363,2252],{},[15,61365,1577,61366,583],{},[87,61367,1657],{},[154,61369,61370],{"className":156,"code":2260,"filename":2261,"language":162,"meta":163,"style":163},[87,61371,61372,61382,61392,61396,61412,61428,61432,61466],{"__ignoreMap":163},[167,61373,61374,61376,61378,61380],{"class":169,"line":170},[167,61375,174],{"class":173},[167,61377,178],{"class":177},[167,61379,182],{"class":181},[167,61381,185],{"class":173},[167,61383,61384,61386,61388,61390],{"class":169,"line":188},[167,61385,192],{"class":191},[167,61387,1801],{"class":173},[167,61389,198],{"class":191},[167,61391,202],{"class":201},[167,61393,61394],{"class":169,"line":205},[167,61395,209],{"emptyLinePlaceholder":208},[167,61397,61398,61400,61402,61404,61406,61408,61410],{"class":169,"line":160},[167,61399,216],{"class":191},[167,61401,2135],{"class":219},[167,61403,223],{"class":191},[167,61405,226],{"class":181},[167,61407,229],{"class":173},[167,61409,2144],{"class":201},[167,61411,235],{"class":173},[167,61413,61414,61416,61418,61420,61422,61424,61426],{"class":169,"line":238},[167,61415,216],{"class":191},[167,61417,2153],{"class":219},[167,61419,223],{"class":191},[167,61421,226],{"class":181},[167,61423,229],{"class":173},[167,61425,2162],{"class":201},[167,61427,235],{"class":173},[167,61429,61430],{"class":169,"line":243},[167,61431,209],{"emptyLinePlaceholder":208},[167,61433,61434,61436,61438,61440,61442,61444,61446,61448,61450,61452,61454,61456,61458,61460,61462,61464],{"class":169,"line":261},[167,61435,216],{"class":191},[167,61437,2171],{"class":219},[167,61439,223],{"class":191},[167,61441,1894],{"class":181},[167,61443,1488],{"class":173},[167,61445,639],{"class":191},[167,61447,2207],{"class":201},[167,61449,2210],{"class":173},[167,61451,1675],{"class":201},[167,61453,2215],{"class":173},[167,61455,2218],{"class":201},[167,61457,2221],{"class":173},[167,61459,1675],{"class":201},[167,61461,2215],{"class":173},[167,61463,2356],{"class":201},[167,61465,235],{"class":173},[167,61467,61468,61470,61472],{"class":169,"line":273},[167,61469,282],{"class":173},[167,61471,178],{"class":177},[167,61473,185],{"class":173},[15,61475,2369,61476,1675],{},[87,61477,1657],{},[22,61479,1577,61480,2377],{"id":2374},[87,61481,1661],{},[15,61483,2380],{},[15,61485,2383],{},[33,61487,61488,61490,61494,61496,61498],{},[36,61489,2388],{},[36,61491,2391,61492,1675],{},[87,61493,2394],{},[36,61495,2397],{},[36,61497,2400],{},[36,61499,2403],{},[15,61501,2406],{},[154,61503,61504],{"className":156,"code":2409,"filename":2410,"language":162,"meta":163,"style":163},[87,61505,61506,61516,61526,61530,61546,61562,61566,61590,61594,61616,61628,61632,61640,61648,61652,61656,61670,61682,61686,61694,61698,61706,61732,61744],{"__ignoreMap":163},[167,61507,61508,61510,61512,61514],{"class":169,"line":170},[167,61509,174],{"class":173},[167,61511,178],{"class":177},[167,61513,182],{"class":181},[167,61515,185],{"class":173},[167,61517,61518,61520,61522,61524],{"class":169,"line":188},[167,61519,192],{"class":191},[167,61521,2429],{"class":173},[167,61523,198],{"class":191},[167,61525,202],{"class":201},[167,61527,61528],{"class":169,"line":205},[167,61529,209],{"emptyLinePlaceholder":208},[167,61531,61532,61534,61536,61538,61540,61542,61544],{"class":169,"line":160},[167,61533,216],{"class":191},[167,61535,2444],{"class":219},[167,61537,223],{"class":191},[167,61539,226],{"class":181},[167,61541,229],{"class":173},[167,61543,2180],{"class":201},[167,61545,235],{"class":173},[167,61547,61548,61550,61552,61554,61556,61558,61560],{"class":169,"line":238},[167,61549,216],{"class":191},[167,61551,2461],{"class":219},[167,61553,223],{"class":191},[167,61555,226],{"class":181},[167,61557,229],{"class":173},[167,61559,1831],{"class":219},[167,61561,235],{"class":173},[167,61563,61564],{"class":169,"line":243},[167,61565,209],{"emptyLinePlaceholder":208},[167,61567,61568,61570,61572,61574,61576,61578,61580,61582,61584,61586,61588],{"class":169,"line":261},[167,61569,216],{"class":191},[167,61571,2482],{"class":219},[167,61573,223],{"class":191},[167,61575,1894],{"class":181},[167,61577,1488],{"class":173},[167,61579,639],{"class":191},[167,61581,2493],{"class":173},[167,61583,2496],{"class":181},[167,61585,2499],{"class":173},[167,61587,2502],{"class":181},[167,61589,2505],{"class":173},[167,61591,61592],{"class":169,"line":273},[167,61593,209],{"emptyLinePlaceholder":208},[167,61595,61596,61598,61600,61602,61604,61606,61608,61610,61612,61614],{"class":169,"line":279},[167,61597,1661],{"class":181},[167,61599,2516],{"class":173},[167,61601,2519],{"class":191},[167,61603,2522],{"class":173},[167,61605,2215],{"class":254},[167,61607,1020],{"class":173},[167,61609,2529],{"class":254},[167,61611,693],{"class":173},[167,61613,639],{"class":191},[167,61615,1901],{"class":173},[167,61617,61618,61620,61622,61624,61626],{"class":169,"line":289},[167,61619,2540],{"class":191},[167,61621,2543],{"class":173},[167,61623,2546],{"class":191},[167,61625,2549],{"class":173},[167,61627,2552],{"class":191},[167,61629,61630],{"class":169,"line":294},[167,61631,209],{"emptyLinePlaceholder":208},[167,61633,61634,61636,61638],{"class":169,"line":304},[167,61635,2561],{"class":173},[167,61637,267],{"class":191},[167,61639,2566],{"class":219},[167,61641,61642,61644,61646],{"class":169,"line":313},[167,61643,2571],{"class":191},[167,61645,2574],{"class":181},[167,61647,2577],{"class":173},[167,61649,61650],{"class":169,"line":161},[167,61651,403],{"class":173},[167,61653,61654],{"class":169,"line":335},[167,61655,209],{"emptyLinePlaceholder":208},[167,61657,61658,61660,61662,61664,61666,61668],{"class":169,"line":341},[167,61659,2519],{"class":191},[167,61661,1427],{"class":191},[167,61663,2574],{"class":181},[167,61665,229],{"class":173},[167,61667,2215],{"class":254},[167,61669,258],{"class":173},[167,61671,61672,61674,61676,61678,61680],{"class":169,"line":489},[167,61673,2604],{"class":173},[167,61675,2607],{"class":181},[167,61677,229],{"class":173},[167,61679,2612],{"class":201},[167,61681,2615],{"class":173},[167,61683,61684],{"class":169,"line":495},[167,61685,276],{"class":173},[167,61687,61688,61690,61692],{"class":169,"line":501},[167,61689,282],{"class":173},[167,61691,178],{"class":177},[167,61693,185],{"class":173},[167,61695,61696],{"class":169,"line":512},[167,61697,209],{"emptyLinePlaceholder":208},[167,61699,61700,61702,61704],{"class":169,"line":781},[167,61701,174],{"class":173},[167,61703,299],{"class":177},[167,61705,185],{"class":173},[167,61707,61708,61710,61712,61714,61716,61718,61720,61722,61724,61726,61728,61730],{"class":169,"line":786},[167,61709,307],{"class":173},[167,61711,2646],{"class":177},[167,61713,2649],{"class":181},[167,61715,267],{"class":173},[167,61717,2654],{"class":201},[167,61719,1169],{"class":181},[167,61721,267],{"class":173},[167,61723,2661],{"class":201},[167,61725,2664],{"class":181},[167,61727,267],{"class":173},[167,61729,2669],{"class":201},[167,61731,185],{"class":173},[167,61733,61734,61736,61738,61740,61742],{"class":169,"line":2674},[167,61735,307],{"class":173},[167,61737,15],{"class":177},[167,61739,2681],{"class":173},[167,61741,15],{"class":177},[167,61743,185],{"class":173},[167,61745,61746,61748,61750],{"class":169,"line":2688},[167,61747,282],{"class":173},[167,61749,299],{"class":177},[167,61751,185],{"class":173},[15,61753,2697,61754,2700,61756,1675],{},[87,61755,1661],{},[87,61757,2703],{},[15,61759,2706],{},[22,61761,1577,61762,2712],{"id":2709},[87,61763,1664],{},[15,61765,61766,2717],{},[87,61767,1664],{},[15,61769,2720],{},[154,61771,61772],{"className":156,"code":2723,"filename":2724,"language":162,"meta":163,"style":163},[87,61773,61774,61784,61794,61798,61814,61830,61834,61844,61872,61876],{"__ignoreMap":163},[167,61775,61776,61778,61780,61782],{"class":169,"line":170},[167,61777,174],{"class":173},[167,61779,178],{"class":177},[167,61781,182],{"class":181},[167,61783,185],{"class":173},[167,61785,61786,61788,61790,61792],{"class":169,"line":188},[167,61787,192],{"class":191},[167,61789,2743],{"class":173},[167,61791,198],{"class":191},[167,61793,202],{"class":201},[167,61795,61796],{"class":169,"line":205},[167,61797,209],{"emptyLinePlaceholder":208},[167,61799,61800,61802,61804,61806,61808,61810,61812],{"class":169,"line":160},[167,61801,216],{"class":191},[167,61803,2758],{"class":219},[167,61805,223],{"class":191},[167,61807,226],{"class":181},[167,61809,229],{"class":173},[167,61811,1831],{"class":219},[167,61813,235],{"class":173},[167,61815,61816,61818,61820,61822,61824,61826,61828],{"class":169,"line":238},[167,61817,216],{"class":191},[167,61819,2775],{"class":219},[167,61821,223],{"class":191},[167,61823,226],{"class":181},[167,61825,229],{"class":173},[167,61827,2784],{"class":201},[167,61829,235],{"class":173},[167,61831,61832],{"class":169,"line":243},[167,61833,209],{"emptyLinePlaceholder":208},[167,61835,61836,61838,61840,61842],{"class":169,"line":261},[167,61837,1664],{"class":181},[167,61839,1488],{"class":173},[167,61841,639],{"class":191},[167,61843,1901],{"class":173},[167,61845,61846,61848,61850,61852,61854,61856,61858,61860,61862,61864,61866,61868,61870],{"class":169,"line":273},[167,61847,2604],{"class":173},[167,61849,2607],{"class":181},[167,61851,229],{"class":173},[167,61853,2811],{"class":201},[167,61855,2814],{"class":173},[167,61857,1675],{"class":201},[167,61859,2215],{"class":173},[167,61861,2821],{"class":201},[167,61863,2824],{"class":173},[167,61865,1675],{"class":201},[167,61867,2215],{"class":173},[167,61869,2356],{"class":201},[167,61871,235],{"class":173},[167,61873,61874],{"class":169,"line":279},[167,61875,403],{"class":173},[167,61877,61878,61880,61882],{"class":169,"line":289},[167,61879,282],{"class":173},[167,61881,178],{"class":177},[167,61883,185],{"class":173},[15,61885,2847,61886,1023,61888,2854],{},[87,61887,2850],{},[87,61889,2853],{},[15,61891,2857],{},[22,61893,2861,61894,2864],{"id":2860},[87,61895,1664],{},[15,61897,61898,2869],{},[87,61899,1664],{},[15,61901,2872],{},[154,61903,61904],{"className":2875,"code":2876,"filename":2877,"language":2878,"meta":163,"style":163},[87,61905,61906,61920,61928,61936],{"__ignoreMap":163},[167,61907,61908,61910,61912,61914,61916,61918],{"class":169,"line":170},[167,61909,1664],{"class":181},[167,61911,229],{"class":173},[167,61913,2519],{"class":191},[167,61915,1464],{"class":173},[167,61917,639],{"class":191},[167,61919,1901],{"class":173},[167,61921,61922,61924,61926],{"class":169,"line":188},[167,61923,2604],{"class":173},[167,61925,2607],{"class":181},[167,61927,2903],{"class":173},[167,61929,61930,61932,61934],{"class":169,"line":205},[167,61931,2571],{"class":191},[167,61933,2910],{"class":181},[167,61935,2913],{"class":173},[167,61937,61938],{"class":169,"line":160},[167,61939,403],{"class":173},[15,61941,2920,61942,2924],{},[87,61943,2923],{},[154,61945,61946],{"className":2875,"code":2927,"filename":2928,"language":2878,"meta":163,"style":163},[87,61947,61948,61962,61970,61978],{"__ignoreMap":163},[167,61949,61950,61952,61954,61956,61958,61960],{"class":169,"line":170},[167,61951,1664],{"class":181},[167,61953,229],{"class":173},[167,61955,2519],{"class":191},[167,61957,1464],{"class":173},[167,61959,639],{"class":191},[167,61961,1901],{"class":173},[167,61963,61964,61966,61968],{"class":169,"line":188},[167,61965,2571],{"class":191},[167,61967,2910],{"class":181},[167,61969,2913],{"class":173},[167,61971,61972,61974,61976],{"class":169,"line":205},[167,61973,2604],{"class":173},[167,61975,2607],{"class":181},[167,61977,2903],{"class":173},[167,61979,61980],{"class":169,"line":160},[167,61981,403],{"class":173},[15,61983,2967,61984,2970],{},[87,61985,1661],{},[154,61987,61988],{"className":2875,"code":2973,"filename":2974,"language":2878,"meta":163,"style":163},[87,61989,61990,62008,62020],{"__ignoreMap":163},[167,61991,61992,61994,61996,61998,62000,62002,62004,62006],{"class":169,"line":170},[167,61993,1661],{"class":181},[167,61995,2983],{"class":173},[167,61997,2519],{"class":191},[167,61999,2522],{"class":173},[167,62001,580],{"class":254},[167,62003,693],{"class":173},[167,62005,639],{"class":191},[167,62007,1901],{"class":173},[167,62009,62010,62012,62014,62016,62018],{"class":169,"line":188},[167,62011,3000],{"class":173},[167,62013,267],{"class":191},[167,62015,3005],{"class":191},[167,62017,3008],{"class":181},[167,62019,3011],{"class":173},[167,62021,62022,62024,62026],{"class":169,"line":205},[167,62023,2233],{"class":173},[167,62025,390],{"class":219},[167,62027,2238],{"class":173},[15,62029,3022],{},[22,62031,3026],{"id":3025},[15,62033,3029],{},[3031,62035,62036],{},[36,62037,3035],{},[15,62039,1577,62040,1675],{},[87,62041,1657],{},[3031,62043,62044],{"start":188},[36,62045,3044],{},[15,62047,1577,62048,1675],{},[87,62049,1661],{},[3031,62051,62052],{"start":205},[36,62053,3053],{},[15,62055,1577,62056,1675],{},[87,62057,1664],{},[3031,62059,62060],{"start":160},[36,62061,3062],{},[15,62063,3065,62064,1675],{},[87,62065,1657],{},[3031,62067,62068],{"start":238},[36,62069,3072],{},[15,62071,3065,62072,3077],{},[87,62073,1661],{},[22,62075,3081],{"id":3080},[3083,62077,3086,62078],{"id":3085},[87,62079,1657],{},[15,62081,3091],{},[154,62083,62084],{"className":2875,"code":3094,"filename":3095,"language":2878,"meta":163,"style":163},[87,62085,62086,62102,62108,62116],{"__ignoreMap":163},[167,62087,62088,62090,62092,62094,62096,62098,62100],{"class":169,"line":170},[167,62089,216],{"class":191},[167,62091,3104],{"class":219},[167,62093,223],{"class":191},[167,62095,1894],{"class":181},[167,62097,1488],{"class":173},[167,62099,639],{"class":191},[167,62101,1901],{"class":173},[167,62103,62104,62106],{"class":169,"line":188},[167,62105,3119],{"class":173},[167,62107,3122],{"class":191},[167,62109,62110,62112,62114],{"class":169,"line":205},[167,62111,1534],{"class":191},[167,62113,1908],{"class":173},[167,62115,3131],{"class":219},[167,62117,62118],{"class":169,"line":160},[167,62119,403],{"class":173},[15,62121,3138,62122,3141],{},[87,62123,1657],{},[3083,62125,3145],{"id":3144},[15,62127,3148],{},[154,62129,62130],{"className":2875,"code":3151,"filename":3152,"language":2878,"meta":163,"style":163},[87,62131,62132],{"__ignoreMap":163},[167,62133,62134,62136,62138,62140],{"class":169,"line":170},[167,62135,1661],{"class":181},[167,62137,3161],{"class":173},[167,62139,390],{"class":219},[167,62141,2238],{"class":173},[15,62143,3168,62144,3172],{},[87,62145,3171],{},[3083,62147,3176,62148,3179],{"id":3175},[87,62149,1664],{},[15,62151,62152,3184],{},[87,62153,1664],{},[15,62155,3187,62156,1675],{},[87,62157,1661],{},[22,62159,3193],{"id":3192},[15,62161,3196,62162,1675],{},[87,62163,1657],{},[15,62165,3201,62166,1675],{},[87,62167,1661],{},[15,62169,3206,62170,1675],{},[87,62171,1664],{},[15,62173,3211],{},[924,62175,926],{},{"title":163,"searchDepth":188,"depth":188,"links":62177},[62178,62179,62180,62181,62182,62183,62184,62185,62190],{"id":1687,"depth":188,"text":1688},{"id":1768,"depth":188,"text":3218},{"id":2090,"depth":188,"text":3220},{"id":2374,"depth":188,"text":3222},{"id":2709,"depth":188,"text":3224},{"id":2860,"depth":188,"text":3226},{"id":3025,"depth":188,"text":3026},{"id":3080,"depth":188,"text":3081,"children":62186},[62187,62188,62189],{"id":3085,"depth":205,"text":3231},{"id":3144,"depth":205,"text":3145},{"id":3175,"depth":205,"text":3234},{"id":3192,"depth":188,"text":3193},{"title":3241,"goal":3242,"tasks":62192,"starterCode":3248,"solutionHint":3249},[3244,3245,3246,3247],{"updatedAt":3251,"coverCaption":3252,"author":945,"keywords":62194},[3254,950,1657,1661,1664,3255,3256],[62196],{"headline":1648,"author":62197,"datePublished":3251,"@type":959},{"name":945,"@type":958},{"title":1648,"description":3239},[62200,62201,62202,62203],{"tag":3265,"color":3266},{"tag":968,"color":969},{"tag":3269,"color":3270},{"tag":3272,"color":3273},{"id":3276,"title":3277,"body":62205,"cover":5391,"coverAlt":3277,"date":5392,"description":5393,"draft":1617,"extension":940,"lab":64102,"locale":942,"meta":64104,"navigation":208,"path":5409,"schemaOrg":64106,"seo":64109,"series":941,"seriesDescription":941,"seriesOrder":941,"seriesTitle":941,"slug":941,"stem":5414,"tags":64110,"__hash__":5422},{"type":8,"value":62206,"toc":64092},[62207,62209,62211,62213,62223,62225,62227,62229,62461,62463,62465,62660,62662,62666,62672,62817,62964,62966,62968,62972,62974,63181,63398,63400,63402,63404,63406,63496,63498,63500,63613,63828,63830,63874,63876,63878,63880,63902,63908,63910,63912,63914,64026,64030,64054,64056,64058,64060,64070,64074,64076,64078,64080,64084,64086,64088,64090],[11,62208,3277],{"id":3282},[15,62210,3285],{},[15,62212,3288],{},[33,62214,62215,62219],{},[36,62216,3293,62217,3297],{},[87,62218,3296],{},[36,62220,3300,62221,3304],{},[87,62222,3303],{},[15,62224,3307],{},[22,62226,3311],{"id":3310},[15,62228,3314],{},[154,62230,62232],{"className":156,"code":3317,"filename":3318,"highlights":62231,"language":162,"meta":163,"style":163},[501,512,781,786,2674],[87,62233,62234,62244,62254,62264,62268,62280,62296,62312,62316,62320,62338,62364,62370,62378,62382,62386,62394,62398,62406,62413,62422,62431,62440,62449,62453],{"__ignoreMap":163},[167,62235,62236,62238,62240,62242],{"class":169,"line":170},[167,62237,174],{"class":173},[167,62239,178],{"class":177},[167,62241,182],{"class":181},[167,62243,185],{"class":173},[167,62245,62246,62248,62250,62252],{"class":169,"line":188},[167,62247,192],{"class":191},[167,62249,195],{"class":173},[167,62251,198],{"class":191},[167,62253,202],{"class":201},[167,62255,62256,62258,62260,62262],{"class":169,"line":205},[167,62257,192],{"class":191},[167,62259,3348],{"class":173},[167,62261,198],{"class":191},[167,62263,3353],{"class":201},[167,62265,62266],{"class":169,"line":160},[167,62267,209],{"emptyLinePlaceholder":208},[167,62269,62270,62272,62274,62276,62278],{"class":169,"line":238},[167,62271,216],{"class":191},[167,62273,3364],{"class":219},[167,62275,223],{"class":191},[167,62277,226],{"class":181},[167,62279,1823],{"class":173},[167,62281,62282,62284,62286,62288,62290,62292,62294],{"class":169,"line":243},[167,62283,1828],{"class":173},[167,62285,1831],{"class":219},[167,62287,3379],{"class":173},[167,62289,3382],{"class":201},[167,62291,3385],{"class":173},[167,62293,3388],{"class":219},[167,62295,1852],{"class":173},[167,62297,62298,62300,62302,62304,62306,62308,62310],{"class":169,"line":261},[167,62299,1828],{"class":173},[167,62301,1849],{"class":219},[167,62303,3379],{"class":173},[167,62305,3401],{"class":201},[167,62307,3385],{"class":173},[167,62309,3388],{"class":219},[167,62311,599],{"class":173},[167,62313,62314],{"class":169,"line":273},[167,62315,429],{"class":173},[167,62317,62318],{"class":169,"line":279},[167,62319,209],{"emptyLinePlaceholder":208},[167,62321,62322,62324,62326,62328,62330,62332,62334,62336],{"class":169,"line":289},[167,62323,216],{"class":191},[167,62325,3422],{"class":181},[167,62327,223],{"class":191},[167,62329,2522],{"class":173},[167,62331,3429],{"class":254},[167,62333,693],{"class":173},[167,62335,639],{"class":191},[167,62337,1901],{"class":173},[167,62339,62340,62342,62344,62346,62348,62350,62352,62354,62356,62358,62360,62362],{"class":169,"line":294},[167,62341,1438],{"class":191},[167,62343,3442],{"class":219},[167,62345,223],{"class":191},[167,62347,3447],{"class":173},[167,62349,3450],{"class":181},[167,62351,1914],{"class":173},[167,62353,1922],{"class":254},[167,62355,693],{"class":173},[167,62357,639],{"class":191},[167,62359,3461],{"class":173},[167,62361,2546],{"class":191},[167,62363,3466],{"class":173},[167,62365,62366,62368],{"class":169,"line":304},[167,62367,2540],{"class":191},[167,62369,3473],{"class":173},[167,62371,62372,62374,62376],{"class":169,"line":313},[167,62373,3478],{"class":173},[167,62375,267],{"class":191},[167,62377,3483],{"class":219},[167,62379,62380],{"class":169,"line":161},[167,62381,3488],{"class":173},[167,62383,62384],{"class":169,"line":335},[167,62385,276],{"class":173},[167,62387,62388,62390,62392],{"class":169,"line":341},[167,62389,282],{"class":173},[167,62391,178],{"class":177},[167,62393,185],{"class":173},[167,62395,62396],{"class":169,"line":489},[167,62397,209],{"emptyLinePlaceholder":208},[167,62399,62400,62402,62404],{"class":169,"line":495},[167,62401,174],{"class":173},[167,62403,299],{"class":177},[167,62405,185],{"class":173},[167,62407,62409,62411],{"class":62408,"line":501},[169,213],[167,62410,307],{"class":173},[167,62412,3520],{"class":177},[167,62414,62416,62418,62420],{"class":62415,"line":512},[169,213],[167,62417,3526],{"class":181},[167,62419,267],{"class":173},[167,62421,3531],{"class":201},[167,62423,62425,62427,62429],{"class":62424,"line":781},[169,213],[167,62426,3537],{"class":181},[167,62428,267],{"class":173},[167,62430,3542],{"class":201},[167,62432,62434,62436,62438],{"class":62433,"line":786},[169,213],[167,62435,3548],{"class":181},[167,62437,267],{"class":173},[167,62439,3553],{"class":201},[167,62441,62443,62445,62447],{"class":62442,"line":2674},[169,213],[167,62444,3559],{"class":181},[167,62446,267],{"class":173},[167,62448,3564],{"class":201},[167,62450,62451],{"class":169,"line":2688},[167,62452,338],{"class":173},[167,62454,62455,62457,62459],{"class":169,"line":3571},[167,62456,282],{"class":173},[167,62458,299],{"class":177},[167,62460,185],{"class":173},[15,62462,3580],{},[15,62464,3583],{},[154,62466,62468],{"className":156,"code":3586,"filename":3587,"highlights":62467,"language":162,"meta":163,"style":163},[188,205,160,238,243,261,279,512],[87,62469,62470,62480,62493,62498,62503,62510,62515,62520,62524,62541,62549,62553,62561,62569,62581,62593,62597,62603,62611,62619,62628,62632,62636,62644,62652],{"__ignoreMap":163},[167,62471,62472,62474,62476,62478],{"class":169,"line":170},[167,62473,174],{"class":173},[167,62475,178],{"class":177},[167,62477,182],{"class":181},[167,62479,185],{"class":173},[167,62481,62483,62485,62487,62489,62491],{"class":62482,"line":188},[169,213],[167,62484,216],{"class":191},[167,62486,1060],{"class":219},[167,62488,223],{"class":191},[167,62490,1065],{"class":181},[167,62492,372],{"class":173},[167,62494,62496],{"class":62495,"line":205},[169,213],[167,62497,3619],{"class":173},[167,62499,62501],{"class":62500,"line":160},[169,213],[167,62502,3625],{"class":173},[167,62504,62506,62508],{"class":62505,"line":238},[169,213],[167,62507,387],{"class":173},[167,62509,3633],{"class":219},[167,62511,62513],{"class":62512,"line":243},[169,213],[167,62514,3488],{"class":173},[167,62516,62518],{"class":62517,"line":261},[169,213],[167,62519,403],{"class":173},[167,62521,62522],{"class":169,"line":273},[167,62523,209],{"emptyLinePlaceholder":208},[167,62525,62527,62529,62531,62533,62535,62537,62539],{"class":62526,"line":279},[169,213],[167,62528,216],{"class":191},[167,62530,415],{"class":219},[167,62532,223],{"class":191},[167,62534,420],{"class":181},[167,62536,423],{"class":173},[167,62538,3663],{"class":201},[167,62540,429],{"class":173},[167,62542,62543,62545,62547],{"class":169,"line":289},[167,62544,282],{"class":173},[167,62546,178],{"class":177},[167,62548,185],{"class":173},[167,62550,62551],{"class":169,"line":294},[167,62552,209],{"emptyLinePlaceholder":208},[167,62554,62555,62557,62559],{"class":169,"line":304},[167,62556,174],{"class":173},[167,62558,299],{"class":177},[167,62560,185],{"class":173},[167,62562,62563,62565,62567],{"class":169,"line":313},[167,62564,307],{"class":173},[167,62566,3692],{"class":177},[167,62568,185],{"class":173},[167,62570,62571,62573,62575,62577,62579],{"class":169,"line":161},[167,62572,1252],{"class":173},[167,62574,22],{"class":177},[167,62576,3703],{"class":173},[167,62578,22],{"class":177},[167,62580,185],{"class":173},[167,62582,62583,62585,62587,62589,62591],{"class":169,"line":335},[167,62584,1252],{"class":173},[167,62586,15],{"class":177},[167,62588,3716],{"class":173},[167,62590,15],{"class":177},[167,62592,185],{"class":173},[167,62594,62595],{"class":169,"line":341},[167,62596,209],{"emptyLinePlaceholder":208},[167,62598,62599,62601],{"class":169,"line":489},[167,62600,1252],{"class":173},[167,62602,456],{"class":177},[167,62604,62605,62607,62609],{"class":169,"line":495},[167,62606,3735],{"class":181},[167,62608,267],{"class":173},[167,62610,466],{"class":201},[167,62612,62613,62615,62617],{"class":169,"line":501},[167,62614,3744],{"class":181},[167,62616,267],{"class":173},[167,62618,3749],{"class":201},[167,62620,62622,62624,62626],{"class":62621,"line":512},[169,213],[167,62623,3755],{"class":181},[167,62625,267],{"class":173},[167,62627,3760],{"class":201},[167,62629,62630],{"class":169,"line":781},[167,62631,3765],{"class":173},[167,62633,62634],{"class":169,"line":786},[167,62635,3770],{"class":173},[167,62637,62638,62640,62642],{"class":169,"line":2674},[167,62639,1287],{"class":173},[167,62641,507],{"class":177},[167,62643,185],{"class":173},[167,62645,62646,62648,62650],{"class":169,"line":2688},[167,62647,504],{"class":173},[167,62649,3692],{"class":177},[167,62651,185],{"class":173},[167,62653,62654,62656,62658],{"class":169,"line":3571},[167,62655,282],{"class":173},[167,62657,299],{"class":177},[167,62659,185],{"class":173},[15,62661,3797],{},[22,62663,62664,3803],{"id":3800},[87,62665,369],{},[15,62667,3806,62668,3809,62670,1675],{},[87,62669,1003],{},[87,62671,3812],{},[154,62673,62675],{"className":156,"code":3815,"filename":3256,"highlights":62674,"language":162,"meta":163,"style":163},[188,205,160,238,243,261,273,279,289,294],[87,62676,62677,62687,62700,62705,62710,62717,62722,62727,62732,62739,62744,62749,62757,62761,62769,62777,62789,62801,62809],{"__ignoreMap":163},[167,62678,62679,62681,62683,62685],{"class":169,"line":170},[167,62680,174],{"class":173},[167,62682,178],{"class":177},[167,62684,182],{"class":181},[167,62686,185],{"class":173},[167,62688,62690,62692,62694,62696,62698],{"class":62689,"line":188},[169,213],[167,62691,216],{"class":191},[167,62693,1060],{"class":219},[167,62695,223],{"class":191},[167,62697,1065],{"class":181},[167,62699,372],{"class":173},[167,62701,62703],{"class":62702,"line":205},[169,213],[167,62704,3847],{"class":173},[167,62706,62708],{"class":62707,"line":160},[169,213],[167,62709,382],{"class":173},[167,62711,62713,62715],{"class":62712,"line":238},[169,213],[167,62714,387],{"class":173},[167,62716,3633],{"class":219},[167,62718,62720],{"class":62719,"line":243},[169,213],[167,62721,398],{"class":173},[167,62723,62725],{"class":62724,"line":261},[169,213],[167,62726,3870],{"class":173},[167,62728,62730],{"class":62729,"line":273},[169,213],[167,62731,382],{"class":173},[167,62733,62735,62737],{"class":62734,"line":279},[169,213],[167,62736,3881],{"class":173},[167,62738,3884],{"class":201},[167,62740,62742],{"class":62741,"line":289},[169,213],[167,62743,3488],{"class":173},[167,62745,62747],{"class":62746,"line":294},[169,213],[167,62748,403],{"class":173},[167,62750,62751,62753,62755],{"class":169,"line":304},[167,62752,282],{"class":173},[167,62754,178],{"class":177},[167,62756,185],{"class":173},[167,62758,62759],{"class":169,"line":313},[167,62760,209],{"emptyLinePlaceholder":208},[167,62762,62763,62765,62767],{"class":169,"line":161},[167,62764,174],{"class":173},[167,62766,299],{"class":177},[167,62768,185],{"class":173},[167,62770,62771,62773,62775],{"class":169,"line":335},[167,62772,307],{"class":173},[167,62774,1237],{"class":177},[167,62776,185],{"class":173},[167,62778,62779,62781,62783,62785,62787],{"class":169,"line":341},[167,62780,1252],{"class":173},[167,62782,3929],{"class":177},[167,62784,3932],{"class":173},[167,62786,3929],{"class":177},[167,62788,185],{"class":173},[167,62790,62791,62793,62795,62797,62799],{"class":169,"line":489},[167,62792,1252],{"class":173},[167,62794,167],{"class":177},[167,62796,3945],{"class":173},[167,62798,167],{"class":177},[167,62800,185],{"class":173},[167,62802,62803,62805,62807],{"class":169,"line":495},[167,62804,504],{"class":173},[167,62806,1237],{"class":177},[167,62808,185],{"class":173},[167,62810,62811,62813,62815],{"class":169,"line":501},[167,62812,282],{"class":173},[167,62814,299],{"class":177},[167,62816,185],{"class":173},[154,62818,62820],{"className":156,"code":3968,"filename":3969,"highlights":62819,"language":162,"meta":163,"style":163},[205,160,238,243,261,273,279,289,294,304],[87,62821,62822,62830,62838,62843,62848,62853,62860,62865,62870,62875,62882,62887,62892,62896,62904,62908,62916,62924,62936,62948,62956],{"__ignoreMap":163},[167,62823,62824,62826,62828],{"class":169,"line":170},[167,62825,174],{"class":173},[167,62827,178],{"class":177},[167,62829,185],{"class":173},[167,62831,62832,62834,62836],{"class":169,"line":188},[167,62833,608],{"class":191},[167,62835,3987],{"class":191},[167,62837,1901],{"class":173},[167,62839,62841],{"class":62840,"line":205},[169,213],[167,62842,3995],{"class":173},[167,62844,62846],{"class":62845,"line":160},[169,213],[167,62847,4001],{"class":173},[167,62849,62851],{"class":62850,"line":238},[169,213],[167,62852,4007],{"class":173},[167,62854,62856,62858],{"class":62855,"line":243},[169,213],[167,62857,4013],{"class":173},[167,62859,3633],{"class":219},[167,62861,62863],{"class":62862,"line":261},[169,213],[167,62864,755],{"class":173},[167,62866,62868],{"class":62867,"line":273},[169,213],[167,62869,4026],{"class":173},[167,62871,62873],{"class":62872,"line":279},[169,213],[167,62874,4007],{"class":173},[167,62876,62878,62880],{"class":62877,"line":289},[169,213],[167,62879,4037],{"class":173},[167,62881,3884],{"class":201},[167,62883,62885],{"class":62884,"line":294},[169,213],[167,62886,4045],{"class":173},[167,62888,62890],{"class":62889,"line":304},[169,213],[167,62891,3488],{"class":173},[167,62893,62894],{"class":169,"line":313},[167,62895,276],{"class":173},[167,62897,62898,62900,62902],{"class":169,"line":161},[167,62899,282],{"class":173},[167,62901,178],{"class":177},[167,62903,185],{"class":173},[167,62905,62906],{"class":169,"line":335},[167,62907,209],{"emptyLinePlaceholder":208},[167,62909,62910,62912,62914],{"class":169,"line":341},[167,62911,174],{"class":173},[167,62913,299],{"class":177},[167,62915,185],{"class":173},[167,62917,62918,62920,62922],{"class":169,"line":489},[167,62919,307],{"class":173},[167,62921,1237],{"class":177},[167,62923,185],{"class":173},[167,62925,62926,62928,62930,62932,62934],{"class":169,"line":495},[167,62927,1252],{"class":173},[167,62929,3929],{"class":177},[167,62931,4091],{"class":173},[167,62933,3929],{"class":177},[167,62935,185],{"class":173},[167,62937,62938,62940,62942,62944,62946],{"class":169,"line":501},[167,62939,1252],{"class":173},[167,62941,167],{"class":177},[167,62943,4104],{"class":173},[167,62945,167],{"class":177},[167,62947,185],{"class":173},[167,62949,62950,62952,62954],{"class":169,"line":512},[167,62951,504],{"class":173},[167,62953,1237],{"class":177},[167,62955,185],{"class":173},[167,62957,62958,62960,62962],{"class":169,"line":781},[167,62959,282],{"class":173},[167,62961,299],{"class":177},[167,62963,185],{"class":173},[15,62965,4127],{},[15,62967,4130],{},[22,62969,62970,4136],{"id":4133},[87,62971,1026],{},[15,62973,4139],{},[154,62975,62977],{"className":156,"code":4142,"filename":3256,"highlights":62976,"language":162,"meta":163,"style":163},[188,273],[87,62978,62979,62989,63006,63010,63028,63038,63060,63064,63089,63093,63101,63105,63113,63127,63147,63165,63173],{"__ignoreMap":163},[167,62980,62981,62983,62985,62987],{"class":169,"line":170},[167,62982,174],{"class":173},[167,62984,178],{"class":177},[167,62986,182],{"class":181},[167,62988,185],{"class":173},[167,62990,62992,62994,62996,62998,63000,63002,63004],{"class":62991,"line":188},[169,213],[167,62993,216],{"class":191},[167,62995,415],{"class":219},[167,62997,223],{"class":191},[167,62999,420],{"class":181},[167,63001,423],{"class":173},[167,63003,4171],{"class":201},[167,63005,429],{"class":173},[167,63007,63008],{"class":169,"line":205},[167,63009,209],{"emptyLinePlaceholder":208},[167,63011,63012,63014,63016,63018,63020,63022,63024,63026],{"class":169,"line":160},[167,63013,216],{"class":191},[167,63015,4184],{"class":181},[167,63017,223],{"class":191},[167,63019,2522],{"class":173},[167,63021,4191],{"class":254},[167,63023,693],{"class":173},[167,63025,639],{"class":191},[167,63027,1901],{"class":173},[167,63029,63030,63032,63034,63036],{"class":169,"line":238},[167,63031,1438],{"class":191},[167,63033,4204],{"class":219},[167,63035,223],{"class":191},[167,63037,4209],{"class":173},[167,63039,63040,63042,63044,63046,63048,63050,63052,63054,63056,63058],{"class":169,"line":243},[167,63041,1438],{"class":191},[167,63043,2444],{"class":219},[167,63045,223],{"class":191},[167,63047,4220],{"class":191},[167,63049,4223],{"class":181},[167,63051,4226],{"class":173},[167,63053,4229],{"class":181},[167,63055,229],{"class":173},[167,63057,4234],{"class":201},[167,63059,235],{"class":173},[167,63061,63062],{"class":169,"line":261},[167,63063,209],{"emptyLinePlaceholder":208},[167,63065,63067,63069,63071,63073,63075,63077,63079,63081,63083,63085,63087],{"class":63066,"line":273},[169,213],[167,63068,1128],{"class":181},[167,63070,229],{"class":173},[167,63072,4171],{"class":201},[167,63074,1020],{"class":173},[167,63076,4254],{"class":181},[167,63078,4257],{"class":173},[167,63080,4260],{"class":191},[167,63082,4263],{"class":201},[167,63084,4266],{"class":173},[167,63086,2496],{"class":181},[167,63088,2505],{"class":173},[167,63090,63091],{"class":169,"line":279},[167,63092,276],{"class":173},[167,63094,63095,63097,63099],{"class":169,"line":289},[167,63096,282],{"class":173},[167,63098,178],{"class":177},[167,63100,185],{"class":173},[167,63102,63103],{"class":169,"line":294},[167,63104,209],{"emptyLinePlaceholder":208},[167,63106,63107,63109,63111],{"class":169,"line":304},[167,63108,174],{"class":173},[167,63110,299],{"class":177},[167,63112,185],{"class":173},[167,63114,63115,63117,63119,63121,63123,63125],{"class":169,"line":313},[167,63116,307],{"class":173},[167,63118,4301],{"class":177},[167,63120,4304],{"class":181},[167,63122,267],{"class":173},[167,63124,4309],{"class":201},[167,63126,185],{"class":173},[167,63128,63129,63131,63133,63135,63137,63139,63141,63143,63145],{"class":169,"line":161},[167,63130,1252],{"class":173},[167,63132,2646],{"class":177},[167,63134,1269],{"class":181},[167,63136,267],{"class":173},[167,63138,2654],{"class":201},[167,63140,1169],{"class":181},[167,63142,267],{"class":173},[167,63144,2661],{"class":201},[167,63146,185],{"class":173},[167,63148,63149,63151,63153,63155,63157,63159,63161,63163],{"class":169,"line":335},[167,63150,1252],{"class":173},[167,63152,507],{"class":177},[167,63154,1169],{"class":181},[167,63156,267],{"class":173},[167,63158,4344],{"class":201},[167,63160,4347],{"class":173},[167,63162,507],{"class":177},[167,63164,185],{"class":173},[167,63166,63167,63169,63171],{"class":169,"line":341},[167,63168,504],{"class":173},[167,63170,4301],{"class":177},[167,63172,185],{"class":173},[167,63174,63175,63177,63179],{"class":169,"line":489},[167,63176,282],{"class":173},[167,63178,299],{"class":177},[167,63180,185],{"class":173},[154,63182,63184],{"className":156,"code":4370,"filename":3969,"highlights":63183,"language":162,"meta":163,"style":163},[160,289],[87,63185,63186,63194,63202,63210,63219,63223,63233,63243,63265,63269,63298,63302,63306,63310,63318,63322,63330,63344,63364,63382,63390],{"__ignoreMap":163},[167,63187,63188,63190,63192],{"class":169,"line":170},[167,63189,174],{"class":173},[167,63191,178],{"class":177},[167,63193,185],{"class":173},[167,63195,63196,63198,63200],{"class":169,"line":188},[167,63197,608],{"class":191},[167,63199,3987],{"class":191},[167,63201,1901],{"class":173},[167,63203,63204,63206,63208],{"class":169,"line":205},[167,63205,4394],{"class":173},[167,63207,4397],{"class":201},[167,63209,393],{"class":173},[167,63211,63213,63215,63217],{"class":63212,"line":160},[169,213],[167,63214,4405],{"class":173},[167,63216,4171],{"class":201},[167,63218,4410],{"class":173},[167,63220,63221],{"class":169,"line":238},[167,63222,4415],{"class":173},[167,63224,63225,63227,63229,63231],{"class":169,"line":243},[167,63226,4420],{"class":181},[167,63228,229],{"class":173},[167,63230,4191],{"class":254},[167,63232,258],{"class":173},[167,63234,63235,63237,63239,63241],{"class":169,"line":261},[167,63236,4431],{"class":191},[167,63238,4204],{"class":219},[167,63240,223],{"class":191},[167,63242,4209],{"class":173},[167,63244,63245,63247,63249,63251,63253,63255,63257,63259,63261,63263],{"class":169,"line":273},[167,63246,4431],{"class":191},[167,63248,2444],{"class":219},[167,63250,223],{"class":191},[167,63252,4220],{"class":191},[167,63254,4223],{"class":181},[167,63256,4226],{"class":173},[167,63258,4229],{"class":181},[167,63260,229],{"class":173},[167,63262,4234],{"class":201},[167,63264,235],{"class":173},[167,63266,63267],{"class":169,"line":279},[167,63268,209],{"emptyLinePlaceholder":208},[167,63270,63272,63274,63276,63278,63280,63282,63284,63286,63288,63290,63292,63294,63296],{"class":63271,"line":289},[169,213],[167,63273,741],{"class":219},[167,63275,1675],{"class":173},[167,63277,4473],{"class":181},[167,63279,229],{"class":173},[167,63281,4171],{"class":201},[167,63283,1020],{"class":173},[167,63285,4254],{"class":181},[167,63287,4257],{"class":173},[167,63289,4260],{"class":191},[167,63291,4263],{"class":201},[167,63293,4266],{"class":173},[167,63295,2496],{"class":181},[167,63297,2505],{"class":173},[167,63299,63300],{"class":169,"line":294},[167,63301,4045],{"class":173},[167,63303,63304],{"class":169,"line":304},[167,63305,3488],{"class":173},[167,63307,63308],{"class":169,"line":313},[167,63309,276],{"class":173},[167,63311,63312,63314,63316],{"class":169,"line":161},[167,63313,282],{"class":173},[167,63315,178],{"class":177},[167,63317,185],{"class":173},[167,63319,63320],{"class":169,"line":335},[167,63321,209],{"emptyLinePlaceholder":208},[167,63323,63324,63326,63328],{"class":169,"line":341},[167,63325,174],{"class":173},[167,63327,299],{"class":177},[167,63329,185],{"class":173},[167,63331,63332,63334,63336,63338,63340,63342],{"class":169,"line":489},[167,63333,307],{"class":173},[167,63335,4301],{"class":177},[167,63337,4304],{"class":181},[167,63339,267],{"class":173},[167,63341,4309],{"class":201},[167,63343,185],{"class":173},[167,63345,63346,63348,63350,63352,63354,63356,63358,63360,63362],{"class":169,"line":495},[167,63347,1252],{"class":173},[167,63349,2646],{"class":177},[167,63351,1269],{"class":181},[167,63353,267],{"class":173},[167,63355,2654],{"class":201},[167,63357,1169],{"class":181},[167,63359,267],{"class":173},[167,63361,2661],{"class":201},[167,63363,185],{"class":173},[167,63365,63366,63368,63370,63372,63374,63376,63378,63380],{"class":169,"line":501},[167,63367,1252],{"class":173},[167,63369,507],{"class":177},[167,63371,1169],{"class":181},[167,63373,267],{"class":173},[167,63375,4344],{"class":201},[167,63377,4347],{"class":173},[167,63379,507],{"class":177},[167,63381,185],{"class":173},[167,63383,63384,63386,63388],{"class":169,"line":512},[167,63385,504],{"class":173},[167,63387,4301],{"class":177},[167,63389,185],{"class":173},[167,63391,63392,63394,63396],{"class":169,"line":781},[167,63393,282],{"class":173},[167,63395,299],{"class":177},[167,63397,185],{"class":173},[15,63399,4596],{},[22,63401,4600],{"id":4599},[15,63403,4603],{},[15,63405,4606],{},[154,63407,63409],{"className":156,"code":4609,"filename":3256,"highlights":63408,"language":162,"meta":163,"style":163},[279,289,294],[87,63410,63411,63421,63433,63437,63441,63447,63451,63455,63459,63474,63483,63488],{"__ignoreMap":163},[167,63412,63413,63415,63417,63419],{"class":169,"line":170},[167,63414,174],{"class":173},[167,63416,178],{"class":177},[167,63418,182],{"class":181},[167,63420,185],{"class":173},[167,63422,63423,63425,63427,63429,63431],{"class":169,"line":188},[167,63424,216],{"class":191},[167,63426,1060],{"class":219},[167,63428,223],{"class":191},[167,63430,1065],{"class":181},[167,63432,372],{"class":173},[167,63434,63435],{"class":169,"line":205},[167,63436,3619],{"class":173},[167,63438,63439],{"class":169,"line":160},[167,63440,3625],{"class":173},[167,63442,63443,63445],{"class":169,"line":238},[167,63444,387],{"class":173},[167,63446,3633],{"class":219},[167,63448,63449],{"class":169,"line":243},[167,63450,3488],{"class":173},[167,63452,63453],{"class":169,"line":261},[167,63454,403],{"class":173},[167,63456,63457],{"class":169,"line":273},[167,63458,209],{"emptyLinePlaceholder":208},[167,63460,63462,63464,63466,63468,63470,63472],{"class":63461,"line":279},[169,213],[167,63463,216],{"class":191},[167,63465,4668],{"class":181},[167,63467,223],{"class":191},[167,63469,1464],{"class":173},[167,63471,639],{"class":191},[167,63473,1901],{"class":173},[167,63475,63477,63479,63481],{"class":63476,"line":289},[169,213],[167,63478,4682],{"class":173},[167,63480,267],{"class":191},[167,63482,3483],{"class":219},[167,63484,63486],{"class":63485,"line":294},[169,213],[167,63487,276],{"class":173},[167,63489,63490,63492,63494],{"class":169,"line":304},[167,63491,282],{"class":173},[167,63493,178],{"class":177},[167,63495,185],{"class":173},[15,63497,4702],{},[15,63499,4705],{},[154,63501,63503],{"className":156,"code":4708,"filename":3256,"highlights":63502,"language":162,"meta":163,"style":163},[279,294,304,313],[87,63504,63505,63515,63527,63531,63535,63541,63545,63549,63553,63570,63574,63589,63600,63605],{"__ignoreMap":163},[167,63506,63507,63509,63511,63513],{"class":169,"line":170},[167,63508,174],{"class":173},[167,63510,178],{"class":177},[167,63512,182],{"class":181},[167,63514,185],{"class":173},[167,63516,63517,63519,63521,63523,63525],{"class":169,"line":188},[167,63518,216],{"class":191},[167,63520,1060],{"class":219},[167,63522,223],{"class":191},[167,63524,1065],{"class":181},[167,63526,372],{"class":173},[167,63528,63529],{"class":169,"line":205},[167,63530,3619],{"class":173},[167,63532,63533],{"class":169,"line":160},[167,63534,3625],{"class":173},[167,63536,63537,63539],{"class":169,"line":238},[167,63538,387],{"class":173},[167,63540,3633],{"class":219},[167,63542,63543],{"class":169,"line":243},[167,63544,3488],{"class":173},[167,63546,63547],{"class":169,"line":261},[167,63548,403],{"class":173},[167,63550,63551],{"class":169,"line":273},[167,63552,209],{"emptyLinePlaceholder":208},[167,63554,63556,63558,63560,63562,63564,63566,63568],{"class":63555,"line":279},[169,213],[167,63557,216],{"class":191},[167,63559,415],{"class":219},[167,63561,223],{"class":191},[167,63563,420],{"class":181},[167,63565,423],{"class":173},[167,63567,3663],{"class":201},[167,63569,429],{"class":173},[167,63571,63572],{"class":169,"line":289},[167,63573,209],{"emptyLinePlaceholder":208},[167,63575,63577,63579,63581,63583,63585,63587],{"class":63576,"line":294},[169,213],[167,63578,216],{"class":191},[167,63580,4668],{"class":181},[167,63582,223],{"class":191},[167,63584,1464],{"class":173},[167,63586,639],{"class":191},[167,63588,1901],{"class":173},[167,63590,63592,63594,63596,63598],{"class":63591,"line":304},[169,213],[167,63593,1128],{"class":181},[167,63595,229],{"class":173},[167,63597,3663],{"class":201},[167,63599,4807],{"class":173},[167,63601,63603],{"class":63602,"line":313},[169,213],[167,63604,276],{"class":173},[167,63606,63607,63609,63611],{"class":169,"line":161},[167,63608,282],{"class":173},[167,63610,178],{"class":177},[167,63612,185],{"class":173},[154,63614,63616],{"className":156,"code":4823,"filename":3969,"highlights":63615,"language":162,"meta":163,"style":163},[160,238,243,261,273,279,289,313],[87,63617,63618,63626,63634,63642,63647,63652,63657,63664,63669,63674,63683,63687,63693,63712,63716,63720,63724,63732,63736,63744,63752,63764,63776,63780,63800,63804,63812,63820],{"__ignoreMap":163},[167,63619,63620,63622,63624],{"class":169,"line":170},[167,63621,174],{"class":173},[167,63623,178],{"class":177},[167,63625,185],{"class":173},[167,63627,63628,63630,63632],{"class":169,"line":188},[167,63629,608],{"class":191},[167,63631,3987],{"class":191},[167,63633,1901],{"class":173},[167,63635,63636,63638,63640],{"class":169,"line":205},[167,63637,4394],{"class":173},[167,63639,4849],{"class":201},[167,63641,393],{"class":173},[167,63643,63645],{"class":63644,"line":160},[169,213],[167,63646,3995],{"class":173},[167,63648,63650],{"class":63649,"line":238},[169,213],[167,63651,4862],{"class":173},[167,63653,63655],{"class":63654,"line":243},[169,213],[167,63656,4868],{"class":173},[167,63658,63660,63662],{"class":63659,"line":261},[169,213],[167,63661,4013],{"class":173},[167,63663,3633],{"class":219},[167,63665,63667],{"class":63666,"line":273},[169,213],[167,63668,4045],{"class":173},[167,63670,63672],{"class":63671,"line":279},[169,213],[167,63673,398],{"class":173},[167,63675,63677,63679,63681],{"class":63676,"line":289},[169,213],[167,63678,4405],{"class":173},[167,63680,3663],{"class":201},[167,63682,4410],{"class":173},[167,63684,63685],{"class":169,"line":294},[167,63686,4415],{"class":173},[167,63688,63689,63691],{"class":169,"line":304},[167,63690,4903],{"class":181},[167,63692,763],{"class":173},[167,63694,63696,63698,63700,63702,63704,63706,63708,63710],{"class":63695,"line":313},[169,213],[167,63697,741],{"class":219},[167,63699,1675],{"class":173},[167,63701,4473],{"class":181},[167,63703,229],{"class":173},[167,63705,3663],{"class":201},[167,63707,1020],{"class":173},[167,63709,4923],{"class":219},[167,63711,4926],{"class":173},[167,63713,63714],{"class":169,"line":161},[167,63715,4045],{"class":173},[167,63717,63718],{"class":169,"line":335},[167,63719,3488],{"class":173},[167,63721,63722],{"class":169,"line":341},[167,63723,276],{"class":173},[167,63725,63726,63728,63730],{"class":169,"line":489},[167,63727,282],{"class":173},[167,63729,178],{"class":177},[167,63731,185],{"class":173},[167,63733,63734],{"class":169,"line":495},[167,63735,209],{"emptyLinePlaceholder":208},[167,63737,63738,63740,63742],{"class":169,"line":501},[167,63739,174],{"class":173},[167,63741,299],{"class":177},[167,63743,185],{"class":173},[167,63745,63746,63748,63750],{"class":169,"line":512},[167,63747,307],{"class":173},[167,63749,3692],{"class":177},[167,63751,185],{"class":173},[167,63753,63754,63756,63758,63760,63762],{"class":169,"line":781},[167,63755,1252],{"class":173},[167,63757,22],{"class":177},[167,63759,4975],{"class":173},[167,63761,22],{"class":177},[167,63763,185],{"class":173},[167,63765,63766,63768,63770,63772,63774],{"class":169,"line":786},[167,63767,1252],{"class":173},[167,63769,15],{"class":177},[167,63771,4988],{"class":173},[167,63773,15],{"class":177},[167,63775,185],{"class":173},[167,63777,63778],{"class":169,"line":2674},[167,63779,209],{"emptyLinePlaceholder":208},[167,63781,63782,63784,63786,63788,63790,63792,63794,63796,63798],{"class":169,"line":2688},[167,63783,1252],{"class":173},[167,63785,507],{"class":177},[167,63787,1169],{"class":181},[167,63789,267],{"class":173},[167,63791,1174],{"class":201},[167,63793,1177],{"class":181},[167,63795,267],{"class":173},[167,63797,5015],{"class":201},[167,63799,185],{"class":173},[167,63801,63802],{"class":169,"line":3571},[167,63803,3770],{"class":173},[167,63805,63806,63808,63810],{"class":169,"line":5024},[167,63807,1287],{"class":173},[167,63809,507],{"class":177},[167,63811,185],{"class":173},[167,63813,63814,63816,63818],{"class":169,"line":5033},[167,63815,504],{"class":173},[167,63817,3692],{"class":177},[167,63819,185],{"class":173},[167,63821,63822,63824,63826],{"class":169,"line":5042},[167,63823,282],{"class":173},[167,63825,299],{"class":177},[167,63827,185],{"class":173},[15,63829,5051],{},[154,63831,63833],{"className":156,"code":5054,"filename":3318,"highlights":63832,"language":162,"meta":163,"style":163},[205],[87,63834,63835,63841,63855,63870],{"__ignoreMap":163},[167,63836,63837,63839],{"class":169,"line":170},[167,63838,174],{"class":173},[167,63840,3520],{"class":177},[167,63842,63843,63845,63847,63849,63851,63853],{"class":169,"line":188},[167,63844,5068],{"class":173},[167,63846,5071],{"class":181},[167,63848,267],{"class":173},[167,63850,5076],{"class":201},[167,63852,5071],{"class":173},[167,63854,5081],{"class":201},[167,63856,63858,63860,63862,63864,63866,63868],{"class":63857,"line":205},[169,213],[167,63859,5087],{"class":173},[167,63861,5090],{"class":181},[167,63863,267],{"class":173},[167,63865,5076],{"class":201},[167,63867,5097],{"class":173},[167,63869,5081],{"class":201},[167,63871,63872],{"class":169,"line":160},[167,63873,5104],{"class":173},[22,63875,5108],{"id":5107},[15,63877,5111],{},[15,63879,5114],{},[33,63881,63882,63886,63890,63894,63898],{},[36,63883,63884],{},[87,63885,5121],{},[36,63887,63888],{},[87,63889,5126],{},[36,63891,63892],{},[87,63893,5131],{},[36,63895,63896],{},[87,63897,5136],{},[36,63899,63900],{},[87,63901,5141],{},[15,63903,5144,63904,90,63906,5151],{},[87,63905,5147],{},[87,63907,5150],{},[22,63909,5155],{"id":5154},[15,63911,5158],{},[15,63913,5161],{},[154,63915,63916],{"className":156,"code":5164,"language":162,"meta":163,"style":163},[87,63917,63918,63924,63938,63952,63966,63980,63994,64008,64022],{"__ignoreMap":163},[167,63919,63920,63922],{"class":169,"line":170},[167,63921,174],{"class":173},[167,63923,5173],{"class":177},[167,63925,63926,63928,63930,63932,63934,63936],{"class":169,"line":188},[167,63927,5068],{"class":173},[167,63929,580],{"class":181},[167,63931,267],{"class":173},[167,63933,5076],{"class":201},[167,63935,5186],{"class":173},[167,63937,5081],{"class":201},[167,63939,63940,63942,63944,63946,63948,63950],{"class":169,"line":205},[167,63941,5068],{"class":173},[167,63943,592],{"class":181},[167,63945,267],{"class":173},[167,63947,5076],{"class":201},[167,63949,5201],{"class":173},[167,63951,5081],{"class":201},[167,63953,63954,63956,63958,63960,63962,63964],{"class":169,"line":160},[167,63955,5068],{"class":173},[167,63957,5210],{"class":181},[167,63959,267],{"class":173},[167,63961,5076],{"class":201},[167,63963,5217],{"class":173},[167,63965,5081],{"class":201},[167,63967,63968,63970,63972,63974,63976,63978],{"class":169,"line":238},[167,63969,5068],{"class":173},[167,63971,5226],{"class":181},[167,63973,267],{"class":173},[167,63975,5076],{"class":201},[167,63977,5233],{"class":173},[167,63979,5081],{"class":201},[167,63981,63982,63984,63986,63988,63990,63992],{"class":169,"line":243},[167,63983,5068],{"class":173},[167,63985,5242],{"class":181},[167,63987,267],{"class":173},[167,63989,5076],{"class":201},[167,63991,5249],{"class":173},[167,63993,5081],{"class":201},[167,63995,63996,63998,64000,64002,64004,64006],{"class":169,"line":261},[167,63997,5068],{"class":173},[167,63999,5258],{"class":181},[167,64001,267],{"class":173},[167,64003,5076],{"class":201},[167,64005,5265],{"class":173},[167,64007,5081],{"class":201},[167,64009,64010,64012,64014,64016,64018,64020],{"class":169,"line":273},[167,64011,5068],{"class":173},[167,64013,5274],{"class":181},[167,64015,267],{"class":173},[167,64017,5076],{"class":201},[167,64019,5281],{"class":173},[167,64021,5081],{"class":201},[167,64023,64024],{"class":169,"line":279},[167,64025,5104],{"class":173},[15,64027,5290,64028,5293],{},[87,64029,729],{},[154,64031,64032],{"className":156,"code":5296,"language":162,"meta":163,"style":163},[87,64033,64034],{"__ignoreMap":163},[167,64035,64036,64038,64040,64042,64044,64046,64048,64050,64052],{"class":169,"line":170},[167,64037,174],{"class":173},[167,64039,5305],{"class":177},[167,64041,5308],{"class":173},[167,64043,729],{"class":181},[167,64045,267],{"class":173},[167,64047,5076],{"class":201},[167,64049,729],{"class":173},[167,64051,5076],{"class":201},[167,64053,5321],{"class":173},[15,64055,5324],{},[22,64057,5328],{"id":5327},[15,64059,5331],{},[33,64061,64062,64064,64066,64068],{},[36,64063,5336],{},[36,64065,5339],{},[36,64067,5342],{},[36,64069,5345],{},[15,64071,5348,64072,5351],{},[87,64073,992],{},[15,64075,5354],{},[22,64077,5358],{"id":5357},[15,64079,5361],{},[5363,64081,64082],{},[15,64083,5367],{},[15,64085,5370],{},[15,64087,5373],{},[15,64089,5376],{},[924,64091,926],{},{"title":163,"searchDepth":188,"depth":188,"links":64093},[64094,64095,64096,64097,64098,64099,64100,64101],{"id":3310,"depth":188,"text":3311},{"id":3800,"depth":188,"text":5383},{"id":4133,"depth":188,"text":5385},{"id":4599,"depth":188,"text":4600},{"id":5107,"depth":188,"text":5108},{"id":5154,"depth":188,"text":5155},{"id":5327,"depth":188,"text":5328},{"id":5357,"depth":188,"text":5358},{"title":5395,"goal":5396,"tasks":64103,"starterCode":5402,"solutionHint":5403},[5398,5399,5400,5401],{"updatedAt":5405,"coverCaption":5406,"author":945,"keywords":64105},[3254,950,3296,3303,5408,369,1026],[64107],{"headline":3277,"author":64108,"datePublished":5405,"@type":959},{"name":945,"@type":958},{"title":3277,"description":5393},[64111,64112,64113,64114],{"tag":1622,"color":1635},{"tag":1640,"color":1641},{"tag":3272,"color":3273},{"tag":5420,"color":5421},{"id":5424,"title":5425,"body":64116,"cover":6172,"coverAlt":6173,"date":6174,"description":6175,"draft":1617,"extension":940,"lab":64761,"locale":942,"meta":64763,"navigation":208,"path":6191,"schemaOrg":64765,"seo":64768,"series":941,"seriesDescription":941,"seriesOrder":941,"seriesTitle":941,"slug":941,"stem":6196,"tags":64769,"__hash__":6202},{"type":8,"value":64117,"toc":64752},[64118,64120,64122,64128,64130,64132,64134,64136,64146,64148,64150,64152,64372,64374,64376,64380,64382,64556,64558,64682,64684,64686,64688,64690,64708,64710,64712,64714,64716,64718,64720,64728,64732,64736,64738,64740,64742,64746,64748,64750],[11,64119,5425],{"id":5430},[15,64121,5433],{},[15,64123,5436,64124,5439,64126,5443],{},[87,64125,2081],{},[87,64127,5442],{},[15,64129,5446],{},[22,64131,5450],{"id":5449},[15,64133,5453],{},[15,64135,5456],{},[15,64137,5459,64138,90,64140,5464,64142,5468,64144,5472],{},[87,64139,89],{},[87,64141,93],{},[87,64143,5467],{},[87,64145,5471],{},[15,64147,5475],{},[22,64149,5479],{"id":5478},[15,64151,5482],{},[154,64153,64154],{"className":156,"code":5485,"filename":5486,"language":162,"meta":163,"style":163},[87,64155,64156,64166,64176,64180,64196,64200,64214,64222,64226,64230,64244,64252,64256,64260,64274,64284,64288,64296,64300,64308,64322,64326,64334,64338,64352,64356,64364],{"__ignoreMap":163},[167,64157,64158,64160,64162,64164],{"class":169,"line":170},[167,64159,174],{"class":173},[167,64161,178],{"class":177},[167,64163,182],{"class":181},[167,64165,185],{"class":173},[167,64167,64168,64170,64172,64174],{"class":169,"line":188},[167,64169,192],{"class":191},[167,64171,195],{"class":173},[167,64173,198],{"class":191},[167,64175,202],{"class":201},[167,64177,64178],{"class":169,"line":205},[167,64179,209],{"emptyLinePlaceholder":208},[167,64181,64182,64184,64186,64188,64190,64192,64194],{"class":169,"line":160},[167,64183,216],{"class":191},[167,64185,5519],{"class":219},[167,64187,223],{"class":191},[167,64189,226],{"class":181},[167,64191,229],{"class":173},[167,64193,3388],{"class":219},[167,64195,235],{"class":173},[167,64197,64198],{"class":169,"line":238},[167,64199,209],{"emptyLinePlaceholder":208},[167,64201,64202,64204,64206,64208,64210,64212],{"class":169,"line":243},[167,64203,216],{"class":191},[167,64205,5540],{"class":181},[167,64207,223],{"class":191},[167,64209,1464],{"class":173},[167,64211,639],{"class":191},[167,64213,1901],{"class":173},[167,64215,64216,64218,64220],{"class":169,"line":261},[167,64217,5553],{"class":173},[167,64219,267],{"class":191},[167,64221,3483],{"class":219},[167,64223,64224],{"class":169,"line":273},[167,64225,276],{"class":173},[167,64227,64228],{"class":169,"line":279},[167,64229,209],{"emptyLinePlaceholder":208},[167,64231,64232,64234,64236,64238,64240,64242],{"class":169,"line":289},[167,64233,216],{"class":191},[167,64235,5572],{"class":181},[167,64237,223],{"class":191},[167,64239,1464],{"class":173},[167,64241,639],{"class":191},[167,64243,1901],{"class":173},[167,64245,64246,64248,64250],{"class":169,"line":294},[167,64247,5553],{"class":173},[167,64249,267],{"class":191},[167,64251,5589],{"class":219},[167,64253,64254],{"class":169,"line":304},[167,64255,276],{"class":173},[167,64257,64258],{"class":169,"line":313},[167,64259,209],{"emptyLinePlaceholder":208},[167,64261,64262,64264,64266,64268,64270,64272],{"class":169,"line":161},[167,64263,216],{"class":191},[167,64265,5604],{"class":181},[167,64267,223],{"class":191},[167,64269,1464],{"class":173},[167,64271,639],{"class":191},[167,64273,1901],{"class":173},[167,64275,64276,64278,64280,64282],{"class":169,"line":335},[167,64277,5553],{"class":173},[167,64279,267],{"class":191},[167,64281,5621],{"class":191},[167,64283,5624],{"class":173},[167,64285,64286],{"class":169,"line":341},[167,64287,276],{"class":173},[167,64289,64290,64292,64294],{"class":169,"line":489},[167,64291,282],{"class":173},[167,64293,178],{"class":177},[167,64295,185],{"class":173},[167,64297,64298],{"class":169,"line":495},[167,64299,209],{"emptyLinePlaceholder":208},[167,64301,64302,64304,64306],{"class":169,"line":501},[167,64303,174],{"class":173},[167,64305,299],{"class":177},[167,64307,185],{"class":173},[167,64309,64310,64312,64314,64316,64318,64320],{"class":169,"line":512},[167,64311,307],{"class":173},[167,64313,507],{"class":177},[167,64315,1177],{"class":181},[167,64317,267],{"class":173},[167,64319,5661],{"class":201},[167,64321,185],{"class":173},[167,64323,64324],{"class":169,"line":781},[167,64325,5668],{"class":173},[167,64327,64328,64330,64332],{"class":169,"line":786},[167,64329,504],{"class":173},[167,64331,507],{"class":177},[167,64333,185],{"class":173},[167,64335,64336],{"class":169,"line":2674},[167,64337,209],{"emptyLinePlaceholder":208},[167,64339,64340,64342,64344,64346,64348,64350],{"class":169,"line":2688},[167,64341,307],{"class":173},[167,64343,5687],{"class":177},[167,64345,5690],{"class":181},[167,64347,267],{"class":173},[167,64349,5695],{"class":201},[167,64351,185],{"class":173},[167,64353,64354],{"class":169,"line":3571},[167,64355,5702],{"class":173},[167,64357,64358,64360,64362],{"class":169,"line":5024},[167,64359,504],{"class":173},[167,64361,5687],{"class":177},[167,64363,185],{"class":173},[167,64365,64366,64368,64370],{"class":169,"line":5033},[167,64367,282],{"class":173},[167,64369,299],{"class":177},[167,64371,185],{"class":173},[15,64373,5721],{},[15,64375,5724],{},[22,64377,5728,64378],{"id":5727},[87,64379,5731],{},[15,64381,5734],{},[154,64383,64384],{"className":2875,"code":5737,"filename":5738,"language":2878,"meta":163,"style":163},[87,64385,64386,64396,64400,64418,64430,64434,64448,64456,64460,64464,64478,64486,64490,64494,64508,64518,64522,64526,64532,64536,64540,64544,64548,64552],{"__ignoreMap":163},[167,64387,64388,64390,64392,64394],{"class":169,"line":170},[167,64389,192],{"class":191},[167,64391,195],{"class":173},[167,64393,198],{"class":191},[167,64395,202],{"class":201},[167,64397,64398],{"class":169,"line":188},[167,64399,209],{"emptyLinePlaceholder":208},[167,64401,64402,64404,64406,64408,64410,64412,64414,64416],{"class":169,"line":205},[167,64403,608],{"class":191},[167,64405,1427],{"class":191},[167,64407,5763],{"class":181},[167,64409,229],{"class":173},[167,64411,5768],{"class":254},[167,64413,223],{"class":191},[167,64415,5773],{"class":219},[167,64417,258],{"class":173},[167,64419,64420,64422,64424,64426,64428],{"class":169,"line":160},[167,64421,1438],{"class":191},[167,64423,5782],{"class":219},[167,64425,223],{"class":191},[167,64427,226],{"class":181},[167,64429,5789],{"class":173},[167,64431,64432],{"class":169,"line":238},[167,64433,209],{"emptyLinePlaceholder":208},[167,64435,64436,64438,64440,64442,64444,64446],{"class":169,"line":243},[167,64437,1438],{"class":191},[167,64439,5540],{"class":181},[167,64441,223],{"class":191},[167,64443,1464],{"class":173},[167,64445,639],{"class":191},[167,64447,1901],{"class":173},[167,64449,64450,64452,64454],{"class":169,"line":261},[167,64451,5812],{"class":173},[167,64453,267],{"class":191},[167,64455,3483],{"class":219},[167,64457,64458],{"class":169,"line":273},[167,64459,3488],{"class":173},[167,64461,64462],{"class":169,"line":279},[167,64463,209],{"emptyLinePlaceholder":208},[167,64465,64466,64468,64470,64472,64474,64476],{"class":169,"line":289},[167,64467,1438],{"class":191},[167,64469,5572],{"class":181},[167,64471,223],{"class":191},[167,64473,1464],{"class":173},[167,64475,639],{"class":191},[167,64477,1901],{"class":173},[167,64479,64480,64482,64484],{"class":169,"line":294},[167,64481,5812],{"class":173},[167,64483,267],{"class":191},[167,64485,5589],{"class":219},[167,64487,64488],{"class":169,"line":304},[167,64489,3488],{"class":173},[167,64491,64492],{"class":169,"line":313},[167,64493,209],{"emptyLinePlaceholder":208},[167,64495,64496,64498,64500,64502,64504,64506],{"class":169,"line":161},[167,64497,1438],{"class":191},[167,64499,5604],{"class":181},[167,64501,223],{"class":191},[167,64503,1464],{"class":173},[167,64505,639],{"class":191},[167,64507,1901],{"class":173},[167,64509,64510,64512,64514,64516],{"class":169,"line":335},[167,64511,5812],{"class":173},[167,64513,267],{"class":191},[167,64515,5621],{"class":191},[167,64517,5879],{"class":173},[167,64519,64520],{"class":169,"line":341},[167,64521,3488],{"class":173},[167,64523,64524],{"class":169,"line":489},[167,64525,209],{"emptyLinePlaceholder":208},[167,64527,64528,64530],{"class":169,"line":495},[167,64529,1534],{"class":191},[167,64531,1901],{"class":173},[167,64533,64534],{"class":169,"line":501},[167,64535,5898],{"class":173},[167,64537,64538],{"class":169,"line":512},[167,64539,5903],{"class":173},[167,64541,64542],{"class":169,"line":781},[167,64543,5908],{"class":173},[167,64545,64546],{"class":169,"line":786},[167,64547,5913],{"class":173},[167,64549,64550],{"class":169,"line":2674},[167,64551,3488],{"class":173},[167,64553,64554],{"class":169,"line":2688},[167,64555,276],{"class":173},[15,64557,5924],{},[154,64559,64560],{"className":156,"code":5927,"filename":5486,"language":162,"meta":163,"style":163},[87,64561,64562,64572,64582,64586,64598,64606,64610,64618,64632,64636,64644,64648,64662,64666,64674],{"__ignoreMap":163},[167,64563,64564,64566,64568,64570],{"class":169,"line":170},[167,64565,174],{"class":173},[167,64567,178],{"class":177},[167,64569,182],{"class":181},[167,64571,185],{"class":173},[167,64573,64574,64576,64578,64580],{"class":169,"line":188},[167,64575,192],{"class":191},[167,64577,5946],{"class":173},[167,64579,198],{"class":191},[167,64581,5951],{"class":201},[167,64583,64584],{"class":169,"line":205},[167,64585,209],{"emptyLinePlaceholder":208},[167,64587,64588,64590,64592,64594,64596],{"class":169,"line":160},[167,64589,216],{"class":191},[167,64591,5962],{"class":219},[167,64593,223],{"class":191},[167,64595,5763],{"class":181},[167,64597,2913],{"class":173},[167,64599,64600,64602,64604],{"class":169,"line":238},[167,64601,282],{"class":173},[167,64603,178],{"class":177},[167,64605,185],{"class":173},[167,64607,64608],{"class":169,"line":243},[167,64609,209],{"emptyLinePlaceholder":208},[167,64611,64612,64614,64616],{"class":169,"line":261},[167,64613,174],{"class":173},[167,64615,299],{"class":177},[167,64617,185],{"class":173},[167,64619,64620,64622,64624,64626,64628,64630],{"class":169,"line":273},[167,64621,307],{"class":173},[167,64623,507],{"class":177},[167,64625,1177],{"class":181},[167,64627,267],{"class":173},[167,64629,6001],{"class":201},[167,64631,185],{"class":173},[167,64633,64634],{"class":169,"line":279},[167,64635,6008],{"class":173},[167,64637,64638,64640,64642],{"class":169,"line":289},[167,64639,504],{"class":173},[167,64641,507],{"class":177},[167,64643,185],{"class":173},[167,64645,64646],{"class":169,"line":294},[167,64647,209],{"emptyLinePlaceholder":208},[167,64649,64650,64652,64654,64656,64658,64660],{"class":169,"line":304},[167,64651,307],{"class":173},[167,64653,5687],{"class":177},[167,64655,5690],{"class":181},[167,64657,267],{"class":173},[167,64659,6033],{"class":201},[167,64661,185],{"class":173},[167,64663,64664],{"class":169,"line":313},[167,64665,5702],{"class":173},[167,64667,64668,64670,64672],{"class":169,"line":161},[167,64669,504],{"class":173},[167,64671,5687],{"class":177},[167,64673,185],{"class":173},[167,64675,64676,64678,64680],{"class":169,"line":335},[167,64677,282],{"class":173},[167,64679,299],{"class":177},[167,64681,185],{"class":173},[15,64683,6058],{},[22,64685,6062],{"id":6061},[15,64687,6065],{},[15,64689,6068],{},[33,64691,64692,64694,64696,64698],{},[36,64693,6073],{},[36,64695,6076],{},[36,64697,6079],{},[36,64699,6082,64700,1020,64702,1020,64704,1020,64706,1675],{},[87,64701,5731],{},[87,64703,6087],{},[87,64705,6090],{},[87,64707,6093],{},[15,64709,6096],{},[22,64711,6100],{"id":6099},[15,64713,6103],{},[15,64715,6106],{},[15,64717,6109],{},[22,64719,3081],{"id":3080},[15,64721,6114,64722,1020,64724,90,64726,6124],{},[87,64723,6117],{},[87,64725,6120],{},[87,64727,6123],{},[15,64729,6127,64730,6131],{},[87,64731,6130],{},[15,64733,6134,64734,6137],{},[87,64735,2394],{},[15,64737,6140],{},[22,64739,6144],{"id":6143},[15,64741,6147],{},[5363,64743,64744],{},[15,64745,6152],{},[15,64747,6155],{},[15,64749,6158],{},[924,64751,6161],{},{"title":163,"searchDepth":188,"depth":188,"links":64753},[64754,64755,64756,64757,64758,64759,64760],{"id":5449,"depth":188,"text":5450},{"id":5478,"depth":188,"text":5479},{"id":5727,"depth":188,"text":6167},{"id":6061,"depth":188,"text":6062},{"id":6099,"depth":188,"text":6100},{"id":3080,"depth":188,"text":3081},{"id":6143,"depth":188,"text":6144},{"title":6177,"goal":6178,"tasks":64762,"starterCode":6184,"solutionHint":6185},[6180,6181,6182,6183],{"updatedAt":6187,"coverCaption":6188,"author":945,"keywords":64764},[3254,950,953,3256,5731,6190],[64766],{"headline":5425,"author":64767,"datePublished":6187,"@type":959},{"name":945,"@type":958},{"title":5425,"description":6175},[64770,64771,64772,64773],{"tag":953,"color":971},{"tag":1622,"color":1635},{"tag":968,"color":969},{"tag":5420,"color":5421},{"id":6204,"title":6205,"body":64775,"cover":7700,"coverAlt":7701,"date":7702,"description":7703,"draft":1617,"extension":940,"lab":941,"locale":942,"meta":66055,"navigation":208,"path":7709,"schemaOrg":66057,"seo":66060,"series":7714,"seriesDescription":7715,"seriesOrder":279,"seriesTitle":7716,"slug":941,"stem":7717,"tags":66061,"__hash__":7728},{"type":8,"value":64776,"toc":66041},[64777,64781,64783,64787,64789,64791,64801,64805,64807,64815,64817,64827,64829,64845,64847,64849,64853,64861,64865,64867,64869,64871,64885,64889,64891,64893,64899,64905,64907,64917,64919,64921,64925,64927,64931,64933,64935,65459,66023,66027,66031,66033,66037,66039],[11,64778,6211,64779,6215],{"id":6210},[87,64780,6214],{},[15,64782,6218],{},[15,64784,64785,6223],{},[87,64786,6214],{},[22,64788,6227],{"id":6226},[15,64790,6230],{},[33,64792,64793,64795,64797,64799],{},[36,64794,6235],{},[36,64796,6238],{},[36,64798,6241],{},[36,64800,6244],{},[15,64802,64803,6249],{},[87,64804,6214],{},[22,64806,6253],{"id":6252},[15,64808,64809,6258,64811,6262,64813,6266],{},[87,64810,6214],{},[87,64812,6261],{},[3929,64814,6265],{},[15,64816,6269],{},[33,64818,64819,64821,64823,64825],{},[36,64820,6274],{},[36,64822,6277],{},[36,64824,6280],{},[36,64826,6283],{},[15,64828,6286],{},[33,64830,64831,64835,64837],{},[36,64832,6291,64833,1675],{},[3929,64834,6294],{},[36,64836,6297],{},[36,64838,6300,64839,6304,64841,90,64843,6311],{},[3929,64840,6303],{},[87,64842,6307],{},[87,64844,6310],{},[15,64846,6314],{},[22,64848,6318],{"id":6317},[15,64850,64851,6323],{},[87,64852,6214],{},[33,64854,64855,64857,64859],{},[36,64856,6328],{},[36,64858,6331],{},[36,64860,6334],{},[15,64862,6337,64863,6341],{},[3929,64864,6340],{},[22,64866,6345],{"id":6344},[15,64868,6348],{},[15,64870,6351],{},[33,64872,64873,64875,64877,64883],{},[36,64874,6356],{},[36,64876,6359],{},[36,64878,6362,64879,90,64881,1675],{},[87,64880,6307],{},[87,64882,6310],{},[36,64884,6369],{},[15,64886,6372,64887,6375],{},[87,64888,6214],{},[22,64890,3081],{"id":3080},[3083,64892,6381],{"id":6380},[15,64894,64895,6386,64897,6390],{},[87,64896,6214],{},[87,64898,6389],{},[15,64900,6393,64901,90,64903,6400],{},[87,64902,6396],{},[87,64904,6399],{},[3083,64906,6404],{"id":6403},[15,64908,6407,64909,1020,64911,6414,64913,6417,64915,6420],{},[87,64910,6410],{},[87,64912,6413],{},[87,64914,2394],{},[87,64916,6214],{},[3083,64918,6424],{"id":6423},[15,64920,6427],{},[15,64922,6430,64923,1675],{},[87,64924,6389],{},[3083,64926,6436],{"id":6435},[15,64928,6439,64929,6442],{},[87,64930,6214],{},[15,64932,6445],{},[22,64934,6449],{"id":6448},[154,64936,64937],{"className":156,"code":6452,"filename":3256,"language":162,"meta":163,"style":163},[87,64938,64939,64955,64965,64969,64979,64987,64995,65003,65011,65015,65019,65043,65059,65063,65073,65091,65095,65105,65119,65123,65127,65147,65151,65155,65169,65175,65183,65191,65197,65213,65217,65221,65225,65239,65251,65255,65261,65269,65277,65283,65299,65303,65307,65315,65319,65327,65341,65359,65363,65381,65393,65405,65417,65425,65429,65443,65451],{"__ignoreMap":163},[167,64940,64941,64943,64945,64947,64949,64951,64953],{"class":169,"line":170},[167,64942,174],{"class":173},[167,64944,178],{"class":177},[167,64946,182],{"class":181},[167,64948,1045],{"class":181},[167,64950,267],{"class":173},[167,64952,1050],{"class":201},[167,64954,185],{"class":173},[167,64956,64957,64959,64961,64963],{"class":169,"line":188},[167,64958,192],{"class":191},[167,64960,6477],{"class":173},[167,64962,198],{"class":191},[167,64964,202],{"class":201},[167,64966,64967],{"class":169,"line":205},[167,64968,209],{"emptyLinePlaceholder":208},[167,64970,64971,64973,64975,64977],{"class":169,"line":160},[167,64972,569],{"class":191},[167,64974,6492],{"class":181},[167,64976,223],{"class":191},[167,64978,1901],{"class":173},[167,64980,64981,64983,64985],{"class":169,"line":238},[167,64982,6501],{"class":254},[167,64984,583],{"class":191},[167,64986,6506],{"class":219},[167,64988,64989,64991,64993],{"class":169,"line":243},[167,64990,6511],{"class":254},[167,64992,583],{"class":191},[167,64994,6516],{"class":219},[167,64996,64997,64999,65001],{"class":169,"line":261},[167,64998,6521],{"class":254},[167,65000,583],{"class":191},[167,65002,6506],{"class":219},[167,65004,65005,65007,65009],{"class":169,"line":273},[167,65006,6530],{"class":254},[167,65008,583],{"class":191},[167,65010,6506],{"class":219},[167,65012,65013],{"class":169,"line":279},[167,65014,276],{"class":173},[167,65016,65017],{"class":169,"line":289},[167,65018,209],{"emptyLinePlaceholder":208},[167,65020,65021,65023,65025,65027,65029,65031,65033,65035,65037,65039,65041],{"class":169,"line":294},[167,65022,216],{"class":191},[167,65024,6549],{"class":219},[167,65026,223],{"class":191},[167,65028,226],{"class":181},[167,65030,174],{"class":173},[167,65032,6558],{"class":181},[167,65034,659],{"class":191},[167,65036,6563],{"class":219},[167,65038,6566],{"class":173},[167,65040,6569],{"class":219},[167,65042,235],{"class":173},[167,65044,65045,65047,65049,65051,65053,65055,65057],{"class":169,"line":304},[167,65046,216],{"class":191},[167,65048,6578],{"class":219},[167,65050,223],{"class":191},[167,65052,226],{"class":181},[167,65054,229],{"class":173},[167,65056,2180],{"class":201},[167,65058,235],{"class":173},[167,65060,65061],{"class":169,"line":313},[167,65062,209],{"emptyLinePlaceholder":208},[167,65064,65065,65067,65069,65071],{"class":169,"line":161},[167,65066,2519],{"class":191},[167,65068,1427],{"class":191},[167,65070,6601],{"class":181},[167,65072,763],{"class":173},[167,65074,65075,65077,65079,65081,65083,65085,65087,65089],{"class":169,"line":335},[167,65076,1438],{"class":191},[167,65078,6610],{"class":219},[167,65080,223],{"class":191},[167,65082,3005],{"class":191},[167,65084,6617],{"class":181},[167,65086,229],{"class":173},[167,65088,6622],{"class":201},[167,65090,235],{"class":173},[167,65092,65093],{"class":169,"line":341},[167,65094,209],{"emptyLinePlaceholder":208},[167,65096,65097,65099,65101,65103],{"class":169,"line":489},[167,65098,2540],{"class":191},[167,65100,2522],{"class":173},[167,65102,6637],{"class":191},[167,65104,6640],{"class":173},[167,65106,65107,65109,65111,65113,65115,65117],{"class":169,"line":495},[167,65108,6645],{"class":191},[167,65110,4220],{"class":191},[167,65112,6650],{"class":181},[167,65114,229],{"class":173},[167,65116,6655],{"class":201},[167,65118,235],{"class":173},[167,65120,65121],{"class":169,"line":501},[167,65122,3488],{"class":173},[167,65124,65125],{"class":169,"line":512},[167,65126,209],{"emptyLinePlaceholder":208},[167,65128,65129,65131,65133,65135,65137,65139,65141,65143,65145],{"class":169,"line":781},[167,65130,6670],{"class":173},[167,65132,267],{"class":191},[167,65134,2522],{"class":173},[167,65136,2923],{"class":191},[167,65138,6679],{"class":173},[167,65140,6682],{"class":181},[167,65142,6685],{"class":173},[167,65144,6688],{"class":191},[167,65146,6691],{"class":181},[167,65148,65149],{"class":169,"line":786},[167,65150,276],{"class":173},[167,65152,65153],{"class":169,"line":2674},[167,65154,209],{"emptyLinePlaceholder":208},[167,65156,65157,65159,65161,65163,65165,65167],{"class":169,"line":2688},[167,65158,6704],{"class":181},[167,65160,229],{"class":173},[167,65162,2519],{"class":191},[167,65164,1464],{"class":173},[167,65166,639],{"class":191},[167,65168,1901],{"class":173},[167,65170,65171,65173],{"class":169,"line":3571},[167,65172,6719],{"class":191},[167,65174,1901],{"class":173},[167,65176,65177,65179,65181],{"class":169,"line":5024},[167,65178,6726],{"class":191},[167,65180,6601],{"class":181},[167,65182,2913],{"class":173},[167,65184,65185,65187,65189],{"class":169,"line":5033},[167,65186,6735],{"class":173},[167,65188,6738],{"class":191},[167,65190,6741],{"class":173},[167,65192,65193,65195],{"class":169,"line":5042},[167,65194,6746],{"class":173},[167,65196,6749],{"class":191},[167,65198,65199,65201,65203,65205,65207,65209,65211],{"class":169,"line":6752},[167,65200,6755],{"class":173},[167,65202,6758],{"class":191},[167,65204,6650],{"class":181},[167,65206,6763],{"class":191},[167,65208,6766],{"class":173},[167,65210,583],{"class":191},[167,65212,6771],{"class":201},[167,65214,65215],{"class":169,"line":6774},[167,65216,3488],{"class":173},[167,65218,65219],{"class":169,"line":6779},[167,65220,403],{"class":173},[167,65222,65223],{"class":169,"line":6784},[167,65224,209],{"emptyLinePlaceholder":208},[167,65226,65227,65229,65231,65233,65235,65237],{"class":169,"line":6789},[167,65228,6792],{"class":181},[167,65230,229],{"class":173},[167,65232,2519],{"class":191},[167,65234,1464],{"class":173},[167,65236,639],{"class":191},[167,65238,1901],{"class":173},[167,65240,65241,65243,65245,65247,65249],{"class":169,"line":6805},[167,65242,2540],{"class":191},[167,65244,6810],{"class":173},[167,65246,4260],{"class":191},[167,65248,6815],{"class":173},[167,65250,2552],{"class":191},[167,65252,65253],{"class":169,"line":6820},[167,65254,209],{"emptyLinePlaceholder":208},[167,65256,65257,65259],{"class":169,"line":6825},[167,65258,6719],{"class":191},[167,65260,1901],{"class":173},[167,65262,65263,65265,65267],{"class":169,"line":6832},[167,65264,6726],{"class":191},[167,65266,6601],{"class":181},[167,65268,2913],{"class":173},[167,65270,65271,65273,65275],{"class":169,"line":6841},[167,65272,6735],{"class":173},[167,65274,6738],{"class":191},[167,65276,6741],{"class":173},[167,65278,65279,65281],{"class":169,"line":6850},[167,65280,6746],{"class":173},[167,65282,6749],{"class":191},[167,65284,65285,65287,65289,65291,65293,65295,65297],{"class":169,"line":6857},[167,65286,6755],{"class":173},[167,65288,6758],{"class":191},[167,65290,6650],{"class":181},[167,65292,6763],{"class":191},[167,65294,6766],{"class":173},[167,65296,583],{"class":191},[167,65298,6872],{"class":201},[167,65300,65301],{"class":169,"line":6875},[167,65302,3488],{"class":173},[167,65304,65305],{"class":169,"line":6880},[167,65306,403],{"class":173},[167,65308,65309,65311,65313],{"class":169,"line":6885},[167,65310,282],{"class":173},[167,65312,178],{"class":177},[167,65314,185],{"class":173},[167,65316,65317],{"class":169,"line":6894},[167,65318,209],{"emptyLinePlaceholder":208},[167,65320,65321,65323,65325],{"class":169,"line":6899},[167,65322,174],{"class":173},[167,65324,299],{"class":177},[167,65326,185],{"class":173},[167,65328,65329,65331,65333,65335,65337,65339],{"class":169,"line":6908},[167,65330,307],{"class":173},[167,65332,3692],{"class":177},[167,65334,1240],{"class":181},[167,65336,267],{"class":173},[167,65338,6919],{"class":201},[167,65340,185],{"class":173},[167,65342,65343,65345,65347,65349,65351,65353,65355,65357],{"class":169,"line":6924},[167,65344,1252],{"class":173},[167,65346,15],{"class":177},[167,65348,5690],{"class":181},[167,65350,267],{"class":173},[167,65352,6935],{"class":201},[167,65354,6938],{"class":173},[167,65356,15],{"class":177},[167,65358,185],{"class":173},[167,65360,65361],{"class":169,"line":6945},[167,65362,209],{"emptyLinePlaceholder":208},[167,65364,65365,65367,65369,65371,65373,65375,65377,65379],{"class":169,"line":6950},[167,65366,1252],{"class":173},[167,65368,299],{"class":177},[167,65370,6957],{"class":191},[167,65372,267],{"class":173},[167,65374,5076],{"class":201},[167,65376,6964],{"class":173},[167,65378,5076],{"class":201},[167,65380,185],{"class":173},[167,65382,65383,65385,65387,65389,65391],{"class":169,"line":6971},[167,65384,1263],{"class":173},[167,65386,11],{"class":177},[167,65388,6978],{"class":173},[167,65390,11],{"class":177},[167,65392,185],{"class":173},[167,65394,65395,65397,65399,65401,65403],{"class":169,"line":6985},[167,65396,1263],{"class":173},[167,65398,15],{"class":177},[167,65400,6992],{"class":173},[167,65402,15],{"class":177},[167,65404,185],{"class":173},[167,65406,65407,65409,65411,65413,65415],{"class":169,"line":6999},[167,65408,1263],{"class":173},[167,65410,15],{"class":177},[167,65412,7006],{"class":173},[167,65414,15],{"class":177},[167,65416,185],{"class":173},[167,65418,65419,65421,65423],{"class":169,"line":7013},[167,65420,1287],{"class":173},[167,65422,299],{"class":177},[167,65424,185],{"class":173},[167,65426,65427],{"class":169,"line":7022},[167,65428,209],{"emptyLinePlaceholder":208},[167,65430,65431,65433,65435,65437,65439,65441],{"class":169,"line":7027},[167,65432,1252],{"class":173},[167,65434,15],{"class":177},[167,65436,7034],{"class":181},[167,65438,7037],{"class":173},[167,65440,15],{"class":177},[167,65442,185],{"class":173},[167,65444,65445,65447,65449],{"class":169,"line":7044},[167,65446,504],{"class":173},[167,65448,3692],{"class":177},[167,65450,185],{"class":173},[167,65452,65453,65455,65457],{"class":169,"line":7053},[167,65454,282],{"class":173},[167,65456,299],{"class":177},[167,65458,185],{"class":173},[154,65460,65461],{"className":156,"code":7062,"filename":3969,"language":162,"meta":163,"style":163},[87,65462,65463,65477,65487,65491,65501,65509,65517,65525,65533,65537,65541,65551,65559,65563,65569,65575,65591,65597,65601,65605,65609,65613,65621,65639,65643,65653,65667,65671,65675,65697,65701,65705,65709,65717,65723,65735,65743,65751,65767,65771,65775,65779,65787,65805,65809,65815,65827,65835,65843,65859,65863,65867,65871,65879,65883,65891,65905,65923,65927,65945,65957,65969,65981,65989,65993,66007,66015],{"__ignoreMap":163},[167,65464,65465,65467,65469,65471,65473,65475],{"class":169,"line":170},[167,65466,174],{"class":173},[167,65468,178],{"class":177},[167,65470,1045],{"class":181},[167,65472,267],{"class":173},[167,65474,1050],{"class":201},[167,65476,185],{"class":173},[167,65478,65479,65481,65483,65485],{"class":169,"line":188},[167,65480,192],{"class":191},[167,65482,7085],{"class":173},[167,65484,198],{"class":191},[167,65486,202],{"class":201},[167,65488,65489],{"class":169,"line":205},[167,65490,209],{"emptyLinePlaceholder":208},[167,65492,65493,65495,65497,65499],{"class":169,"line":160},[167,65494,569],{"class":191},[167,65496,6492],{"class":181},[167,65498,223],{"class":191},[167,65500,1901],{"class":173},[167,65502,65503,65505,65507],{"class":169,"line":238},[167,65504,6501],{"class":254},[167,65506,583],{"class":191},[167,65508,6506],{"class":219},[167,65510,65511,65513,65515],{"class":169,"line":243},[167,65512,6511],{"class":254},[167,65514,583],{"class":191},[167,65516,6516],{"class":219},[167,65518,65519,65521,65523],{"class":169,"line":261},[167,65520,6521],{"class":254},[167,65522,583],{"class":191},[167,65524,6506],{"class":219},[167,65526,65527,65529,65531],{"class":169,"line":273},[167,65528,6530],{"class":254},[167,65530,583],{"class":191},[167,65532,6506],{"class":219},[167,65534,65535],{"class":169,"line":279},[167,65536,276],{"class":173},[167,65538,65539],{"class":169,"line":289},[167,65540,209],{"emptyLinePlaceholder":208},[167,65542,65543,65545,65547,65549],{"class":169,"line":294},[167,65544,608],{"class":191},[167,65546,3987],{"class":191},[167,65548,7152],{"class":181},[167,65550,372],{"class":173},[167,65552,65553,65555,65557],{"class":169,"line":304},[167,65554,4394],{"class":173},[167,65556,7161],{"class":201},[167,65558,393],{"class":173},[167,65560,65561],{"class":169,"line":313},[167,65562,209],{"emptyLinePlaceholder":208},[167,65564,65565,65567],{"class":169,"line":161},[167,65566,7172],{"class":181},[167,65568,763],{"class":173},[167,65570,65571,65573],{"class":169,"line":335},[167,65572,1933],{"class":191},[167,65574,1901],{"class":173},[167,65576,65577,65579,65581,65583,65585,65587,65589],{"class":169,"line":341},[167,65578,7185],{"class":173},[167,65580,6569],{"class":219},[167,65582,654],{"class":191},[167,65584,6492],{"class":181},[167,65586,659],{"class":191},[167,65588,6563],{"class":219},[167,65590,393],{"class":173},[167,65592,65593,65595],{"class":169,"line":489},[167,65594,7202],{"class":173},[167,65596,7205],{"class":201},[167,65598,65599],{"class":169,"line":495},[167,65600,4045],{"class":173},[167,65602,65603],{"class":169,"line":501},[167,65604,398],{"class":173},[167,65606,65607],{"class":169,"line":512},[167,65608,209],{"emptyLinePlaceholder":208},[167,65610,65611],{"class":169,"line":781},[167,65612,4415],{"class":173},[167,65614,65615,65617,65619],{"class":169,"line":786},[167,65616,7226],{"class":191},[167,65618,6601],{"class":181},[167,65620,763],{"class":173},[167,65622,65623,65625,65627,65629,65631,65633,65635,65637],{"class":169,"line":2674},[167,65624,4431],{"class":191},[167,65626,6610],{"class":219},[167,65628,223],{"class":191},[167,65630,3005],{"class":191},[167,65632,6617],{"class":181},[167,65634,229],{"class":173},[167,65636,6622],{"class":201},[167,65638,235],{"class":173},[167,65640,65641],{"class":169,"line":2688},[167,65642,209],{"emptyLinePlaceholder":208},[167,65644,65645,65647,65649,65651],{"class":169,"line":3571},[167,65646,7257],{"class":191},[167,65648,2522],{"class":173},[167,65650,6637],{"class":191},[167,65652,6640],{"class":173},[167,65654,65655,65657,65659,65661,65663,65665],{"class":169,"line":5024},[167,65656,7268],{"class":191},[167,65658,4220],{"class":191},[167,65660,6650],{"class":181},[167,65662,229],{"class":173},[167,65664,6655],{"class":201},[167,65666,235],{"class":173},[167,65668,65669],{"class":169,"line":5033},[167,65670,7283],{"class":173},[167,65672,65673],{"class":169,"line":5042},[167,65674,209],{"emptyLinePlaceholder":208},[167,65676,65677,65679,65681,65683,65685,65687,65689,65691,65693,65695],{"class":169,"line":6752},[167,65678,741],{"class":219},[167,65680,7294],{"class":173},[167,65682,267],{"class":191},[167,65684,2522],{"class":173},[167,65686,2923],{"class":191},[167,65688,6679],{"class":173},[167,65690,6682],{"class":181},[167,65692,6685],{"class":173},[167,65694,6688],{"class":191},[167,65696,6691],{"class":181},[167,65698,65699],{"class":169,"line":6774},[167,65700,4045],{"class":173},[167,65702,65703],{"class":169,"line":6779},[167,65704,398],{"class":173},[167,65706,65707],{"class":169,"line":6784},[167,65708,209],{"emptyLinePlaceholder":208},[167,65710,65711,65713,65715],{"class":169,"line":6789},[167,65712,7327],{"class":191},[167,65714,7330],{"class":181},[167,65716,763],{"class":173},[167,65718,65719,65721],{"class":169,"line":6805},[167,65720,7337],{"class":191},[167,65722,1901],{"class":173},[167,65724,65725,65727,65729,65731,65733],{"class":169,"line":6820},[167,65726,7344],{"class":191},[167,65728,7347],{"class":219},[167,65730,1675],{"class":173},[167,65732,7352],{"class":181},[167,65734,2913],{"class":173},[167,65736,65737,65739,65741],{"class":169,"line":6825},[167,65738,7359],{"class":173},[167,65740,6738],{"class":191},[167,65742,6741],{"class":173},[167,65744,65745,65747,65749],{"class":169,"line":6832},[167,65746,741],{"class":219},[167,65748,7370],{"class":173},[167,65750,6749],{"class":191},[167,65752,65753,65755,65757,65759,65761,65763,65765],{"class":169,"line":6841},[167,65754,7377],{"class":173},[167,65756,6758],{"class":191},[167,65758,6650],{"class":181},[167,65760,6763],{"class":191},[167,65762,6766],{"class":173},[167,65764,583],{"class":191},[167,65766,6771],{"class":201},[167,65768,65769],{"class":169,"line":6850},[167,65770,4045],{"class":173},[167,65772,65773],{"class":169,"line":6857},[167,65774,398],{"class":173},[167,65776,65777],{"class":169,"line":6875},[167,65778,209],{"emptyLinePlaceholder":208},[167,65780,65781,65783,65785],{"class":169,"line":6880},[167,65782,7327],{"class":191},[167,65784,7408],{"class":181},[167,65786,763],{"class":173},[167,65788,65789,65791,65793,65795,65797,65799,65801,65803],{"class":169,"line":6885},[167,65790,7415],{"class":191},[167,65792,2522],{"class":173},[167,65794,4923],{"class":219},[167,65796,7294],{"class":173},[167,65798,4260],{"class":191},[167,65800,7347],{"class":219},[167,65802,7428],{"class":173},[167,65804,2552],{"class":191},[167,65806,65807],{"class":169,"line":6894},[167,65808,209],{"emptyLinePlaceholder":208},[167,65810,65811,65813],{"class":169,"line":6899},[167,65812,7337],{"class":191},[167,65814,1901],{"class":173},[167,65816,65817,65819,65821,65823,65825],{"class":169,"line":6908},[167,65818,7344],{"class":191},[167,65820,7347],{"class":219},[167,65822,1675],{"class":173},[167,65824,7352],{"class":181},[167,65826,2913],{"class":173},[167,65828,65829,65831,65833],{"class":169,"line":6924},[167,65830,7359],{"class":173},[167,65832,6738],{"class":191},[167,65834,6741],{"class":173},[167,65836,65837,65839,65841],{"class":169,"line":6945},[167,65838,741],{"class":219},[167,65840,7370],{"class":173},[167,65842,6749],{"class":191},[167,65844,65845,65847,65849,65851,65853,65855,65857],{"class":169,"line":6950},[167,65846,7377],{"class":173},[167,65848,6758],{"class":191},[167,65850,6650],{"class":181},[167,65852,6763],{"class":191},[167,65854,6766],{"class":173},[167,65856,583],{"class":191},[167,65858,6872],{"class":201},[167,65860,65861],{"class":169,"line":6971},[167,65862,4045],{"class":173},[167,65864,65865],{"class":169,"line":6985},[167,65866,3488],{"class":173},[167,65868,65869],{"class":169,"line":6999},[167,65870,403],{"class":173},[167,65872,65873,65875,65877],{"class":169,"line":7013},[167,65874,282],{"class":173},[167,65876,178],{"class":177},[167,65878,185],{"class":173},[167,65880,65881],{"class":169,"line":7022},[167,65882,209],{"emptyLinePlaceholder":208},[167,65884,65885,65887,65889],{"class":169,"line":7027},[167,65886,174],{"class":173},[167,65888,299],{"class":177},[167,65890,185],{"class":173},[167,65892,65893,65895,65897,65899,65901,65903],{"class":169,"line":7044},[167,65894,307],{"class":173},[167,65896,3692],{"class":177},[167,65898,1240],{"class":181},[167,65900,267],{"class":173},[167,65902,6919],{"class":201},[167,65904,185],{"class":173},[167,65906,65907,65909,65911,65913,65915,65917,65919,65921],{"class":169,"line":7053},[167,65908,1252],{"class":173},[167,65910,15],{"class":177},[167,65912,5690],{"class":181},[167,65914,267],{"class":173},[167,65916,6935],{"class":201},[167,65918,6938],{"class":173},[167,65920,15],{"class":177},[167,65922,185],{"class":173},[167,65924,65925],{"class":169,"line":7551},[167,65926,209],{"emptyLinePlaceholder":208},[167,65928,65929,65931,65933,65935,65937,65939,65941,65943],{"class":169,"line":7556},[167,65930,1252],{"class":173},[167,65932,299],{"class":177},[167,65934,6957],{"class":191},[167,65936,267],{"class":173},[167,65938,5076],{"class":201},[167,65940,6964],{"class":173},[167,65942,5076],{"class":201},[167,65944,185],{"class":173},[167,65946,65947,65949,65951,65953,65955],{"class":169,"line":7575},[167,65948,1263],{"class":173},[167,65950,11],{"class":177},[167,65952,6978],{"class":173},[167,65954,11],{"class":177},[167,65956,185],{"class":173},[167,65958,65959,65961,65963,65965,65967],{"class":169,"line":7588},[167,65960,1263],{"class":173},[167,65962,15],{"class":177},[167,65964,6992],{"class":173},[167,65966,15],{"class":177},[167,65968,185],{"class":173},[167,65970,65971,65973,65975,65977,65979],{"class":169,"line":7601},[167,65972,1263],{"class":173},[167,65974,15],{"class":177},[167,65976,7006],{"class":173},[167,65978,15],{"class":177},[167,65980,185],{"class":173},[167,65982,65983,65985,65987],{"class":169,"line":7614},[167,65984,1287],{"class":173},[167,65986,299],{"class":177},[167,65988,185],{"class":173},[167,65990,65991],{"class":169,"line":7623},[167,65992,209],{"emptyLinePlaceholder":208},[167,65994,65995,65997,65999,66001,66003,66005],{"class":169,"line":7628},[167,65996,1252],{"class":173},[167,65998,15],{"class":177},[167,66000,7034],{"class":181},[167,66002,7037],{"class":173},[167,66004,15],{"class":177},[167,66006,185],{"class":173},[167,66008,66009,66011,66013],{"class":169,"line":7643},[167,66010,504],{"class":173},[167,66012,3692],{"class":177},[167,66014,185],{"class":173},[167,66016,66017,66019,66021],{"class":169,"line":7652},[167,66018,282],{"class":173},[167,66020,299],{"class":177},[167,66022,185],{"class":173},[15,66024,7661,66025,7664],{},[87,66026,6396],{},[15,66028,7667,66029,7670],{},[87,66030,6389],{},[22,66032,7674],{"id":7673},[15,66034,66035,7679],{},[87,66036,6214],{},[15,66038,7682],{},[924,66040,7685],{},{"title":163,"searchDepth":188,"depth":188,"links":66042},[66043,66044,66045,66046,66047,66053,66054],{"id":6226,"depth":188,"text":6227},{"id":6252,"depth":188,"text":6253},{"id":6317,"depth":188,"text":6318},{"id":6344,"depth":188,"text":6345},{"id":3080,"depth":188,"text":3081,"children":66048},[66049,66050,66051,66052],{"id":6380,"depth":205,"text":6381},{"id":6403,"depth":205,"text":6404},{"id":6423,"depth":205,"text":6424},{"id":6435,"depth":205,"text":6436},{"id":6448,"depth":188,"text":6449},{"id":7673,"depth":188,"text":7674},{"updatedAt":7705,"readingTime":273,"coverCaption":7706,"author":945,"keywords":66056},[3254,6214,6704,973,7708],[66058],{"headline":6205,"author":66059,"datePublished":7705,"@type":959},{"name":945,"@type":958},{"title":6205,"description":7703},[66062,66063,66064,66065,66066],{"tag":7720,"color":7721},{"tag":973,"color":974},{"tag":952,"color":966},{"tag":1622,"color":1635},{"tag":7726,"color":7727},{"id":7730,"title":7731,"body":66068,"cover":9145,"coverAlt":9146,"date":9147,"description":9148,"draft":1617,"extension":940,"lab":941,"locale":942,"meta":67303,"navigation":208,"path":9153,"schemaOrg":67305,"seo":67308,"series":7714,"seriesDescription":7715,"seriesOrder":273,"seriesTitle":7716,"slug":941,"stem":9158,"tags":67309,"__hash__":9169},{"type":8,"value":66069,"toc":67284},[66070,66076,66078,66084,66086,66092,66094,66096,66110,66116,66118,66122,66124,66138,66140,66168,66170,66180,66182,66184,66186,66188,66200,66202,66204,66206,66208,66228,66230,66232,66234,66240,66242,66246,66248,66250,66252,66254,66256,66258,66262,66264,66268,66270,66272,66274,66762,67248,67250,67258,67260,67266,67268,67278,67282],[11,66071,7737,66072,1020,66074,6215],{"id":7736},[87,66073,7740],{},[87,66075,7743],{},[15,66077,7746],{},[15,66079,7749,66080,1023,66082,7754],{},[87,66081,7740],{},[87,66083,7743],{},[15,66085,7757],{},[33,66087,66088,66090],{},[36,66089,7762],{},[36,66091,7765],{},[22,66093,6227],{"id":6226},[15,66095,7770],{},[33,66097,66098,66100,66102,66104],{},[36,66099,7775],{},[36,66101,7778],{},[36,66103,7781],{},[36,66105,66106,1023,66108,7788],{},[87,66107,1657],{},[87,66109,1661],{},[15,66111,7791,66112,1023,66114,7796],{},[87,66113,7740],{},[87,66115,7743],{},[22,66117,6253],{"id":6252},[15,66119,7801,66120,7804],{},[87,66121,1657],{},[15,66123,7807],{},[33,66125,66126,66132],{},[36,66127,66128,6258,66130,7817],{},[87,66129,7740],{},[87,66131,7816],{},[36,66133,66134,6258,66136,7825],{},[87,66135,7743],{},[87,66137,7824],{},[15,66139,7828],{},[33,66141,66142,66146,66150,66162],{},[36,66143,66144,7836],{},[87,66145,7835],{},[36,66147,66148,7842],{},[87,66149,7841],{},[36,66151,66152,7847,66154,1020,66156,1020,66158,1020,66160,7859],{},[87,66153,569],{},[87,66155,4229],{},[87,66157,7852],{},[87,66159,7855],{},[87,66161,7858],{},[36,66163,66164,1023,66166,7868],{},[87,66165,7864],{},[87,66167,7867],{},[15,66169,7871],{},[33,66171,66172,66174],{},[36,66173,7876],{},[36,66175,7879,66176,90,66178,7886],{},[87,66177,7882],{},[87,66179,7885],{},[15,66181,7889],{},[22,66183,6318],{"id":6317},[15,66185,7894],{},[15,66187,7897],{},[33,66189,66190,66192,66194,66196],{},[36,66191,7902],{},[36,66193,7905],{},[36,66195,7908],{},[36,66197,7911,66198,7914],{},[87,66199,1657],{},[15,66201,7917],{},[22,66203,6345],{"id":6344},[15,66205,7922],{},[15,66207,7925],{},[33,66209,66210,66220,66224,66226],{},[36,66211,7930,66212,1020,66214,1020,66216,90,66218,1675],{},[87,66213,3296],{},[87,66215,3303],{},[87,66217,1657],{},[87,66219,1661],{},[36,66221,7941,66222,4266],{},[87,66223,1661],{},[36,66225,7946],{},[36,66227,7949],{},[15,66229,7952],{},[22,66231,3081],{"id":3080},[3083,66233,7958],{"id":7957},[15,66235,7961,66236,90,66238,1675],{},[87,66237,1661],{},[87,66239,1657],{},[3083,66241,7969],{"id":7968},[15,66243,7972,66244,7975],{},[87,66245,2081],{},[3083,66247,7979],{"id":7978},[15,66249,7982],{},[3083,66251,7986],{"id":7985},[15,66253,7989],{},[22,66255,7993],{"id":7992},[3083,66257,7997],{"id":7996},[15,66259,8000,66260,8003],{},[87,66261,7740],{},[3083,66263,8007],{"id":8006},[15,66265,66266,8012],{},[87,66267,7743],{},[3083,66269,8016],{"id":8015},[15,66271,8019],{},[22,66273,8023],{"id":8022},[154,66275,66276],{"className":156,"code":8026,"filename":3256,"language":162,"meta":163,"style":163},[87,66277,66278,66294,66304,66308,66320,66328,66334,66338,66342,66354,66362,66368,66372,66376,66388,66408,66428,66448,66452,66456,66472,66488,66498,66506,66518,66522,66542,66546,66556,66560,66564,66568,66582,66594,66598,66606,66610,66614,66618,66622,66636,66648,66652,66660,66664,66668,66672,66676,66680,66696,66720,66724,66736,66740,66750,66754],{"__ignoreMap":163},[167,66279,66280,66282,66284,66286,66288,66290,66292],{"class":169,"line":170},[167,66281,174],{"class":173},[167,66283,178],{"class":177},[167,66285,182],{"class":181},[167,66287,1045],{"class":181},[167,66289,267],{"class":173},[167,66291,1050],{"class":201},[167,66293,185],{"class":173},[167,66295,66296,66298,66300,66302],{"class":169,"line":188},[167,66297,192],{"class":191},[167,66299,8051],{"class":173},[167,66301,198],{"class":191},[167,66303,202],{"class":201},[167,66305,66306],{"class":169,"line":205},[167,66307,209],{"emptyLinePlaceholder":208},[167,66309,66310,66312,66314,66316,66318],{"class":169,"line":160},[167,66311,216],{"class":191},[167,66313,8066],{"class":219},[167,66315,223],{"class":191},[167,66317,846],{"class":181},[167,66319,372],{"class":173},[167,66321,66322,66324,66326],{"class":169,"line":238},[167,66323,8077],{"class":173},[167,66325,2180],{"class":201},[167,66327,393],{"class":173},[167,66329,66330,66332],{"class":169,"line":243},[167,66331,8086],{"class":173},[167,66333,8089],{"class":219},[167,66335,66336],{"class":169,"line":261},[167,66337,403],{"class":173},[167,66339,66340],{"class":169,"line":273},[167,66341,209],{"emptyLinePlaceholder":208},[167,66343,66344,66346,66348,66350,66352],{"class":169,"line":279},[167,66345,216],{"class":191},[167,66347,8104],{"class":219},[167,66349,223],{"class":191},[167,66351,846],{"class":181},[167,66353,372],{"class":173},[167,66355,66356,66358,66360],{"class":169,"line":289},[167,66357,8115],{"class":173},[167,66359,1831],{"class":219},[167,66361,393],{"class":173},[167,66363,66364,66366],{"class":169,"line":294},[167,66365,8124],{"class":173},[167,66367,3633],{"class":219},[167,66369,66370],{"class":169,"line":304},[167,66371,403],{"class":173},[167,66373,66374],{"class":169,"line":313},[167,66375,209],{"emptyLinePlaceholder":208},[167,66377,66378,66380,66382,66384,66386],{"class":169,"line":161},[167,66379,216],{"class":191},[167,66381,3364],{"class":219},[167,66383,223],{"class":191},[167,66385,226],{"class":181},[167,66387,1823],{"class":173},[167,66389,66390,66392,66394,66396,66398,66400,66402,66404,66406],{"class":169,"line":335},[167,66391,1828],{"class":173},[167,66393,1831],{"class":219},[167,66395,3379],{"class":173},[167,66397,8157],{"class":201},[167,66399,8160],{"class":173},[167,66401,3388],{"class":219},[167,66403,8165],{"class":173},[167,66405,8168],{"class":201},[167,66407,1852],{"class":173},[167,66409,66410,66412,66414,66416,66418,66420,66422,66424,66426],{"class":169,"line":341},[167,66411,1828],{"class":173},[167,66413,1849],{"class":219},[167,66415,3379],{"class":173},[167,66417,8181],{"class":201},[167,66419,8160],{"class":173},[167,66421,390],{"class":219},[167,66423,8165],{"class":173},[167,66425,8190],{"class":201},[167,66427,1852],{"class":173},[167,66429,66430,66432,66434,66436,66438,66440,66442,66444,66446],{"class":169,"line":489},[167,66431,1828],{"class":173},[167,66433,8199],{"class":219},[167,66435,3379],{"class":173},[167,66437,8204],{"class":201},[167,66439,8160],{"class":173},[167,66441,3388],{"class":219},[167,66443,8165],{"class":173},[167,66445,8168],{"class":201},[167,66447,599],{"class":173},[167,66449,66450],{"class":169,"line":495},[167,66451,429],{"class":173},[167,66453,66454],{"class":169,"line":501},[167,66455,209],{"emptyLinePlaceholder":208},[167,66457,66458,66460,66462,66464,66466,66468,66470],{"class":169,"line":512},[167,66459,216],{"class":191},[167,66461,8229],{"class":219},[167,66463,223],{"class":191},[167,66465,1894],{"class":181},[167,66467,1488],{"class":173},[167,66469,639],{"class":191},[167,66471,1901],{"class":173},[167,66473,66474,66476,66478,66480,66482,66484,66486],{"class":169,"line":781},[167,66475,1534],{"class":191},[167,66477,3447],{"class":173},[167,66479,8248],{"class":181},[167,66481,229],{"class":173},[167,66483,5071],{"class":254},[167,66485,8255],{"class":191},[167,66487,1901],{"class":173},[167,66489,66490,66492,66494,66496],{"class":169,"line":786},[167,66491,8262],{"class":191},[167,66493,8265],{"class":219},[167,66495,223],{"class":191},[167,66497,8270],{"class":173},[167,66499,66500,66502,66504],{"class":169,"line":2674},[167,66501,8275],{"class":173},[167,66503,2502],{"class":181},[167,66505,2913],{"class":173},[167,66507,66508,66510,66512,66514,66516],{"class":169,"line":2688},[167,66509,8275],{"class":173},[167,66511,8286],{"class":181},[167,66513,8289],{"class":173},[167,66515,2502],{"class":181},[167,66517,2505],{"class":173},[167,66519,66520],{"class":169,"line":3571},[167,66521,209],{"emptyLinePlaceholder":208},[167,66523,66524,66526,66528,66530,66532,66534,66536,66538,66540],{"class":169,"line":5024},[167,66525,8262],{"class":191},[167,66527,8304],{"class":219},[167,66529,223],{"class":191},[167,66531,8309],{"class":173},[167,66533,8312],{"class":191},[167,66535,5621],{"class":191},[167,66537,8317],{"class":173},[167,66539,583],{"class":191},[167,66541,3483],{"class":219},[167,66543,66544],{"class":169,"line":5033},[167,66545,209],{"emptyLinePlaceholder":208},[167,66547,66548,66550,66552,66554],{"class":169,"line":5042},[167,66549,1933],{"class":191},[167,66551,8332],{"class":173},[167,66553,8335],{"class":191},[167,66555,8338],{"class":173},[167,66557,66558],{"class":169,"line":6752},[167,66559,8343],{"class":173},[167,66561,66562],{"class":169,"line":6774},[167,66563,403],{"class":173},[167,66565,66566],{"class":169,"line":6779},[167,66567,209],{"emptyLinePlaceholder":208},[167,66569,66570,66572,66574,66576,66578,66580],{"class":169,"line":6784},[167,66571,8356],{"class":181},[167,66573,1914],{"class":173},[167,66575,4191],{"class":254},[167,66577,693],{"class":173},[167,66579,639],{"class":191},[167,66581,1901],{"class":173},[167,66583,66584,66586,66588,66590,66592],{"class":169,"line":6789},[167,66585,2604],{"class":173},[167,66587,2607],{"class":181},[167,66589,229],{"class":173},[167,66591,8377],{"class":201},[167,66593,627],{"class":173},[167,66595,66596],{"class":169,"line":6805},[167,66597,8384],{"class":173},[167,66599,66600,66602,66604],{"class":169,"line":6820},[167,66601,8389],{"class":173},[167,66603,4254],{"class":181},[167,66605,8394],{"class":173},[167,66607,66608],{"class":169,"line":6825},[167,66609,8399],{"class":173},[167,66611,66612],{"class":169,"line":6832},[167,66613,8343],{"class":173},[167,66615,66616],{"class":169,"line":6841},[167,66617,403],{"class":173},[167,66619,66620],{"class":169,"line":6850},[167,66621,209],{"emptyLinePlaceholder":208},[167,66623,66624,66626,66628,66630,66632,66634],{"class":169,"line":6857},[167,66625,8416],{"class":181},[167,66627,1914],{"class":173},[167,66629,4191],{"class":254},[167,66631,693],{"class":173},[167,66633,639],{"class":191},[167,66635,1901],{"class":173},[167,66637,66638,66640,66642,66644,66646],{"class":169,"line":6875},[167,66639,2604],{"class":173},[167,66641,2607],{"class":181},[167,66643,229],{"class":173},[167,66645,8437],{"class":201},[167,66647,627],{"class":173},[167,66649,66650],{"class":169,"line":6880},[167,66651,8384],{"class":173},[167,66653,66654,66656,66658],{"class":169,"line":6885},[167,66655,8389],{"class":173},[167,66657,4254],{"class":181},[167,66659,8394],{"class":173},[167,66661,66662],{"class":169,"line":6894},[167,66663,8456],{"class":173},[167,66665,66666],{"class":169,"line":6899},[167,66667,8461],{"class":173},[167,66669,66670],{"class":169,"line":6908},[167,66671,8343],{"class":173},[167,66673,66674],{"class":169,"line":6924},[167,66675,403],{"class":173},[167,66677,66678],{"class":169,"line":6945},[167,66679,209],{"emptyLinePlaceholder":208},[167,66681,66682,66684,66686,66688,66690,66692,66694],{"class":169,"line":6950},[167,66683,246],{"class":191},[167,66685,8480],{"class":181},[167,66687,229],{"class":173},[167,66689,3429],{"class":254},[167,66691,583],{"class":191},[167,66693,8489],{"class":219},[167,66695,258],{"class":173},[167,66697,66698,66700,66702,66704,66706,66708,66710,66712,66714,66716,66718],{"class":169,"line":6971},[167,66699,1438],{"class":191},[167,66701,3442],{"class":219},[167,66703,223],{"class":191},[167,66705,3447],{"class":173},[167,66707,3450],{"class":181},[167,66709,229],{"class":173},[167,66711,1922],{"class":254},[167,66713,8255],{"class":191},[167,66715,3461],{"class":173},[167,66717,2546],{"class":191},[167,66719,3466],{"class":173},[167,66721,66722],{"class":169,"line":6985},[167,66723,209],{"emptyLinePlaceholder":208},[167,66725,66726,66728,66730,66732,66734],{"class":169,"line":6999},[167,66727,2540],{"class":191},[167,66729,2522],{"class":173},[167,66731,6637],{"class":191},[167,66733,8530],{"class":173},[167,66735,2552],{"class":191},[167,66737,66738],{"class":169,"line":7013},[167,66739,209],{"emptyLinePlaceholder":208},[167,66741,66742,66744,66746,66748],{"class":169,"line":7022},[167,66743,8541],{"class":173},[167,66745,267],{"class":191},[167,66747,5621],{"class":191},[167,66749,8548],{"class":173},[167,66751,66752],{"class":169,"line":7027},[167,66753,276],{"class":173},[167,66755,66756,66758,66760],{"class":169,"line":7044},[167,66757,282],{"class":173},[167,66759,178],{"class":177},[167,66761,185],{"class":173},[154,66763,66764],{"className":156,"code":8563,"filename":3969,"language":162,"meta":163,"style":163},[87,66765,66766,66780,66788,66796,66800,66806,66812,66816,66824,66830,66834,66838,66846,66852,66856,66860,66880,66900,66920,66924,66928,66932,66936,66940,66946,66964,66974,66982,66998,67002,67024,67028,67038,67042,67046,67050,67054,67064,67076,67080,67088,67092,67096,67100,67104,67114,67126,67130,67138,67142,67146,67150,67154,67158,67162,67172,67198,67202,67214,67218,67228,67232,67236,67240],{"__ignoreMap":163},[167,66767,66768,66770,66772,66774,66776,66778],{"class":169,"line":170},[167,66769,174],{"class":173},[167,66771,178],{"class":177},[167,66773,1045],{"class":181},[167,66775,267],{"class":173},[167,66777,1050],{"class":201},[167,66779,185],{"class":173},[167,66781,66782,66784,66786],{"class":169,"line":188},[167,66783,608],{"class":191},[167,66785,3987],{"class":191},[167,66787,1901],{"class":173},[167,66789,66790,66792,66794],{"class":169,"line":205},[167,66791,4394],{"class":173},[167,66793,8594],{"class":201},[167,66795,393],{"class":173},[167,66797,66798],{"class":169,"line":160},[167,66799,209],{"emptyLinePlaceholder":208},[167,66801,66802,66804],{"class":169,"line":238},[167,66803,7172],{"class":181},[167,66805,763],{"class":173},[167,66807,66808,66810],{"class":169,"line":243},[167,66809,1933],{"class":191},[167,66811,1901],{"class":173},[167,66813,66814],{"class":169,"line":261},[167,66815,8617],{"class":173},[167,66817,66818,66820,66822],{"class":169,"line":273},[167,66819,8622],{"class":173},[167,66821,2180],{"class":201},[167,66823,393],{"class":173},[167,66825,66826,66828],{"class":169,"line":279},[167,66827,8631],{"class":173},[167,66829,8089],{"class":219},[167,66831,66832],{"class":169,"line":289},[167,66833,8638],{"class":173},[167,66835,66836],{"class":169,"line":294},[167,66837,8643],{"class":173},[167,66839,66840,66842,66844],{"class":169,"line":304},[167,66841,8648],{"class":173},[167,66843,1831],{"class":219},[167,66845,393],{"class":173},[167,66847,66848,66850],{"class":169,"line":313},[167,66849,8657],{"class":173},[167,66851,3633],{"class":219},[167,66853,66854],{"class":169,"line":161},[167,66855,8638],{"class":173},[167,66857,66858],{"class":169,"line":335},[167,66859,8668],{"class":173},[167,66861,66862,66864,66866,66868,66870,66872,66874,66876,66878],{"class":169,"line":341},[167,66863,8673],{"class":173},[167,66865,1831],{"class":219},[167,66867,3379],{"class":173},[167,66869,8157],{"class":201},[167,66871,8160],{"class":173},[167,66873,3388],{"class":219},[167,66875,8165],{"class":173},[167,66877,8168],{"class":201},[167,66879,1852],{"class":173},[167,66881,66882,66884,66886,66888,66890,66892,66894,66896,66898],{"class":169,"line":489},[167,66883,8673],{"class":173},[167,66885,1849],{"class":219},[167,66887,3379],{"class":173},[167,66889,8181],{"class":201},[167,66891,8160],{"class":173},[167,66893,390],{"class":219},[167,66895,8165],{"class":173},[167,66897,8190],{"class":201},[167,66899,1852],{"class":173},[167,66901,66902,66904,66906,66908,66910,66912,66914,66916,66918],{"class":169,"line":495},[167,66903,8673],{"class":173},[167,66905,8199],{"class":219},[167,66907,3379],{"class":173},[167,66909,8204],{"class":201},[167,66911,8160],{"class":173},[167,66913,3388],{"class":219},[167,66915,8165],{"class":173},[167,66917,8168],{"class":201},[167,66919,599],{"class":173},[167,66921,66922],{"class":169,"line":501},[167,66923,8734],{"class":173},[167,66925,66926],{"class":169,"line":512},[167,66927,4045],{"class":173},[167,66929,66930],{"class":169,"line":781},[167,66931,398],{"class":173},[167,66933,66934],{"class":169,"line":786},[167,66935,209],{"emptyLinePlaceholder":208},[167,66937,66938],{"class":169,"line":2674},[167,66939,8751],{"class":173},[167,66941,66942,66944],{"class":169,"line":2688},[167,66943,8756],{"class":181},[167,66945,763],{"class":173},[167,66947,66948,66950,66952,66954,66956,66958,66960,66962],{"class":169,"line":3571},[167,66949,8763],{"class":191},[167,66951,7347],{"class":219},[167,66953,8768],{"class":173},[167,66955,8248],{"class":181},[167,66957,229],{"class":173},[167,66959,5071],{"class":254},[167,66961,8255],{"class":191},[167,66963,1901],{"class":173},[167,66965,66966,66968,66970,66972],{"class":169,"line":5024},[167,66967,8783],{"class":191},[167,66969,8265],{"class":219},[167,66971,223],{"class":191},[167,66973,8270],{"class":173},[167,66975,66976,66978,66980],{"class":169,"line":5033},[167,66977,8794],{"class":173},[167,66979,2502],{"class":181},[167,66981,2913],{"class":173},[167,66983,66984,66986,66988,66990,66992,66994,66996],{"class":169,"line":5042},[167,66985,8794],{"class":173},[167,66987,8286],{"class":181},[167,66989,229],{"class":173},[167,66991,4923],{"class":219},[167,66993,8811],{"class":173},[167,66995,2502],{"class":181},[167,66997,2505],{"class":173},[167,66999,67000],{"class":169,"line":6752},[167,67001,209],{"emptyLinePlaceholder":208},[167,67003,67004,67006,67008,67010,67012,67014,67016,67018,67020,67022],{"class":169,"line":6774},[167,67005,8783],{"class":191},[167,67007,8304],{"class":219},[167,67009,223],{"class":191},[167,67011,7347],{"class":219},[167,67013,8832],{"class":173},[167,67015,8312],{"class":191},[167,67017,5621],{"class":191},[167,67019,8317],{"class":173},[167,67021,583],{"class":191},[167,67023,3483],{"class":219},[167,67025,67026],{"class":169,"line":6779},[167,67027,209],{"emptyLinePlaceholder":208},[167,67029,67030,67032,67034,67036],{"class":169,"line":6784},[167,67031,8851],{"class":191},[167,67033,8332],{"class":173},[167,67035,8335],{"class":191},[167,67037,8338],{"class":173},[167,67039,67040],{"class":169,"line":6789},[167,67041,8862],{"class":173},[167,67043,67044],{"class":169,"line":6805},[167,67045,4045],{"class":173},[167,67047,67048],{"class":169,"line":6820},[167,67049,398],{"class":173},[167,67051,67052],{"class":169,"line":6825},[167,67053,209],{"emptyLinePlaceholder":208},[167,67055,67056,67058,67060,67062],{"class":169,"line":6832},[167,67057,8879],{"class":181},[167,67059,229],{"class":173},[167,67061,4191],{"class":254},[167,67063,258],{"class":173},[167,67065,67066,67068,67070,67072,67074],{"class":169,"line":6841},[167,67067,8890],{"class":173},[167,67069,2607],{"class":181},[167,67071,229],{"class":173},[167,67073,8377],{"class":201},[167,67075,627],{"class":173},[167,67077,67078],{"class":169,"line":6850},[167,67079,8903],{"class":173},[167,67081,67082,67084,67086],{"class":169,"line":6857},[167,67083,8908],{"class":173},[167,67085,4254],{"class":181},[167,67087,8394],{"class":173},[167,67089,67090],{"class":169,"line":6875},[167,67091,8917],{"class":173},[167,67093,67094],{"class":169,"line":6880},[167,67095,8922],{"class":173},[167,67097,67098],{"class":169,"line":6885},[167,67099,398],{"class":173},[167,67101,67102],{"class":169,"line":6894},[167,67103,209],{"emptyLinePlaceholder":208},[167,67105,67106,67108,67110,67112],{"class":169,"line":6899},[167,67107,8935],{"class":181},[167,67109,229],{"class":173},[167,67111,4191],{"class":254},[167,67113,258],{"class":173},[167,67115,67116,67118,67120,67122,67124],{"class":169,"line":6908},[167,67117,8890],{"class":173},[167,67119,2607],{"class":181},[167,67121,229],{"class":173},[167,67123,8437],{"class":201},[167,67125,627],{"class":173},[167,67127,67128],{"class":169,"line":6924},[167,67129,8903],{"class":173},[167,67131,67132,67134,67136],{"class":169,"line":6945},[167,67133,8908],{"class":173},[167,67135,4254],{"class":181},[167,67137,8394],{"class":173},[167,67139,67140],{"class":169,"line":6950},[167,67141,8970],{"class":173},[167,67143,67144],{"class":169,"line":6971},[167,67145,8975],{"class":173},[167,67147,67148],{"class":169,"line":6985},[167,67149,8922],{"class":173},[167,67151,67152],{"class":169,"line":6999},[167,67153,398],{"class":173},[167,67155,67156],{"class":169,"line":7013},[167,67157,209],{"emptyLinePlaceholder":208},[167,67159,67160],{"class":169,"line":7022},[167,67161,4415],{"class":173},[167,67163,67164,67166,67168,67170],{"class":169,"line":7027},[167,67165,8996],{"class":181},[167,67167,229],{"class":173},[167,67169,3429],{"class":254},[167,67171,258],{"class":173},[167,67173,67174,67176,67178,67180,67182,67184,67186,67188,67190,67192,67194,67196],{"class":169,"line":7044},[167,67175,4431],{"class":191},[167,67177,3442],{"class":219},[167,67179,223],{"class":191},[167,67181,7347],{"class":219},[167,67183,8768],{"class":173},[167,67185,3450],{"class":181},[167,67187,229],{"class":173},[167,67189,1922],{"class":254},[167,67191,8255],{"class":191},[167,67193,3461],{"class":173},[167,67195,2546],{"class":191},[167,67197,3466],{"class":173},[167,67199,67200],{"class":169,"line":7053},[167,67201,209],{"emptyLinePlaceholder":208},[167,67203,67204,67206,67208,67210,67212],{"class":169,"line":7551},[167,67205,7257],{"class":191},[167,67207,2522],{"class":173},[167,67209,6637],{"class":191},[167,67211,8530],{"class":173},[167,67213,2552],{"class":191},[167,67215,67216],{"class":169,"line":7556},[167,67217,209],{"emptyLinePlaceholder":208},[167,67219,67220,67222,67224,67226],{"class":169,"line":7575},[167,67221,9053],{"class":173},[167,67223,267],{"class":191},[167,67225,5621],{"class":191},[167,67227,8548],{"class":173},[167,67229,67230],{"class":169,"line":7588},[167,67231,4045],{"class":173},[167,67233,67234],{"class":169,"line":7601},[167,67235,3488],{"class":173},[167,67237,67238],{"class":169,"line":7614},[167,67239,276],{"class":173},[167,67241,67242,67244,67246],{"class":169,"line":7623},[167,67243,282],{"class":173},[167,67245,178],{"class":177},[167,67247,185],{"class":173},[15,67249,9082],{},[33,67251,67252,67254,67256],{},[36,67253,9087],{},[36,67255,9090],{},[36,67257,9093],{},[22,67259,7674],{"id":7673},[15,67261,67262,1023,67264,9102],{},[87,67263,7740],{},[87,67265,7743],{},[15,67267,9105],{},[33,67269,67270,67272,67274],{},[36,67271,9110],{},[36,67273,9113],{},[36,67275,9116,67276,1675],{},[87,67277,1657],{},[5363,67279,67280],{},[15,67281,9123],{},[924,67283,1604],{},{"title":163,"searchDepth":188,"depth":188,"links":67285},[67286,67287,67288,67289,67290,67296,67301,67302],{"id":6226,"depth":188,"text":6227},{"id":6252,"depth":188,"text":6253},{"id":6317,"depth":188,"text":6318},{"id":6344,"depth":188,"text":6345},{"id":3080,"depth":188,"text":3081,"children":67291},[67292,67293,67294,67295],{"id":7957,"depth":205,"text":7958},{"id":7968,"depth":205,"text":7969},{"id":7978,"depth":205,"text":7979},{"id":7985,"depth":205,"text":7986},{"id":7992,"depth":188,"text":7993,"children":67297},[67298,67299,67300],{"id":7996,"depth":205,"text":7997},{"id":8006,"depth":205,"text":8007},{"id":8015,"depth":205,"text":8016},{"id":8022,"depth":188,"text":8023},{"id":7673,"depth":188,"text":7674},{"updatedAt":9150,"coverCaption":9151,"author":945,"keywords":67304},[3254,7740,7743,8356,8416],[67306],{"headline":7731,"author":67307,"datePublished":9150,"@type":959},{"name":945,"@type":958},{"title":7731,"description":9148},[67310,67311,67312,67313,67314],{"tag":7720,"color":7721},{"tag":9162,"color":9163},{"tag":9165,"color":9166},{"tag":3265,"color":3266},{"tag":7726,"color":7727},{"id":9171,"title":9172,"body":67316,"cover":11115,"coverAlt":11116,"date":11117,"description":11118,"draft":1617,"extension":940,"lab":941,"locale":942,"meta":69013,"navigation":208,"path":11125,"schemaOrg":69015,"seo":69018,"series":7714,"seriesDescription":7715,"seriesOrder":261,"seriesTitle":7716,"slug":941,"stem":11130,"tags":69019,"__hash__":11138},{"type":8,"value":67317,"toc":68994},[67318,67322,67324,67328,67330,67332,67336,67338,67346,67348,67366,67368,67382,67384,67396,67400,67402,67406,67408,67418,67422,67424,67428,67430,67448,67452,67454,67456,67458,67460,67464,67468,67470,67472,67474,67476,67478,67482,67484,67486,67488,67490,67492,67494,67496,67498,68280,68978,68980,68984,68986,68990,68992],[11,67319,9178,67320],{"id":9177},[87,67321,9181],{},[15,67323,9184],{},[15,67325,9187,67326,9190],{},[87,67327,9181],{},[22,67329,6227],{"id":6226},[15,67331,9195],{},[15,67333,9198,67334,9201],{},[87,67335,9181],{},[22,67337,6253],{"id":6252},[15,67339,67340,9208,67342,9212,67344,9216],{},[87,67341,9181],{},[87,67343,9211],{},[3929,67345,9215],{},[15,67347,9219],{},[33,67349,67350,67352,67354,67356,67360,67362,67364],{},[36,67351,9165],{},[36,67353,9226],{},[36,67355,9229],{},[36,67357,67358],{},[87,67359,9234],{},[36,67361,9237],{},[36,67363,9240],{},[36,67365,9243],{},[15,67367,9246],{},[33,67369,67370,67374,67378],{},[36,67371,67372,9254],{},[87,67373,9253],{},[36,67375,67376,9260],{},[87,67377,9259],{},[36,67379,67380,9266],{},[87,67381,9265],{},[15,67383,9269],{},[33,67385,67386,67388],{},[36,67387,9274],{},[36,67389,9277,67390,9280,67392,9283,67394,1675],{},[87,67391,3388],{},[87,67393,9181],{},[87,67395,9286],{},[15,67397,9289,67398,9294],{},[9291,67399,9293],{},[22,67401,6318],{"id":6317},[15,67403,67404,9301],{},[87,67405,9181],{},[15,67407,9304],{},[33,67409,67410,67412,67414,67416],{},[36,67411,9309],{},[36,67413,9312],{},[36,67415,9315],{},[36,67417,9318],{},[15,67419,9321,67420,9324],{},[87,67421,9181],{},[22,67423,6345],{"id":6344},[15,67425,9329,67426,9332],{},[87,67427,9181],{},[15,67429,6351],{},[33,67431,67432,67440,67444,67446],{},[36,67433,9339,67434,1020,67436,1020,67438,4266],{},[87,67435,9342],{},[87,67437,9345],{},[87,67439,9348],{},[36,67441,9351,67442,9355],{},[87,67443,9354],{},[36,67445,9358],{},[36,67447,9361],{},[15,67449,67450,9366],{},[87,67451,9181],{},[22,67453,3081],{"id":3080},[3083,67455,9372],{"id":9371},[15,67457,9375],{},[15,67459,9378],{},[3083,67461,9382,67462,9385],{"id":9381},[87,67463,3388],{},[15,67465,9388,67466,9391],{},[87,67467,3388],{},[15,67469,9394],{},[3083,67471,9398],{"id":9397},[15,67473,9401],{},[15,67475,9404],{},[3083,67477,9408],{"id":9407},[15,67479,9411,67480,9414],{},[87,67481,9181],{},[22,67483,7993],{"id":7992},[3083,67485,9420],{"id":9419},[15,67487,9423],{},[3083,67489,9427],{"id":9426},[15,67491,9430],{},[3083,67493,9434],{"id":9433},[15,67495,9437],{},[22,67497,8023],{"id":8022},[154,67499,67500],{"className":156,"code":9442,"filename":3256,"language":162,"meta":163,"style":163},[87,67501,67502,67518,67528,67532,67548,67564,67580,67596,67600,67612,67620,67626,67642,67646,67662,67668,67682,67686,67690,67696,67708,67720,67732,67736,67740,67744,67752,67766,67780,67786,67792,67796,67804,67814,67822,67826,67830,67834,67838,67844,67850,67862,67892,67896,67900,67904,67908,67912,67916,67938,67946,67952,67968,67976,67980,67992,67996,68000,68004,68008,68012,68018,68022,68026,68034,68042,68050,68058,68066,68070,68078,68082,68090,68104,68112,68124,68132,68136,68144,68152,68156,68176,68188,68200,68212,68236,68244,68248,68264,68272],{"__ignoreMap":163},[167,67503,67504,67506,67508,67510,67512,67514,67516],{"class":169,"line":170},[167,67505,174],{"class":173},[167,67507,178],{"class":177},[167,67509,182],{"class":181},[167,67511,1045],{"class":181},[167,67513,267],{"class":173},[167,67515,1050],{"class":201},[167,67517,185],{"class":173},[167,67519,67520,67522,67524,67526],{"class":169,"line":188},[167,67521,192],{"class":191},[167,67523,9467],{"class":173},[167,67525,198],{"class":191},[167,67527,202],{"class":201},[167,67529,67530],{"class":169,"line":205},[167,67531,209],{"emptyLinePlaceholder":208},[167,67533,67534,67536,67538,67540,67542,67544,67546],{"class":169,"line":160},[167,67535,216],{"class":191},[167,67537,9482],{"class":219},[167,67539,223],{"class":191},[167,67541,226],{"class":181},[167,67543,229],{"class":173},[167,67545,3388],{"class":219},[167,67547,235],{"class":173},[167,67549,67550,67552,67554,67556,67558,67560,67562],{"class":169,"line":238},[167,67551,216],{"class":191},[167,67553,6578],{"class":219},[167,67555,223],{"class":191},[167,67557,226],{"class":181},[167,67559,229],{"class":173},[167,67561,2180],{"class":201},[167,67563,235],{"class":173},[167,67565,67566,67568,67570,67572,67574,67576,67578],{"class":169,"line":243},[167,67567,216],{"class":191},[167,67569,9515],{"class":219},[167,67571,223],{"class":191},[167,67573,226],{"class":181},[167,67575,229],{"class":173},[167,67577,2180],{"class":201},[167,67579,235],{"class":173},[167,67581,67582,67584,67586,67588,67590,67592,67594],{"class":169,"line":261},[167,67583,216],{"class":191},[167,67585,9532],{"class":219},[167,67587,223],{"class":191},[167,67589,226],{"class":181},[167,67591,229],{"class":173},[167,67593,1956],{"class":219},[167,67595,235],{"class":173},[167,67597,67598],{"class":169,"line":273},[167,67599,209],{"emptyLinePlaceholder":208},[167,67601,67602,67604,67606,67608,67610],{"class":169,"line":279},[167,67603,216],{"class":191},[167,67605,9553],{"class":219},[167,67607,223],{"class":191},[167,67609,7152],{"class":181},[167,67611,372],{"class":173},[167,67613,67614,67616,67618],{"class":169,"line":289},[167,67615,4394],{"class":173},[167,67617,9566],{"class":201},[167,67619,393],{"class":173},[167,67621,67622,67624],{"class":169,"line":294},[167,67623,9573],{"class":181},[167,67625,763],{"class":173},[167,67627,67628,67630,67632,67634,67636,67638,67640],{"class":169,"line":304},[167,67629,8262],{"class":191},[167,67631,9582],{"class":219},[167,67633,223],{"class":191},[167,67635,226],{"class":181},[167,67637,229],{"class":173},[167,67639,3388],{"class":219},[167,67641,235],{"class":173},[167,67643,67644],{"class":169,"line":313},[167,67645,209],{"emptyLinePlaceholder":208},[167,67647,67648,67650,67652,67654,67656,67658,67660],{"class":169,"line":161},[167,67649,8262],{"class":191},[167,67651,9603],{"class":219},[167,67653,223],{"class":191},[167,67655,1894],{"class":181},[167,67657,1488],{"class":173},[167,67659,639],{"class":191},[167,67661,1901],{"class":173},[167,67663,67664,67666],{"class":169,"line":335},[167,67665,7257],{"class":191},[167,67667,9620],{"class":173},[167,67669,67670,67672,67674,67676,67678,67680],{"class":169,"line":341},[167,67671,7268],{"class":191},[167,67673,4220],{"class":191},[167,67675,6650],{"class":181},[167,67677,229],{"class":173},[167,67679,9633],{"class":201},[167,67681,235],{"class":173},[167,67683,67684],{"class":169,"line":489},[167,67685,7283],{"class":173},[167,67687,67688],{"class":169,"line":495},[167,67689,209],{"emptyLinePlaceholder":208},[167,67691,67692,67694],{"class":169,"line":501},[167,67693,8763],{"class":191},[167,67695,9650],{"class":173},[167,67697,67698,67700,67702,67704,67706],{"class":169,"line":512},[167,67699,9655],{"class":173},[167,67701,9658],{"class":201},[167,67703,9661],{"class":173},[167,67705,1868],{"class":219},[167,67707,1852],{"class":173},[167,67709,67710,67712,67714,67716,67718],{"class":169,"line":781},[167,67711,9655],{"class":173},[167,67713,9672],{"class":201},[167,67715,9661],{"class":173},[167,67717,9677],{"class":219},[167,67719,1852],{"class":173},[167,67721,67722,67724,67726,67728,67730],{"class":169,"line":786},[167,67723,9655],{"class":173},[167,67725,9686],{"class":201},[167,67727,9661],{"class":173},[167,67729,8199],{"class":219},[167,67731,599],{"class":173},[167,67733,67734],{"class":169,"line":2674},[167,67735,8734],{"class":173},[167,67737,67738],{"class":169,"line":2688},[167,67739,8922],{"class":173},[167,67741,67742],{"class":169,"line":3571},[167,67743,209],{"emptyLinePlaceholder":208},[167,67745,67746,67748,67750],{"class":169,"line":5024},[167,67747,1933],{"class":191},[167,67749,1464],{"class":173},[167,67751,9713],{"class":191},[167,67753,67754,67756,67758,67760,67762,67764],{"class":169,"line":5033},[167,67755,9718],{"class":181},[167,67757,229],{"class":173},[167,67759,9723],{"class":201},[167,67761,9726],{"class":173},[167,67763,9729],{"class":201},[167,67765,9732],{"class":173},[167,67767,67768,67770,67772,67774,67776,67778],{"class":169,"line":5042},[167,67769,9737],{"class":181},[167,67771,229],{"class":173},[167,67773,9742],{"class":201},[167,67775,1020],{"class":173},[167,67777,9747],{"class":201},[167,67779,9750],{"class":173},[167,67781,67782,67784],{"class":169,"line":6752},[167,67783,9737],{"class":181},[167,67785,9757],{"class":173},[167,67787,67788,67790],{"class":169,"line":6774},[167,67789,9762],{"class":201},[167,67791,393],{"class":173},[167,67793,67794],{"class":169,"line":6779},[167,67795,9769],{"class":173},[167,67797,67798,67800,67802],{"class":169,"line":6784},[167,67799,9774],{"class":173},[167,67801,9777],{"class":201},[167,67803,393],{"class":173},[167,67805,67806,67808,67810,67812],{"class":169,"line":6789},[167,67807,9784],{"class":181},[167,67809,636],{"class":173},[167,67811,639],{"class":191},[167,67813,1901],{"class":173},[167,67815,67816,67818,67820],{"class":169,"line":6805},[167,67817,9795],{"class":173},[167,67819,267],{"class":191},[167,67821,3483],{"class":219},[167,67823,67824],{"class":169,"line":6820},[167,67825,9804],{"class":173},[167,67827,67828],{"class":169,"line":6825},[167,67829,9809],{"class":173},[167,67831,67832],{"class":169,"line":6832},[167,67833,9814],{"class":201},[167,67835,67836],{"class":169,"line":6841},[167,67837,9819],{"class":173},[167,67839,67840,67842],{"class":169,"line":6850},[167,67841,9737],{"class":181},[167,67843,9757],{"class":173},[167,67845,67846,67848],{"class":169,"line":6857},[167,67847,9830],{"class":201},[167,67849,393],{"class":173},[167,67851,67852,67854,67856,67858,67860],{"class":169,"line":6875},[167,67853,9837],{"class":173},[167,67855,9840],{"class":181},[167,67857,229],{"class":173},[167,67859,9845],{"class":254},[167,67861,9848],{"class":191},[167,67863,67864,67866,67868,67870,67872,67874,67876,67878,67880,67882,67884,67886,67888,67890],{"class":169,"line":6880},[167,67865,9853],{"class":181},[167,67867,229],{"class":173},[167,67869,9858],{"class":201},[167,67871,9861],{"class":173},[167,67873,9864],{"class":201},[167,67875,9845],{"class":173},[167,67877,1675],{"class":201},[167,67879,9871],{"class":173},[167,67881,9874],{"class":201},[167,67883,9845],{"class":173},[167,67885,1675],{"class":201},[167,67887,2215],{"class":173},[167,67889,2356],{"class":201},[167,67891,235],{"class":173},[167,67893,67894],{"class":169,"line":6885},[167,67895,9889],{"class":173},[167,67897,67898],{"class":169,"line":6894},[167,67899,9894],{"class":173},[167,67901,67902],{"class":169,"line":6899},[167,67903,9899],{"class":173},[167,67905,67906],{"class":169,"line":6908},[167,67907,3488],{"class":173},[167,67909,67910],{"class":169,"line":6924},[167,67911,403],{"class":173},[167,67913,67914],{"class":169,"line":6945},[167,67915,209],{"emptyLinePlaceholder":208},[167,67917,67918,67920,67922,67924,67926,67928,67930,67932,67934,67936],{"class":169,"line":6950},[167,67919,9916],{"class":181},[167,67921,1914],{"class":173},[167,67923,9348],{"class":254},[167,67925,1020],{"class":173},[167,67927,9259],{"class":254},[167,67929,1020],{"class":173},[167,67931,9265],{"class":254},[167,67933,693],{"class":173},[167,67935,639],{"class":191},[167,67937,1901],{"class":173},[167,67939,67940,67942,67944],{"class":169,"line":6971},[167,67941,9939],{"class":173},[167,67943,267],{"class":191},[167,67945,3483],{"class":219},[167,67947,67948,67950],{"class":169,"line":6985},[167,67949,9948],{"class":173},[167,67951,6749],{"class":191},[167,67953,67954,67956,67958,67960,67962,67964,67966],{"class":169,"line":6999},[167,67955,9955],{"class":173},[167,67957,6758],{"class":191},[167,67959,6650],{"class":181},[167,67961,6763],{"class":191},[167,67963,6766],{"class":173},[167,67965,583],{"class":191},[167,67967,9968],{"class":201},[167,67969,67970,67972,67974],{"class":169,"line":7013},[167,67971,9973],{"class":173},[167,67973,267],{"class":191},[167,67975,9978],{"class":173},[167,67977,67978],{"class":169,"line":7022},[167,67979,209],{"emptyLinePlaceholder":208},[167,67981,67982,67984,67986,67988,67990],{"class":169,"line":7027},[167,67983,2604],{"class":173},[167,67985,9348],{"class":181},[167,67987,229],{"class":173},[167,67989,9993],{"class":201},[167,67991,627],{"class":173},[167,67993,67994],{"class":169,"line":7044},[167,67995,10000],{"class":173},[167,67997,67998],{"class":169,"line":7053},[167,67999,10005],{"class":173},[167,68001,68002],{"class":169,"line":7551},[167,68003,10010],{"class":173},[167,68005,68006],{"class":169,"line":7556},[167,68007,8343],{"class":173},[167,68009,68010],{"class":169,"line":7575},[167,68011,209],{"emptyLinePlaceholder":208},[167,68013,68014,68016],{"class":169,"line":7588},[167,68015,1534],{"class":191},[167,68017,5589],{"class":219},[167,68019,68020],{"class":169,"line":7601},[167,68021,403],{"class":173},[167,68023,68024],{"class":169,"line":7614},[167,68025,209],{"emptyLinePlaceholder":208},[167,68027,68028,68030,68032],{"class":169,"line":7623},[167,68029,246],{"class":191},[167,68031,10039],{"class":181},[167,68033,763],{"class":173},[167,68035,68036,68038,68040],{"class":169,"line":7628},[167,68037,9939],{"class":173},[167,68039,267],{"class":191},[167,68041,5589],{"class":219},[167,68043,68044,68046,68048],{"class":169,"line":7643},[167,68045,9948],{"class":173},[167,68047,267],{"class":191},[167,68049,10058],{"class":201},[167,68051,68052,68054,68056],{"class":169,"line":7652},[167,68053,9973],{"class":173},[167,68055,267],{"class":191},[167,68057,10058],{"class":201},[167,68059,68060,68062,68064],{"class":169,"line":10069},[167,68061,10072],{"class":173},[167,68063,10075],{"class":191},[167,68065,2566],{"class":219},[167,68067,68068],{"class":169,"line":10080},[167,68069,276],{"class":173},[167,68071,68072,68074,68076],{"class":169,"line":10085},[167,68073,282],{"class":173},[167,68075,178],{"class":177},[167,68077,185],{"class":173},[167,68079,68080],{"class":169,"line":10094},[167,68081,209],{"emptyLinePlaceholder":208},[167,68083,68084,68086,68088],{"class":169,"line":10099},[167,68085,174],{"class":173},[167,68087,299],{"class":177},[167,68089,185],{"class":173},[167,68091,68092,68094,68096,68098,68100,68102],{"class":169,"line":10108},[167,68093,307],{"class":173},[167,68095,10113],{"class":177},[167,68097,1240],{"class":181},[167,68099,267],{"class":173},[167,68101,10120],{"class":201},[167,68103,185],{"class":173},[167,68105,68106,68108,68110],{"class":169,"line":10125},[167,68107,1252],{"class":173},[167,68109,1255],{"class":177},[167,68111,185],{"class":173},[167,68113,68114,68116,68118,68120,68122],{"class":169,"line":10134},[167,68115,1263],{"class":173},[167,68117,22],{"class":177},[167,68119,10141],{"class":173},[167,68121,22],{"class":177},[167,68123,185],{"class":173},[167,68125,68126,68128,68130],{"class":169,"line":10148},[167,68127,1263],{"class":173},[167,68129,15],{"class":177},[167,68131,185],{"class":173},[167,68133,68134],{"class":169,"line":10157},[167,68135,10160],{"class":173},[167,68137,68138,68140,68142],{"class":169,"line":10163},[167,68139,10166],{"class":173},[167,68141,15],{"class":177},[167,68143,185],{"class":173},[167,68145,68146,68148,68150],{"class":169,"line":10173},[167,68147,1287],{"class":173},[167,68149,1255],{"class":177},[167,68151,185],{"class":173},[167,68153,68154],{"class":169,"line":10182},[167,68155,209],{"emptyLinePlaceholder":208},[167,68157,68158,68160,68162,68164,68166,68168,68170,68172,68174],{"class":169,"line":10187},[167,68159,1252],{"class":173},[167,68161,1237],{"class":177},[167,68163,5690],{"class":181},[167,68165,267],{"class":173},[167,68167,10198],{"class":201},[167,68169,1240],{"class":181},[167,68171,267],{"class":173},[167,68173,10205],{"class":201},[167,68175,185],{"class":173},[167,68177,68178,68180,68182,68184,68186],{"class":169,"line":10210},[167,68179,1263],{"class":173},[167,68181,3929],{"class":177},[167,68183,10217],{"class":173},[167,68185,3929],{"class":177},[167,68187,185],{"class":173},[167,68189,68190,68192,68194,68196,68198],{"class":169,"line":10224},[167,68191,1263],{"class":173},[167,68193,15],{"class":177},[167,68195,6938],{"class":173},[167,68197,15],{"class":177},[167,68199,185],{"class":173},[167,68201,68202,68204,68206,68208,68210],{"class":169,"line":10237},[167,68203,1263],{"class":173},[167,68205,10242],{"class":177},[167,68207,10245],{"class":173},[167,68209,10242],{"class":177},[167,68211,185],{"class":173},[167,68213,68214,68216,68218,68220,68222,68224,68226,68228,68230,68232,68234],{"class":169,"line":10252},[167,68215,1263],{"class":173},[167,68217,507],{"class":177},[167,68219,1169],{"class":181},[167,68221,267],{"class":173},[167,68223,1174],{"class":201},[167,68225,1177],{"class":181},[167,68227,267],{"class":173},[167,68229,10269],{"class":201},[167,68231,10272],{"class":173},[167,68233,507],{"class":177},[167,68235,185],{"class":173},[167,68237,68238,68240,68242],{"class":169,"line":10279},[167,68239,1287],{"class":173},[167,68241,1237],{"class":177},[167,68243,185],{"class":173},[167,68245,68246],{"class":169,"line":10288},[167,68247,209],{"emptyLinePlaceholder":208},[167,68249,68250,68252,68254,68256,68258,68260,68262],{"class":169,"line":10293},[167,68251,1252],{"class":173},[167,68253,10298],{"class":177},[167,68255,7034],{"class":181},[167,68257,10303],{"class":181},[167,68259,267],{"class":173},[167,68261,10308],{"class":201},[167,68263,5321],{"class":173},[167,68265,68266,68268,68270],{"class":169,"line":10313},[167,68267,504],{"class":173},[167,68269,10113],{"class":177},[167,68271,185],{"class":173},[167,68273,68274,68276,68278],{"class":169,"line":10322},[167,68275,282],{"class":173},[167,68277,299],{"class":177},[167,68279,185],{"class":173},[154,68281,68282],{"className":156,"code":10331,"filename":3969,"language":162,"meta":163,"style":163},[87,68283,68284,68298,68308,68316,68322,68328,68334,68338,68342,68346,68352,68362,68376,68380,68384,68390,68402,68414,68426,68430,68434,68438,68444,68448,68452,68456,68460,68464,68468,68472,68476,68480,68484,68488,68492,68496,68500,68504,68508,68512,68516,68520,68524,68528,68536,68544,68548,68552,68556,68562,68568,68576,68584,68592,68598,68602,68606,68624,68634,68642,68658,68668,68672,68684,68688,68692,68696,68700,68704,68710,68714,68718,68724,68734,68744,68754,68764,68768,68772,68776,68784,68788,68796,68810,68818,68830,68842,68850,68854,68874,68886,68898,68910,68934,68942,68946,68962,68970],{"__ignoreMap":163},[167,68285,68286,68288,68290,68292,68294,68296],{"class":169,"line":170},[167,68287,174],{"class":173},[167,68289,178],{"class":177},[167,68291,1045],{"class":181},[167,68293,267],{"class":173},[167,68295,1050],{"class":201},[167,68297,185],{"class":173},[167,68299,68300,68302,68304,68306],{"class":169,"line":188},[167,68301,216],{"class":191},[167,68303,9553],{"class":219},[167,68305,223],{"class":191},[167,68307,1901],{"class":173},[167,68309,68310,68312,68314],{"class":169,"line":205},[167,68311,4394],{"class":173},[167,68313,9566],{"class":201},[167,68315,393],{"class":173},[167,68317,68318,68320],{"class":169,"line":160},[167,68319,7172],{"class":181},[167,68321,763],{"class":173},[167,68323,68324,68326],{"class":169,"line":238},[167,68325,1933],{"class":191},[167,68327,1901],{"class":173},[167,68329,68330,68332],{"class":169,"line":243},[167,68331,10382],{"class":173},[167,68333,8089],{"class":219},[167,68335,68336],{"class":169,"line":261},[167,68337,4045],{"class":173},[167,68339,68340],{"class":169,"line":273},[167,68341,398],{"class":173},[167,68343,68344],{"class":169,"line":279},[167,68345,8751],{"class":173},[167,68347,68348,68350],{"class":169,"line":289},[167,68349,10401],{"class":181},[167,68351,763],{"class":173},[167,68353,68354,68356,68358,68360],{"class":169,"line":294},[167,68355,7257],{"class":191},[167,68357,2522],{"class":173},[167,68359,4923],{"class":219},[167,68361,10414],{"class":173},[167,68363,68364,68366,68368,68370,68372,68374],{"class":169,"line":304},[167,68365,7268],{"class":191},[167,68367,4220],{"class":191},[167,68369,6650],{"class":181},[167,68371,229],{"class":173},[167,68373,9633],{"class":201},[167,68375,235],{"class":173},[167,68377,68378],{"class":169,"line":313},[167,68379,7283],{"class":173},[167,68381,68382],{"class":169,"line":161},[167,68383,209],{"emptyLinePlaceholder":208},[167,68385,68386,68388],{"class":169,"line":335},[167,68387,8763],{"class":191},[167,68389,9650],{"class":173},[167,68391,68392,68394,68396,68398,68400],{"class":169,"line":341},[167,68393,9655],{"class":173},[167,68395,9658],{"class":201},[167,68397,9661],{"class":173},[167,68399,1868],{"class":219},[167,68401,1852],{"class":173},[167,68403,68404,68406,68408,68410,68412],{"class":169,"line":489},[167,68405,9655],{"class":173},[167,68407,9672],{"class":201},[167,68409,9661],{"class":173},[167,68411,9677],{"class":219},[167,68413,1852],{"class":173},[167,68415,68416,68418,68420,68422,68424],{"class":169,"line":495},[167,68417,9655],{"class":173},[167,68419,9686],{"class":201},[167,68421,9661],{"class":173},[167,68423,8199],{"class":219},[167,68425,599],{"class":173},[167,68427,68428],{"class":169,"line":501},[167,68429,8734],{"class":173},[167,68431,68432],{"class":169,"line":512},[167,68433,4045],{"class":173},[167,68435,68436],{"class":169,"line":781},[167,68437,398],{"class":173},[167,68439,68440,68442],{"class":169,"line":786},[167,68441,10495],{"class":173},[167,68443,10498],{"class":201},[167,68445,68446],{"class":169,"line":2674},[167,68447,10503],{"class":201},[167,68449,68450],{"class":169,"line":2688},[167,68451,10508],{"class":201},[167,68453,68454],{"class":169,"line":3571},[167,68455,10513],{"class":201},[167,68457,68458],{"class":169,"line":5024},[167,68459,10518],{"class":201},[167,68461,68462],{"class":169,"line":5033},[167,68463,10523],{"class":201},[167,68465,68466],{"class":169,"line":5042},[167,68467,10528],{"class":201},[167,68469,68470],{"class":169,"line":6752},[167,68471,10533],{"class":201},[167,68473,68474],{"class":169,"line":6774},[167,68475,10538],{"class":201},[167,68477,68478],{"class":169,"line":6779},[167,68479,209],{"emptyLinePlaceholder":208},[167,68481,68482],{"class":169,"line":6784},[167,68483,10547],{"class":201},[167,68485,68486],{"class":169,"line":6789},[167,68487,10552],{"class":201},[167,68489,68490],{"class":169,"line":6805},[167,68491,10557],{"class":201},[167,68493,68494],{"class":169,"line":6820},[167,68495,10562],{"class":201},[167,68497,68498],{"class":169,"line":6825},[167,68499,10567],{"class":201},[167,68501,68502],{"class":169,"line":6832},[167,68503,10572],{"class":201},[167,68505,68506],{"class":169,"line":6841},[167,68507,10577],{"class":201},[167,68509,68510],{"class":169,"line":6850},[167,68511,10582],{"class":201},[167,68513,68514],{"class":169,"line":6857},[167,68515,10587],{"class":201},[167,68517,68518],{"class":169,"line":6875},[167,68519,10592],{"class":201},[167,68521,68522],{"class":169,"line":6880},[167,68523,276],{"class":173},[167,68525,68526],{"class":169,"line":6885},[167,68527,209],{"emptyLinePlaceholder":208},[167,68529,68530,68532,68534],{"class":169,"line":6894},[167,68531,608],{"class":191},[167,68533,3987],{"class":191},[167,68535,1901],{"class":173},[167,68537,68538,68540,68542],{"class":169,"line":6899},[167,68539,4394],{"class":173},[167,68541,10615],{"class":201},[167,68543,393],{"class":173},[167,68545,68546],{"class":169,"line":6908},[167,68547,10622],{"class":173},[167,68549,68550],{"class":169,"line":6924},[167,68551,10627],{"class":173},[167,68553,68554],{"class":169,"line":6945},[167,68555,398],{"class":173},[167,68557,68558,68560],{"class":169,"line":6950},[167,68559,7172],{"class":181},[167,68561,763],{"class":173},[167,68563,68564,68566],{"class":169,"line":6971},[167,68565,1933],{"class":191},[167,68567,1901],{"class":173},[167,68569,68570,68572,68574],{"class":169,"line":6985},[167,68571,10648],{"class":173},[167,68573,3388],{"class":219},[167,68575,393],{"class":173},[167,68577,68578,68580,68582],{"class":169,"line":6999},[167,68579,7202],{"class":173},[167,68581,2180],{"class":201},[167,68583,393],{"class":173},[167,68585,68586,68588,68590],{"class":169,"line":7013},[167,68587,10665],{"class":173},[167,68589,2180],{"class":201},[167,68591,393],{"class":173},[167,68593,68594,68596],{"class":169,"line":7022},[167,68595,10674],{"class":173},[167,68597,10677],{"class":219},[167,68599,68600],{"class":169,"line":7027},[167,68601,4045],{"class":173},[167,68603,68604],{"class":169,"line":7044},[167,68605,398],{"class":173},[167,68607,68608,68610,68612,68614,68616,68618,68620,68622],{"class":169,"line":7053},[167,68609,10690],{"class":181},[167,68611,229],{"class":173},[167,68613,9348],{"class":254},[167,68615,1020],{"class":173},[167,68617,9259],{"class":254},[167,68619,1020],{"class":173},[167,68621,9265],{"class":254},[167,68623,258],{"class":173},[167,68625,68626,68628,68630,68632],{"class":169,"line":7551},[167,68627,879],{"class":219},[167,68629,10711],{"class":173},[167,68631,267],{"class":191},[167,68633,3483],{"class":219},[167,68635,68636,68638,68640],{"class":169,"line":7556},[167,68637,879],{"class":219},[167,68639,7370],{"class":173},[167,68641,6749],{"class":191},[167,68643,68644,68646,68648,68650,68652,68654,68656],{"class":169,"line":7575},[167,68645,6755],{"class":173},[167,68647,6758],{"class":191},[167,68649,6650],{"class":181},[167,68651,6763],{"class":191},[167,68653,6766],{"class":173},[167,68655,583],{"class":191},[167,68657,9968],{"class":201},[167,68659,68660,68662,68664,68666],{"class":169,"line":7588},[167,68661,879],{"class":219},[167,68663,10746],{"class":173},[167,68665,267],{"class":191},[167,68667,9978],{"class":173},[167,68669,68670],{"class":169,"line":7601},[167,68671,209],{"emptyLinePlaceholder":208},[167,68673,68674,68676,68678,68680,68682],{"class":169,"line":7614},[167,68675,8890],{"class":173},[167,68677,9348],{"class":181},[167,68679,229],{"class":173},[167,68681,9993],{"class":201},[167,68683,627],{"class":173},[167,68685,68686],{"class":169,"line":7623},[167,68687,10771],{"class":173},[167,68689,68690],{"class":169,"line":7628},[167,68691,10776],{"class":173},[167,68693,68694],{"class":169,"line":7643},[167,68695,10781],{"class":173},[167,68697,68698],{"class":169,"line":7652},[167,68699,8922],{"class":173},[167,68701,68702],{"class":169,"line":10069},[167,68703,209],{"emptyLinePlaceholder":208},[167,68705,68706,68708],{"class":169,"line":10080},[167,68707,1933],{"class":191},[167,68709,5589],{"class":219},[167,68711,68712],{"class":169,"line":10085},[167,68713,398],{"class":173},[167,68715,68716],{"class":169,"line":10094},[167,68717,4415],{"class":173},[167,68719,68720,68722],{"class":169,"line":10099},[167,68721,10808],{"class":181},[167,68723,763],{"class":173},[167,68725,68726,68728,68730,68732],{"class":169,"line":10108},[167,68727,741],{"class":219},[167,68729,10711],{"class":173},[167,68731,267],{"class":191},[167,68733,5589],{"class":219},[167,68735,68736,68738,68740,68742],{"class":169,"line":10125},[167,68737,741],{"class":219},[167,68739,7370],{"class":173},[167,68741,267],{"class":191},[167,68743,10058],{"class":201},[167,68745,68746,68748,68750,68752],{"class":169,"line":10134},[167,68747,741],{"class":219},[167,68749,10746],{"class":173},[167,68751,267],{"class":191},[167,68753,10058],{"class":201},[167,68755,68756,68758,68760,68762],{"class":169,"line":10148},[167,68757,741],{"class":219},[167,68759,10847],{"class":173},[167,68761,10075],{"class":191},[167,68763,2566],{"class":219},[167,68765,68766],{"class":169,"line":10157},[167,68767,4045],{"class":173},[167,68769,68770],{"class":169,"line":10163},[167,68771,3488],{"class":173},[167,68773,68774],{"class":169,"line":10173},[167,68775,276],{"class":173},[167,68777,68778,68780,68782],{"class":169,"line":10182},[167,68779,282],{"class":173},[167,68781,178],{"class":177},[167,68783,185],{"class":173},[167,68785,68786],{"class":169,"line":10187},[167,68787,209],{"emptyLinePlaceholder":208},[167,68789,68790,68792,68794],{"class":169,"line":10210},[167,68791,174],{"class":173},[167,68793,299],{"class":177},[167,68795,185],{"class":173},[167,68797,68798,68800,68802,68804,68806,68808],{"class":169,"line":10224},[167,68799,307],{"class":173},[167,68801,10113],{"class":177},[167,68803,1240],{"class":181},[167,68805,267],{"class":173},[167,68807,10120],{"class":201},[167,68809,185],{"class":173},[167,68811,68812,68814,68816],{"class":169,"line":10237},[167,68813,1252],{"class":173},[167,68815,1255],{"class":177},[167,68817,185],{"class":173},[167,68819,68820,68822,68824,68826,68828],{"class":169,"line":10252},[167,68821,1263],{"class":173},[167,68823,22],{"class":177},[167,68825,10141],{"class":173},[167,68827,22],{"class":177},[167,68829,185],{"class":173},[167,68831,68832,68834,68836,68838,68840],{"class":169,"line":10279},[167,68833,1263],{"class":173},[167,68835,15],{"class":177},[167,68837,10926],{"class":173},[167,68839,15],{"class":177},[167,68841,185],{"class":173},[167,68843,68844,68846,68848],{"class":169,"line":10288},[167,68845,1287],{"class":173},[167,68847,1255],{"class":177},[167,68849,185],{"class":173},[167,68851,68852],{"class":169,"line":10293},[167,68853,209],{"emptyLinePlaceholder":208},[167,68855,68856,68858,68860,68862,68864,68866,68868,68870,68872],{"class":169,"line":10313},[167,68857,1252],{"class":173},[167,68859,1237],{"class":177},[167,68861,5690],{"class":181},[167,68863,267],{"class":173},[167,68865,10198],{"class":201},[167,68867,1240],{"class":181},[167,68869,267],{"class":173},[167,68871,10205],{"class":201},[167,68873,185],{"class":173},[167,68875,68876,68878,68880,68882,68884],{"class":169,"line":10322},[167,68877,1263],{"class":173},[167,68879,3929],{"class":177},[167,68881,10217],{"class":173},[167,68883,3929],{"class":177},[167,68885,185],{"class":173},[167,68887,68888,68890,68892,68894,68896],{"class":169,"line":10977},[167,68889,1263],{"class":173},[167,68891,15],{"class":177},[167,68893,6938],{"class":173},[167,68895,15],{"class":177},[167,68897,185],{"class":173},[167,68899,68900,68902,68904,68906,68908],{"class":169,"line":10990},[167,68901,1263],{"class":173},[167,68903,10242],{"class":177},[167,68905,10245],{"class":173},[167,68907,10242],{"class":177},[167,68909,185],{"class":173},[167,68911,68912,68914,68916,68918,68920,68922,68924,68926,68928,68930,68932],{"class":169,"line":11003},[167,68913,1263],{"class":173},[167,68915,507],{"class":177},[167,68917,1169],{"class":181},[167,68919,267],{"class":173},[167,68921,1174],{"class":201},[167,68923,1177],{"class":181},[167,68925,267],{"class":173},[167,68927,10269],{"class":201},[167,68929,10272],{"class":173},[167,68931,507],{"class":177},[167,68933,185],{"class":173},[167,68935,68936,68938,68940],{"class":169,"line":11028},[167,68937,1287],{"class":173},[167,68939,1237],{"class":177},[167,68941,185],{"class":173},[167,68943,68944],{"class":169,"line":11037},[167,68945,209],{"emptyLinePlaceholder":208},[167,68947,68948,68950,68952,68954,68956,68958,68960],{"class":169,"line":11042},[167,68949,1252],{"class":173},[167,68951,10298],{"class":177},[167,68953,7034],{"class":181},[167,68955,10303],{"class":181},[167,68957,267],{"class":173},[167,68959,10308],{"class":201},[167,68961,5321],{"class":173},[167,68963,68964,68966,68968],{"class":169,"line":11059},[167,68965,504],{"class":173},[167,68967,10113],{"class":177},[167,68969,185],{"class":173},[167,68971,68972,68974,68976],{"class":169,"line":11068},[167,68973,282],{"class":173},[167,68975,299],{"class":177},[167,68977,185],{"class":173},[15,68979,11077],{},[5363,68981,68982],{},[15,68983,11082],{},[22,68985,7674],{"id":7673},[15,68987,68988,11089],{},[87,68989,9181],{},[15,68991,11092],{},[924,68993,1604],{},{"title":163,"searchDepth":188,"depth":188,"links":68995},[68996,68997,68998,68999,69000,69006,69011,69012],{"id":6226,"depth":188,"text":6227},{"id":6252,"depth":188,"text":6253},{"id":6317,"depth":188,"text":6318},{"id":6344,"depth":188,"text":6345},{"id":3080,"depth":188,"text":3081,"children":69001},[69002,69003,69004,69005],{"id":9371,"depth":205,"text":9372},{"id":9381,"depth":205,"text":11105},{"id":9397,"depth":205,"text":9398},{"id":9407,"depth":205,"text":9408},{"id":7992,"depth":188,"text":7993,"children":69007},[69008,69009,69010],{"id":9419,"depth":205,"text":9420},{"id":9426,"depth":205,"text":9427},{"id":9433,"depth":205,"text":9434},{"id":8022,"depth":188,"text":8023},{"id":7673,"depth":188,"text":7674},{"updatedAt":11120,"coverCaption":11121,"author":945,"keywords":69014},[3254,9181,9916,11123,11124],[69016],{"headline":9172,"author":69017,"datePublished":11120,"@type":959},{"name":945,"@type":958},{"title":9172,"description":11118},[69020,69021,69022,69023],{"tag":7720,"color":7721},{"tag":11134,"color":11135},{"tag":1622,"color":1635},{"tag":7726,"color":7727},{"id":11140,"title":11141,"body":69025,"cover":13434,"coverAlt":13435,"date":13436,"description":13437,"draft":1617,"extension":940,"lab":941,"locale":942,"meta":71092,"navigation":208,"path":13444,"schemaOrg":71094,"seo":71097,"series":7714,"seriesDescription":7715,"seriesOrder":243,"seriesTitle":7716,"slug":941,"stem":13449,"tags":71098,"__hash__":13456},{"type":8,"value":69026,"toc":71073},[69027,69029,69037,69041,69043,69049,69051,69055,69057,69065,69067,69075,69077,69091,69093,69103,69105,69123,69125,69131,69133,69143,69145,69155,69157,69161,69163,69173,69175,69191,69193,69257,69259,69261,69265,69269,69273,69275,69279,69285,69289,69293,69297,69299,69303,69305,69307,69309,69315,69317,69321,69323,69329,70225,71035,71051,71053,71071],[22,69028,11147],{"id":11146},[11,69030,11151,69031,2522,69033,1020,69035,6215],{"id":11150},[87,69032,11154],{},[87,69034,11157],{},[87,69036,11160],{},[15,69038,11163,69039,11166],{},[87,69040,11154],{},[15,69042,11169],{},[15,69044,11172,69045,1023,69047,11177],{},[87,69046,11157],{},[87,69048,11160],{},[22,69050,6253],{"id":6252},[15,69052,69053,11184],{},[87,69054,11154],{},[15,69056,11187],{},[33,69058,69059,69061,69063],{},[36,69060,11192],{},[36,69062,11195],{},[36,69064,11198],{},[15,69066,11201],{},[33,69068,69069,69071,69073],{},[36,69070,11206],{},[36,69072,11209],{},[36,69074,11212],{},[15,69076,11215],{},[33,69078,69079,69085],{},[36,69080,69081,11223,69083],{},[87,69082,11222],{},[87,69084,11157],{},[36,69086,69087,11223,69089],{},[87,69088,11230],{},[87,69090,11160],{},[15,69092,11235],{},[33,69094,69095,69099],{},[36,69096,69097,11242],{},[87,69098,11157],{},[36,69100,69101,11247],{},[87,69102,11160],{},[15,69104,11250],{},[33,69106,69107,69111,69115,69119],{},[36,69108,69109,11257],{},[87,69110,6389],{},[36,69112,69113,11262],{},[87,69114,11157],{},[36,69116,69117,11267],{},[87,69118,11160],{},[36,69120,69121,11273],{},[87,69122,11272],{},[22,69124,6318],{"id":6317},[15,69126,69127,1023,69129,11282],{},[87,69128,11157],{},[87,69130,11160],{},[15,69132,9304],{},[33,69134,69135,69137,69139,69141],{},[36,69136,11289],{},[36,69138,11292],{},[36,69140,11295],{},[36,69142,11298],{},[15,69144,11301],{},[33,69146,69147,69151],{},[36,69148,11306,69149,1675],{},[87,69150,11157],{},[36,69152,11311,69153,1675],{},[87,69154,11160],{},[22,69156,6345],{"id":6344},[15,69158,11318,69159,11321],{},[87,69160,11154],{},[15,69162,11324],{},[33,69164,69165,69167,69169,69171],{},[36,69166,11329],{},[36,69168,11332],{},[36,69170,11335],{},[36,69172,11338],{},[15,69174,11341],{},[33,69176,69177,69181,69187],{},[36,69178,11346,69179,11349],{},[87,69180,5471],{},[36,69182,11352,69183,90,69185,11357],{},[87,69184,6389],{},[87,69186,9234],{},[36,69188,11360,69189,11363],{},[87,69190,11154],{},[22,69192,11367],{"id":11366},[56,69194,69195,69207],{},[59,69196,69197],{},[62,69198,69199,69201,69203,69205],{},[65,69200,11376],{},[65,69202,11379],{},[65,69204,11382],{},[65,69206,11385],{},[75,69208,69209,69221,69233,69245],{},[62,69210,69211,69215,69217,69219],{},[80,69212,69213],{},[87,69214,6389],{},[80,69216,11396],{},[80,69218,11399],{},[80,69220,11402],{},[62,69222,69223,69227,69229,69231],{},[80,69224,69225],{},[87,69226,11157],{},[80,69228,11411],{},[80,69230,11414],{},[80,69232,11417],{},[62,69234,69235,69239,69241,69243],{},[80,69236,69237],{},[87,69238,11160],{},[80,69240,11426],{},[80,69242,11429],{},[80,69244,11432],{},[62,69246,69247,69251,69253,69255],{},[80,69248,69249],{},[87,69250,11272],{},[80,69252,11441],{},[80,69254,11444],{},[80,69256,11447],{},[15,69258,11450],{},[22,69260,3081],{"id":3080},[3083,69262,11456,69263],{"id":11455},[87,69264,6389],{},[15,69266,11461,69267,11464],{},[87,69268,6389],{},[15,69270,11467,69271,1675],{},[87,69272,11157],{},[3083,69274,11473],{"id":11472},[15,69276,11476,69277,11480],{},[87,69278,11479],{},[15,69280,11483,69281,11486,69283,11489],{},[87,69282,11160],{},[87,69284,11157],{},[3083,69286,11493,69287,11496],{"id":11492},[87,69288,11272],{},[15,69290,11499,69291,11502],{},[87,69292,11154],{},[15,69294,11505,69295,11508],{},[87,69296,11272],{},[3083,69298,11512],{"id":11511},[15,69300,69301,11517],{},[87,69302,11154],{},[15,69304,11520],{},[22,69306,7993],{"id":7992},[3083,69308,11526],{"id":11525},[15,69310,11529,69311,11532,69313,11535],{},[87,69312,11154],{},[87,69314,11157],{},[3083,69316,11539],{"id":11538},[15,69318,11542,69319,11545],{},[87,69320,11160],{},[3083,69322,11549],{"id":11548},[15,69324,11552,69325,11555,69327,11558],{},[87,69326,6389],{},[87,69328,11157],{},[154,69330,69331],{"className":156,"code":11561,"filename":3256,"language":162,"meta":163,"style":163},[87,69332,69333,69349,69359,69363,69373,69381,69389,69397,69401,69405,69421,69449,69465,69489,69519,69535,69539,69555,69567,69585,69589,69593,69605,69621,69625,69629,69635,69639,69643,69653,69661,69665,69683,69713,69717,69725,69745,69753,69757,69761,69769,69783,69787,69801,69809,69817,69821,69825,69833,69847,69851,69857,69865,69869,69873,69883,69891,69895,69899,69913,69929,69937,69943,69947,69951,69961,69969,69975,69979,69987,69991,69999,70013,70021,70033,70045,70063,70071,70075,70089,70107,70125,70143,70151,70155,70163,70169,70177,70185,70189,70193,70201,70209,70217],{"__ignoreMap":163},[167,69334,69335,69337,69339,69341,69343,69345,69347],{"class":169,"line":170},[167,69336,174],{"class":173},[167,69338,178],{"class":177},[167,69340,182],{"class":181},[167,69342,1045],{"class":181},[167,69344,267],{"class":173},[167,69346,1050],{"class":201},[167,69348,185],{"class":173},[167,69350,69351,69353,69355,69357],{"class":169,"line":188},[167,69352,192],{"class":191},[167,69354,11586],{"class":173},[167,69356,198],{"class":191},[167,69358,202],{"class":201},[167,69360,69361],{"class":169,"line":205},[167,69362,209],{"emptyLinePlaceholder":208},[167,69364,69365,69367,69369,69371],{"class":169,"line":160},[167,69366,569],{"class":191},[167,69368,11601],{"class":181},[167,69370,223],{"class":191},[167,69372,1901],{"class":173},[167,69374,69375,69377,69379],{"class":169,"line":238},[167,69376,6501],{"class":254},[167,69378,583],{"class":191},[167,69380,6506],{"class":219},[167,69382,69383,69385,69387],{"class":169,"line":243},[167,69384,11618],{"class":254},[167,69386,583],{"class":191},[167,69388,6516],{"class":219},[167,69390,69391,69393,69395],{"class":169,"line":261},[167,69392,11627],{"class":254},[167,69394,583],{"class":191},[167,69396,11632],{"class":219},[167,69398,69399],{"class":169,"line":273},[167,69400,276],{"class":173},[167,69402,69403],{"class":169,"line":279},[167,69404,209],{"emptyLinePlaceholder":208},[167,69406,69407,69409,69411,69413,69415,69417,69419],{"class":169,"line":289},[167,69408,216],{"class":191},[167,69410,3364],{"class":219},[167,69412,223],{"class":191},[167,69414,226],{"class":181},[167,69416,174],{"class":173},[167,69418,11655],{"class":181},[167,69420,11658],{"class":173},[167,69422,69423,69425,69427,69429,69431,69433,69435,69437,69439,69441,69443,69445,69447],{"class":169,"line":294},[167,69424,216],{"class":191},[167,69426,11665],{"class":219},[167,69428,223],{"class":191},[167,69430,226],{"class":181},[167,69432,174],{"class":173},[167,69434,232],{"class":201},[167,69436,659],{"class":191},[167,69438,11678],{"class":201},[167,69440,659],{"class":191},[167,69442,11683],{"class":201},[167,69444,6566],{"class":173},[167,69446,232],{"class":201},[167,69448,235],{"class":173},[167,69450,69451,69453,69455,69457,69459,69461,69463],{"class":169,"line":304},[167,69452,216],{"class":191},[167,69454,11696],{"class":219},[167,69456,223],{"class":191},[167,69458,226],{"class":181},[167,69460,229],{"class":173},[167,69462,11705],{"class":201},[167,69464,235],{"class":173},[167,69466,69467,69469,69471,69473,69475,69477,69479,69481,69483,69485,69487],{"class":169,"line":313},[167,69468,216],{"class":191},[167,69470,11714],{"class":219},[167,69472,223],{"class":191},[167,69474,226],{"class":181},[167,69476,174],{"class":173},[167,69478,1106],{"class":219},[167,69480,659],{"class":191},[167,69482,6563],{"class":219},[167,69484,6566],{"class":173},[167,69486,6569],{"class":219},[167,69488,235],{"class":173},[167,69490,69491,69493,69495,69497,69499,69501,69503,69505,69507,69509,69511,69513,69515,69517],{"class":169,"line":161},[167,69492,216],{"class":191},[167,69494,11739],{"class":219},[167,69496,223],{"class":191},[167,69498,226],{"class":181},[167,69500,174],{"class":173},[167,69502,11748],{"class":181},[167,69504,174],{"class":173},[167,69506,11753],{"class":191},[167,69508,11756],{"class":173},[167,69510,11759],{"class":191},[167,69512,6563],{"class":219},[167,69514,6566],{"class":173},[167,69516,6569],{"class":219},[167,69518,235],{"class":173},[167,69520,69521,69523,69525,69527,69529,69531,69533],{"class":169,"line":335},[167,69522,216],{"class":191},[167,69524,11774],{"class":219},[167,69526,223],{"class":191},[167,69528,226],{"class":181},[167,69530,229],{"class":173},[167,69532,3388],{"class":219},[167,69534,235],{"class":173},[167,69536,69537],{"class":169,"line":341},[167,69538,209],{"emptyLinePlaceholder":208},[167,69540,69541,69543,69545,69547,69549,69551,69553],{"class":169,"line":489},[167,69542,216],{"class":191},[167,69544,8229],{"class":219},[167,69546,223],{"class":191},[167,69548,1894],{"class":181},[167,69550,1488],{"class":173},[167,69552,639],{"class":191},[167,69554,1901],{"class":173},[167,69556,69557,69559,69561,69563,69565],{"class":169,"line":495},[167,69558,2540],{"class":191},[167,69560,11811],{"class":173},[167,69562,2546],{"class":191},[167,69564,11678],{"class":201},[167,69566,258],{"class":173},[167,69568,69569,69571,69573,69575,69577,69579,69581,69583],{"class":169,"line":501},[167,69570,1933],{"class":191},[167,69572,3447],{"class":173},[167,69574,8248],{"class":181},[167,69576,229],{"class":173},[167,69578,5071],{"class":254},[167,69580,8255],{"class":191},[167,69582,5621],{"class":191},[167,69584,11836],{"class":173},[167,69586,69587],{"class":169,"line":512},[167,69588,3488],{"class":173},[167,69590,69591],{"class":169,"line":781},[167,69592,209],{"emptyLinePlaceholder":208},[167,69594,69595,69597,69599,69601,69603],{"class":169,"line":786},[167,69596,2540],{"class":191},[167,69598,11811],{"class":173},[167,69600,2546],{"class":191},[167,69602,11683],{"class":201},[167,69604,258],{"class":173},[167,69606,69607,69609,69611,69613,69615,69617,69619],{"class":169,"line":2674},[167,69608,1933],{"class":191},[167,69610,3447],{"class":173},[167,69612,8248],{"class":181},[167,69614,229],{"class":173},[167,69616,5071],{"class":254},[167,69618,8255],{"class":191},[167,69620,11873],{"class":173},[167,69622,69623],{"class":169,"line":2688},[167,69624,3488],{"class":173},[167,69626,69627],{"class":169,"line":3571},[167,69628,209],{"emptyLinePlaceholder":208},[167,69630,69631,69633],{"class":169,"line":5024},[167,69632,1534],{"class":191},[167,69634,11888],{"class":173},[167,69636,69637],{"class":169,"line":5033},[167,69638,403],{"class":173},[167,69640,69641],{"class":169,"line":5042},[167,69642,209],{"emptyLinePlaceholder":208},[167,69644,69645,69647,69649,69651],{"class":169,"line":6752},[167,69646,2519],{"class":191},[167,69648,1427],{"class":191},[167,69650,11905],{"class":181},[167,69652,763],{"class":173},[167,69654,69655,69657,69659],{"class":169,"line":6774},[167,69656,11912],{"class":173},[167,69658,267],{"class":191},[167,69660,11917],{"class":201},[167,69662,69663],{"class":169,"line":6779},[167,69664,209],{"emptyLinePlaceholder":208},[167,69666,69667,69669,69671,69673,69675,69677,69679,69681],{"class":169,"line":6784},[167,69668,1438],{"class":191},[167,69670,6610],{"class":219},[167,69672,223],{"class":191},[167,69674,3005],{"class":191},[167,69676,6617],{"class":181},[167,69678,229],{"class":173},[167,69680,11938],{"class":201},[167,69682,235],{"class":173},[167,69684,69685,69687,69689,69691,69693,69695,69697,69699,69701,69703,69705,69707,69709,69711],{"class":169,"line":6789},[167,69686,1438],{"class":191},[167,69688,11947],{"class":219},[167,69690,223],{"class":191},[167,69692,2522],{"class":173},[167,69694,2923],{"class":191},[167,69696,6679],{"class":173},[167,69698,6682],{"class":181},[167,69700,6685],{"class":173},[167,69702,6688],{"class":191},[167,69704,577],{"class":173},[167,69706,11966],{"class":254},[167,69708,583],{"class":191},[167,69710,11601],{"class":181},[167,69712,11973],{"class":173},[167,69714,69715],{"class":169,"line":6805},[167,69716,209],{"emptyLinePlaceholder":208},[167,69718,69719,69721,69723],{"class":169,"line":6820},[167,69720,11982],{"class":173},[167,69722,267],{"class":191},[167,69724,11987],{"class":173},[167,69726,69727,69729,69731,69733,69735,69737,69739,69741,69743],{"class":169,"line":6825},[167,69728,11992],{"class":173},[167,69730,267],{"class":191},[167,69732,4220],{"class":191},[167,69734,11999],{"class":181},[167,69736,2499],{"class":173},[167,69738,12004],{"class":181},[167,69740,229],{"class":173},[167,69742,12009],{"class":201},[167,69744,235],{"class":173},[167,69746,69747,69749,69751],{"class":169,"line":6832},[167,69748,11912],{"class":173},[167,69750,267],{"class":191},[167,69752,12020],{"class":201},[167,69754,69755],{"class":169,"line":6841},[167,69756,276],{"class":173},[167,69758,69759],{"class":169,"line":6850},[167,69760,209],{"emptyLinePlaceholder":208},[167,69762,69763,69765,69767],{"class":169,"line":6857},[167,69764,246],{"class":191},[167,69766,12035],{"class":181},[167,69768,763],{"class":173},[167,69770,69771,69773,69775,69777,69779,69781],{"class":169,"line":6875},[167,69772,2540],{"class":191},[167,69774,12044],{"class":173},[167,69776,701],{"class":191},[167,69778,6563],{"class":219},[167,69780,693],{"class":173},[167,69782,2552],{"class":191},[167,69784,69785],{"class":169,"line":6880},[167,69786,209],{"emptyLinePlaceholder":208},[167,69788,69789,69791,69793,69795,69797,69799],{"class":169,"line":6885},[167,69790,12061],{"class":173},[167,69792,267],{"class":191},[167,69794,12066],{"class":181},[167,69796,1488],{"class":173},[167,69798,639],{"class":191},[167,69800,1901],{"class":173},[167,69802,69803,69805,69807],{"class":169,"line":6894},[167,69804,12077],{"class":191},[167,69806,11905],{"class":181},[167,69808,2913],{"class":173},[167,69810,69811,69813,69815],{"class":169,"line":6899},[167,69812,1953],{"class":173},[167,69814,12088],{"class":219},[167,69816,235],{"class":173},[167,69818,69819],{"class":169,"line":6908},[167,69820,276],{"class":173},[167,69822,69823],{"class":169,"line":6924},[167,69824,209],{"emptyLinePlaceholder":208},[167,69826,69827,69829,69831],{"class":169,"line":6945},[167,69828,246],{"class":191},[167,69830,12105],{"class":181},[167,69832,763],{"class":173},[167,69834,69835,69837,69839,69841,69843,69845],{"class":169,"line":6950},[167,69836,2540],{"class":191},[167,69838,12044],{"class":173},[167,69840,2546],{"class":191},[167,69842,6563],{"class":219},[167,69844,693],{"class":173},[167,69846,2552],{"class":191},[167,69848,69849],{"class":169,"line":6971},[167,69850,209],{"emptyLinePlaceholder":208},[167,69852,69853,69855],{"class":169,"line":6985},[167,69854,12130],{"class":181},[167,69856,12133],{"class":173},[167,69858,69859,69861,69863],{"class":169,"line":6999},[167,69860,12061],{"class":173},[167,69862,267],{"class":191},[167,69864,12142],{"class":219},[167,69866,69867],{"class":169,"line":7013},[167,69868,276],{"class":173},[167,69870,69871],{"class":169,"line":7022},[167,69872,209],{"emptyLinePlaceholder":208},[167,69874,69875,69877,69879,69881],{"class":169,"line":7027},[167,69876,6792],{"class":181},[167,69878,1488],{"class":173},[167,69880,639],{"class":191},[167,69882,1901],{"class":173},[167,69884,69885,69887,69889],{"class":169,"line":7044},[167,69886,12165],{"class":173},[167,69888,267],{"class":191},[167,69890,3483],{"class":219},[167,69892,69893],{"class":169,"line":7053},[167,69894,403],{"class":173},[167,69896,69897],{"class":169,"line":7551},[167,69898,209],{"emptyLinePlaceholder":208},[167,69900,69901,69903,69905,69907,69909,69911],{"class":169,"line":7556},[167,69902,12182],{"class":181},[167,69904,229],{"class":173},[167,69906,2519],{"class":191},[167,69908,1464],{"class":173},[167,69910,639],{"class":191},[167,69912,1901],{"class":173},[167,69914,69915,69917,69919,69921,69923,69925,69927],{"class":169,"line":7575},[167,69916,11912],{"class":173},[167,69918,267],{"class":191},[167,69920,12201],{"class":173},[167,69922,8312],{"class":191},[167,69924,12206],{"class":201},[167,69926,5308],{"class":191},[167,69928,12211],{"class":201},[167,69930,69931,69933,69935],{"class":169,"line":7588},[167,69932,2571],{"class":191},[167,69934,11905],{"class":181},[167,69936,2913],{"class":173},[167,69938,69939,69941],{"class":169,"line":7601},[167,69940,12224],{"class":181},[167,69942,2913],{"class":173},[167,69944,69945],{"class":169,"line":7614},[167,69946,403],{"class":173},[167,69948,69949],{"class":169,"line":7623},[167,69950,209],{"emptyLinePlaceholder":208},[167,69952,69953,69955,69957,69959],{"class":169,"line":7628},[167,69954,12239],{"class":181},[167,69956,1488],{"class":173},[167,69958,639],{"class":191},[167,69960,1901],{"class":173},[167,69962,69963,69965,69967],{"class":169,"line":7643},[167,69964,11912],{"class":173},[167,69966,267],{"class":191},[167,69968,12254],{"class":201},[167,69970,69971,69973],{"class":169,"line":7652},[167,69972,12259],{"class":181},[167,69974,2913],{"class":173},[167,69976,69977],{"class":169,"line":10069},[167,69978,403],{"class":173},[167,69980,69981,69983,69985],{"class":169,"line":10080},[167,69982,282],{"class":173},[167,69984,178],{"class":177},[167,69986,185],{"class":173},[167,69988,69989],{"class":169,"line":10085},[167,69990,209],{"emptyLinePlaceholder":208},[167,69992,69993,69995,69997],{"class":169,"line":10094},[167,69994,174],{"class":173},[167,69996,299],{"class":177},[167,69998,185],{"class":173},[167,70000,70001,70003,70005,70007,70009,70011],{"class":169,"line":10099},[167,70002,307],{"class":173},[167,70004,10113],{"class":177},[167,70006,1240],{"class":181},[167,70008,267],{"class":173},[167,70010,12298],{"class":201},[167,70012,185],{"class":173},[167,70014,70015,70017,70019],{"class":169,"line":10108},[167,70016,1252],{"class":173},[167,70018,1255],{"class":177},[167,70020,185],{"class":173},[167,70022,70023,70025,70027,70029,70031],{"class":169,"line":10125},[167,70024,1263],{"class":173},[167,70026,22],{"class":177},[167,70028,12317],{"class":173},[167,70030,22],{"class":177},[167,70032,185],{"class":173},[167,70034,70035,70037,70039,70041,70043],{"class":169,"line":10134},[167,70036,1263],{"class":173},[167,70038,15],{"class":177},[167,70040,12330],{"class":173},[167,70042,15],{"class":177},[167,70044,185],{"class":173},[167,70046,70047,70049,70051,70053,70055,70057,70059,70061],{"class":169,"line":10148},[167,70048,1263],{"class":173},[167,70050,15],{"class":177},[167,70052,5690],{"class":181},[167,70054,267],{"class":173},[167,70056,12347],{"class":201},[167,70058,12350],{"class":173},[167,70060,15],{"class":177},[167,70062,185],{"class":173},[167,70064,70065,70067,70069],{"class":169,"line":10157},[167,70066,1287],{"class":173},[167,70068,1255],{"class":177},[167,70070,185],{"class":173},[167,70072,70073],{"class":169,"line":10163},[167,70074,209],{"emptyLinePlaceholder":208},[167,70076,70077,70079,70081,70083,70085,70087],{"class":169,"line":10173},[167,70078,1252],{"class":173},[167,70080,5687],{"class":177},[167,70082,1240],{"class":181},[167,70084,267],{"class":173},[167,70086,12379],{"class":201},[167,70088,185],{"class":173},[167,70090,70091,70093,70095,70097,70099,70101,70103,70105],{"class":169,"line":10182},[167,70092,1263],{"class":173},[167,70094,507],{"class":177},[167,70096,1177],{"class":181},[167,70098,267],{"class":173},[167,70100,12394],{"class":201},[167,70102,12397],{"class":173},[167,70104,507],{"class":177},[167,70106,185],{"class":173},[167,70108,70109,70111,70113,70115,70117,70119,70121,70123],{"class":169,"line":10187},[167,70110,1263],{"class":173},[167,70112,507],{"class":177},[167,70114,1177],{"class":181},[167,70116,267],{"class":173},[167,70118,12414],{"class":201},[167,70120,12417],{"class":173},[167,70122,507],{"class":177},[167,70124,185],{"class":173},[167,70126,70127,70129,70131,70133,70135,70137,70139,70141],{"class":169,"line":10210},[167,70128,1263],{"class":173},[167,70130,507],{"class":177},[167,70132,1177],{"class":181},[167,70134,267],{"class":173},[167,70136,12434],{"class":201},[167,70138,12437],{"class":173},[167,70140,507],{"class":177},[167,70142,185],{"class":173},[167,70144,70145,70147,70149],{"class":169,"line":10224},[167,70146,1287],{"class":173},[167,70148,5687],{"class":177},[167,70150,185],{"class":173},[167,70152,70153],{"class":169,"line":10237},[167,70154,209],{"emptyLinePlaceholder":208},[167,70156,70157,70159,70161],{"class":169,"line":10252},[167,70158,1252],{"class":173},[167,70160,33],{"class":177},[167,70162,185],{"class":173},[167,70164,70165,70167],{"class":169,"line":10279},[167,70166,1263],{"class":173},[167,70168,12468],{"class":177},[167,70170,70171,70173,70175],{"class":169,"line":10288},[167,70172,12473],{"class":181},[167,70174,267],{"class":173},[167,70176,12478],{"class":201},[167,70178,70179,70181,70183],{"class":169,"line":10293},[167,70180,12483],{"class":181},[167,70182,267],{"class":173},[167,70184,3542],{"class":201},[167,70186,70187],{"class":169,"line":10313},[167,70188,10528],{"class":173},[167,70190,70191],{"class":169,"line":10322},[167,70192,12496],{"class":173},[167,70194,70195,70197,70199],{"class":169,"line":10977},[167,70196,10166],{"class":173},[167,70198,36],{"class":177},[167,70200,185],{"class":173},[167,70202,70203,70205,70207],{"class":169,"line":10990},[167,70204,1287],{"class":173},[167,70206,33],{"class":177},[167,70208,185],{"class":173},[167,70210,70211,70213,70215],{"class":169,"line":11003},[167,70212,504],{"class":173},[167,70214,10113],{"class":177},[167,70216,185],{"class":173},[167,70218,70219,70221,70223],{"class":169,"line":11028},[167,70220,282],{"class":173},[167,70222,299],{"class":177},[167,70224,185],{"class":173},[154,70226,70227],{"className":156,"code":12531,"filename":12532,"language":162,"meta":163,"style":163},[87,70228,70229,70237,70245,70251,70257,70261,70269,70277,70285,70293,70299,70303,70307,70311,70315,70321,70337,70357,70361,70365,70381,70399,70403,70407,70415,70419,70423,70427,70433,70443,70447,70451,70459,70479,70491,70501,70505,70509,70515,70525,70535,70539,70543,70547,70555,70565,70569,70587,70603,70607,70617,70639,70649,70653,70657,70663,70681,70685,70701,70713,70721,70725,70729,70735,70753,70757,70767,70777,70781,70785,70789,70797,70801,70809,70823,70831,70843,70855,70873,70881,70885,70899,70917,70935,70953,70961,70965,70973,70979,70987,70995,70999,71003,71011,71019,71027],{"__ignoreMap":163},[167,70230,70231,70233,70235],{"class":169,"line":170},[167,70232,174],{"class":173},[167,70234,178],{"class":177},[167,70236,185],{"class":173},[167,70238,70239,70241,70243],{"class":169,"line":188},[167,70240,608],{"class":191},[167,70242,3987],{"class":191},[167,70244,1901],{"class":173},[167,70246,70247,70249],{"class":169,"line":205},[167,70248,7172],{"class":181},[167,70250,763],{"class":173},[167,70252,70253,70255],{"class":169,"line":160},[167,70254,1933],{"class":191},[167,70256,1901],{"class":173},[167,70258,70259],{"class":169,"line":238},[167,70260,12567],{"class":173},[167,70262,70263,70265,70267],{"class":169,"line":243},[167,70264,12572],{"class":173},[167,70266,232],{"class":201},[167,70268,393],{"class":173},[167,70270,70271,70273,70275],{"class":169,"line":261},[167,70272,12581],{"class":173},[167,70274,11705],{"class":201},[167,70276,393],{"class":173},[167,70278,70279,70281,70283],{"class":169,"line":273},[167,70280,12590],{"class":173},[167,70282,6569],{"class":219},[167,70284,393],{"class":173},[167,70286,70287,70289,70291],{"class":169,"line":279},[167,70288,12599],{"class":173},[167,70290,6569],{"class":219},[167,70292,393],{"class":173},[167,70294,70295,70297],{"class":169,"line":289},[167,70296,12608],{"class":173},[167,70298,8089],{"class":219},[167,70300,70301],{"class":169,"line":294},[167,70302,4045],{"class":173},[167,70304,70305],{"class":169,"line":304},[167,70306,398],{"class":173},[167,70308,70309],{"class":169,"line":313},[167,70310,209],{"emptyLinePlaceholder":208},[167,70312,70313],{"class":169,"line":161},[167,70314,8751],{"class":173},[167,70316,70317,70319],{"class":169,"line":335},[167,70318,8756],{"class":181},[167,70320,763],{"class":173},[167,70322,70323,70325,70327,70329,70331,70333,70335],{"class":169,"line":341},[167,70324,7257],{"class":191},[167,70326,2522],{"class":173},[167,70328,4923],{"class":219},[167,70330,12643],{"class":173},[167,70332,2546],{"class":191},[167,70334,11678],{"class":201},[167,70336,258],{"class":173},[167,70338,70339,70341,70343,70345,70347,70349,70351,70353,70355],{"class":169,"line":489},[167,70340,8851],{"class":191},[167,70342,7347],{"class":219},[167,70344,8768],{"class":173},[167,70346,8248],{"class":181},[167,70348,229],{"class":173},[167,70350,5071],{"class":254},[167,70352,8255],{"class":191},[167,70354,5621],{"class":191},[167,70356,11836],{"class":173},[167,70358,70359],{"class":169,"line":495},[167,70360,7283],{"class":173},[167,70362,70363],{"class":169,"line":501},[167,70364,209],{"emptyLinePlaceholder":208},[167,70366,70367,70369,70371,70373,70375,70377,70379],{"class":169,"line":512},[167,70368,7257],{"class":191},[167,70370,2522],{"class":173},[167,70372,4923],{"class":219},[167,70374,12643],{"class":173},[167,70376,2546],{"class":191},[167,70378,11683],{"class":201},[167,70380,258],{"class":173},[167,70382,70383,70385,70387,70389,70391,70393,70395,70397],{"class":169,"line":781},[167,70384,8851],{"class":191},[167,70386,7347],{"class":219},[167,70388,8768],{"class":173},[167,70390,8248],{"class":181},[167,70392,229],{"class":173},[167,70394,5071],{"class":254},[167,70396,8255],{"class":191},[167,70398,11873],{"class":173},[167,70400,70401],{"class":169,"line":786},[167,70402,7283],{"class":173},[167,70404,70405],{"class":169,"line":2674},[167,70406,209],{"emptyLinePlaceholder":208},[167,70408,70409,70411,70413],{"class":169,"line":2688},[167,70410,8763],{"class":191},[167,70412,7347],{"class":219},[167,70414,12728],{"class":173},[167,70416,70417],{"class":169,"line":3571},[167,70418,4045],{"class":173},[167,70420,70421],{"class":169,"line":5024},[167,70422,398],{"class":173},[167,70424,70425],{"class":169,"line":5033},[167,70426,209],{"emptyLinePlaceholder":208},[167,70428,70429,70431],{"class":169,"line":5042},[167,70430,12745],{"class":181},[167,70432,763],{"class":173},[167,70434,70435,70437,70439,70441],{"class":169,"line":6752},[167,70436,879],{"class":219},[167,70438,12754],{"class":173},[167,70440,267],{"class":191},[167,70442,3483],{"class":219},[167,70444,70445],{"class":169,"line":6774},[167,70446,398],{"class":173},[167,70448,70449],{"class":169,"line":6779},[167,70450,209],{"emptyLinePlaceholder":208},[167,70452,70453,70455,70457],{"class":169,"line":6784},[167,70454,7327],{"class":191},[167,70456,12773],{"class":181},[167,70458,763],{"class":173},[167,70460,70461,70463,70465,70467,70469,70471,70473,70475,70477],{"class":169,"line":6789},[167,70462,879],{"class":219},[167,70464,12782],{"class":173},[167,70466,267],{"class":191},[167,70468,7347],{"class":219},[167,70470,12754],{"class":173},[167,70472,8312],{"class":191},[167,70474,12206],{"class":201},[167,70476,5308],{"class":191},[167,70478,12211],{"class":201},[167,70480,70481,70483,70485,70487,70489],{"class":169,"line":6805},[167,70482,6726],{"class":191},[167,70484,7347],{"class":219},[167,70486,1675],{"class":173},[167,70488,12807],{"class":181},[167,70490,2913],{"class":173},[167,70492,70493,70495,70497,70499],{"class":169,"line":6820},[167,70494,879],{"class":219},[167,70496,1675],{"class":173},[167,70498,12818],{"class":181},[167,70500,2913],{"class":173},[167,70502,70503],{"class":169,"line":6825},[167,70504,398],{"class":173},[167,70506,70507],{"class":169,"line":6832},[167,70508,209],{"emptyLinePlaceholder":208},[167,70510,70511,70513],{"class":169,"line":6841},[167,70512,12833],{"class":181},[167,70514,763],{"class":173},[167,70516,70517,70519,70521,70523],{"class":169,"line":6850},[167,70518,879],{"class":219},[167,70520,12782],{"class":173},[167,70522,267],{"class":191},[167,70524,12254],{"class":201},[167,70526,70527,70529,70531,70533],{"class":169,"line":6857},[167,70528,879],{"class":219},[167,70530,1675],{"class":173},[167,70532,12854],{"class":181},[167,70534,2913],{"class":173},[167,70536,70537],{"class":169,"line":6875},[167,70538,398],{"class":173},[167,70540,70541],{"class":169,"line":6880},[167,70542,209],{"emptyLinePlaceholder":208},[167,70544,70545],{"class":169,"line":6885},[167,70546,4415],{"class":173},[167,70548,70549,70551,70553],{"class":169,"line":6894},[167,70550,7226],{"class":191},[167,70552,11905],{"class":181},[167,70554,763],{"class":173},[167,70556,70557,70559,70561,70563],{"class":169,"line":6899},[167,70558,741],{"class":219},[167,70560,12782],{"class":173},[167,70562,267],{"class":191},[167,70564,11917],{"class":201},[167,70566,70567],{"class":169,"line":6908},[167,70568,209],{"emptyLinePlaceholder":208},[167,70570,70571,70573,70575,70577,70579,70581,70583,70585],{"class":169,"line":6924},[167,70572,4431],{"class":191},[167,70574,6610],{"class":219},[167,70576,223],{"class":191},[167,70578,3005],{"class":191},[167,70580,6617],{"class":181},[167,70582,229],{"class":173},[167,70584,11938],{"class":201},[167,70586,235],{"class":173},[167,70588,70589,70591,70593,70595,70597,70599,70601],{"class":169,"line":6945},[167,70590,4431],{"class":191},[167,70592,11947],{"class":219},[167,70594,223],{"class":191},[167,70596,3005],{"class":191},[167,70598,6679],{"class":173},[167,70600,6682],{"class":181},[167,70602,2913],{"class":173},[167,70604,70605],{"class":169,"line":6950},[167,70606,209],{"emptyLinePlaceholder":208},[167,70608,70609,70611,70613,70615],{"class":169,"line":6971},[167,70610,741],{"class":219},[167,70612,12935],{"class":173},[167,70614,267],{"class":191},[167,70616,11987],{"class":173},[167,70618,70619,70621,70623,70625,70627,70629,70631,70633,70635,70637],{"class":169,"line":6985},[167,70620,741],{"class":219},[167,70622,12946],{"class":173},[167,70624,267],{"class":191},[167,70626,4220],{"class":191},[167,70628,11999],{"class":181},[167,70630,2499],{"class":173},[167,70632,12004],{"class":181},[167,70634,229],{"class":173},[167,70636,12009],{"class":201},[167,70638,235],{"class":173},[167,70640,70641,70643,70645,70647],{"class":169,"line":6999},[167,70642,741],{"class":219},[167,70644,12782],{"class":173},[167,70646,267],{"class":191},[167,70648,12020],{"class":201},[167,70650,70651],{"class":169,"line":7013},[167,70652,755],{"class":173},[167,70654,70655],{"class":169,"line":7022},[167,70656,209],{"emptyLinePlaceholder":208},[167,70658,70659,70661],{"class":169,"line":7027},[167,70660,12985],{"class":181},[167,70662,763],{"class":173},[167,70664,70665,70667,70669,70671,70673,70675,70677,70679],{"class":169,"line":7044},[167,70666,7257],{"class":191},[167,70668,2522],{"class":173},[167,70670,4923],{"class":219},[167,70672,12998],{"class":173},[167,70674,701],{"class":191},[167,70676,6563],{"class":219},[167,70678,693],{"class":173},[167,70680,2552],{"class":191},[167,70682,70683],{"class":169,"line":7053},[167,70684,209],{"emptyLinePlaceholder":208},[167,70686,70687,70689,70691,70693,70695,70697,70699],{"class":169,"line":7551},[167,70688,741],{"class":219},[167,70690,12998],{"class":173},[167,70692,267],{"class":191},[167,70694,12066],{"class":181},[167,70696,1488],{"class":173},[167,70698,639],{"class":191},[167,70700,1901],{"class":173},[167,70702,70703,70705,70707,70709,70711],{"class":169,"line":7556},[167,70704,13031],{"class":191},[167,70706,7347],{"class":219},[167,70708,1675],{"class":173},[167,70710,12807],{"class":181},[167,70712,2913],{"class":173},[167,70714,70715,70717,70719],{"class":169,"line":7575},[167,70716,13044],{"class":173},[167,70718,12088],{"class":219},[167,70720,235],{"class":173},[167,70722,70723],{"class":169,"line":7588},[167,70724,755],{"class":173},[167,70726,70727],{"class":169,"line":7601},[167,70728,209],{"emptyLinePlaceholder":208},[167,70730,70731,70733],{"class":169,"line":7614},[167,70732,13061],{"class":181},[167,70734,763],{"class":173},[167,70736,70737,70739,70741,70743,70745,70747,70749,70751],{"class":169,"line":7623},[167,70738,7257],{"class":191},[167,70740,2522],{"class":173},[167,70742,4923],{"class":219},[167,70744,12998],{"class":173},[167,70746,2546],{"class":191},[167,70748,6563],{"class":219},[167,70750,693],{"class":173},[167,70752,2552],{"class":191},[167,70754,70755],{"class":169,"line":7628},[167,70756,209],{"emptyLinePlaceholder":208},[167,70758,70759,70761,70763,70765],{"class":169,"line":7643},[167,70760,13090],{"class":181},[167,70762,229],{"class":173},[167,70764,4923],{"class":219},[167,70766,13097],{"class":173},[167,70768,70769,70771,70773,70775],{"class":169,"line":7652},[167,70770,741],{"class":219},[167,70772,12998],{"class":173},[167,70774,267],{"class":191},[167,70776,12142],{"class":219},[167,70778,70779],{"class":169,"line":10069},[167,70780,4045],{"class":173},[167,70782,70783],{"class":169,"line":10080},[167,70784,3488],{"class":173},[167,70786,70787],{"class":169,"line":10085},[167,70788,276],{"class":173},[167,70790,70791,70793,70795],{"class":169,"line":10094},[167,70792,282],{"class":173},[167,70794,178],{"class":177},[167,70796,185],{"class":173},[167,70798,70799],{"class":169,"line":10099},[167,70800,209],{"emptyLinePlaceholder":208},[167,70802,70803,70805,70807],{"class":169,"line":10108},[167,70804,174],{"class":173},[167,70806,299],{"class":177},[167,70808,185],{"class":173},[167,70810,70811,70813,70815,70817,70819,70821],{"class":169,"line":10125},[167,70812,307],{"class":173},[167,70814,10113],{"class":177},[167,70816,1240],{"class":181},[167,70818,267],{"class":173},[167,70820,12298],{"class":201},[167,70822,185],{"class":173},[167,70824,70825,70827,70829],{"class":169,"line":10134},[167,70826,1252],{"class":173},[167,70828,1255],{"class":177},[167,70830,185],{"class":173},[167,70832,70833,70835,70837,70839,70841],{"class":169,"line":10148},[167,70834,1263],{"class":173},[167,70836,22],{"class":177},[167,70838,12317],{"class":173},[167,70840,22],{"class":177},[167,70842,185],{"class":173},[167,70844,70845,70847,70849,70851,70853],{"class":169,"line":10157},[167,70846,1263],{"class":173},[167,70848,15],{"class":177},[167,70850,12330],{"class":173},[167,70852,15],{"class":177},[167,70854,185],{"class":173},[167,70856,70857,70859,70861,70863,70865,70867,70869,70871],{"class":169,"line":10163},[167,70858,1263],{"class":173},[167,70860,15],{"class":177},[167,70862,5690],{"class":181},[167,70864,267],{"class":173},[167,70866,12347],{"class":201},[167,70868,12350],{"class":173},[167,70870,15],{"class":177},[167,70872,185],{"class":173},[167,70874,70875,70877,70879],{"class":169,"line":10173},[167,70876,1287],{"class":173},[167,70878,1255],{"class":177},[167,70880,185],{"class":173},[167,70882,70883],{"class":169,"line":10182},[167,70884,209],{"emptyLinePlaceholder":208},[167,70886,70887,70889,70891,70893,70895,70897],{"class":169,"line":10187},[167,70888,1252],{"class":173},[167,70890,5687],{"class":177},[167,70892,1240],{"class":181},[167,70894,267],{"class":173},[167,70896,12379],{"class":201},[167,70898,185],{"class":173},[167,70900,70901,70903,70905,70907,70909,70911,70913,70915],{"class":169,"line":10210},[167,70902,1263],{"class":173},[167,70904,507],{"class":177},[167,70906,1177],{"class":181},[167,70908,267],{"class":173},[167,70910,12394],{"class":201},[167,70912,12397],{"class":173},[167,70914,507],{"class":177},[167,70916,185],{"class":173},[167,70918,70919,70921,70923,70925,70927,70929,70931,70933],{"class":169,"line":10224},[167,70920,1263],{"class":173},[167,70922,507],{"class":177},[167,70924,1177],{"class":181},[167,70926,267],{"class":173},[167,70928,12414],{"class":201},[167,70930,12417],{"class":173},[167,70932,507],{"class":177},[167,70934,185],{"class":173},[167,70936,70937,70939,70941,70943,70945,70947,70949,70951],{"class":169,"line":10237},[167,70938,1263],{"class":173},[167,70940,507],{"class":177},[167,70942,1177],{"class":181},[167,70944,267],{"class":173},[167,70946,12434],{"class":201},[167,70948,12437],{"class":173},[167,70950,507],{"class":177},[167,70952,185],{"class":173},[167,70954,70955,70957,70959],{"class":169,"line":10252},[167,70956,1287],{"class":173},[167,70958,5687],{"class":177},[167,70960,185],{"class":173},[167,70962,70963],{"class":169,"line":10279},[167,70964,209],{"emptyLinePlaceholder":208},[167,70966,70967,70969,70971],{"class":169,"line":10288},[167,70968,1252],{"class":173},[167,70970,33],{"class":177},[167,70972,185],{"class":173},[167,70974,70975,70977],{"class":169,"line":10293},[167,70976,1263],{"class":173},[167,70978,12468],{"class":177},[167,70980,70981,70983,70985],{"class":169,"line":10313},[167,70982,12473],{"class":181},[167,70984,267],{"class":173},[167,70986,12478],{"class":201},[167,70988,70989,70991,70993],{"class":169,"line":10322},[167,70990,12483],{"class":181},[167,70992,267],{"class":173},[167,70994,3542],{"class":201},[167,70996,70997],{"class":169,"line":10977},[167,70998,10528],{"class":173},[167,71000,71001],{"class":169,"line":10990},[167,71002,12496],{"class":173},[167,71004,71005,71007,71009],{"class":169,"line":11003},[167,71006,10166],{"class":173},[167,71008,36],{"class":177},[167,71010,185],{"class":173},[167,71012,71013,71015,71017],{"class":169,"line":11028},[167,71014,1287],{"class":173},[167,71016,33],{"class":177},[167,71018,185],{"class":173},[167,71020,71021,71023,71025],{"class":169,"line":11037},[167,71022,504],{"class":173},[167,71024,10113],{"class":177},[167,71026,185],{"class":173},[167,71028,71029,71031,71033],{"class":169,"line":11042},[167,71030,282],{"class":173},[167,71032,299],{"class":177},[167,71034,185],{"class":173},[33,71036,71037,71041,71045,71047],{},[36,71038,71039,13372],{},[87,71040,11222],{},[36,71042,71043,13377],{},[87,71044,11230],{},[36,71046,13380],{},[36,71048,71049,13385],{},[87,71050,6396],{},[22,71052,7674],{"id":7673},[33,71054,71055,71059,71063,71067,71069],{},[36,71056,71057,13394],{},[87,71058,11154],{},[36,71060,71061,13399],{},[87,71062,11157],{},[36,71064,71065,13404],{},[87,71066,11160],{},[36,71068,13407],{},[36,71070,13410],{},[924,71072,7685],{},{"title":163,"searchDepth":188,"depth":188,"links":71074},[71075,71076,71077,71078,71079,71080,71086,71091],{"id":11146,"depth":188,"text":11147},{"id":6252,"depth":188,"text":6253},{"id":6317,"depth":188,"text":6318},{"id":6344,"depth":188,"text":6345},{"id":11366,"depth":188,"text":11367},{"id":3080,"depth":188,"text":3081,"children":71081},[71082,71083,71084,71085],{"id":11455,"depth":205,"text":13423},{"id":11472,"depth":205,"text":11473},{"id":11492,"depth":205,"text":13426},{"id":11511,"depth":205,"text":11512},{"id":7992,"depth":188,"text":7993,"children":71087},[71088,71089,71090],{"id":11525,"depth":205,"text":11526},{"id":11538,"depth":205,"text":11539},{"id":11548,"depth":205,"text":11549},{"id":7673,"depth":188,"text":7674},{"updatedAt":13439,"coverCaption":13440,"author":945,"keywords":71093},[3254,13442,11157,11160,13443],[71095],{"headline":11141,"author":71096,"datePublished":13439,"@type":959},{"name":945,"@type":958},{"title":11141,"description":13437},[71099,71100,71101,71102],{"tag":7720,"color":7721},{"tag":13442,"color":13453},{"tag":1622,"color":1635},{"tag":7726,"color":7727},{"id":13458,"title":13459,"body":71104,"cover":14999,"coverAlt":15000,"date":15001,"description":15002,"draft":1617,"extension":940,"lab":941,"locale":942,"meta":72464,"navigation":208,"path":15008,"schemaOrg":72466,"seo":72469,"series":7714,"seriesDescription":7715,"seriesOrder":238,"seriesTitle":7716,"slug":941,"stem":15013,"tags":72470,"__hash__":15018},{"type":8,"value":71105,"toc":72446},[71106,71112,71116,71122,71124,71130,71132,71146,71148,71158,71160,71170,71174,71176,71178,71180,71202,71204,71218,71220,71222,71228,71240,71242,71256,71258,71260,71300,71306,71308,71312,71314,71316,71336,71338,71342,71348,71352,71354,71360,71366,71368,71370,71374,71376,71378,71380,71382,71384,71388,71390,71396,71912,72414,72428,72430,72444],[11,71107,13465,71108,1020,71110,6215],{"id":13464},[87,71109,13468],{},[87,71111,11272],{},[15,71113,13473,71114,13476],{},[87,71115,11479],{},[15,71117,13479,71118,1023,71120,13484],{},[87,71119,13468],{},[87,71121,11272],{},[22,71123,6253],{"id":6252},[15,71125,13489,71126,13493,71128,13496],{},[87,71127,13492],{},[87,71129,3388],{},[15,71131,13499],{},[33,71133,71134,71140],{},[36,71135,71136,13506,71138,1675],{},[87,71137,13468],{},[3929,71139,13509],{},[36,71141,71142,13506,71144,1675],{},[87,71143,11272],{},[3929,71145,13516],{},[15,71147,13519],{},[33,71149,71150,71154],{},[36,71151,71152],{},[87,71153,13526],{},[36,71155,71156],{},[87,71157,13531],{},[15,71159,13534],{},[33,71161,71162,71166],{},[36,71163,6300,71164,13541],{},[87,71165,13468],{},[36,71167,6300,71168,13546],{},[87,71169,11272],{},[15,71171,13549,71172,1675],{},[87,71173,13468],{},[22,71175,6318],{"id":6317},[15,71177,13556],{},[15,71179,9304],{},[33,71181,71182,71188,71198,71200],{},[36,71183,13563,71184,1020,71186,13568],{},[87,71185,6410],{},[87,71187,6413],{},[36,71189,13571,71190,1020,71192,1020,71194,90,71196,1675],{},[87,71191,11479],{},[87,71193,13576],{},[87,71195,13579],{},[87,71197,13582],{},[36,71199,13585],{},[36,71201,13588],{},[15,71203,13591],{},[33,71205,71206,71212],{},[36,71207,13596,71208,13600,71210,1675],{},[3929,71209,13599],{},[87,71211,13468],{},[36,71213,13596,71214,13608,71216,1675],{},[3929,71215,13607],{},[87,71217,11272],{},[22,71219,6345],{"id":6344},[15,71221,13615],{},[15,71223,13618,71224,1023,71226,13623],{},[87,71225,13468],{},[87,71227,11272],{},[33,71229,71230,71234,71236,71238],{},[36,71231,13628,71232,1675],{},[87,71233,13631],{},[36,71235,13634],{},[36,71237,13637],{},[36,71239,13640],{},[15,71241,13643],{},[33,71243,71244,71248,71252],{},[36,71245,71246,13650],{},[87,71247,13492],{},[36,71249,71250,13656],{},[87,71251,13655],{},[36,71253,13659,71254,13662],{},[87,71255,11154],{},[15,71257,13665],{},[22,71259,13669],{"id":13668},[56,71261,71262,71274],{},[59,71263,71264],{},[62,71265,71266,71268,71270,71272],{},[65,71267,11376],{},[65,71269,13680],{},[65,71271,13683],{},[65,71273,13686],{},[75,71275,71276,71288],{},[62,71277,71278,71282,71284,71286],{},[80,71279,71280],{},[87,71281,13468],{},[80,71283,13697],{},[80,71285,13700],{},[80,71287,13703],{},[62,71289,71290,71294,71296,71298],{},[80,71291,71292],{},[87,71293,11272],{},[80,71295,13712],{},[80,71297,13715],{},[80,71299,13718],{},[15,71301,71302,13723,71304,1675],{},[87,71303,11272],{},[87,71305,11272],{},[22,71307,3081],{"id":3080},[3083,71309,13731,71310,13734],{"id":13730},[87,71311,6389],{},[15,71313,13737],{},[15,71315,13740],{},[33,71317,71318,71322,71326,71330,71334],{},[36,71319,71320],{},[87,71321,13747],{},[36,71323,71324],{},[87,71325,13752],{},[36,71327,71328],{},[87,71329,13757],{},[36,71331,71332],{},[87,71333,13582],{},[36,71335,13764],{},[15,71337,13767],{},[3083,71339,13771,71340],{"id":13770},[87,71341,11272],{},[15,71343,71344,13778,71346,13781],{},[87,71345,11272],{},[87,71347,13468],{},[15,71349,13784,71350,13787],{},[87,71351,13468],{},[3083,71353,13791],{"id":13790},[15,71355,13794,71356,13797,71358,13800],{},[87,71357,13468],{},[87,71359,13655],{},[15,71361,13803,71362,13806,71364,1675],{},[87,71363,11154],{},[87,71365,11272],{},[15,71367,13811],{},[3083,71369,13815],{"id":13814},[15,71371,13818,71372,13821],{},[87,71373,13468],{},[15,71375,13824],{},[22,71377,7993],{"id":7992},[3083,71379,13830],{"id":13829},[15,71381,13833],{},[3083,71383,13837],{"id":13836},[15,71385,13840,71386,13843],{},[87,71387,13468],{},[3083,71389,13847],{"id":13846},[15,71391,71392,13852,71394,13856],{},[87,71393,11272],{},[9291,71395,13855],{},[154,71397,71398],{"className":156,"code":13859,"filename":3256,"language":162,"meta":163,"style":163},[87,71399,71400,71416,71426,71430,71446,71470,71474,71492,71496,71504,71520,71524,71528,71538,71550,71554,71560,71578,71582,71586,71590,71618,71626,71630,71636,71656,71660,71664,71668,71680,71684,71688,71692,71702,71708,71720,71732,71740,71744,71748,71758,71770,71782,71790,71794,71798,71808,71820,71824,71832,71836,71844,71858,71870,71884,71888,71896,71904],{"__ignoreMap":163},[167,71401,71402,71404,71406,71408,71410,71412,71414],{"class":169,"line":170},[167,71403,174],{"class":173},[167,71405,178],{"class":177},[167,71407,182],{"class":181},[167,71409,1045],{"class":181},[167,71411,267],{"class":173},[167,71413,1050],{"class":201},[167,71415,185],{"class":173},[167,71417,71418,71420,71422,71424],{"class":169,"line":188},[167,71419,192],{"class":191},[167,71421,13884],{"class":173},[167,71423,198],{"class":191},[167,71425,202],{"class":201},[167,71427,71428],{"class":169,"line":205},[167,71429,209],{"emptyLinePlaceholder":208},[167,71431,71432,71434,71436,71438,71440,71442,71444],{"class":169,"line":160},[167,71433,216],{"class":191},[167,71435,11696],{"class":219},[167,71437,223],{"class":191},[167,71439,226],{"class":181},[167,71441,229],{"class":173},[167,71443,13907],{"class":201},[167,71445,235],{"class":173},[167,71447,71448,71450,71452,71454,71456,71458,71460,71462,71464,71466,71468],{"class":169,"line":238},[167,71449,216],{"class":191},[167,71451,13916],{"class":219},[167,71453,223],{"class":191},[167,71455,226],{"class":181},[167,71457,174],{"class":173},[167,71459,13925],{"class":219},[167,71461,659],{"class":191},[167,71463,6563],{"class":219},[167,71465,6566],{"class":173},[167,71467,6569],{"class":219},[167,71469,235],{"class":173},[167,71471,71472],{"class":169,"line":243},[167,71473,209],{"emptyLinePlaceholder":208},[167,71475,71476,71478,71480,71482,71484,71486,71488,71490],{"class":169,"line":261},[167,71477,13944],{"class":191},[167,71479,13947],{"class":173},[167,71481,583],{"class":191},[167,71483,13952],{"class":181},[167,71485,659],{"class":191},[167,71487,6563],{"class":219},[167,71489,223],{"class":191},[167,71491,12142],{"class":219},[167,71493,71494],{"class":169,"line":273},[167,71495,209],{"emptyLinePlaceholder":208},[167,71497,71498,71500,71502],{"class":169,"line":279},[167,71499,246],{"class":191},[167,71501,13971],{"class":181},[167,71503,763],{"class":173},[167,71505,71506,71508,71510,71512,71514,71516,71518],{"class":169,"line":289},[167,71507,11912],{"class":173},[167,71509,267],{"class":191},[167,71511,13982],{"class":173},[167,71513,8312],{"class":191},[167,71515,13987],{"class":201},[167,71517,5308],{"class":191},[167,71519,13992],{"class":201},[167,71521,71522],{"class":169,"line":294},[167,71523,276],{"class":173},[167,71525,71526],{"class":169,"line":304},[167,71527,209],{"emptyLinePlaceholder":208},[167,71529,71530,71532,71534,71536],{"class":169,"line":313},[167,71531,2519],{"class":191},[167,71533,1427],{"class":191},[167,71535,14009],{"class":181},[167,71537,763],{"class":173},[167,71539,71540,71542,71544,71546,71548],{"class":169,"line":161},[167,71541,14016],{"class":173},[167,71543,267],{"class":191},[167,71545,4220],{"class":191},[167,71547,13952],{"class":181},[167,71549,2913],{"class":173},[167,71551,71552],{"class":169,"line":335},[167,71553,209],{"emptyLinePlaceholder":208},[167,71555,71556,71558],{"class":169,"line":341},[167,71557,6719],{"class":191},[167,71559,1901],{"class":173},[167,71561,71562,71564,71566,71568,71570,71572,71574,71576],{"class":169,"line":489},[167,71563,8262],{"class":191},[167,71565,6610],{"class":219},[167,71567,223],{"class":191},[167,71569,3005],{"class":191},[167,71571,6617],{"class":181},[167,71573,229],{"class":173},[167,71575,14051],{"class":201},[167,71577,627],{"class":173},[167,71579,71580],{"class":169,"line":495},[167,71581,14058],{"class":173},[167,71583,71584],{"class":169,"line":501},[167,71585,8922],{"class":173},[167,71587,71588],{"class":169,"line":512},[167,71589,209],{"emptyLinePlaceholder":208},[167,71591,71592,71594,71596,71598,71600,71602,71604,71606,71608,71610,71612,71614,71616],{"class":169,"line":781},[167,71593,8262],{"class":191},[167,71595,11947],{"class":219},[167,71597,223],{"class":191},[167,71599,3005],{"class":191},[167,71601,6679],{"class":173},[167,71603,6682],{"class":181},[167,71605,14083],{"class":173},[167,71607,6688],{"class":191},[167,71609,577],{"class":173},[167,71611,1917],{"class":254},[167,71613,583],{"class":191},[167,71615,8489],{"class":219},[167,71617,599],{"class":173},[167,71619,71620,71622,71624],{"class":169,"line":786},[167,71621,14100],{"class":173},[167,71623,267],{"class":191},[167,71625,14105],{"class":173},[167,71627,71628],{"class":169,"line":2674},[167,71629,3488],{"class":173},[167,71631,71632,71634],{"class":169,"line":2688},[167,71633,14114],{"class":191},[167,71635,6741],{"class":173},[167,71637,71638,71640,71642,71644,71646,71648,71650,71652,71654],{"class":169,"line":3571},[167,71639,7415],{"class":191},[167,71641,14123],{"class":173},[167,71643,6758],{"class":191},[167,71645,14128],{"class":181},[167,71647,14131],{"class":191},[167,71649,14134],{"class":173},[167,71651,2546],{"class":191},[167,71653,14139],{"class":201},[167,71655,258],{"class":173},[167,71657,71658],{"class":169,"line":5024},[167,71659,14146],{"class":191},[167,71661,71662],{"class":169,"line":5033},[167,71663,4045],{"class":173},[167,71665,71666],{"class":169,"line":5042},[167,71667,209],{"emptyLinePlaceholder":208},[167,71669,71670,71672,71674,71676,71678],{"class":169,"line":6752},[167,71671,8890],{"class":173},[167,71673,9348],{"class":181},[167,71675,229],{"class":173},[167,71677,14165],{"class":201},[167,71679,14168],{"class":173},[167,71681,71682],{"class":169,"line":6774},[167,71683,3488],{"class":173},[167,71685,71686],{"class":169,"line":6779},[167,71687,276],{"class":173},[167,71689,71690],{"class":169,"line":6784},[167,71691,209],{"emptyLinePlaceholder":208},[167,71693,71694,71696,71698,71700],{"class":169,"line":6789},[167,71695,6792],{"class":181},[167,71697,1488],{"class":173},[167,71699,639],{"class":191},[167,71701,1901],{"class":173},[167,71703,71704,71706],{"class":169,"line":6805},[167,71705,14195],{"class":181},[167,71707,2913],{"class":173},[167,71709,71710,71712,71714,71716,71718],{"class":169,"line":6820},[167,71711,14202],{"class":173},[167,71713,1496],{"class":181},[167,71715,229],{"class":173},[167,71717,1501],{"class":201},[167,71719,14211],{"class":173},[167,71721,71722,71724,71726,71728,71730],{"class":169,"line":6825},[167,71723,14202],{"class":173},[167,71725,1496],{"class":181},[167,71727,229],{"class":173},[167,71729,14222],{"class":201},[167,71731,14211],{"class":173},[167,71733,71734,71736,71738],{"class":169,"line":6832},[167,71735,14229],{"class":191},[167,71737,14009],{"class":181},[167,71739,2913],{"class":173},[167,71741,71742],{"class":169,"line":6841},[167,71743,403],{"class":173},[167,71745,71746],{"class":169,"line":6850},[167,71747,209],{"emptyLinePlaceholder":208},[167,71749,71750,71752,71754,71756],{"class":169,"line":6857},[167,71751,14246],{"class":181},[167,71753,1488],{"class":173},[167,71755,639],{"class":191},[167,71757,1901],{"class":173},[167,71759,71760,71762,71764,71766,71768],{"class":169,"line":6875},[167,71761,14202],{"class":173},[167,71763,1519],{"class":181},[167,71765,229],{"class":173},[167,71767,1501],{"class":201},[167,71769,14211],{"class":173},[167,71771,71772,71774,71776,71778,71780],{"class":169,"line":6880},[167,71773,14202],{"class":173},[167,71775,1519],{"class":181},[167,71777,229],{"class":173},[167,71779,14222],{"class":201},[167,71781,14211],{"class":173},[167,71783,71784,71786,71788],{"class":169,"line":6885},[167,71785,14281],{"class":173},[167,71787,14284],{"class":181},[167,71789,2913],{"class":173},[167,71791,71792],{"class":169,"line":6894},[167,71793,403],{"class":173},[167,71795,71796],{"class":169,"line":6899},[167,71797,209],{"emptyLinePlaceholder":208},[167,71799,71800,71802,71804,71806],{"class":169,"line":6908},[167,71801,14299],{"class":181},[167,71803,1488],{"class":173},[167,71805,639],{"class":191},[167,71807,1901],{"class":173},[167,71809,71810,71812,71814,71816,71818],{"class":169,"line":6924},[167,71811,2604],{"class":173},[167,71813,9265],{"class":181},[167,71815,229],{"class":173},[167,71817,14316],{"class":201},[167,71819,235],{"class":173},[167,71821,71822],{"class":169,"line":6945},[167,71823,403],{"class":173},[167,71825,71826,71828,71830],{"class":169,"line":6950},[167,71827,282],{"class":173},[167,71829,178],{"class":177},[167,71831,185],{"class":173},[167,71833,71834],{"class":169,"line":6971},[167,71835,209],{"emptyLinePlaceholder":208},[167,71837,71838,71840,71842],{"class":169,"line":6985},[167,71839,174],{"class":173},[167,71841,299],{"class":177},[167,71843,185],{"class":173},[167,71845,71846,71848,71850,71852,71854,71856],{"class":169,"line":6999},[167,71847,307],{"class":173},[167,71849,10113],{"class":177},[167,71851,1240],{"class":181},[167,71853,267],{"class":173},[167,71855,14355],{"class":201},[167,71857,185],{"class":173},[167,71859,71860,71862,71864,71866,71868],{"class":169,"line":7013},[167,71861,1252],{"class":173},[167,71863,15],{"class":177},[167,71865,12330],{"class":173},[167,71867,15],{"class":177},[167,71869,185],{"class":173},[167,71871,71872,71874,71876,71878,71880,71882],{"class":169,"line":7022},[167,71873,1252],{"class":173},[167,71875,15],{"class":177},[167,71877,5690],{"class":181},[167,71879,267],{"class":173},[167,71881,14382],{"class":201},[167,71883,185],{"class":173},[167,71885,71886],{"class":169,"line":7027},[167,71887,14389],{"class":173},[167,71889,71890,71892,71894],{"class":169,"line":7044},[167,71891,1287],{"class":173},[167,71893,15],{"class":177},[167,71895,185],{"class":173},[167,71897,71898,71900,71902],{"class":169,"line":7053},[167,71899,504],{"class":173},[167,71901,10113],{"class":177},[167,71903,185],{"class":173},[167,71905,71906,71908,71910],{"class":169,"line":7551},[167,71907,282],{"class":173},[167,71909,299],{"class":177},[167,71911,185],{"class":173},[154,71913,71914],{"className":156,"code":14416,"filename":3969,"language":162,"meta":163,"style":163},[87,71915,71916,71924,71932,71938,71944,71952,71960,71966,71970,71974,71978,71984,71994,72010,72026,72038,72042,72046,72052,72068,72084,72094,72098,72102,72108,72120,72124,72128,72132,72138,72156,72160,72164,72172,72186,72190,72196,72214,72222,72226,72230,72246,72256,72260,72266,72286,72290,72294,72298,72310,72314,72318,72322,72326,72334,72338,72346,72360,72372,72386,72390,72398,72406],{"__ignoreMap":163},[167,71917,71918,71920,71922],{"class":169,"line":170},[167,71919,174],{"class":173},[167,71921,178],{"class":177},[167,71923,185],{"class":173},[167,71925,71926,71928,71930],{"class":169,"line":188},[167,71927,608],{"class":191},[167,71929,3987],{"class":191},[167,71931,1901],{"class":173},[167,71933,71934,71936],{"class":169,"line":205},[167,71935,7172],{"class":181},[167,71937,763],{"class":173},[167,71939,71940,71942],{"class":169,"line":160},[167,71941,1933],{"class":191},[167,71943,1901],{"class":173},[167,71945,71946,71948,71950],{"class":169,"line":238},[167,71947,12581],{"class":173},[167,71949,13907],{"class":201},[167,71951,393],{"class":173},[167,71953,71954,71956,71958],{"class":169,"line":243},[167,71955,14459],{"class":173},[167,71957,6569],{"class":219},[167,71959,393],{"class":173},[167,71961,71962,71964],{"class":169,"line":261},[167,71963,14468],{"class":173},[167,71965,14471],{"class":219},[167,71967,71968],{"class":169,"line":273},[167,71969,4045],{"class":173},[167,71971,71972],{"class":169,"line":279},[167,71973,398],{"class":173},[167,71975,71976],{"class":169,"line":289},[167,71977,209],{"emptyLinePlaceholder":208},[167,71979,71980,71982],{"class":169,"line":294},[167,71981,12745],{"class":181},[167,71983,763],{"class":173},[167,71985,71986,71988,71990,71992],{"class":169,"line":304},[167,71987,879],{"class":219},[167,71989,1675],{"class":173},[167,71991,14498],{"class":181},[167,71993,2913],{"class":173},[167,71995,71996,71998,72000,72002,72004,72006,72008],{"class":169,"line":313},[167,71997,14505],{"class":173},[167,71999,1496],{"class":181},[167,72001,229],{"class":173},[167,72003,1501],{"class":201},[167,72005,1020],{"class":173},[167,72007,4923],{"class":219},[167,72009,14518],{"class":173},[167,72011,72012,72014,72016,72018,72020,72022,72024],{"class":169,"line":161},[167,72013,14505],{"class":173},[167,72015,1496],{"class":181},[167,72017,229],{"class":173},[167,72019,14222],{"class":201},[167,72021,1020],{"class":173},[167,72023,4923],{"class":219},[167,72025,14518],{"class":173},[167,72027,72028,72030,72032,72034,72036],{"class":169,"line":335},[167,72029,12077],{"class":191},[167,72031,7347],{"class":219},[167,72033,1675],{"class":173},[167,72035,14545],{"class":181},[167,72037,2913],{"class":173},[167,72039,72040],{"class":169,"line":341},[167,72041,398],{"class":173},[167,72043,72044],{"class":169,"line":489},[167,72045,209],{"emptyLinePlaceholder":208},[167,72047,72048,72050],{"class":169,"line":495},[167,72049,14560],{"class":181},[167,72051,763],{"class":173},[167,72053,72054,72056,72058,72060,72062,72064,72066],{"class":169,"line":501},[167,72055,14505],{"class":173},[167,72057,1519],{"class":181},[167,72059,229],{"class":173},[167,72061,1501],{"class":201},[167,72063,1020],{"class":173},[167,72065,4923],{"class":219},[167,72067,14518],{"class":173},[167,72069,72070,72072,72074,72076,72078,72080,72082],{"class":169,"line":512},[167,72071,14505],{"class":173},[167,72073,1519],{"class":181},[167,72075,229],{"class":173},[167,72077,14222],{"class":201},[167,72079,1020],{"class":173},[167,72081,4923],{"class":219},[167,72083,14518],{"class":173},[167,72085,72086,72088,72090,72092],{"class":169,"line":781},[167,72087,879],{"class":219},[167,72089,14601],{"class":173},[167,72091,14284],{"class":181},[167,72093,2913],{"class":173},[167,72095,72096],{"class":169,"line":786},[167,72097,398],{"class":173},[167,72099,72100],{"class":169,"line":2674},[167,72101,209],{"emptyLinePlaceholder":208},[167,72103,72104,72106],{"class":169,"line":2688},[167,72105,14618],{"class":181},[167,72107,763],{"class":173},[167,72109,72110,72112,72114,72116,72118],{"class":169,"line":3571},[167,72111,8890],{"class":173},[167,72113,9265],{"class":181},[167,72115,229],{"class":173},[167,72117,14316],{"class":201},[167,72119,235],{"class":173},[167,72121,72122],{"class":169,"line":5024},[167,72123,398],{"class":173},[167,72125,72126],{"class":169,"line":5033},[167,72127,209],{"emptyLinePlaceholder":208},[167,72129,72130],{"class":169,"line":5042},[167,72131,4415],{"class":173},[167,72133,72134,72136],{"class":169,"line":6752},[167,72135,14649],{"class":181},[167,72137,763],{"class":173},[167,72139,72140,72142,72144,72146,72148,72150,72152,72154],{"class":169,"line":6774},[167,72141,741],{"class":219},[167,72143,12782],{"class":173},[167,72145,267],{"class":191},[167,72147,13982],{"class":173},[167,72149,8312],{"class":191},[167,72151,13987],{"class":201},[167,72153,5308],{"class":191},[167,72155,13992],{"class":201},[167,72157,72158],{"class":169,"line":6779},[167,72159,755],{"class":173},[167,72161,72162],{"class":169,"line":6784},[167,72163,209],{"emptyLinePlaceholder":208},[167,72165,72166,72168,72170],{"class":169,"line":6789},[167,72167,7226],{"class":191},[167,72169,14009],{"class":181},[167,72171,763],{"class":173},[167,72173,72174,72176,72178,72180,72182,72184],{"class":169,"line":6805},[167,72175,741],{"class":219},[167,72177,14692],{"class":173},[167,72179,267],{"class":191},[167,72181,4220],{"class":191},[167,72183,13952],{"class":181},[167,72185,2913],{"class":173},[167,72187,72188],{"class":169,"line":6820},[167,72189,209],{"emptyLinePlaceholder":208},[167,72191,72192,72194],{"class":169,"line":6825},[167,72193,14709],{"class":191},[167,72195,1901],{"class":173},[167,72197,72198,72200,72202,72204,72206,72208,72210,72212],{"class":169,"line":6832},[167,72199,8783],{"class":191},[167,72201,6610],{"class":219},[167,72203,223],{"class":191},[167,72205,3005],{"class":191},[167,72207,6617],{"class":181},[167,72209,229],{"class":173},[167,72211,14051],{"class":201},[167,72213,627],{"class":173},[167,72215,72216,72218,72220],{"class":169,"line":6841},[167,72217,14734],{"class":173},[167,72219,4923],{"class":219},[167,72221,14739],{"class":173},[167,72223,72224],{"class":169,"line":6850},[167,72225,14744],{"class":173},[167,72227,72228],{"class":169,"line":6857},[167,72229,209],{"emptyLinePlaceholder":208},[167,72231,72232,72234,72236,72238,72240,72242,72244],{"class":169,"line":6875},[167,72233,8783],{"class":191},[167,72235,11947],{"class":219},[167,72237,223],{"class":191},[167,72239,3005],{"class":191},[167,72241,6679],{"class":173},[167,72243,6682],{"class":181},[167,72245,2913],{"class":173},[167,72247,72248,72250,72252,72254],{"class":169,"line":6880},[167,72249,14769],{"class":219},[167,72251,14772],{"class":173},[167,72253,267],{"class":191},[167,72255,14105],{"class":173},[167,72257,72258],{"class":169,"line":6885},[167,72259,7283],{"class":173},[167,72261,72262,72264],{"class":169,"line":6894},[167,72263,14785],{"class":191},[167,72265,6741],{"class":173},[167,72267,72268,72270,72272,72274,72276,72278,72280,72282,72284],{"class":169,"line":6899},[167,72269,14792],{"class":191},[167,72271,14123],{"class":173},[167,72273,6758],{"class":191},[167,72275,14128],{"class":181},[167,72277,14131],{"class":191},[167,72279,14134],{"class":173},[167,72281,2546],{"class":191},[167,72283,14139],{"class":201},[167,72285,258],{"class":173},[167,72287,72288],{"class":169,"line":6908},[167,72289,14813],{"class":191},[167,72291,72292],{"class":169,"line":6924},[167,72293,14818],{"class":173},[167,72295,72296],{"class":169,"line":6945},[167,72297,209],{"emptyLinePlaceholder":208},[167,72299,72300,72302,72304,72306,72308],{"class":169,"line":6950},[167,72301,14827],{"class":173},[167,72303,9348],{"class":181},[167,72305,229],{"class":173},[167,72307,14165],{"class":201},[167,72309,14168],{"class":173},[167,72311,72312],{"class":169,"line":6971},[167,72313,7283],{"class":173},[167,72315,72316],{"class":169,"line":6985},[167,72317,4045],{"class":173},[167,72319,72320],{"class":169,"line":6999},[167,72321,3488],{"class":173},[167,72323,72324],{"class":169,"line":7013},[167,72325,276],{"class":173},[167,72327,72328,72330,72332],{"class":169,"line":7022},[167,72329,282],{"class":173},[167,72331,178],{"class":177},[167,72333,185],{"class":173},[167,72335,72336],{"class":169,"line":7027},[167,72337,209],{"emptyLinePlaceholder":208},[167,72339,72340,72342,72344],{"class":169,"line":7044},[167,72341,174],{"class":173},[167,72343,299],{"class":177},[167,72345,185],{"class":173},[167,72347,72348,72350,72352,72354,72356,72358],{"class":169,"line":7053},[167,72349,307],{"class":173},[167,72351,10113],{"class":177},[167,72353,1240],{"class":181},[167,72355,267],{"class":173},[167,72357,14355],{"class":201},[167,72359,185],{"class":173},[167,72361,72362,72364,72366,72368,72370],{"class":169,"line":7551},[167,72363,1252],{"class":173},[167,72365,15],{"class":177},[167,72367,12330],{"class":173},[167,72369,15],{"class":177},[167,72371,185],{"class":173},[167,72373,72374,72376,72378,72380,72382,72384],{"class":169,"line":7556},[167,72375,1252],{"class":173},[167,72377,15],{"class":177},[167,72379,5690],{"class":181},[167,72381,267],{"class":173},[167,72383,14382],{"class":201},[167,72385,185],{"class":173},[167,72387,72388],{"class":169,"line":7575},[167,72389,14389],{"class":173},[167,72391,72392,72394,72396],{"class":169,"line":7588},[167,72393,1287],{"class":173},[167,72395,15],{"class":177},[167,72397,185],{"class":173},[167,72399,72400,72402,72404],{"class":169,"line":7601},[167,72401,504],{"class":173},[167,72403,10113],{"class":177},[167,72405,185],{"class":173},[167,72407,72408,72410,72412],{"class":169,"line":7614},[167,72409,282],{"class":173},[167,72411,299],{"class":177},[167,72413,185],{"class":173},[33,72415,72416,72420,72424],{},[36,72417,72418,14946],{},[87,72419,6396],{},[36,72421,72422,14951],{},[87,72423,13526],{},[36,72425,72426,14956],{},[87,72427,13531],{},[22,72429,7674],{"id":7673},[33,72431,72432,72436,72440,72442],{},[36,72433,72434,14965],{},[87,72435,13468],{},[36,72437,72438,14970],{},[87,72439,11272],{},[36,72441,14973],{},[36,72443,14976],{},[924,72445,1604],{},{"title":163,"searchDepth":188,"depth":188,"links":72447},[72448,72449,72450,72451,72452,72458,72463],{"id":6252,"depth":188,"text":6253},{"id":6317,"depth":188,"text":6318},{"id":6344,"depth":188,"text":6345},{"id":13668,"depth":188,"text":13669},{"id":3080,"depth":188,"text":3081,"children":72453},[72454,72455,72456,72457],{"id":13730,"depth":205,"text":14988},{"id":13770,"depth":205,"text":14990},{"id":13790,"depth":205,"text":13791},{"id":13814,"depth":205,"text":13815},{"id":7992,"depth":188,"text":7993,"children":72459},[72460,72461,72462],{"id":13829,"depth":205,"text":13830},{"id":13836,"depth":205,"text":13837},{"id":13846,"depth":205,"text":13847},{"id":7673,"depth":188,"text":7674},{"updatedAt":15004,"coverCaption":15005,"author":945,"keywords":72465},[3254,13468,11272,14246,15007],[72467],{"headline":13459,"author":72468,"datePublished":15004,"@type":959},{"name":945,"@type":958},{"title":13459,"description":15002},[72471,72472,72473],{"tag":7720,"color":7721},{"tag":1622,"color":1635},{"tag":5420,"color":5421},{"id":15020,"title":15021,"body":72475,"cover":16567,"coverAlt":16568,"date":16569,"description":16570,"draft":1617,"extension":940,"lab":941,"locale":942,"meta":73821,"navigation":208,"path":16576,"schemaOrg":73823,"seo":73826,"series":7714,"seriesDescription":7715,"seriesOrder":160,"seriesTitle":7716,"slug":941,"stem":16581,"tags":73827,"__hash__":16588},{"type":8,"value":72476,"toc":73812},[72477,72483,72487,72491,72493,72495,72497,72499,72513,72517,72527,72529,72551,72557,72561,72565,72567,72571,72573,72585,72591,72597,72599,72601,72607,72621,72627,72629,72635,72637,72643,72653,72657,72659,72743,72745,72749,72761,72765,72771,72773,72777,72779,72783,72785,72793,72795,72801,72803,72805,72807,72809,72811,72813,72817,72821,72823,72825,72904,72906,73334,73768,73778,73780,73810],[11,72478,15027,72479,1020,72481,6215],{"id":15026},[87,72480,15030],{},[87,72482,15033],{},[15,72484,15036,72485,15039],{},[87,72486,1661],{},[15,72488,15042,72489,15046],{},[3929,72490,15045],{},[15,72492,15049],{},[11,72494,6253],{"id":6252},[15,72496,15054],{},[15,72498,15057],{},[33,72500,72501,72507],{},[36,72502,72503,13506,72505,1675],{},[87,72504,15030],{},[3929,72506,15066],{},[36,72508,72509,13506,72511,1675],{},[87,72510,15033],{},[3929,72512,15073],{},[15,72514,6300,72515,15078],{},[3929,72516,3256],{},[33,72518,72519,72523],{},[36,72520,72521],{},[87,72522,15085],{},[36,72524,72525],{},[87,72526,15090],{},[15,72528,15093],{},[33,72530,72531,72537,72543],{},[36,72532,13596,72533,1020,72535,15103],{},[3929,72534,15100],{},[87,72536,15030],{},[36,72538,13596,72539,1020,72541,15103],{},[3929,72540,15108],{},[87,72542,15033],{},[36,72544,15113,72545,15117,72547,15120,72549,15123],{},[3929,72546,15116],{},[87,72548,1661],{},[87,72550,1657],{},[15,72552,15126,72553,15130,72555,15134],{},[3929,72554,15129],{},[9291,72556,15133],{},[5363,72558,72559],{},[15,72560,15139],{},[15,72562,15142,72563,1675],{},[87,72564,1661],{},[11,72566,6318],{"id":6317},[15,72568,15149,72569,1675],{},[3929,72570,15152],{},[15,72572,9304],{},[33,72574,72575,72577,72579,72581,72583],{},[36,72576,15159],{},[36,72578,15162],{},[36,72580,15165],{},[36,72582,15168],{},[36,72584,15171],{},[15,72586,72587,15176,72589,1675],{},[87,72588,15030],{},[3929,72590,15179],{},[15,72592,72593,15184,72595,15188],{},[87,72594,15033],{},[3929,72596,15187],{},[11,72598,6345],{"id":6344},[15,72600,15193],{},[15,72602,13618,72603,1023,72605,13623],{},[87,72604,15030],{},[87,72606,15033],{},[33,72608,72609,72611,72615,72617],{},[36,72610,15204],{},[36,72612,15207,72613,1675],{},[87,72614,1657],{},[36,72616,15212],{},[36,72618,15215,72619,15218],{},[87,72620,15033],{},[15,72622,15221,72623,15224,72625,15228],{},[87,72624,15033],{},[3929,72626,15227],{},[11,72628,3081],{"id":3080},[22,72630,3176,72631,15236,72633],{"id":15233},[87,72632,15033],{},[87,72634,1661],{},[15,72636,15241],{},[15,72638,72639,15246,72641,15250],{},[87,72640,15033],{},[3929,72642,15249],{},[15,72644,15253,72645,1020,72647,1020,72649,15263,72651,15266],{},[87,72646,15256],{},[87,72648,15259],{},[87,72650,15262],{},[87,72652,1661],{},[22,72654,15270,72655,15273],{"id":15269},[87,72656,15033],{},[15,72658,15276],{},[154,72660,72662],{"className":156,"code":15279,"filename":15280,"highlights":72661,"language":162,"meta":163,"style":163},[243],[87,72663,72664,72680,72690,72694,72710,72714,72725,72731,72735],{"__ignoreMap":163},[167,72665,72666,72668,72670,72672,72674,72676,72678],{"class":169,"line":170},[167,72667,174],{"class":173},[167,72669,178],{"class":177},[167,72671,182],{"class":181},[167,72673,1045],{"class":181},[167,72675,267],{"class":173},[167,72677,1050],{"class":201},[167,72679,185],{"class":173},[167,72681,72682,72684,72686,72688],{"class":169,"line":188},[167,72683,192],{"class":191},[167,72685,15306],{"class":173},[167,72687,198],{"class":191},[167,72689,202],{"class":201},[167,72691,72692],{"class":169,"line":205},[167,72693,209],{"emptyLinePlaceholder":208},[167,72695,72696,72698,72700,72702,72704,72706,72708],{"class":169,"line":160},[167,72697,216],{"class":191},[167,72699,15321],{"class":219},[167,72701,223],{"class":191},[167,72703,226],{"class":181},[167,72705,229],{"class":173},[167,72707,1956],{"class":219},[167,72709,235],{"class":173},[167,72711,72712],{"class":169,"line":238},[167,72713,209],{"emptyLinePlaceholder":208},[167,72715,72717,72719,72721,72723],{"class":72716,"line":243},[169,213],[167,72718,15341],{"class":181},[167,72720,1488],{"class":173},[167,72722,639],{"class":191},[167,72724,1901],{"class":173},[167,72726,72727,72729],{"class":169,"line":261},[167,72728,15352],{"class":173},[167,72730,3122],{"class":191},[167,72732,72733],{"class":169,"line":273},[167,72734,403],{"class":173},[167,72736,72737,72739,72741],{"class":169,"line":279},[167,72738,282],{"class":173},[167,72740,178],{"class":177},[167,72742,185],{"class":173},[15,72744,15369],{},[15,72746,15372,72747,15376],{},[3929,72748,15375],{},[33,72750,72751,72755,72759],{},[36,72752,72753],{},[87,72754,1661],{},[36,72756,72757],{},[87,72758,1657],{},[36,72760,15389],{},[22,72762,15393,72763],{"id":15392},[87,72764,15030],{},[15,72766,6300,72767,15400,72769,1675],{},[87,72768,15030],{},[3929,72770,15403],{},[15,72772,15406],{},[15,72774,15409,72775,1675],{},[87,72776,15033],{},[22,72778,15415],{"id":15414},[15,72780,15418,72781,1675],{},[3929,72782,15421],{},[15,72784,15424],{},[33,72786,72787,72789,72791],{},[36,72788,15429],{},[36,72790,15432],{},[36,72792,15435],{},[15,72794,15438],{},[5363,72796,72797],{},[15,72798,15443,72799,15447],{},[3929,72800,15446],{},[11,72802,7993],{"id":7992},[22,72804,15453],{"id":15452},[15,72806,15456],{},[15,72808,15459],{},[15,72810,15462],{},[22,72812,15466],{"id":15465},[15,72814,15469,72815,15473],{},[3929,72816,15472],{},[15,72818,72819,15478],{},[87,72820,15033],{},[22,72822,15482],{"id":15481},[15,72824,15485],{},[154,72826,72828],{"className":156,"code":15488,"filename":15280,"highlights":72827,"language":162,"meta":163,"style":163},[188,243],[87,72829,72830,72838,72849,72861,72865,72869,72880,72892,72896],{"__ignoreMap":163},[167,72831,72832,72834,72836],{"class":169,"line":170},[167,72833,174],{"class":173},[167,72835,178],{"class":177},[167,72837,185],{"class":173},[167,72839,72841,72843,72845,72847],{"class":72840,"line":188},[169,213],[167,72842,15505],{"class":181},[167,72844,1488],{"class":173},[167,72846,639],{"class":191},[167,72848,1901],{"class":173},[167,72850,72851,72853,72855,72857,72859],{"class":169,"line":205},[167,72852,2604],{"class":173},[167,72854,2607],{"class":181},[167,72856,229],{"class":173},[167,72858,15522],{"class":201},[167,72860,235],{"class":173},[167,72862,72863],{"class":169,"line":160},[167,72864,403],{"class":173},[167,72866,72867],{"class":169,"line":238},[167,72868,209],{"emptyLinePlaceholder":208},[167,72870,72872,72874,72876,72878],{"class":72871,"line":243},[169,213],[167,72873,15341],{"class":181},[167,72875,1488],{"class":173},[167,72877,639],{"class":191},[167,72879,1901],{"class":173},[167,72881,72882,72884,72886,72888,72890],{"class":169,"line":261},[167,72883,2604],{"class":173},[167,72885,2607],{"class":181},[167,72887,229],{"class":173},[167,72889,15554],{"class":201},[167,72891,235],{"class":173},[167,72893,72894],{"class":169,"line":273},[167,72895,403],{"class":173},[167,72897,72898,72900,72902],{"class":169,"line":279},[167,72899,282],{"class":173},[167,72901,178],{"class":177},[167,72903,185],{"class":173},[15,72905,15571],{},[154,72907,72908],{"className":156,"code":15574,"filename":3256,"language":162,"meta":163,"style":163},[87,72909,72910,72926,72936,72940,72952,72964,72976,72980,72984,73008,73024,73028,73036,73044,73052,73074,73078,73082,73086,73096,73108,73112,73116,73126,73138,73142,73152,73156,73166,73174,73178,73182,73190,73194,73202,73216,73230,73234,73242,73246,73252,73260,73268,73272,73278,73286,73294,73298,73302,73310,73318,73326],{"__ignoreMap":163},[167,72911,72912,72914,72916,72918,72920,72922,72924],{"class":169,"line":170},[167,72913,174],{"class":173},[167,72915,178],{"class":177},[167,72917,182],{"class":181},[167,72919,1045],{"class":181},[167,72921,267],{"class":173},[167,72923,1050],{"class":201},[167,72925,185],{"class":173},[167,72927,72928,72930,72932,72934],{"class":169,"line":188},[167,72929,192],{"class":191},[167,72931,15599],{"class":173},[167,72933,198],{"class":191},[167,72935,202],{"class":201},[167,72937,72938],{"class":169,"line":205},[167,72939,209],{"emptyLinePlaceholder":208},[167,72941,72942,72944,72946,72948,72950],{"class":169,"line":160},[167,72943,216],{"class":191},[167,72945,15614],{"class":219},[167,72947,223],{"class":191},[167,72949,226],{"class":181},[167,72951,1823],{"class":173},[167,72953,72954,72956,72958,72960,72962],{"class":169,"line":238},[167,72955,1828],{"class":173},[167,72957,1831],{"class":219},[167,72959,15629],{"class":173},[167,72961,15632],{"class":201},[167,72963,1852],{"class":173},[167,72965,72966,72968,72970,72972,72974],{"class":169,"line":243},[167,72967,1828],{"class":173},[167,72969,1849],{"class":219},[167,72971,15629],{"class":173},[167,72973,15645],{"class":201},[167,72975,599],{"class":173},[167,72977,72978],{"class":169,"line":261},[167,72979,429],{"class":173},[167,72981,72982],{"class":169,"line":273},[167,72983,209],{"emptyLinePlaceholder":208},[167,72985,72986,72988,72990,72992,72994,72996,72998,73000,73002,73004,73006],{"class":169,"line":279},[167,72987,216],{"class":191},[167,72989,15662],{"class":219},[167,72991,223],{"class":191},[167,72993,226],{"class":181},[167,72995,174],{"class":173},[167,72997,15671],{"class":181},[167,72999,659],{"class":191},[167,73001,6563],{"class":219},[167,73003,6566],{"class":173},[167,73005,6569],{"class":219},[167,73007,235],{"class":173},[167,73009,73010,73012,73014,73016,73018,73020,73022],{"class":169,"line":289},[167,73011,216],{"class":191},[167,73013,15688],{"class":219},[167,73015,223],{"class":191},[167,73017,226],{"class":181},[167,73019,229],{"class":173},[167,73021,1956],{"class":219},[167,73023,235],{"class":173},[167,73025,73026],{"class":169,"line":294},[167,73027,209],{"emptyLinePlaceholder":208},[167,73029,73030,73032,73034],{"class":169,"line":304},[167,73031,246],{"class":191},[167,73033,15709],{"class":181},[167,73035,763],{"class":173},[167,73037,73038,73040,73042],{"class":169,"line":313},[167,73039,15716],{"class":173},[167,73041,15719],{"class":181},[167,73043,372],{"class":173},[167,73045,73046,73048,73050],{"class":169,"line":161},[167,73047,15726],{"class":173},[167,73049,15729],{"class":181},[167,73051,15732],{"class":173},[167,73053,73054,73056,73058,73060,73062,73064,73066,73068,73070,73072],{"class":169,"line":335},[167,73055,15737],{"class":173},[167,73057,15740],{"class":201},[167,73059,15743],{"class":173},[167,73061,1675],{"class":201},[167,73063,2215],{"class":173},[167,73065,1675],{"class":201},[167,73067,15752],{"class":219},[167,73069,15755],{"class":191},[167,73071,15758],{"class":219},[167,73073,2228],{"class":201},[167,73075,73076],{"class":169,"line":341},[167,73077,8343],{"class":173},[167,73079,73080],{"class":169,"line":489},[167,73081,276],{"class":173},[167,73083,73084],{"class":169,"line":495},[167,73085,209],{"emptyLinePlaceholder":208},[167,73087,73088,73090,73092,73094],{"class":169,"line":501},[167,73089,15505],{"class":181},[167,73091,1488],{"class":173},[167,73093,639],{"class":191},[167,73095,1901],{"class":173},[167,73097,73098,73100,73102,73104,73106],{"class":169,"line":512},[167,73099,15787],{"class":173},[167,73101,267],{"class":191},[167,73103,15792],{"class":173},[167,73105,15795],{"class":191},[167,73107,15798],{"class":219},[167,73109,73110],{"class":169,"line":781},[167,73111,403],{"class":173},[167,73113,73114],{"class":169,"line":786},[167,73115,209],{"emptyLinePlaceholder":208},[167,73117,73118,73120,73122,73124],{"class":169,"line":2674},[167,73119,15341],{"class":181},[167,73121,1488],{"class":173},[167,73123,639],{"class":191},[167,73125,1901],{"class":173},[167,73127,73128,73130,73132,73134,73136],{"class":169,"line":2688},[167,73129,2540],{"class":191},[167,73131,2522],{"class":173},[167,73133,6637],{"class":191},[167,73135,15827],{"class":173},[167,73137,2552],{"class":191},[167,73139,73140],{"class":169,"line":3571},[167,73141,209],{"emptyLinePlaceholder":208},[167,73143,73144,73146,73148,73150],{"class":169,"line":5024},[167,73145,1438],{"class":191},[167,73147,15840],{"class":219},[167,73149,223],{"class":191},[167,73151,15845],{"class":173},[167,73153,73154],{"class":169,"line":5033},[167,73155,209],{"emptyLinePlaceholder":208},[167,73157,73158,73160,73162,73164],{"class":169,"line":5042},[167,73159,2540],{"class":191},[167,73161,15856],{"class":173},[167,73163,15859],{"class":191},[167,73165,15862],{"class":173},[167,73167,73168,73170,73172],{"class":169,"line":6752},[167,73169,15867],{"class":173},[167,73171,267],{"class":191},[167,73173,15872],{"class":173},[167,73175,73176],{"class":169,"line":6774},[167,73177,3488],{"class":173},[167,73179,73180],{"class":169,"line":6779},[167,73181,403],{"class":173},[167,73183,73184,73186,73188],{"class":169,"line":6784},[167,73185,282],{"class":173},[167,73187,178],{"class":177},[167,73189,185],{"class":173},[167,73191,73192],{"class":169,"line":6789},[167,73193,209],{"emptyLinePlaceholder":208},[167,73195,73196,73198,73200],{"class":169,"line":6805},[167,73197,174],{"class":173},[167,73199,299],{"class":177},[167,73201,185],{"class":173},[167,73203,73204,73206,73208,73210,73212,73214],{"class":169,"line":6820},[167,73205,307],{"class":173},[167,73207,10113],{"class":177},[167,73209,1240],{"class":181},[167,73211,267],{"class":173},[167,73213,15913],{"class":201},[167,73215,185],{"class":173},[167,73217,73218,73220,73222,73224,73226,73228],{"class":169,"line":6825},[167,73219,1252],{"class":173},[167,73221,507],{"class":177},[167,73223,1177],{"class":181},[167,73225,267],{"class":173},[167,73227,15928],{"class":201},[167,73229,185],{"class":173},[167,73231,73232],{"class":169,"line":6832},[167,73233,15935],{"class":173},[167,73235,73236,73238,73240],{"class":169,"line":6841},[167,73237,1287],{"class":173},[167,73239,507],{"class":177},[167,73241,185],{"class":173},[167,73243,73244],{"class":169,"line":6850},[167,73245,209],{"emptyLinePlaceholder":208},[167,73247,73248,73250],{"class":169,"line":6857},[167,73249,1252],{"class":173},[167,73251,15954],{"class":177},[167,73253,73254,73256,73258],{"class":169,"line":6875},[167,73255,15959],{"class":181},[167,73257,267],{"class":173},[167,73259,15964],{"class":201},[167,73261,73262,73264,73266],{"class":169,"line":6880},[167,73263,15969],{"class":181},[167,73265,267],{"class":173},[167,73267,15974],{"class":201},[167,73269,73270],{"class":169,"line":6885},[167,73271,3765],{"class":173},[167,73273,73274,73276],{"class":169,"line":6894},[167,73275,1263],{"class":173},[167,73277,12468],{"class":177},[167,73279,73280,73282,73284],{"class":169,"line":6899},[167,73281,12473],{"class":181},[167,73283,267],{"class":173},[167,73285,15993],{"class":201},[167,73287,73288,73290,73292],{"class":169,"line":6908},[167,73289,12483],{"class":181},[167,73291,267],{"class":173},[167,73293,16002],{"class":201},[167,73295,73296],{"class":169,"line":6924},[167,73297,10528],{"class":173},[167,73299,73300],{"class":169,"line":6945},[167,73301,16011],{"class":173},[167,73303,73304,73306,73308],{"class":169,"line":6950},[167,73305,10166],{"class":173},[167,73307,36],{"class":177},[167,73309,185],{"class":173},[167,73311,73312,73314,73316],{"class":169,"line":6971},[167,73313,1287],{"class":173},[167,73315,3031],{"class":177},[167,73317,185],{"class":173},[167,73319,73320,73322,73324],{"class":169,"line":6985},[167,73321,504],{"class":173},[167,73323,10113],{"class":177},[167,73325,185],{"class":173},[167,73327,73328,73330,73332],{"class":169,"line":6999},[167,73329,282],{"class":173},[167,73331,299],{"class":177},[167,73333,185],{"class":173},[154,73335,73336],{"className":156,"code":16046,"filename":12532,"language":162,"meta":163,"style":163},[87,73337,73338,73346,73354,73360,73366,73370,73382,73394,73398,73404,73408,73412,73416,73420,73426,73436,73444,73466,73470,73474,73478,73482,73488,73504,73516,73520,73524,73528,73534,73554,73558,73562,73566,73578,73582,73594,73604,73608,73612,73616,73624,73628,73636,73650,73664,73668,73676,73680,73686,73694,73702,73706,73712,73720,73728,73732,73736,73744,73752,73760],{"__ignoreMap":163},[167,73339,73340,73342,73344],{"class":169,"line":170},[167,73341,174],{"class":173},[167,73343,178],{"class":177},[167,73345,185],{"class":173},[167,73347,73348,73350,73352],{"class":169,"line":188},[167,73349,608],{"class":191},[167,73351,3987],{"class":191},[167,73353,1901],{"class":173},[167,73355,73356,73358],{"class":169,"line":205},[167,73357,7172],{"class":181},[167,73359,763],{"class":173},[167,73361,73362,73364],{"class":169,"line":160},[167,73363,1933],{"class":191},[167,73365,1901],{"class":173},[167,73367,73368],{"class":169,"line":238},[167,73369,16081],{"class":173},[167,73371,73372,73374,73376,73378,73380],{"class":169,"line":243},[167,73373,8673],{"class":173},[167,73375,1831],{"class":219},[167,73377,15629],{"class":173},[167,73379,15632],{"class":201},[167,73381,1852],{"class":173},[167,73383,73384,73386,73388,73390,73392],{"class":169,"line":261},[167,73385,8673],{"class":173},[167,73387,1849],{"class":219},[167,73389,15629],{"class":173},[167,73391,15645],{"class":201},[167,73393,599],{"class":173},[167,73395,73396],{"class":169,"line":273},[167,73397,16110],{"class":173},[167,73399,73400,73402],{"class":169,"line":279},[167,73401,16115],{"class":173},[167,73403,10677],{"class":219},[167,73405,73406],{"class":169,"line":289},[167,73407,4045],{"class":173},[167,73409,73410],{"class":169,"line":294},[167,73411,398],{"class":173},[167,73413,73414],{"class":169,"line":304},[167,73415,209],{"emptyLinePlaceholder":208},[167,73417,73418],{"class":169,"line":313},[167,73419,4415],{"class":173},[167,73421,73422,73424],{"class":169,"line":161},[167,73423,16138],{"class":181},[167,73425,763],{"class":173},[167,73427,73428,73430,73432,73434],{"class":169,"line":335},[167,73429,741],{"class":219},[167,73431,16147],{"class":173},[167,73433,15719],{"class":181},[167,73435,372],{"class":173},[167,73437,73438,73440,73442],{"class":169,"line":341},[167,73439,16156],{"class":173},[167,73441,15729],{"class":181},[167,73443,15732],{"class":173},[167,73445,73446,73448,73450,73452,73454,73456,73458,73460,73462,73464],{"class":169,"line":489},[167,73447,16165],{"class":173},[167,73449,15740],{"class":201},[167,73451,4923],{"class":219},[167,73453,1675],{"class":201},[167,73455,15743],{"class":173},[167,73457,1675],{"class":201},[167,73459,15752],{"class":219},[167,73461,15755],{"class":191},[167,73463,15758],{"class":219},[167,73465,2228],{"class":201},[167,73467,73468],{"class":169,"line":495},[167,73469,8862],{"class":173},[167,73471,73472],{"class":169,"line":501},[167,73473,4045],{"class":173},[167,73475,73476],{"class":169,"line":512},[167,73477,398],{"class":173},[167,73479,73480],{"class":169,"line":781},[167,73481,209],{"emptyLinePlaceholder":208},[167,73483,73484,73486],{"class":169,"line":786},[167,73485,16204],{"class":181},[167,73487,763],{"class":173},[167,73489,73490,73492,73494,73496,73498,73500,73502],{"class":169,"line":2674},[167,73491,7415],{"class":191},[167,73493,2522],{"class":173},[167,73495,4923],{"class":219},[167,73497,16217],{"class":173},[167,73499,6758],{"class":191},[167,73501,16222],{"class":181},[167,73503,258],{"class":173},[167,73505,73506,73508,73510,73512,73514],{"class":169,"line":2688},[167,73507,741],{"class":219},[167,73509,16231],{"class":173},[167,73511,267],{"class":191},[167,73513,7347],{"class":219},[167,73515,16238],{"class":173},[167,73517,73518],{"class":169,"line":3571},[167,73519,4045],{"class":173},[167,73521,73522],{"class":169,"line":5024},[167,73523,398],{"class":173},[167,73525,73526],{"class":169,"line":5033},[167,73527,209],{"emptyLinePlaceholder":208},[167,73529,73530,73532],{"class":169,"line":5042},[167,73531,16255],{"class":181},[167,73533,763],{"class":173},[167,73535,73536,73538,73540,73542,73544,73546,73548,73550,73552],{"class":169,"line":6752},[167,73537,7415],{"class":191},[167,73539,2522],{"class":173},[167,73541,6637],{"class":191},[167,73543,229],{"class":173},[167,73545,4923],{"class":219},[167,73547,16217],{"class":173},[167,73549,6758],{"class":191},[167,73551,16222],{"class":181},[167,73553,16278],{"class":173},[167,73555,73556],{"class":169,"line":6774},[167,73557,14146],{"class":191},[167,73559,73560],{"class":169,"line":6779},[167,73561,4045],{"class":173},[167,73563,73564],{"class":169,"line":6784},[167,73565,209],{"emptyLinePlaceholder":208},[167,73567,73568,73570,73572,73574,73576],{"class":169,"line":6789},[167,73569,8262],{"class":191},[167,73571,15840],{"class":219},[167,73573,223],{"class":191},[167,73575,7347],{"class":219},[167,73577,16238],{"class":173},[167,73579,73580],{"class":169,"line":6805},[167,73581,209],{"emptyLinePlaceholder":208},[167,73583,73584,73586,73588,73590,73592],{"class":169,"line":6820},[167,73585,7415],{"class":191},[167,73587,15856],{"class":173},[167,73589,15859],{"class":191},[167,73591,7347],{"class":219},[167,73593,16319],{"class":173},[167,73595,73596,73598,73600,73602],{"class":169,"line":6825},[167,73597,741],{"class":219},[167,73599,16326],{"class":173},[167,73601,267],{"class":191},[167,73603,15872],{"class":173},[167,73605,73606],{"class":169,"line":6832},[167,73607,4045],{"class":173},[167,73609,73610],{"class":169,"line":6841},[167,73611,3488],{"class":173},[167,73613,73614],{"class":169,"line":6850},[167,73615,276],{"class":173},[167,73617,73618,73620,73622],{"class":169,"line":6857},[167,73619,282],{"class":173},[167,73621,178],{"class":177},[167,73623,185],{"class":173},[167,73625,73626],{"class":169,"line":6875},[167,73627,209],{"emptyLinePlaceholder":208},[167,73629,73630,73632,73634],{"class":169,"line":6880},[167,73631,174],{"class":173},[167,73633,299],{"class":177},[167,73635,185],{"class":173},[167,73637,73638,73640,73642,73644,73646,73648],{"class":169,"line":6885},[167,73639,307],{"class":173},[167,73641,10113],{"class":177},[167,73643,1240],{"class":181},[167,73645,267],{"class":173},[167,73647,15913],{"class":201},[167,73649,185],{"class":173},[167,73651,73652,73654,73656,73658,73660,73662],{"class":169,"line":6894},[167,73653,1252],{"class":173},[167,73655,507],{"class":177},[167,73657,1177],{"class":181},[167,73659,267],{"class":173},[167,73661,15928],{"class":201},[167,73663,185],{"class":173},[167,73665,73666],{"class":169,"line":6899},[167,73667,15935],{"class":173},[167,73669,73670,73672,73674],{"class":169,"line":6908},[167,73671,1287],{"class":173},[167,73673,507],{"class":177},[167,73675,185],{"class":173},[167,73677,73678],{"class":169,"line":6924},[167,73679,209],{"emptyLinePlaceholder":208},[167,73681,73682,73684],{"class":169,"line":6945},[167,73683,1252],{"class":173},[167,73685,15954],{"class":177},[167,73687,73688,73690,73692],{"class":169,"line":6950},[167,73689,15959],{"class":181},[167,73691,267],{"class":173},[167,73693,15964],{"class":201},[167,73695,73696,73698,73700],{"class":169,"line":6971},[167,73697,15969],{"class":181},[167,73699,267],{"class":173},[167,73701,15974],{"class":201},[167,73703,73704],{"class":169,"line":6985},[167,73705,3765],{"class":173},[167,73707,73708,73710],{"class":169,"line":6999},[167,73709,1263],{"class":173},[167,73711,12468],{"class":177},[167,73713,73714,73716,73718],{"class":169,"line":7013},[167,73715,12473],{"class":181},[167,73717,267],{"class":173},[167,73719,15993],{"class":201},[167,73721,73722,73724,73726],{"class":169,"line":7022},[167,73723,12483],{"class":181},[167,73725,267],{"class":173},[167,73727,16002],{"class":201},[167,73729,73730],{"class":169,"line":7027},[167,73731,10528],{"class":173},[167,73733,73734],{"class":169,"line":7044},[167,73735,16011],{"class":173},[167,73737,73738,73740,73742],{"class":169,"line":7053},[167,73739,10166],{"class":173},[167,73741,36],{"class":177},[167,73743,185],{"class":173},[167,73745,73746,73748,73750],{"class":169,"line":7551},[167,73747,1287],{"class":173},[167,73749,3031],{"class":177},[167,73751,185],{"class":173},[167,73753,73754,73756,73758],{"class":169,"line":7556},[167,73755,504],{"class":173},[167,73757,10113],{"class":177},[167,73759,185],{"class":173},[167,73761,73762,73764,73766],{"class":169,"line":7575},[167,73763,282],{"class":173},[167,73765,299],{"class":177},[167,73767,185],{"class":173},[33,73769,73770,73774],{},[36,73771,73772,16501],{},[87,73773,15085],{},[36,73775,73776,16506],{},[87,73777,15090],{},[11,73779,7674],{"id":7673},[33,73781,73782,73788,73794,73800,73804],{},[36,73783,73784,16515,73786,1675],{},[87,73785,15030],{},[3929,73787,16518],{},[36,73789,73790,16523,73792,16527],{},[87,73791,15033],{},[3929,73793,16526],{},[36,73795,16530,73796,1675],{},[3929,73797,73798,16535],{},[87,73799,1661],{},[36,73801,16538,73802,16542],{},[3929,73803,16541],{},[36,73805,16545,73806],{},[3929,73807,16548,73808,16551],{},[87,73809,15033],{},[924,73811,16554],{},{"title":163,"searchDepth":188,"depth":188,"links":73813},[73814,73815,73816,73817,73818,73819,73820],{"id":15233,"depth":188,"text":16558},{"id":15269,"depth":188,"text":16560},{"id":15392,"depth":188,"text":16562},{"id":15414,"depth":188,"text":15415},{"id":15452,"depth":188,"text":15453},{"id":15465,"depth":188,"text":15466},{"id":15481,"depth":188,"text":15482},{"updatedAt":16572,"coverCaption":16573,"author":945,"keywords":73822},[3254,15030,15033,15341,16575],[73824],{"headline":15021,"author":73825,"datePublished":16572,"@type":959},{"name":945,"@type":958},{"title":15021,"description":16570},[73828,73829,73830,73831,73832],{"tag":7720,"color":7721},{"tag":1622,"color":1635},{"tag":9165,"color":9166},{"tag":3265,"color":3266},{"tag":5420,"color":5421},{"id":16590,"title":16591,"body":73834,"cover":17826,"coverAlt":17827,"date":17828,"description":17829,"draft":1617,"extension":940,"lab":941,"locale":942,"meta":74906,"navigation":208,"path":17835,"schemaOrg":74908,"seo":74911,"series":7714,"seriesDescription":7715,"seriesOrder":205,"seriesTitle":7716,"slug":941,"stem":17840,"tags":74912,"__hash__":17846},{"type":8,"value":73835,"toc":74888},[73836,73842,73846,73848,73850,73854,73856,73866,73868,73878,73880,73900,73908,73910,73912,73914,73924,73928,73936,73938,73940,73946,73968,73970,73972,74012,74022,74024,74028,74032,74034,74046,74050,74054,74060,74066,74070,74184,74190,74194,74196,74198,74214,74222,74352,74358,74360,74364,74370,74374,74376,74378,74382,74384,74388,74390,74392,74626,74858,74868,74870,74886],[11,73837,16597,73838,1020,73840,6215],{"id":16596},[87,73839,16600],{},[87,73841,6389],{},[15,73843,16605,73844,16608],{},[87,73845,6389],{},[15,73847,16611],{},[22,73849,6253],{"id":6252},[15,73851,16616,73852,1675],{},[3929,73853,16619],{},[15,73855,16622],{},[33,73857,73858,73862],{},[36,73859,73860,16629],{},[87,73861,16600],{},[36,73863,73864,16634],{},[87,73865,6389],{},[15,73867,16637],{},[33,73869,73870,73874],{},[36,73871,73872],{},[87,73873,16644],{},[36,73875,73876],{},[87,73877,6396],{},[15,73879,16651],{},[33,73881,73882,73888,73894],{},[36,73883,16656,73884,16660,73886,1675],{},[3929,73885,16659],{},[87,73887,16663],{},[36,73889,13596,73890,16669,73892,1675],{},[3929,73891,16668],{},[87,73893,6389],{},[36,73895,16674,73896,16677,73898,1675],{},[87,73897,16600],{},[87,73899,16663],{},[15,73901,16682,73902,16691],{},[3929,73903,16685,73904,6414,73906,16690],{},[87,73905,16600],{},[87,73907,6389],{},[22,73909,6318],{"id":6317},[15,73911,16696],{},[15,73913,9304],{},[33,73915,73916,73918,73920,73922],{},[36,73917,16703],{},[36,73919,16706],{},[36,73921,16709],{},[36,73923,16712],{},[15,73925,73926,16717],{},[87,73927,16600],{},[33,73929,73930,73932,73934],{},[36,73931,16722],{},[36,73933,16725],{},[36,73935,16728],{},[22,73937,6345],{"id":6344},[15,73939,16733],{},[15,73941,13618,73942,1023,73944,13623],{},[87,73943,16600],{},[87,73945,6389],{},[33,73947,73948,73952,73960,73964],{},[36,73949,16744,73950,1675],{},[3929,73951,16747],{},[36,73953,16750,73954,16753,73956,16756,73958,1675],{},[87,73955,1661],{},[87,73957,1657],{},[3929,73959,16759],{},[36,73961,16762,73962,16765],{},[87,73963,6389],{},[36,73965,16768,73966,1675],{},[3929,73967,16771],{},[15,73969,16774],{},[22,73971,13669],{"id":13668},[56,73973,73974,73986],{},[59,73975,73976],{},[62,73977,73978,73980,73982,73984],{},[65,73979,11376],{},[65,73981,16787],{},[65,73983,16790],{},[65,73985,16793],{},[75,73987,73988,74000],{},[62,73989,73990,73994,73996,73998],{},[80,73991,73992],{},[87,73993,16600],{},[80,73995,16804],{},[80,73997,16807],{},[80,73999,16810],{},[62,74001,74002,74006,74008,74010],{},[80,74003,74004],{},[87,74005,6389],{},[80,74007,16819],{},[80,74009,16822],{},[80,74011,16825],{},[15,74013,16828,74014,16831,74016,16834,74018,16837,74020,1675],{},[87,74015,6389],{},[87,74017,16600],{},[87,74019,16600],{},[3929,74021,16840],{},[22,74023,3081],{"id":3080},[3083,74025,16846,74026],{"id":16845},[87,74027,16600],{},[15,74029,16851,74030,16854],{},[87,74031,16600],{},[15,74033,16857],{},[33,74035,74036,74040,74044],{},[36,74037,74038],{},[87,74039,16864],{},[36,74041,74042],{},[87,74043,16869],{},[36,74045,16872],{},[15,74047,16875,74048,1675],{},[87,74049,6389],{},[3083,74051,16881,74052,16884],{"id":16880},[87,74053,6389],{},[15,74055,16887,74056,16891,74058,16894],{},[87,74057,16890],{},[87,74059,6389],{},[15,74061,74062,16899,74064,16903],{},[87,74063,6389],{},[3929,74065,16902],{},[15,74067,16906,74068,583],{},[87,74069,6389],{},[154,74071,74072],{"className":156,"code":16911,"filename":15280,"language":162,"meta":163,"style":163},[87,74073,74074,74090,74100,74104,74116,74120,74130,74148,74162,74166,74170,74176],{"__ignoreMap":163},[167,74075,74076,74078,74080,74082,74084,74086,74088],{"class":169,"line":170},[167,74077,174],{"class":173},[167,74079,178],{"class":177},[167,74081,182],{"class":181},[167,74083,1045],{"class":181},[167,74085,267],{"class":173},[167,74087,1050],{"class":201},[167,74089,185],{"class":173},[167,74091,74092,74094,74096,74098],{"class":169,"line":188},[167,74093,192],{"class":191},[167,74095,195],{"class":173},[167,74097,198],{"class":191},[167,74099,202],{"class":201},[167,74101,74102],{"class":169,"line":205},[167,74103,209],{"emptyLinePlaceholder":208},[167,74105,74106,74108,74110,74112,74114],{"class":169,"line":160},[167,74107,216],{"class":191},[167,74109,16950],{"class":219},[167,74111,223],{"class":191},[167,74113,226],{"class":181},[167,74115,16957],{"class":173},[167,74117,74118],{"class":169,"line":238},[167,74119,209],{"emptyLinePlaceholder":208},[167,74121,74122,74124,74126,74128],{"class":169,"line":243},[167,74123,2519],{"class":191},[167,74125,1427],{"class":191},[167,74127,16970],{"class":181},[167,74129,763],{"class":173},[167,74131,74132,74134,74136,74138,74140,74142,74144,74146],{"class":169,"line":261},[167,74133,1438],{"class":191},[167,74135,16979],{"class":219},[167,74137,223],{"class":191},[167,74139,3005],{"class":191},[167,74141,6617],{"class":181},[167,74143,229],{"class":173},[167,74145,16990],{"class":201},[167,74147,235],{"class":173},[167,74149,74150,74152,74154,74156,74158,74160],{"class":169,"line":273},[167,74151,16997],{"class":173},[167,74153,267],{"class":191},[167,74155,3005],{"class":191},[167,74157,17004],{"class":173},[167,74159,6682],{"class":181},[167,74161,2913],{"class":173},[167,74163,74164],{"class":169,"line":279},[167,74165,276],{"class":173},[167,74167,74168],{"class":169,"line":289},[167,74169,209],{"emptyLinePlaceholder":208},[167,74171,74172,74174],{"class":169,"line":294},[167,74173,17021],{"class":181},[167,74175,2913],{"class":173},[167,74177,74178,74180,74182],{"class":169,"line":304},[167,74179,282],{"class":173},[167,74181,178],{"class":177},[167,74183,185],{"class":173},[5363,74185,74186],{},[15,74187,17036,74188,1675],{},[87,74189,16663],{},[3083,74191,17042,74192,17045],{"id":17041},[87,74193,6389],{},[15,74195,17048],{},[15,74197,17051],{},[33,74199,74200,74202,74206,74210],{},[36,74201,17056],{},[36,74203,74204],{},[87,74205,11479],{},[36,74207,74208],{},[87,74209,13582],{},[36,74211,74212],{},[87,74213,13757],{},[15,74215,17071,74216,17074,74218,90,74220,1675],{},[87,74217,6389],{},[87,74219,13468],{},[87,74221,14246],{},[154,74223,74224],{"className":156,"code":17081,"filename":15280,"language":162,"meta":163,"style":163},[87,74225,74226,74242,74252,74256,74266,74270,74280,74296,74308,74316,74320,74324,74334,74340,74344],{"__ignoreMap":163},[167,74227,74228,74230,74232,74234,74236,74238,74240],{"class":169,"line":170},[167,74229,174],{"class":173},[167,74231,178],{"class":177},[167,74233,182],{"class":181},[167,74235,1045],{"class":181},[167,74237,267],{"class":173},[167,74239,1050],{"class":201},[167,74241,185],{"class":173},[167,74243,74244,74246,74248,74250],{"class":169,"line":188},[167,74245,192],{"class":191},[167,74247,17106],{"class":173},[167,74249,198],{"class":191},[167,74251,202],{"class":201},[167,74253,74254],{"class":169,"line":205},[167,74255,209],{"emptyLinePlaceholder":208},[167,74257,74258,74260,74262,74264],{"class":169,"line":160},[167,74259,13944],{"class":191},[167,74261,17121],{"class":173},[167,74263,583],{"class":191},[167,74265,6506],{"class":219},[167,74267,74268],{"class":169,"line":238},[167,74269,209],{"emptyLinePlaceholder":208},[167,74271,74272,74274,74276,74278],{"class":169,"line":243},[167,74273,6792],{"class":181},[167,74275,1488],{"class":173},[167,74277,639],{"class":191},[167,74279,1901],{"class":173},[167,74281,74282,74284,74286,74288,74290,74292,74294],{"class":169,"line":261},[167,74283,17144],{"class":173},[167,74285,267],{"class":191},[167,74287,1493],{"class":173},[167,74289,11479],{"class":181},[167,74291,1488],{"class":173},[167,74293,639],{"class":191},[167,74295,1901],{"class":173},[167,74297,74298,74300,74302,74304,74306],{"class":169,"line":273},[167,74299,8890],{"class":173},[167,74301,2607],{"class":181},[167,74303,229],{"class":173},[167,74305,17167],{"class":201},[167,74307,235],{"class":173},[167,74309,74310,74312,74314],{"class":169,"line":279},[167,74311,1953],{"class":173},[167,74313,17176],{"class":219},[167,74315,235],{"class":173},[167,74317,74318],{"class":169,"line":289},[167,74319,403],{"class":173},[167,74321,74322],{"class":169,"line":294},[167,74323,209],{"emptyLinePlaceholder":208},[167,74325,74326,74328,74330,74332],{"class":169,"line":304},[167,74327,14246],{"class":181},[167,74329,1488],{"class":173},[167,74331,639],{"class":191},[167,74333,1901],{"class":173},[167,74335,74336,74338],{"class":169,"line":313},[167,74337,12130],{"class":181},[167,74339,17203],{"class":173},[167,74341,74342],{"class":169,"line":161},[167,74343,403],{"class":173},[167,74345,74346,74348,74350],{"class":169,"line":335},[167,74347,282],{"class":173},[167,74349,178],{"class":177},[167,74351,185],{"class":173},[5363,74353,74354],{},[15,74355,17220,74356,1675],{},[3929,74357,17223],{},[3083,74359,17227],{"id":17226},[15,74361,17230,74362,1675],{},[3929,74363,17233],{},[15,74365,17236,74366,17239,74368,1675],{},[87,74367,6389],{},[3929,74369,17242],{},[15,74371,17245,74372,1675],{},[87,74373,17248],{},[22,74375,7993],{"id":7992},[3083,74377,17254],{"id":17253},[15,74379,17257,74380,1675],{},[87,74381,16864],{},[3083,74383,17263],{"id":17262},[15,74385,17266,74386,1675],{},[87,74387,6389],{},[3083,74389,17272],{"id":17271},[15,74391,17275],{},[154,74393,74394],{"className":156,"code":17278,"filename":3256,"language":162,"meta":163,"style":163},[87,74395,74396,74412,74422,74426,74450,74466,74470,74480,74488,74492,74496,74506,74514,74522,74526,74534,74538,74546,74560,74572,74576,74582,74590,74598,74606,74610,74618],{"__ignoreMap":163},[167,74397,74398,74400,74402,74404,74406,74408,74410],{"class":169,"line":170},[167,74399,174],{"class":173},[167,74401,178],{"class":177},[167,74403,182],{"class":181},[167,74405,1045],{"class":181},[167,74407,267],{"class":173},[167,74409,1050],{"class":201},[167,74411,185],{"class":173},[167,74413,74414,74416,74418,74420],{"class":169,"line":188},[167,74415,192],{"class":191},[167,74417,17303],{"class":173},[167,74419,198],{"class":191},[167,74421,202],{"class":201},[167,74423,74424],{"class":169,"line":205},[167,74425,209],{"emptyLinePlaceholder":208},[167,74427,74428,74430,74432,74434,74436,74438,74440,74442,74444,74446,74448],{"class":169,"line":160},[167,74429,216],{"class":191},[167,74431,17318],{"class":219},[167,74433,223],{"class":191},[167,74435,226],{"class":181},[167,74437,174],{"class":173},[167,74439,17327],{"class":181},[167,74441,659],{"class":191},[167,74443,6563],{"class":219},[167,74445,6566],{"class":173},[167,74447,6569],{"class":219},[167,74449,235],{"class":173},[167,74451,74452,74454,74456,74458,74460,74462,74464],{"class":169,"line":238},[167,74453,216],{"class":191},[167,74455,11696],{"class":219},[167,74457,223],{"class":191},[167,74459,226],{"class":181},[167,74461,229],{"class":173},[167,74463,17352],{"class":201},[167,74465,235],{"class":173},[167,74467,74468],{"class":169,"line":243},[167,74469,209],{"emptyLinePlaceholder":208},[167,74471,74472,74474,74476,74478],{"class":169,"line":261},[167,74473,17363],{"class":181},[167,74475,1488],{"class":173},[167,74477,639],{"class":191},[167,74479,1901],{"class":173},[167,74481,74482,74484,74486],{"class":169,"line":273},[167,74483,11912],{"class":173},[167,74485,267],{"class":191},[167,74487,17378],{"class":201},[167,74489,74490],{"class":169,"line":279},[167,74491,403],{"class":173},[167,74493,74494],{"class":169,"line":289},[167,74495,209],{"emptyLinePlaceholder":208},[167,74497,74498,74500,74502,74504],{"class":169,"line":294},[167,74499,6792],{"class":181},[167,74501,1488],{"class":173},[167,74503,639],{"class":191},[167,74505,1901],{"class":173},[167,74507,74508,74510,74512],{"class":169,"line":304},[167,74509,17401],{"class":173},[167,74511,17404],{"class":181},[167,74513,2913],{"class":173},[167,74515,74516,74518,74520],{"class":169,"line":313},[167,74517,11912],{"class":173},[167,74519,267],{"class":191},[167,74521,17415],{"class":201},[167,74523,74524],{"class":169,"line":161},[167,74525,403],{"class":173},[167,74527,74528,74530,74532],{"class":169,"line":335},[167,74529,282],{"class":173},[167,74531,178],{"class":177},[167,74533,185],{"class":173},[167,74535,74536],{"class":169,"line":341},[167,74537,209],{"emptyLinePlaceholder":208},[167,74539,74540,74542,74544],{"class":169,"line":489},[167,74541,174],{"class":173},[167,74543,299],{"class":177},[167,74545,185],{"class":173},[167,74547,74548,74550,74552,74554,74556,74558],{"class":169,"line":495},[167,74549,307],{"class":173},[167,74551,10113],{"class":177},[167,74553,1240],{"class":181},[167,74555,267],{"class":173},[167,74557,17452],{"class":201},[167,74559,185],{"class":173},[167,74561,74562,74564,74566,74568,74570],{"class":169,"line":501},[167,74563,1252],{"class":173},[167,74565,15],{"class":177},[167,74567,12330],{"class":173},[167,74569,15],{"class":177},[167,74571,185],{"class":173},[167,74573,74574],{"class":169,"line":512},[167,74575,209],{"emptyLinePlaceholder":208},[167,74577,74578,74580],{"class":169,"line":781},[167,74579,1252],{"class":173},[167,74581,17477],{"class":177},[167,74583,74584,74586,74588],{"class":169,"line":786},[167,74585,15959],{"class":181},[167,74587,267],{"class":173},[167,74589,17486],{"class":201},[167,74591,74592,74594,74596],{"class":169,"line":2674},[167,74593,3735],{"class":181},[167,74595,267],{"class":173},[167,74597,17495],{"class":201},[167,74599,74600,74602,74604],{"class":169,"line":2688},[167,74601,17500],{"class":181},[167,74603,267],{"class":173},[167,74605,17505],{"class":201},[167,74607,74608],{"class":169,"line":3571},[167,74609,3765],{"class":173},[167,74611,74612,74614,74616],{"class":169,"line":5024},[167,74613,504],{"class":173},[167,74615,10113],{"class":177},[167,74617,185],{"class":173},[167,74619,74620,74622,74624],{"class":169,"line":5033},[167,74621,282],{"class":173},[167,74623,299],{"class":177},[167,74625,185],{"class":173},[154,74627,74628],{"className":156,"code":17528,"filename":3969,"language":162,"meta":163,"style":163},[87,74629,74630,74638,74646,74652,74658,74664,74668,74672,74676,74682,74692,74696,74700,74706,74716,74720,74736,74746,74750,74754,74758,74766,74770,74778,74792,74804,74808,74814,74822,74830,74838,74842,74850],{"__ignoreMap":163},[167,74631,74632,74634,74636],{"class":169,"line":170},[167,74633,174],{"class":173},[167,74635,178],{"class":177},[167,74637,185],{"class":173},[167,74639,74640,74642,74644],{"class":169,"line":188},[167,74641,608],{"class":191},[167,74643,3987],{"class":191},[167,74645,1901],{"class":173},[167,74647,74648,74650],{"class":169,"line":205},[167,74649,7172],{"class":181},[167,74651,763],{"class":173},[167,74653,74654,74656],{"class":169,"line":160},[167,74655,1933],{"class":191},[167,74657,1901],{"class":173},[167,74659,74660,74662],{"class":169,"line":238},[167,74661,12581],{"class":173},[167,74663,17565],{"class":201},[167,74665,74666],{"class":169,"line":243},[167,74667,4045],{"class":173},[167,74669,74670],{"class":169,"line":261},[167,74671,398],{"class":173},[167,74673,74674],{"class":169,"line":273},[167,74675,209],{"emptyLinePlaceholder":208},[167,74677,74678,74680],{"class":169,"line":279},[167,74679,17582],{"class":181},[167,74681,763],{"class":173},[167,74683,74684,74686,74688,74690],{"class":169,"line":289},[167,74685,879],{"class":219},[167,74687,12782],{"class":173},[167,74689,267],{"class":191},[167,74691,17595],{"class":201},[167,74693,74694],{"class":169,"line":294},[167,74695,398],{"class":173},[167,74697,74698],{"class":169,"line":304},[167,74699,209],{"emptyLinePlaceholder":208},[167,74701,74702,74704],{"class":169,"line":313},[167,74703,12745],{"class":181},[167,74705,763],{"class":173},[167,74707,74708,74710,74712,74714],{"class":169,"line":161},[167,74709,879],{"class":219},[167,74711,12782],{"class":173},[167,74713,267],{"class":191},[167,74715,17415],{"class":201},[167,74717,74718],{"class":169,"line":335},[167,74719,209],{"emptyLinePlaceholder":208},[167,74721,74722,74724,74726,74728,74730,74732,74734],{"class":169,"line":341},[167,74723,7415],{"class":191},[167,74725,2522],{"class":173},[167,74727,4923],{"class":219},[167,74729,17634],{"class":173},[167,74731,6758],{"class":191},[167,74733,17639],{"class":181},[167,74735,258],{"class":173},[167,74737,74738,74740,74742,74744],{"class":169,"line":489},[167,74739,741],{"class":219},[167,74741,17648],{"class":173},[167,74743,17404],{"class":181},[167,74745,2913],{"class":173},[167,74747,74748],{"class":169,"line":495},[167,74749,4045],{"class":173},[167,74751,74752],{"class":169,"line":501},[167,74753,3488],{"class":173},[167,74755,74756],{"class":169,"line":512},[167,74757,276],{"class":173},[167,74759,74760,74762,74764],{"class":169,"line":781},[167,74761,282],{"class":173},[167,74763,178],{"class":177},[167,74765,185],{"class":173},[167,74767,74768],{"class":169,"line":786},[167,74769,209],{"emptyLinePlaceholder":208},[167,74771,74772,74774,74776],{"class":169,"line":2674},[167,74773,174],{"class":173},[167,74775,299],{"class":177},[167,74777,185],{"class":173},[167,74779,74780,74782,74784,74786,74788,74790],{"class":169,"line":2688},[167,74781,307],{"class":173},[167,74783,10113],{"class":177},[167,74785,1240],{"class":181},[167,74787,267],{"class":173},[167,74789,17452],{"class":201},[167,74791,185],{"class":173},[167,74793,74794,74796,74798,74800,74802],{"class":169,"line":3571},[167,74795,1252],{"class":173},[167,74797,15],{"class":177},[167,74799,12330],{"class":173},[167,74801,15],{"class":177},[167,74803,185],{"class":173},[167,74805,74806],{"class":169,"line":5024},[167,74807,209],{"emptyLinePlaceholder":208},[167,74809,74810,74812],{"class":169,"line":5033},[167,74811,1252],{"class":173},[167,74813,17477],{"class":177},[167,74815,74816,74818,74820],{"class":169,"line":5042},[167,74817,15959],{"class":181},[167,74819,267],{"class":173},[167,74821,17486],{"class":201},[167,74823,74824,74826,74828],{"class":169,"line":6752},[167,74825,3735],{"class":181},[167,74827,267],{"class":173},[167,74829,17495],{"class":201},[167,74831,74832,74834,74836],{"class":169,"line":6774},[167,74833,17500],{"class":181},[167,74835,267],{"class":173},[167,74837,17505],{"class":201},[167,74839,74840],{"class":169,"line":6779},[167,74841,3765],{"class":173},[167,74843,74844,74846,74848],{"class":169,"line":6784},[167,74845,504],{"class":173},[167,74847,10113],{"class":177},[167,74849,185],{"class":173},[167,74851,74852,74854,74856],{"class":169,"line":6789},[167,74853,282],{"class":173},[167,74855,299],{"class":177},[167,74857,185],{"class":173},[5363,74859,74860],{},[15,74861,17769,74862,17772,74864,17775,74866,17778],{},[87,74863,16644],{},[87,74865,16864],{},[87,74867,6396],{},[22,74869,7674],{"id":7673},[33,74871,74872,74876,74882],{},[36,74873,74874,17787],{},[87,74875,16600],{},[36,74877,74878,17792,74880,17796],{},[87,74879,6389],{},[3929,74881,17795],{},[36,74883,17799,74884,1675],{},[3929,74885,17802],{},[924,74887,16554],{},{"title":163,"searchDepth":188,"depth":188,"links":74889},[74890,74891,74892,74893,74894,74900,74905],{"id":6252,"depth":188,"text":6253},{"id":6317,"depth":188,"text":6318},{"id":6344,"depth":188,"text":6345},{"id":13668,"depth":188,"text":13669},{"id":3080,"depth":188,"text":3081,"children":74895},[74896,74897,74898,74899],{"id":16845,"depth":205,"text":17814},{"id":16880,"depth":205,"text":17816},{"id":17041,"depth":205,"text":17818},{"id":17226,"depth":205,"text":17227},{"id":7992,"depth":188,"text":7993,"children":74901},[74902,74903,74904],{"id":17253,"depth":205,"text":17254},{"id":17262,"depth":205,"text":17263},{"id":17271,"depth":205,"text":17272},{"id":7673,"depth":188,"text":7674},{"updatedAt":17831,"coverCaption":17832,"author":945,"keywords":74907},[3254,16600,6389,6792,17834],[74909],{"headline":16591,"author":74910,"datePublished":17831,"@type":959},{"name":945,"@type":958},{"title":16591,"description":17829},[74913,74914,74915,74916],{"tag":7720,"color":7721},{"tag":1622,"color":1635},{"tag":9165,"color":9166},{"tag":5420,"color":5421},{"id":17848,"title":17849,"body":74918,"cover":18976,"coverAlt":18977,"date":18978,"description":18979,"draft":1617,"extension":940,"lab":941,"locale":942,"meta":75898,"navigation":208,"path":18984,"schemaOrg":75900,"seo":75903,"series":7714,"seriesDescription":7715,"seriesOrder":188,"seriesTitle":7716,"slug":941,"stem":18989,"tags":75904,"__hash__":18995},{"type":8,"value":74919,"toc":75884},[74920,74928,74932,74938,74944,74946,74950,74966,74978,74980,75000,75004,75010,75012,75026,75030,75034,75092,75096,75104,75106,75114,75220,75224,75230,75234,75254,75260,75398,75406,75458,75460,75466,75472,75474,75484,75488,75496,75498,75502,75504,75508,75688,75858,75860,75882],[11,74921,17855,74922,1020,74924,1020,74926,6215],{"id":17854},[87,74923,17858],{},[87,74925,17861],{},[87,74927,16663],{},[15,74929,17866,74930],{},[3929,74931,17869],{},[15,74933,17872,74934,17875,74936,1675],{},[3929,74935,3969],{},[3929,74937,3256],{},[15,74939,17880,74940,17884,74942,1675],{},[3929,74941,17883],{},[3929,74943,17887],{},[22,74945,17891],{"id":17890},[15,74947,17894,74948,17897],{},[3929,74949,3969],{},[3031,74951,74952,74956,74960],{},[36,74953,74954],{},[87,74955,17858],{},[36,74957,74958],{},[87,74959,17861],{},[36,74961,17910,74962,11223,74964,6215],{},[87,74963,16600],{},[87,74965,6389],{},[15,74967,3806,74968,17919,74970,17922,74972,17926,74974,1023,74976,1675],{},[3929,74969,3256],{},[87,74971,9234],{},[3929,74973,17925],{},[87,74975,17858],{},[87,74977,17861],{},[15,74979,17933],{},[33,74981,74982,74988,74994],{},[36,74983,74984,17942],{},[3929,74985,74986],{},[87,74987,17858],{},[36,74989,74990,17949],{},[3929,74991,74992],{},[87,74993,17861],{},[36,74995,74996,17956],{},[3929,74997,74998],{},[87,74999,16663],{},[22,75001,75002,17962],{"id":17959},[87,75003,17858],{},[15,75005,75006,15246,75008,1675],{},[87,75007,17858],{},[3929,75009,17969],{},[15,75011,17972],{},[33,75013,75014,75018,75022],{},[36,75015,75016],{},[87,75017,17979],{},[36,75019,75020],{},[87,75021,1657],{},[36,75023,75024],{},[87,75025,17988],{},[15,75027,17991,75028,17995],{},[3929,75029,17994],{},[15,75031,17998,75032,1675],{},[3929,75033,18001],{},[154,75035,75037],{"className":156,"code":18004,"filename":15280,"highlights":75036,"language":162,"meta":163,"style":163},[205,160,238],[87,75038,75039,75047,75055,75062,75075,75080,75084],{"__ignoreMap":163},[167,75040,75041,75043,75045],{"class":169,"line":170},[167,75042,174],{"class":173},[167,75044,178],{"class":177},[167,75046,185],{"class":173},[167,75048,75049,75051,75053],{"class":169,"line":188},[167,75050,608],{"class":191},[167,75052,3987],{"class":191},[167,75054,1901],{"class":173},[167,75056,75058,75060],{"class":75057,"line":205},[169,213],[167,75059,18029],{"class":181},[167,75061,763],{"class":173},[167,75063,75065,75067,75069,75071,75073],{"class":75064,"line":160},[169,213],[167,75066,8890],{"class":173},[167,75068,2607],{"class":181},[167,75070,229],{"class":173},[167,75072,18043],{"class":201},[167,75074,235],{"class":173},[167,75076,75078],{"class":75077,"line":238},[169,213],[167,75079,3488],{"class":173},[167,75081,75082],{"class":169,"line":243},[167,75083,276],{"class":173},[167,75085,75086,75088,75090],{"class":169,"line":261},[167,75087,282],{"class":173},[167,75089,178],{"class":177},[167,75091,185],{"class":173},[22,75093,75094,18068],{"id":18065},[87,75095,17861],{},[15,75097,18071,75098,18074,75100,18078,75102,1675],{},[87,75099,17861],{},[3929,75101,18077],{},[3929,75103,18081],{},[15,75105,18084],{},[33,75107,75108,75110,75112],{},[36,75109,18089],{},[36,75111,18092],{},[36,75113,18095],{},[154,75115,75117],{"className":156,"code":18098,"filename":15280,"highlights":75116,"language":162,"meta":163,"style":163},[273,279,289],[87,75118,75119,75127,75135,75141,75147,75151,75155,75159,75168,75203,75208,75212],{"__ignoreMap":163},[167,75120,75121,75123,75125],{"class":169,"line":170},[167,75122,174],{"class":173},[167,75124,178],{"class":177},[167,75126,185],{"class":173},[167,75128,75129,75131,75133],{"class":169,"line":188},[167,75130,608],{"class":191},[167,75132,3987],{"class":191},[167,75134,1901],{"class":173},[167,75136,75137,75139],{"class":169,"line":205},[167,75138,7172],{"class":181},[167,75140,763],{"class":173},[167,75142,75143,75145],{"class":169,"line":160},[167,75144,1933],{"class":191},[167,75146,1901],{"class":173},[167,75148,75149],{"class":169,"line":238},[167,75150,18134],{"class":173},[167,75152,75153],{"class":169,"line":243},[167,75154,4045],{"class":173},[167,75156,75157],{"class":169,"line":261},[167,75158,398],{"class":173},[167,75160,75162,75164,75166],{"class":75161,"line":273},[169,213],[167,75163,7327],{"class":191},[167,75165,18150],{"class":181},[167,75167,763],{"class":173},[167,75169,75171,75173,75175,75177,75179,75181,75183,75185,75187,75189,75191,75193,75195,75197,75199,75201],{"class":75170,"line":279},[169,213],[167,75172,879],{"class":219},[167,75174,18160],{"class":173},[167,75176,267],{"class":191},[167,75178,3005],{"class":191},[167,75180,6617],{"class":181},[167,75182,229],{"class":173},[167,75184,16990],{"class":201},[167,75186,4266],{"class":173},[167,75188,18175],{"class":181},[167,75190,1914],{"class":173},[167,75192,18180],{"class":254},[167,75194,693],{"class":173},[167,75196,639],{"class":191},[167,75198,18187],{"class":173},[167,75200,6682],{"class":181},[167,75202,2505],{"class":173},[167,75204,75206],{"class":75205,"line":289},[169,213],[167,75207,3488],{"class":173},[167,75209,75210],{"class":169,"line":294},[167,75211,276],{"class":173},[167,75213,75214,75216,75218],{"class":169,"line":304},[167,75215,282],{"class":173},[167,75217,178],{"class":177},[167,75219,185],{"class":173},[22,75221,75222,18214],{"id":18211},[87,75223,16663],{},[15,75225,18217,75226,1020,75228,18222],{},[3929,75227,3256],{},[87,75229,9234],{},[15,75231,18225,75232,18228],{},[87,75233,16663],{},[33,75235,75236,75240,75244,75248,75252],{},[36,75237,75238],{},[87,75239,2081],{},[36,75241,75242],{},[87,75243,18239],{},[36,75245,75246],{},[87,75247,1657],{},[36,75249,75250],{},[87,75251,1661],{},[36,75253,1626],{},[15,75255,18252,75256,15246,75258,18258],{},[87,75257,16663],{},[3929,75259,18257],{},[154,75261,75263],{"className":156,"code":18261,"filename":15280,"highlights":75262,"language":162,"meta":163,"style":163},[261],[87,75264,75265,75275,75285,75289,75305,75327,75331,75344,75352,75356,75364,75378,75382,75390],{"__ignoreMap":163},[167,75266,75267,75269,75271,75273],{"class":169,"line":170},[167,75268,174],{"class":173},[167,75270,178],{"class":177},[167,75272,182],{"class":181},[167,75274,185],{"class":173},[167,75276,75277,75279,75281,75283],{"class":169,"line":188},[167,75278,192],{"class":191},[167,75280,18281],{"class":173},[167,75282,198],{"class":191},[167,75284,202],{"class":201},[167,75286,75287],{"class":169,"line":205},[167,75288,209],{"emptyLinePlaceholder":208},[167,75290,75291,75293,75295,75297,75299,75301,75303],{"class":169,"line":160},[167,75292,216],{"class":191},[167,75294,15321],{"class":219},[167,75296,223],{"class":191},[167,75298,226],{"class":181},[167,75300,229],{"class":173},[167,75302,1956],{"class":219},[167,75304,235],{"class":173},[167,75306,75307,75309,75311,75313,75315,75317,75319,75321,75323,75325],{"class":169,"line":238},[167,75308,216],{"class":191},[167,75310,18312],{"class":219},[167,75312,223],{"class":191},[167,75314,1894],{"class":181},[167,75316,1488],{"class":173},[167,75318,639],{"class":191},[167,75320,18323],{"class":173},[167,75322,1945],{"class":191},[167,75324,18328],{"class":219},[167,75326,235],{"class":173},[167,75328,75329],{"class":169,"line":243},[167,75330,209],{"emptyLinePlaceholder":208},[167,75332,75334,75336,75338,75340,75342],{"class":75333,"line":261},[169,213],[167,75335,18340],{"class":173},[167,75337,2607],{"class":181},[167,75339,229],{"class":173},[167,75341,18347],{"class":201},[167,75343,235],{"class":173},[167,75345,75346,75348,75350],{"class":169,"line":273},[167,75347,282],{"class":173},[167,75349,178],{"class":177},[167,75351,185],{"class":173},[167,75353,75354],{"class":169,"line":279},[167,75355,209],{"emptyLinePlaceholder":208},[167,75357,75358,75360,75362],{"class":169,"line":289},[167,75359,174],{"class":173},[167,75361,299],{"class":177},[167,75363,185],{"class":173},[167,75365,75366,75368,75370,75372,75374,75376],{"class":169,"line":294},[167,75367,307],{"class":173},[167,75369,507],{"class":177},[167,75371,1177],{"class":181},[167,75373,267],{"class":173},[167,75375,18382],{"class":201},[167,75377,185],{"class":173},[167,75379,75380],{"class":169,"line":304},[167,75381,18389],{"class":173},[167,75383,75384,75386,75388],{"class":169,"line":313},[167,75385,504],{"class":173},[167,75387,507],{"class":177},[167,75389,185],{"class":173},[167,75391,75392,75394,75396],{"class":169,"line":161},[167,75393,282],{"class":173},[167,75395,299],{"class":177},[167,75397,185],{"class":173},[22,75399,18409,75400,1658,75402,1658,75404],{"id":18408},[87,75401,17858],{},[87,75403,17861],{},[87,75405,16663],{},[56,75407,75408,75420],{},[59,75409,75410],{},[62,75411,75412,75414,75416,75418],{},[65,75413,18424],{},[65,75415,18427],{},[65,75417,18430],{},[65,75419,18433],{},[75,75421,75422,75434,75446],{},[62,75423,75424,75428,75430,75432],{},[80,75425,75426],{},[87,75427,17858],{},[80,75429,18444],{},[80,75431,18447],{},[80,75433,18450],{},[62,75435,75436,75440,75442,75444],{},[80,75437,75438],{},[87,75439,17861],{},[80,75441,18444],{},[80,75443,18461],{},[80,75445,18464],{},[62,75447,75448,75452,75454,75456],{},[80,75449,75450],{},[87,75451,16663],{},[80,75453,18473],{},[80,75455,18476],{},[80,75457,18479],{},[22,75459,18483],{"id":18482},[3083,75461,18487,75462,18490,75464],{"id":18486},[87,75463,17861],{},[87,75465,16663],{},[15,75467,18495,75468,18498,75470,18501],{},[87,75469,17861],{},[87,75471,16663],{},[15,75473,18504],{},[33,75475,75476,75480],{},[36,75477,75478,18511],{},[87,75479,6389],{},[36,75481,75482,18516],{},[87,75483,6792],{},[3083,75485,18520,75486,18523],{"id":18519},[87,75487,17858],{},[15,75489,18526,75490,18530,75492,18533,75494,18536],{},[3929,75491,18529],{},[87,75493,16663],{},[87,75495,17861],{},[3083,75497,18540],{"id":18539},[15,75499,18543,75500,18547],{},[3929,75501,18546],{},[22,75503,18551],{"id":18550},[15,75505,18554,75506,18558],{},[3929,75507,18557],{},[154,75509,75510],{"className":156,"code":18561,"filename":3256,"language":162,"meta":163,"style":163},[87,75511,75512,75522,75532,75536,75548,75552,75562,75594,75598,75602,75606,75612,75620,75624,75632,75640,75660,75664,75672,75680],{"__ignoreMap":163},[167,75513,75514,75516,75518,75520],{"class":169,"line":170},[167,75515,174],{"class":173},[167,75517,178],{"class":177},[167,75519,182],{"class":181},[167,75521,185],{"class":173},[167,75523,75524,75526,75528,75530],{"class":169,"line":188},[167,75525,192],{"class":191},[167,75527,195],{"class":173},[167,75529,198],{"class":191},[167,75531,202],{"class":201},[167,75533,75534],{"class":169,"line":205},[167,75535,209],{"emptyLinePlaceholder":208},[167,75537,75538,75540,75542,75544,75546],{"class":169,"line":160},[167,75539,216],{"class":191},[167,75541,16950],{"class":219},[167,75543,223],{"class":191},[167,75545,226],{"class":181},[167,75547,16957],{"class":173},[167,75549,75550],{"class":169,"line":238},[167,75551,209],{"emptyLinePlaceholder":208},[167,75553,75554,75556,75558,75560],{"class":169,"line":243},[167,75555,2519],{"class":191},[167,75557,1427],{"class":191},[167,75559,16970],{"class":181},[167,75561,763],{"class":173},[167,75563,75564,75566,75568,75570,75572,75574,75576,75578,75580,75582,75584,75586,75588,75590,75592],{"class":169,"line":261},[167,75565,16997],{"class":173},[167,75567,267],{"class":191},[167,75569,3005],{"class":191},[167,75571,6617],{"class":181},[167,75573,229],{"class":173},[167,75575,16990],{"class":201},[167,75577,4266],{"class":173},[167,75579,18175],{"class":181},[167,75581,1914],{"class":173},[167,75583,18180],{"class":254},[167,75585,693],{"class":173},[167,75587,639],{"class":191},[167,75589,18187],{"class":173},[167,75591,6682],{"class":181},[167,75593,2505],{"class":173},[167,75595,75596],{"class":169,"line":273},[167,75597,276],{"class":173},[167,75599,75600],{"class":169,"line":279},[167,75601,209],{"emptyLinePlaceholder":208},[167,75603,75604],{"class":169,"line":289},[167,75605,18659],{"class":18658},[167,75607,75608,75610],{"class":169,"line":294},[167,75609,17021],{"class":181},[167,75611,2913],{"class":173},[167,75613,75614,75616,75618],{"class":169,"line":304},[167,75615,282],{"class":173},[167,75617,178],{"class":177},[167,75619,185],{"class":173},[167,75621,75622],{"class":169,"line":313},[167,75623,209],{"emptyLinePlaceholder":208},[167,75625,75626,75628,75630],{"class":169,"line":161},[167,75627,174],{"class":173},[167,75629,299],{"class":177},[167,75631,185],{"class":173},[167,75633,75634,75636,75638],{"class":169,"line":335},[167,75635,307],{"class":173},[167,75637,33],{"class":177},[167,75639,185],{"class":173},[167,75641,75642,75644,75646,75648,75650,75652,75654,75656,75658],{"class":169,"line":341},[167,75643,1252],{"class":173},[167,75645,36],{"class":177},[167,75647,18702],{"class":181},[167,75649,267],{"class":173},[167,75651,18707],{"class":201},[167,75653,10303],{"class":181},[167,75655,267],{"class":173},[167,75657,18714],{"class":201},[167,75659,185],{"class":173},[167,75661,75662],{"class":169,"line":489},[167,75663,18721],{"class":173},[167,75665,75666,75668,75670],{"class":169,"line":495},[167,75667,1287],{"class":173},[167,75669,36],{"class":177},[167,75671,185],{"class":173},[167,75673,75674,75676,75678],{"class":169,"line":501},[167,75675,504],{"class":173},[167,75677,33],{"class":177},[167,75679,185],{"class":173},[167,75681,75682,75684,75686],{"class":169,"line":512},[167,75683,282],{"class":173},[167,75685,299],{"class":177},[167,75687,185],{"class":173},[154,75689,75690],{"className":156,"code":18748,"filename":3969,"language":162,"meta":163,"style":163},[87,75691,75692,75700,75708,75714,75720,75724,75728,75732,75740,75774,75778,75782,75790,75794,75802,75810,75830,75834,75842,75850],{"__ignoreMap":163},[167,75693,75694,75696,75698],{"class":169,"line":170},[167,75695,174],{"class":173},[167,75697,178],{"class":177},[167,75699,185],{"class":173},[167,75701,75702,75704,75706],{"class":169,"line":188},[167,75703,608],{"class":191},[167,75705,3987],{"class":191},[167,75707,1901],{"class":173},[167,75709,75710,75712],{"class":169,"line":205},[167,75711,7172],{"class":181},[167,75713,763],{"class":173},[167,75715,75716,75718],{"class":169,"line":160},[167,75717,1933],{"class":191},[167,75719,1901],{"class":173},[167,75721,75722],{"class":169,"line":238},[167,75723,18134],{"class":173},[167,75725,75726],{"class":169,"line":243},[167,75727,4045],{"class":173},[167,75729,75730],{"class":169,"line":261},[167,75731,398],{"class":173},[167,75733,75734,75736,75738],{"class":169,"line":273},[167,75735,7327],{"class":191},[167,75737,18150],{"class":181},[167,75739,763],{"class":173},[167,75741,75742,75744,75746,75748,75750,75752,75754,75756,75758,75760,75762,75764,75766,75768,75770,75772],{"class":169,"line":279},[167,75743,879],{"class":219},[167,75745,18160],{"class":173},[167,75747,267],{"class":191},[167,75749,3005],{"class":191},[167,75751,6617],{"class":181},[167,75753,229],{"class":173},[167,75755,16990],{"class":201},[167,75757,4266],{"class":173},[167,75759,18175],{"class":181},[167,75761,1914],{"class":173},[167,75763,18180],{"class":254},[167,75765,693],{"class":173},[167,75767,639],{"class":191},[167,75769,18187],{"class":173},[167,75771,6682],{"class":181},[167,75773,2505],{"class":173},[167,75775,75776],{"class":169,"line":289},[167,75777,3488],{"class":173},[167,75779,75780],{"class":169,"line":294},[167,75781,276],{"class":173},[167,75783,75784,75786,75788],{"class":169,"line":304},[167,75785,282],{"class":173},[167,75787,178],{"class":177},[167,75789,185],{"class":173},[167,75791,75792],{"class":169,"line":313},[167,75793,209],{"emptyLinePlaceholder":208},[167,75795,75796,75798,75800],{"class":169,"line":161},[167,75797,174],{"class":173},[167,75799,299],{"class":177},[167,75801,185],{"class":173},[167,75803,75804,75806,75808],{"class":169,"line":335},[167,75805,307],{"class":173},[167,75807,33],{"class":177},[167,75809,185],{"class":173},[167,75811,75812,75814,75816,75818,75820,75822,75824,75826,75828],{"class":169,"line":341},[167,75813,1252],{"class":173},[167,75815,36],{"class":177},[167,75817,18702],{"class":181},[167,75819,267],{"class":173},[167,75821,18707],{"class":201},[167,75823,10303],{"class":181},[167,75825,267],{"class":173},[167,75827,18714],{"class":201},[167,75829,185],{"class":173},[167,75831,75832],{"class":169,"line":489},[167,75833,18721],{"class":173},[167,75835,75836,75838,75840],{"class":169,"line":495},[167,75837,1287],{"class":173},[167,75839,36],{"class":177},[167,75841,185],{"class":173},[167,75843,75844,75846,75848],{"class":169,"line":501},[167,75845,504],{"class":173},[167,75847,33],{"class":177},[167,75849,185],{"class":173},[167,75851,75852,75854,75856],{"class":169,"line":512},[167,75853,282],{"class":173},[167,75855,299],{"class":177},[167,75857,185],{"class":173},[22,75859,18920],{"id":18919},[33,75861,75862,75868,75876],{},[36,75863,18925,75864,18931],{},[3929,75865,75866,18930],{},[87,75867,16663],{},[36,75869,18934,75870,18937,75872,18943],{},[3929,75871,3969],{},[3929,75873,75874,18942],{},[87,75875,17861],{},[36,75877,18946,75878,18952],{},[3929,75879,75880,18951],{},[87,75881,17858],{},[924,75883,18955],{},{"title":163,"searchDepth":188,"depth":188,"links":75885},[75886,75887,75888,75889,75890,75891,75896,75897],{"id":17890,"depth":188,"text":17891},{"id":17959,"depth":188,"text":18960},{"id":18065,"depth":188,"text":18962},{"id":18211,"depth":188,"text":18964},{"id":18408,"depth":188,"text":18966},{"id":18482,"depth":188,"text":18483,"children":75892},[75893,75894,75895],{"id":18486,"depth":205,"text":18970},{"id":18519,"depth":205,"text":18972},{"id":18539,"depth":205,"text":18540},{"id":18550,"depth":188,"text":18551},{"id":18919,"depth":188,"text":18920},{"updatedAt":18981,"coverCaption":18982,"author":945,"keywords":75899},[3254,17858,17861,16663,3256],[75901],{"headline":17849,"author":75902,"datePublished":18981,"@type":959},{"name":945,"@type":958},{"title":17849,"description":18979},[75905,75906,75907,75908],{"tag":7720,"color":7721},{"tag":1622,"color":1635},{"tag":3265,"color":3266},{"tag":5420,"color":5421},{"id":18997,"title":18998,"body":75910,"cover":21589,"coverAlt":18998,"date":21590,"description":21591,"draft":1617,"extension":940,"lab":941,"locale":942,"meta":78261,"navigation":208,"path":21598,"schemaOrg":78263,"seo":78266,"series":7714,"seriesDescription":7715,"seriesOrder":170,"seriesTitle":7716,"slug":941,"stem":21603,"tags":78267,"__hash__":21609},{"type":8,"value":75911,"toc":78240},[75912,75914,75916,75922,75924,75928,75946,75948,75962,75966,75968,75970,76004,76006,76012,76014,76018,76022,76078,76086,76090,76094,76096,76104,76206,76214,76218,76222,76224,76234,76304,76310,76312,76316,76318,76326,76332,76336,76338,76402,76458,76464,76468,76472,76474,76484,76548,76604,76606,76610,76612,76618,76622,76624,76688,76744,76750,76754,76756,76762,76826,76882,76884,76886,76890,76896,76900,76964,77020,77026,77030,77032,77040,77161,77262,77266,77272,77278,77282,77346,77402,77408,77412,77476,77532,77534,77540,77544,77618,77684,77686,77690,77692,77696,77700,77768,77828,77832,77836,77904,77964,77966,77972,77976,77978,78046,78104,78106,78108,78132,78134,78152,78156,78158,78162,78232,78238],[11,75913,19004],{"id":19003},[22,75915,6227],{"id":6226},[15,75917,19009,75918,19013,75920,19017],{},[3929,75919,19012],{},[3929,75921,19016],{},[11,75923,6253],{"id":6252},[15,75925,19022,75926,19025],{},[3929,75927,950],{},[3031,75929,75930,75934,75938,75942],{},[36,75931,75932],{},[3929,75933,19032],{},[36,75935,75936],{},[3929,75937,19037],{},[36,75939,75940],{},[3929,75941,19042],{},[36,75943,75944],{},[3929,75945,19047],{},[15,75947,19050],{},[33,75949,75950,75954,75956,75958],{},[36,75951,19055,75952],{},[87,75953,11154],{},[36,75955,19060],{},[36,75957,19063],{},[36,75959,75960],{},[3929,75961,19068],{},[15,75963,19071,75964,19075],{},[3929,75965,19074],{},[22,75967,19079],{"id":19078},[15,75969,19082],{},[33,75971,75972,75976,75980,75984,75988,75992,75996,76000],{},[36,75973,75974],{},[19088,75975,17849],{"href":19090},[36,75977,75978],{},[19088,75979,16591],{"href":19095},[36,75981,75982],{},[19088,75983,15021],{"href":19100},[36,75985,75986],{},[19088,75987,13459],{"href":19105},[36,75989,75990],{},[19088,75991,19111],{"href":19110},[36,75993,75994],{},[19088,75995,9172],{"href":19116},[36,75997,75998],{},[19088,75999,7731],{"href":19121},[36,76001,76002],{},[19088,76003,6205],{"href":19126},[11,76005,19130],{"id":19129},[15,76007,19133,76008,19137,76010,1675],{},[3929,76009,19136],{},[3929,76011,19140],{},[15,76013,19143],{},[22,76015,76016],{"id":19146},[87,76017,17858],{},[15,76019,19151,76020,1675],{},[3929,76021,19154],{},[154,76023,76025],{"className":156,"code":19157,"filename":15280,"highlights":76024,"language":162,"meta":163,"style":163},[205],[87,76026,76027,76035,76043,76050,76062,76066,76070],{"__ignoreMap":163},[167,76028,76029,76031,76033],{"class":169,"line":170},[167,76030,174],{"class":173},[167,76032,178],{"class":177},[167,76034,185],{"class":173},[167,76036,76037,76039,76041],{"class":169,"line":188},[167,76038,608],{"class":191},[167,76040,3987],{"class":191},[167,76042,1901],{"class":173},[167,76044,76046,76048],{"class":76045,"line":205},[169,213],[167,76047,18029],{"class":181},[167,76049,763],{"class":173},[167,76051,76052,76054,76056,76058,76060],{"class":169,"line":160},[167,76053,8890],{"class":173},[167,76055,2607],{"class":181},[167,76057,229],{"class":173},[167,76059,19194],{"class":201},[167,76061,235],{"class":173},[167,76063,76064],{"class":169,"line":238},[167,76065,3488],{"class":173},[167,76067,76068],{"class":169,"line":243},[167,76069,276],{"class":173},[167,76071,76072,76074,76076],{"class":169,"line":261},[167,76073,282],{"class":173},[167,76075,178],{"class":177},[167,76077,185],{"class":173},[5363,76079,76080],{},[15,76081,19217,76082,19220,76084,19223],{},[87,76083,17858],{},[87,76085,9234],{},[22,76087,76088],{"id":17861},[87,76089,17861],{},[15,76091,19230,76092,1675],{},[3929,76093,19233],{},[15,76095,19236],{},[33,76097,76098,76100,76102],{},[36,76099,19241],{},[36,76101,19244],{},[36,76103,19247],{},[154,76105,76107],{"className":156,"code":19250,"filename":15280,"highlights":76106,"language":162,"meta":163,"style":163},[273],[87,76108,76109,76117,76125,76131,76137,76141,76145,76149,76158,76190,76194,76198],{"__ignoreMap":163},[167,76110,76111,76113,76115],{"class":169,"line":170},[167,76112,174],{"class":173},[167,76114,178],{"class":177},[167,76116,185],{"class":173},[167,76118,76119,76121,76123],{"class":169,"line":188},[167,76120,608],{"class":191},[167,76122,3987],{"class":191},[167,76124,1901],{"class":173},[167,76126,76127,76129],{"class":169,"line":205},[167,76128,7172],{"class":181},[167,76130,763],{"class":173},[167,76132,76133,76135],{"class":169,"line":160},[167,76134,1933],{"class":191},[167,76136,1901],{"class":173},[167,76138,76139],{"class":169,"line":238},[167,76140,18134],{"class":173},[167,76142,76143],{"class":169,"line":243},[167,76144,4045],{"class":173},[167,76146,76147],{"class":169,"line":261},[167,76148,398],{"class":173},[167,76150,76152,76154,76156],{"class":76151,"line":273},[169,213],[167,76153,7327],{"class":191},[167,76155,18150],{"class":181},[167,76157,763],{"class":173},[167,76159,76160,76162,76164,76166,76168,76170,76172,76174,76176,76178,76180,76182,76184,76186,76188],{"class":169,"line":279},[167,76161,879],{"class":219},[167,76163,18160],{"class":173},[167,76165,267],{"class":191},[167,76167,3005],{"class":191},[167,76169,6617],{"class":181},[167,76171,229],{"class":173},[167,76173,16990],{"class":201},[167,76175,4266],{"class":173},[167,76177,18175],{"class":181},[167,76179,229],{"class":173},[167,76181,18180],{"class":254},[167,76183,8255],{"class":191},[167,76185,18187],{"class":173},[167,76187,6682],{"class":181},[167,76189,2505],{"class":173},[167,76191,76192],{"class":169,"line":289},[167,76193,3488],{"class":173},[167,76195,76196],{"class":169,"line":294},[167,76197,276],{"class":173},[167,76199,76200,76202,76204],{"class":169,"line":304},[167,76201,282],{"class":173},[167,76203,178],{"class":177},[167,76205,185],{"class":173},[5363,76207,76208],{},[15,76209,19217,76210,19220,76212,19223],{},[87,76211,17861],{},[87,76213,9234],{},[22,76215,76216],{"id":16663},[87,76217,9234],{},[15,76219,19365,76220,1675],{},[3929,76221,19368],{},[15,76223,19371],{},[33,76225,76226,76228,76230,76232],{},[36,76227,19376],{},[36,76229,953],{},[36,76231,9237],{},[36,76233,19383],{},[154,76235,76237],{"className":156,"code":19386,"filename":15280,"highlights":76236,"language":162,"meta":163,"style":163},[170],[87,76238,76239,76250,76260,76264,76280,76284,76296],{"__ignoreMap":163},[167,76240,76242,76244,76246,76248],{"class":76241,"line":170},[169,213],[167,76243,174],{"class":173},[167,76245,178],{"class":177},[167,76247,182],{"class":181},[167,76249,185],{"class":173},[167,76251,76252,76254,76256,76258],{"class":169,"line":188},[167,76253,192],{"class":191},[167,76255,195],{"class":173},[167,76257,198],{"class":191},[167,76259,202],{"class":201},[167,76261,76262],{"class":169,"line":205},[167,76263,209],{"emptyLinePlaceholder":208},[167,76265,76266,76268,76270,76272,76274,76276,76278],{"class":169,"line":160},[167,76267,216],{"class":191},[167,76269,15321],{"class":219},[167,76271,223],{"class":191},[167,76273,226],{"class":181},[167,76275,229],{"class":173},[167,76277,1956],{"class":219},[167,76279,235],{"class":173},[167,76281,76282],{"class":169,"line":238},[167,76283,209],{"emptyLinePlaceholder":208},[167,76285,76286,76288,76290,76292,76294],{"class":169,"line":243},[167,76287,18340],{"class":173},[167,76289,2607],{"class":181},[167,76291,229],{"class":173},[167,76293,19445],{"class":201},[167,76295,235],{"class":173},[167,76297,76298,76300,76302],{"class":169,"line":261},[167,76299,282],{"class":173},[167,76301,178],{"class":177},[167,76303,185],{"class":173},[5363,76305,76306],{},[15,76307,19217,76308,19462],{},[87,76309,9234],{},[11,76311,19466],{"id":19465},[15,76313,19133,76314,1675],{},[3929,76315,19471],{},[15,76317,19474],{},[33,76319,76320,76322,76324],{},[36,76321,19479],{},[36,76323,19482],{},[36,76325,19485],{},[22,76327,76328,11223,76330],{"id":19488},[87,76329,17363],{},[87,76331,16600],{},[15,76333,19151,76334,1675],{},[3929,76335,19497],{},[15,76337,19500],{},[154,76339,76341],{"className":156,"code":19503,"filename":3256,"highlights":76340,"language":162,"meta":163,"style":163},[160],[87,76342,76343,76353,76363,76367,76378,76390,76394],{"__ignoreMap":163},[167,76344,76345,76347,76349,76351],{"class":169,"line":170},[167,76346,174],{"class":173},[167,76348,178],{"class":177},[167,76350,182],{"class":181},[167,76352,185],{"class":173},[167,76354,76355,76357,76359,76361],{"class":169,"line":188},[167,76356,192],{"class":191},[167,76358,19523],{"class":173},[167,76360,198],{"class":191},[167,76362,202],{"class":201},[167,76364,76365],{"class":169,"line":205},[167,76366,209],{"emptyLinePlaceholder":208},[167,76368,76370,76372,76374,76376],{"class":76369,"line":160},[169,213],[167,76371,17363],{"class":181},[167,76373,1488],{"class":173},[167,76375,639],{"class":191},[167,76377,1901],{"class":173},[167,76379,76380,76382,76384,76386,76388],{"class":169,"line":238},[167,76381,2604],{"class":173},[167,76383,2607],{"class":181},[167,76385,229],{"class":173},[167,76387,19553],{"class":201},[167,76389,235],{"class":173},[167,76391,76392],{"class":169,"line":243},[167,76393,403],{"class":173},[167,76395,76396,76398,76400],{"class":169,"line":261},[167,76397,282],{"class":173},[167,76399,178],{"class":177},[167,76401,185],{"class":173},[154,76403,76405],{"className":156,"code":19570,"filename":3969,"highlights":76404,"language":162,"meta":163,"style":163},[205],[87,76406,76407,76415,76423,76430,76442,76446,76450],{"__ignoreMap":163},[167,76408,76409,76411,76413],{"class":169,"line":170},[167,76410,174],{"class":173},[167,76412,178],{"class":177},[167,76414,185],{"class":173},[167,76416,76417,76419,76421],{"class":169,"line":188},[167,76418,608],{"class":191},[167,76420,3987],{"class":191},[167,76422,1901],{"class":173},[167,76424,76426,76428],{"class":76425,"line":205},[169,213],[167,76427,17582],{"class":181},[167,76429,763],{"class":173},[167,76431,76432,76434,76436,76438,76440],{"class":169,"line":160},[167,76433,8890],{"class":173},[167,76435,2607],{"class":181},[167,76437,229],{"class":173},[167,76439,19607],{"class":201},[167,76441,235],{"class":173},[167,76443,76444],{"class":169,"line":238},[167,76445,3488],{"class":173},[167,76447,76448],{"class":169,"line":243},[167,76449,276],{"class":173},[167,76451,76452,76454,76456],{"class":169,"line":261},[167,76453,282],{"class":173},[167,76455,178],{"class":177},[167,76457,185],{"class":173},[22,76459,76460,11223,76462],{"id":19628},[87,76461,6792],{},[87,76463,6389],{},[15,76465,19151,76466,1675],{},[3929,76467,19637],{},[15,76469,19640,76470,1675],{},[3929,76471,19643],{},[15,76473,19646],{},[33,76475,76476,76478,76480,76482],{},[36,76477,19651],{},[36,76479,19654],{},[36,76481,19657],{},[36,76483,19660],{},[154,76485,76487],{"className":156,"code":19663,"filename":3256,"highlights":76486,"language":162,"meta":163,"style":163},[160],[87,76488,76489,76499,76509,76513,76524,76536,76540],{"__ignoreMap":163},[167,76490,76491,76493,76495,76497],{"class":169,"line":170},[167,76492,174],{"class":173},[167,76494,178],{"class":177},[167,76496,182],{"class":181},[167,76498,185],{"class":173},[167,76500,76501,76503,76505,76507],{"class":169,"line":188},[167,76502,192],{"class":191},[167,76504,19683],{"class":173},[167,76506,198],{"class":191},[167,76508,202],{"class":201},[167,76510,76511],{"class":169,"line":205},[167,76512,209],{"emptyLinePlaceholder":208},[167,76514,76516,76518,76520,76522],{"class":76515,"line":160},[169,213],[167,76517,6792],{"class":181},[167,76519,1488],{"class":173},[167,76521,639],{"class":191},[167,76523,1901],{"class":173},[167,76525,76526,76528,76530,76532,76534],{"class":169,"line":238},[167,76527,2604],{"class":173},[167,76529,2607],{"class":181},[167,76531,229],{"class":173},[167,76533,19713],{"class":201},[167,76535,235],{"class":173},[167,76537,76538],{"class":169,"line":243},[167,76539,403],{"class":173},[167,76541,76542,76544,76546],{"class":169,"line":261},[167,76543,282],{"class":173},[167,76545,178],{"class":177},[167,76547,185],{"class":173},[154,76549,76551],{"className":156,"code":19730,"filename":3969,"highlights":76550,"language":162,"meta":163,"style":163},[205],[87,76552,76553,76561,76569,76576,76588,76592,76596],{"__ignoreMap":163},[167,76554,76555,76557,76559],{"class":169,"line":170},[167,76556,174],{"class":173},[167,76558,178],{"class":177},[167,76560,185],{"class":173},[167,76562,76563,76565,76567],{"class":169,"line":188},[167,76564,608],{"class":191},[167,76566,3987],{"class":191},[167,76568,1901],{"class":173},[167,76570,76572,76574],{"class":76571,"line":205},[169,213],[167,76573,12745],{"class":181},[167,76575,763],{"class":173},[167,76577,76578,76580,76582,76584,76586],{"class":169,"line":160},[167,76579,8890],{"class":173},[167,76581,2607],{"class":181},[167,76583,229],{"class":173},[167,76585,19767],{"class":201},[167,76587,235],{"class":173},[167,76589,76590],{"class":169,"line":238},[167,76591,3488],{"class":173},[167,76593,76594],{"class":169,"line":243},[167,76595,276],{"class":173},[167,76597,76598,76600,76602],{"class":169,"line":261},[167,76599,282],{"class":173},[167,76601,178],{"class":177},[167,76603,185],{"class":173},[11,76605,19789],{"id":19788},[15,76607,19792,76608,1675],{},[3929,76609,19795],{},[15,76611,19798],{},[22,76613,76614,11223,76616],{"id":19801},[87,76615,15505],{},[87,76617,15030],{},[15,76619,19151,76620,1675],{},[3929,76621,19810],{},[15,76623,19813],{},[154,76625,76627],{"className":156,"code":19816,"filename":3256,"highlights":76626,"language":162,"meta":163,"style":163},[160],[87,76628,76629,76639,76649,76653,76664,76676,76680],{"__ignoreMap":163},[167,76630,76631,76633,76635,76637],{"class":169,"line":170},[167,76632,174],{"class":173},[167,76634,178],{"class":177},[167,76636,182],{"class":181},[167,76638,185],{"class":173},[167,76640,76641,76643,76645,76647],{"class":169,"line":188},[167,76642,192],{"class":191},[167,76644,19836],{"class":173},[167,76646,198],{"class":191},[167,76648,202],{"class":201},[167,76650,76651],{"class":169,"line":205},[167,76652,209],{"emptyLinePlaceholder":208},[167,76654,76656,76658,76660,76662],{"class":76655,"line":160},[169,213],[167,76657,15505],{"class":181},[167,76659,1488],{"class":173},[167,76661,639],{"class":191},[167,76663,1901],{"class":173},[167,76665,76666,76668,76670,76672,76674],{"class":169,"line":238},[167,76667,2604],{"class":173},[167,76669,2607],{"class":181},[167,76671,229],{"class":173},[167,76673,19866],{"class":201},[167,76675,235],{"class":173},[167,76677,76678],{"class":169,"line":243},[167,76679,403],{"class":173},[167,76681,76682,76684,76686],{"class":169,"line":261},[167,76683,282],{"class":173},[167,76685,178],{"class":177},[167,76687,185],{"class":173},[154,76689,76691],{"className":156,"code":19883,"filename":3969,"highlights":76690,"language":162,"meta":163,"style":163},[205],[87,76692,76693,76701,76709,76716,76728,76732,76736],{"__ignoreMap":163},[167,76694,76695,76697,76699],{"class":169,"line":170},[167,76696,174],{"class":173},[167,76698,178],{"class":177},[167,76700,185],{"class":173},[167,76702,76703,76705,76707],{"class":169,"line":188},[167,76704,608],{"class":191},[167,76706,3987],{"class":191},[167,76708,1901],{"class":173},[167,76710,76712,76714],{"class":76711,"line":205},[169,213],[167,76713,16204],{"class":181},[167,76715,763],{"class":173},[167,76717,76718,76720,76722,76724,76726],{"class":169,"line":160},[167,76719,8890],{"class":173},[167,76721,2607],{"class":181},[167,76723,229],{"class":173},[167,76725,19920],{"class":201},[167,76727,235],{"class":173},[167,76729,76730],{"class":169,"line":238},[167,76731,3488],{"class":173},[167,76733,76734],{"class":169,"line":243},[167,76735,276],{"class":173},[167,76737,76738,76740,76742],{"class":169,"line":261},[167,76739,282],{"class":173},[167,76741,178],{"class":177},[167,76743,185],{"class":173},[22,76745,76746,11223,76748],{"id":19941},[87,76747,15341],{},[87,76749,15033],{},[15,76751,19151,76752,1675],{},[3929,76753,19950],{},[15,76755,19953],{},[5363,76757,76758],{},[15,76759,19958,76760,1675],{},[87,76761,1661],{},[154,76763,76765],{"className":156,"code":19963,"filename":3256,"highlights":76764,"language":162,"meta":163,"style":163},[160],[87,76766,76767,76777,76787,76791,76802,76814,76818],{"__ignoreMap":163},[167,76768,76769,76771,76773,76775],{"class":169,"line":170},[167,76770,174],{"class":173},[167,76772,178],{"class":177},[167,76774,182],{"class":181},[167,76776,185],{"class":173},[167,76778,76779,76781,76783,76785],{"class":169,"line":188},[167,76780,192],{"class":191},[167,76782,19983],{"class":173},[167,76784,198],{"class":191},[167,76786,202],{"class":201},[167,76788,76789],{"class":169,"line":205},[167,76790,209],{"emptyLinePlaceholder":208},[167,76792,76794,76796,76798,76800],{"class":76793,"line":160},[169,213],[167,76795,15341],{"class":181},[167,76797,1488],{"class":173},[167,76799,639],{"class":191},[167,76801,1901],{"class":173},[167,76803,76804,76806,76808,76810,76812],{"class":169,"line":238},[167,76805,2604],{"class":173},[167,76807,2607],{"class":181},[167,76809,229],{"class":173},[167,76811,20013],{"class":201},[167,76813,235],{"class":173},[167,76815,76816],{"class":169,"line":243},[167,76817,403],{"class":173},[167,76819,76820,76822,76824],{"class":169,"line":261},[167,76821,282],{"class":173},[167,76823,178],{"class":177},[167,76825,185],{"class":173},[154,76827,76829],{"className":156,"code":20030,"filename":3969,"highlights":76828,"language":162,"meta":163,"style":163},[205],[87,76830,76831,76839,76847,76854,76866,76870,76874],{"__ignoreMap":163},[167,76832,76833,76835,76837],{"class":169,"line":170},[167,76834,174],{"class":173},[167,76836,178],{"class":177},[167,76838,185],{"class":173},[167,76840,76841,76843,76845],{"class":169,"line":188},[167,76842,608],{"class":191},[167,76844,3987],{"class":191},[167,76846,1901],{"class":173},[167,76848,76850,76852],{"class":76849,"line":205},[169,213],[167,76851,16255],{"class":181},[167,76853,763],{"class":173},[167,76855,76856,76858,76860,76862,76864],{"class":169,"line":160},[167,76857,8890],{"class":173},[167,76859,2607],{"class":181},[167,76861,229],{"class":173},[167,76863,20067],{"class":201},[167,76865,235],{"class":173},[167,76867,76868],{"class":169,"line":238},[167,76869,3488],{"class":173},[167,76871,76872],{"class":169,"line":243},[167,76873,276],{"class":173},[167,76875,76876,76878,76880],{"class":169,"line":261},[167,76877,282],{"class":173},[167,76879,178],{"class":177},[167,76881,185],{"class":173},[11,76883,20089],{"id":20088},[15,76885,20092],{},[15,76887,20095,76888,1675],{},[3929,76889,20098],{},[22,76891,76892,11223,76894],{"id":20101},[87,76893,14246],{},[87,76895,13468],{},[15,76897,19151,76898,1675],{},[3929,76899,20110],{},[154,76901,76903],{"className":156,"code":20113,"filename":3256,"highlights":76902,"language":162,"meta":163,"style":163},[160],[87,76904,76905,76915,76925,76929,76940,76952,76956],{"__ignoreMap":163},[167,76906,76907,76909,76911,76913],{"class":169,"line":170},[167,76908,174],{"class":173},[167,76910,178],{"class":177},[167,76912,182],{"class":181},[167,76914,185],{"class":173},[167,76916,76917,76919,76921,76923],{"class":169,"line":188},[167,76918,192],{"class":191},[167,76920,20133],{"class":173},[167,76922,198],{"class":191},[167,76924,202],{"class":201},[167,76926,76927],{"class":169,"line":205},[167,76928,209],{"emptyLinePlaceholder":208},[167,76930,76932,76934,76936,76938],{"class":76931,"line":160},[169,213],[167,76933,14246],{"class":181},[167,76935,1488],{"class":173},[167,76937,639],{"class":191},[167,76939,1901],{"class":173},[167,76941,76942,76944,76946,76948,76950],{"class":169,"line":238},[167,76943,2604],{"class":173},[167,76945,2607],{"class":181},[167,76947,229],{"class":173},[167,76949,20163],{"class":201},[167,76951,235],{"class":173},[167,76953,76954],{"class":169,"line":243},[167,76955,403],{"class":173},[167,76957,76958,76960,76962],{"class":169,"line":261},[167,76959,282],{"class":173},[167,76961,178],{"class":177},[167,76963,185],{"class":173},[154,76965,76967],{"className":156,"code":20180,"filename":3969,"highlights":76966,"language":162,"meta":163,"style":163},[205],[87,76968,76969,76977,76985,76992,77004,77008,77012],{"__ignoreMap":163},[167,76970,76971,76973,76975],{"class":169,"line":170},[167,76972,174],{"class":173},[167,76974,178],{"class":177},[167,76976,185],{"class":173},[167,76978,76979,76981,76983],{"class":169,"line":188},[167,76980,608],{"class":191},[167,76982,3987],{"class":191},[167,76984,1901],{"class":173},[167,76986,76988,76990],{"class":76987,"line":205},[169,213],[167,76989,14560],{"class":181},[167,76991,763],{"class":173},[167,76993,76994,76996,76998,77000,77002],{"class":169,"line":160},[167,76995,8890],{"class":173},[167,76997,2607],{"class":181},[167,76999,229],{"class":173},[167,77001,20217],{"class":201},[167,77003,235],{"class":173},[167,77005,77006],{"class":169,"line":238},[167,77007,3488],{"class":173},[167,77009,77010],{"class":169,"line":243},[167,77011,276],{"class":173},[167,77013,77014,77016,77018],{"class":169,"line":261},[167,77015,282],{"class":173},[167,77017,178],{"class":177},[167,77019,185],{"class":173},[22,77021,77022,11223,77024],{"id":20238},[87,77023,14299],{},[87,77025,11272],{},[15,77027,19151,77028,1675],{},[3929,77029,20247],{},[15,77031,20250],{},[33,77033,77034,77036,77038],{},[36,77035,20255],{},[36,77037,20258],{},[36,77039,20261],{},[154,77041,77043],{"className":156,"code":20264,"filename":3256,"highlights":77042,"language":162,"meta":163,"style":163},[243,304],[87,77044,77045,77055,77065,77069,77075,77079,77090,77104,77116,77124,77128,77132,77143,77149,77153],{"__ignoreMap":163},[167,77046,77047,77049,77051,77053],{"class":169,"line":170},[167,77048,174],{"class":173},[167,77050,178],{"class":177},[167,77052,182],{"class":181},[167,77054,185],{"class":173},[167,77056,77057,77059,77061,77063],{"class":169,"line":188},[167,77058,192],{"class":191},[167,77060,20284],{"class":173},[167,77062,198],{"class":191},[167,77064,202],{"class":201},[167,77066,77067],{"class":169,"line":205},[167,77068,209],{"emptyLinePlaceholder":208},[167,77070,77071,77073],{"class":169,"line":160},[167,77072,13944],{"class":191},[167,77074,20299],{"class":173},[167,77076,77077],{"class":169,"line":238},[167,77078,209],{"emptyLinePlaceholder":208},[167,77080,77082,77084,77086,77088],{"class":77081,"line":243},[169,213],[167,77083,6792],{"class":181},[167,77085,1488],{"class":173},[167,77087,639],{"class":191},[167,77089,1901],{"class":173},[167,77091,77092,77094,77096,77098,77100,77102],{"class":169,"line":261},[167,77093,20319],{"class":173},[167,77095,267],{"class":191},[167,77097,12066],{"class":181},[167,77099,1488],{"class":173},[167,77101,639],{"class":191},[167,77103,1901],{"class":173},[167,77105,77106,77108,77110,77112,77114],{"class":169,"line":273},[167,77107,8890],{"class":173},[167,77109,2607],{"class":181},[167,77111,229],{"class":173},[167,77113,17167],{"class":201},[167,77115,235],{"class":173},[167,77117,77118,77120,77122],{"class":169,"line":279},[167,77119,1953],{"class":173},[167,77121,17176],{"class":219},[167,77123,235],{"class":173},[167,77125,77126],{"class":169,"line":289},[167,77127,403],{"class":173},[167,77129,77130],{"class":169,"line":294},[167,77131,209],{"emptyLinePlaceholder":208},[167,77133,77135,77137,77139,77141],{"class":77134,"line":304},[169,213],[167,77136,14299],{"class":181},[167,77138,1488],{"class":173},[167,77140,639],{"class":191},[167,77142,1901],{"class":173},[167,77144,77145,77147],{"class":169,"line":313},[167,77146,12130],{"class":181},[167,77148,20375],{"class":173},[167,77150,77151],{"class":169,"line":161},[167,77152,403],{"class":173},[167,77154,77155,77157,77159],{"class":169,"line":335},[167,77156,282],{"class":173},[167,77158,178],{"class":177},[167,77160,185],{"class":173},[154,77162,77164],{"className":156,"code":20390,"filename":3969,"highlights":77163,"language":162,"meta":163,"style":163},[205,273],[87,77165,77166,77174,77182,77189,77205,77217,77225,77229,77236,77246,77250,77254],{"__ignoreMap":163},[167,77167,77168,77170,77172],{"class":169,"line":170},[167,77169,174],{"class":173},[167,77171,178],{"class":177},[167,77173,185],{"class":173},[167,77175,77176,77178,77180],{"class":169,"line":188},[167,77177,608],{"class":191},[167,77179,3987],{"class":191},[167,77181,1901],{"class":173},[167,77183,77185,77187],{"class":77184,"line":205},[169,213],[167,77186,12745],{"class":181},[167,77188,763],{"class":173},[167,77190,77191,77193,77195,77197,77199,77201,77203],{"class":169,"line":160},[167,77192,879],{"class":219},[167,77194,20423],{"class":173},[167,77196,267],{"class":191},[167,77198,12066],{"class":181},[167,77200,1488],{"class":173},[167,77202,639],{"class":191},[167,77204,1901],{"class":173},[167,77206,77207,77209,77211,77213,77215],{"class":169,"line":238},[167,77208,20438],{"class":173},[167,77210,2607],{"class":181},[167,77212,229],{"class":173},[167,77214,17167],{"class":201},[167,77216,235],{"class":173},[167,77218,77219,77221,77223],{"class":169,"line":243},[167,77220,20451],{"class":173},[167,77222,17176],{"class":219},[167,77224,235],{"class":173},[167,77226,77227],{"class":169,"line":261},[167,77228,398],{"class":173},[167,77230,77232,77234],{"class":77231,"line":273},[169,213],[167,77233,14618],{"class":181},[167,77235,763],{"class":173},[167,77237,77238,77240,77242,77244],{"class":169,"line":279},[167,77239,20471],{"class":181},[167,77241,229],{"class":173},[167,77243,4923],{"class":219},[167,77245,20478],{"class":173},[167,77247,77248],{"class":169,"line":289},[167,77249,3488],{"class":173},[167,77251,77252],{"class":169,"line":294},[167,77253,276],{"class":173},[167,77255,77256,77258,77260],{"class":169,"line":304},[167,77257,282],{"class":173},[167,77259,178],{"class":177},[167,77261,185],{"class":173},[11,77263,20498,77264],{"id":20497},[87,77265,11154],{},[15,77267,20503,77268,1020,77270,20509],{},[87,77269,11154],{},[3929,77271,20508],{},[22,77273,77274,11223,77276],{"id":20512},[87,77275,12182],{},[87,77277,11157],{},[15,77279,20519,77280,1675],{},[3929,77281,20522],{},[154,77283,77285],{"className":156,"code":20525,"filename":3256,"highlights":77284,"language":162,"meta":163,"style":163},[160],[87,77286,77287,77297,77307,77311,77322,77334,77338],{"__ignoreMap":163},[167,77288,77289,77291,77293,77295],{"class":169,"line":170},[167,77290,174],{"class":173},[167,77292,178],{"class":177},[167,77294,182],{"class":181},[167,77296,185],{"class":173},[167,77298,77299,77301,77303,77305],{"class":169,"line":188},[167,77300,192],{"class":191},[167,77302,20545],{"class":173},[167,77304,198],{"class":191},[167,77306,202],{"class":201},[167,77308,77309],{"class":169,"line":205},[167,77310,209],{"emptyLinePlaceholder":208},[167,77312,77314,77316,77318,77320],{"class":77313,"line":160},[169,213],[167,77315,12182],{"class":181},[167,77317,1488],{"class":173},[167,77319,639],{"class":191},[167,77321,1901],{"class":173},[167,77323,77324,77326,77328,77330,77332],{"class":169,"line":238},[167,77325,2604],{"class":173},[167,77327,2607],{"class":181},[167,77329,229],{"class":173},[167,77331,20575],{"class":201},[167,77333,235],{"class":173},[167,77335,77336],{"class":169,"line":243},[167,77337,403],{"class":173},[167,77339,77340,77342,77344],{"class":169,"line":261},[167,77341,282],{"class":173},[167,77343,178],{"class":177},[167,77345,185],{"class":173},[154,77347,77349],{"className":156,"code":20592,"filename":3969,"highlights":77348,"language":162,"meta":163,"style":163},[205],[87,77350,77351,77359,77367,77374,77386,77390,77394],{"__ignoreMap":163},[167,77352,77353,77355,77357],{"class":169,"line":170},[167,77354,174],{"class":173},[167,77356,178],{"class":177},[167,77358,185],{"class":173},[167,77360,77361,77363,77365],{"class":169,"line":188},[167,77362,608],{"class":191},[167,77364,3987],{"class":191},[167,77366,1901],{"class":173},[167,77368,77370,77372],{"class":77369,"line":205},[169,213],[167,77371,20617],{"class":181},[167,77373,763],{"class":173},[167,77375,77376,77378,77380,77382,77384],{"class":169,"line":160},[167,77377,8890],{"class":173},[167,77379,2607],{"class":181},[167,77381,229],{"class":173},[167,77383,20575],{"class":201},[167,77385,235],{"class":173},[167,77387,77388],{"class":169,"line":238},[167,77389,3488],{"class":173},[167,77391,77392],{"class":169,"line":243},[167,77393,276],{"class":173},[167,77395,77396,77398,77400],{"class":169,"line":261},[167,77397,282],{"class":173},[167,77399,178],{"class":177},[167,77401,185],{"class":173},[22,77403,77404,11223,77406],{"id":20650},[87,77405,12239],{},[87,77407,11160],{},[15,77409,20519,77410,1675],{},[3929,77411,20659],{},[154,77413,77415],{"className":156,"code":20662,"filename":3256,"highlights":77414,"language":162,"meta":163,"style":163},[160],[87,77416,77417,77427,77437,77441,77452,77464,77468],{"__ignoreMap":163},[167,77418,77419,77421,77423,77425],{"class":169,"line":170},[167,77420,174],{"class":173},[167,77422,178],{"class":177},[167,77424,182],{"class":181},[167,77426,185],{"class":173},[167,77428,77429,77431,77433,77435],{"class":169,"line":188},[167,77430,192],{"class":191},[167,77432,20682],{"class":173},[167,77434,198],{"class":191},[167,77436,202],{"class":201},[167,77438,77439],{"class":169,"line":205},[167,77440,209],{"emptyLinePlaceholder":208},[167,77442,77444,77446,77448,77450],{"class":77443,"line":160},[169,213],[167,77445,12239],{"class":181},[167,77447,1488],{"class":173},[167,77449,639],{"class":191},[167,77451,1901],{"class":173},[167,77453,77454,77456,77458,77460,77462],{"class":169,"line":238},[167,77455,2604],{"class":173},[167,77457,2607],{"class":181},[167,77459,229],{"class":173},[167,77461,20712],{"class":201},[167,77463,235],{"class":173},[167,77465,77466],{"class":169,"line":243},[167,77467,403],{"class":173},[167,77469,77470,77472,77474],{"class":169,"line":261},[167,77471,282],{"class":173},[167,77473,178],{"class":177},[167,77475,185],{"class":173},[154,77477,77479],{"className":156,"code":20729,"filename":3969,"highlights":77478,"language":162,"meta":163,"style":163},[205],[87,77480,77481,77489,77497,77504,77516,77520,77524],{"__ignoreMap":163},[167,77482,77483,77485,77487],{"class":169,"line":170},[167,77484,174],{"class":173},[167,77486,178],{"class":177},[167,77488,185],{"class":173},[167,77490,77491,77493,77495],{"class":169,"line":188},[167,77492,608],{"class":191},[167,77494,3987],{"class":191},[167,77496,1901],{"class":173},[167,77498,77500,77502],{"class":77499,"line":205},[169,213],[167,77501,12833],{"class":181},[167,77503,763],{"class":173},[167,77505,77506,77508,77510,77512,77514],{"class":169,"line":160},[167,77507,8890],{"class":173},[167,77509,2607],{"class":181},[167,77511,229],{"class":173},[167,77513,20712],{"class":201},[167,77515,235],{"class":173},[167,77517,77518],{"class":169,"line":238},[167,77519,3488],{"class":173},[167,77521,77522],{"class":169,"line":243},[167,77523,276],{"class":173},[167,77525,77526,77528,77530],{"class":169,"line":261},[167,77527,282],{"class":173},[167,77529,178],{"class":177},[167,77531,185],{"class":173},[11,77533,19060],{"id":20786},[22,77535,77536,11223,77538],{"id":20789},[87,77537,9916],{},[87,77539,9181],{},[15,77541,20796,77542,1675],{},[3929,77543,20799],{},[154,77545,77547],{"className":156,"code":20802,"filename":3256,"highlights":77546,"language":162,"meta":163,"style":163},[160],[87,77548,77549,77559,77569,77573,77588,77600,77606,77610],{"__ignoreMap":163},[167,77550,77551,77553,77555,77557],{"class":169,"line":170},[167,77552,174],{"class":173},[167,77554,178],{"class":177},[167,77556,182],{"class":181},[167,77558,185],{"class":173},[167,77560,77561,77563,77565,77567],{"class":169,"line":188},[167,77562,192],{"class":191},[167,77564,20822],{"class":173},[167,77566,198],{"class":191},[167,77568,202],{"class":201},[167,77570,77571],{"class":169,"line":205},[167,77572,209],{"emptyLinePlaceholder":208},[167,77574,77576,77578,77580,77582,77584,77586],{"class":77575,"line":160},[169,213],[167,77577,9916],{"class":181},[167,77579,1914],{"class":173},[167,77581,9348],{"class":254},[167,77583,693],{"class":173},[167,77585,639],{"class":191},[167,77587,1901],{"class":173},[167,77589,77590,77592,77594,77596,77598],{"class":169,"line":238},[167,77591,2604],{"class":173},[167,77593,9348],{"class":181},[167,77595,229],{"class":173},[167,77597,20856],{"class":201},[167,77599,14168],{"class":173},[167,77601,77602,77604],{"class":169,"line":243},[167,77603,1534],{"class":191},[167,77605,5589],{"class":219},[167,77607,77608],{"class":169,"line":261},[167,77609,403],{"class":173},[167,77611,77612,77614,77616],{"class":169,"line":273},[167,77613,282],{"class":173},[167,77615,178],{"class":177},[167,77617,185],{"class":173},[154,77619,77621],{"className":156,"code":20879,"filename":3969,"highlights":77620,"language":162,"meta":163,"style":163},[205],[87,77622,77623,77631,77639,77650,77662,77668,77672,77676],{"__ignoreMap":163},[167,77624,77625,77627,77629],{"class":169,"line":170},[167,77626,174],{"class":173},[167,77628,178],{"class":177},[167,77630,185],{"class":173},[167,77632,77633,77635,77637],{"class":169,"line":188},[167,77634,608],{"class":191},[167,77636,3987],{"class":191},[167,77638,1901],{"class":173},[167,77640,77642,77644,77646,77648],{"class":77641,"line":205},[169,213],[167,77643,10690],{"class":181},[167,77645,229],{"class":173},[167,77647,9348],{"class":254},[167,77649,258],{"class":173},[167,77651,77652,77654,77656,77658,77660],{"class":169,"line":160},[167,77653,8890],{"class":173},[167,77655,9348],{"class":181},[167,77657,229],{"class":173},[167,77659,20856],{"class":201},[167,77661,14168],{"class":173},[167,77663,77664,77666],{"class":169,"line":238},[167,77665,1933],{"class":191},[167,77667,5589],{"class":219},[167,77669,77670],{"class":169,"line":243},[167,77671,3488],{"class":173},[167,77673,77674],{"class":169,"line":261},[167,77675,276],{"class":173},[167,77677,77678,77680,77682],{"class":169,"line":273},[167,77679,282],{"class":173},[167,77681,178],{"class":177},[167,77683,185],{"class":173},[11,77685,20947],{"id":20946},[15,77687,20950,77688,1675],{},[3929,77689,20953],{},[15,77691,20956],{},[22,77693,77694],{"id":20959},[87,77695,8356],{},[15,77697,20964,77698,1675],{},[3929,77699,20967],{},[154,77701,77703],{"className":156,"code":20970,"filename":3256,"highlights":77702,"language":162,"meta":163,"style":163},[160],[87,77704,77705,77715,77725,77729,77744,77756,77760],{"__ignoreMap":163},[167,77706,77707,77709,77711,77713],{"class":169,"line":170},[167,77708,174],{"class":173},[167,77710,178],{"class":177},[167,77712,182],{"class":181},[167,77714,185],{"class":173},[167,77716,77717,77719,77721,77723],{"class":169,"line":188},[167,77718,192],{"class":191},[167,77720,20990],{"class":173},[167,77722,198],{"class":191},[167,77724,202],{"class":201},[167,77726,77727],{"class":169,"line":205},[167,77728,209],{"emptyLinePlaceholder":208},[167,77730,77732,77734,77736,77738,77740,77742],{"class":77731,"line":160},[169,213],[167,77733,8356],{"class":181},[167,77735,1914],{"class":173},[167,77737,4191],{"class":254},[167,77739,693],{"class":173},[167,77741,639],{"class":191},[167,77743,1901],{"class":173},[167,77745,77746,77748,77750,77752,77754],{"class":169,"line":238},[167,77747,2604],{"class":173},[167,77749,21020],{"class":181},[167,77751,229],{"class":173},[167,77753,21025],{"class":201},[167,77755,21028],{"class":173},[167,77757,77758],{"class":169,"line":243},[167,77759,403],{"class":173},[167,77761,77762,77764,77766],{"class":169,"line":261},[167,77763,282],{"class":173},[167,77765,178],{"class":177},[167,77767,185],{"class":173},[154,77769,77771],{"className":156,"code":21043,"filename":3969,"highlights":77770,"language":162,"meta":163,"style":163},[205],[87,77772,77773,77781,77789,77800,77812,77816,77820],{"__ignoreMap":163},[167,77774,77775,77777,77779],{"class":169,"line":170},[167,77776,174],{"class":173},[167,77778,178],{"class":177},[167,77780,185],{"class":173},[167,77782,77783,77785,77787],{"class":169,"line":188},[167,77784,608],{"class":191},[167,77786,3987],{"class":191},[167,77788,1901],{"class":173},[167,77790,77792,77794,77796,77798],{"class":77791,"line":205},[169,213],[167,77793,8879],{"class":181},[167,77795,229],{"class":173},[167,77797,4191],{"class":254},[167,77799,258],{"class":173},[167,77801,77802,77804,77806,77808,77810],{"class":169,"line":160},[167,77803,8890],{"class":173},[167,77805,21020],{"class":181},[167,77807,229],{"class":173},[167,77809,21025],{"class":201},[167,77811,21028],{"class":173},[167,77813,77814],{"class":169,"line":238},[167,77815,3488],{"class":173},[167,77817,77818],{"class":169,"line":243},[167,77819,276],{"class":173},[167,77821,77822,77824,77826],{"class":169,"line":261},[167,77823,282],{"class":173},[167,77825,178],{"class":177},[167,77827,185],{"class":173},[22,77829,77830],{"id":21104},[87,77831,8416],{},[15,77833,21109,77834,1675],{},[3929,77835,21112],{},[154,77837,77839],{"className":156,"code":21115,"filename":3256,"highlights":77838,"language":162,"meta":163,"style":163},[160],[87,77840,77841,77851,77861,77865,77880,77892,77896],{"__ignoreMap":163},[167,77842,77843,77845,77847,77849],{"class":169,"line":170},[167,77844,174],{"class":173},[167,77846,178],{"class":177},[167,77848,182],{"class":181},[167,77850,185],{"class":173},[167,77852,77853,77855,77857,77859],{"class":169,"line":188},[167,77854,192],{"class":191},[167,77856,21135],{"class":173},[167,77858,198],{"class":191},[167,77860,202],{"class":201},[167,77862,77863],{"class":169,"line":205},[167,77864,209],{"emptyLinePlaceholder":208},[167,77866,77868,77870,77872,77874,77876,77878],{"class":77867,"line":160},[169,213],[167,77869,8416],{"class":181},[167,77871,1914],{"class":173},[167,77873,4191],{"class":254},[167,77875,693],{"class":173},[167,77877,639],{"class":191},[167,77879,1901],{"class":173},[167,77881,77882,77884,77886,77888,77890],{"class":169,"line":238},[167,77883,2604],{"class":173},[167,77885,21020],{"class":181},[167,77887,229],{"class":173},[167,77889,21169],{"class":201},[167,77891,21028],{"class":173},[167,77893,77894],{"class":169,"line":243},[167,77895,403],{"class":173},[167,77897,77898,77900,77902],{"class":169,"line":261},[167,77899,282],{"class":173},[167,77901,178],{"class":177},[167,77903,185],{"class":173},[154,77905,77907],{"className":156,"code":21186,"filename":3969,"highlights":77906,"language":162,"meta":163,"style":163},[205],[87,77908,77909,77917,77925,77936,77948,77952,77956],{"__ignoreMap":163},[167,77910,77911,77913,77915],{"class":169,"line":170},[167,77912,174],{"class":173},[167,77914,178],{"class":177},[167,77916,185],{"class":173},[167,77918,77919,77921,77923],{"class":169,"line":188},[167,77920,608],{"class":191},[167,77922,3987],{"class":191},[167,77924,1901],{"class":173},[167,77926,77928,77930,77932,77934],{"class":77927,"line":205},[169,213],[167,77929,8935],{"class":181},[167,77931,229],{"class":173},[167,77933,4191],{"class":254},[167,77935,258],{"class":173},[167,77937,77938,77940,77942,77944,77946],{"class":169,"line":160},[167,77939,8890],{"class":173},[167,77941,21020],{"class":181},[167,77943,229],{"class":173},[167,77945,21169],{"class":201},[167,77947,21028],{"class":173},[167,77949,77950],{"class":169,"line":238},[167,77951,3488],{"class":173},[167,77953,77954],{"class":169,"line":243},[167,77955,276],{"class":173},[167,77957,77958,77960,77962],{"class":169,"line":261},[167,77959,282],{"class":173},[167,77961,178],{"class":177},[167,77963,185],{"class":173},[11,77965,21248],{"id":21247},[22,77967,77968,11223,77970],{"id":21251},[87,77969,6704],{},[87,77971,6214],{},[15,77973,21258,77974,1675],{},[3929,77975,21261],{},[15,77977,21264],{},[154,77979,77981],{"className":156,"code":21267,"filename":3256,"highlights":77980,"language":162,"meta":163,"style":163},[160],[87,77982,77983,77993,78003,78007,78022,78034,78038],{"__ignoreMap":163},[167,77984,77985,77987,77989,77991],{"class":169,"line":170},[167,77986,174],{"class":173},[167,77988,178],{"class":177},[167,77990,182],{"class":181},[167,77992,185],{"class":173},[167,77994,77995,77997,77999,78001],{"class":169,"line":188},[167,77996,192],{"class":191},[167,77998,21287],{"class":173},[167,78000,198],{"class":191},[167,78002,202],{"class":201},[167,78004,78005],{"class":169,"line":205},[167,78006,209],{"emptyLinePlaceholder":208},[167,78008,78010,78012,78014,78016,78018,78020],{"class":78009,"line":160},[169,213],[167,78011,6704],{"class":181},[167,78013,229],{"class":173},[167,78015,2519],{"class":191},[167,78017,1464],{"class":173},[167,78019,639],{"class":191},[167,78021,1901],{"class":173},[167,78023,78024,78026,78028,78030,78032],{"class":169,"line":238},[167,78025,2571],{"class":191},[167,78027,6617],{"class":181},[167,78029,229],{"class":173},[167,78031,21321],{"class":201},[167,78033,235],{"class":173},[167,78035,78036],{"class":169,"line":243},[167,78037,403],{"class":173},[167,78039,78040,78042,78044],{"class":169,"line":261},[167,78041,282],{"class":173},[167,78043,178],{"class":177},[167,78045,185],{"class":173},[154,78047,78049],{"className":156,"code":21338,"filename":3969,"highlights":78048,"language":162,"meta":163,"style":163},[205],[87,78050,78051,78059,78067,78076,78088,78092,78096],{"__ignoreMap":163},[167,78052,78053,78055,78057],{"class":169,"line":170},[167,78054,174],{"class":173},[167,78056,178],{"class":177},[167,78058,185],{"class":173},[167,78060,78061,78063,78065],{"class":169,"line":188},[167,78062,608],{"class":191},[167,78064,3987],{"class":191},[167,78066,1901],{"class":173},[167,78068,78070,78072,78074],{"class":78069,"line":205},[169,213],[167,78071,7327],{"class":191},[167,78073,7330],{"class":181},[167,78075,763],{"class":173},[167,78077,78078,78080,78082,78084,78086],{"class":169,"line":160},[167,78079,6726],{"class":191},[167,78081,6617],{"class":181},[167,78083,229],{"class":173},[167,78085,21321],{"class":201},[167,78087,235],{"class":173},[167,78089,78090],{"class":169,"line":238},[167,78091,3488],{"class":173},[167,78093,78094],{"class":169,"line":243},[167,78095,276],{"class":173},[167,78097,78098,78100,78102],{"class":169,"line":261},[167,78099,282],{"class":173},[167,78101,178],{"class":177},[167,78103,185],{"class":173},[11,78105,21398],{"id":21397},[22,78107,21402],{"id":21401},[33,78109,78110,78116,78122,78128],{},[36,78111,21407,78112,2522,78114,6215],{},[3929,78113,21410],{},[87,78115,6792],{},[36,78117,21415,78118,2522,78120,6215],{},[3929,78119,21418],{},[87,78121,14299],{},[36,78123,21423,78124,2522,78126,6215],{},[3929,78125,973],{},[87,78127,6704],{},[36,78129,21430,78130],{},[3929,78131,21433],{},[22,78133,7925],{"id":21436},[33,78135,78136,78142,78148],{},[36,78137,7911,78138,21445],{},[3929,78139,78140],{},[87,78141,1657],{},[36,78143,7911,78144,21452],{},[3929,78145,78146],{},[87,78147,1661],{},[36,78149,21455,78150],{},[3929,78151,21458],{},[15,78153,21461,78154,21465],{},[3929,78155,21464],{},[11,78157,7674],{"id":7673},[15,78159,21470,78160,583],{},[3929,78161,21473],{},[56,78163,78164,78172],{},[59,78165,78166],{},[62,78167,78168,78170],{},[65,78169,21482],{},[65,78171,21485],{},[75,78173,78174,78184,78194,78204,78214,78224],{},[62,78175,78176,78178],{},[80,78177,19032],{},[80,78179,78180,1020,78182],{},[87,78181,16663],{},[87,78183,17861],{},[62,78185,78186,78188],{},[80,78187,19037],{},[80,78189,78190,1020,78192],{},[87,78191,6792],{},[87,78193,6389],{},[62,78195,78196,78198],{},[80,78197,19042],{},[80,78199,78200,1020,78202],{},[87,78201,15341],{},[87,78203,15033],{},[62,78205,78206,78208],{},[80,78207,19047],{},[80,78209,78210,1020,78212],{},[87,78211,14299],{},[87,78213,11272],{},[62,78215,78216,78218],{},[80,78217,21532],{},[80,78219,78220,1020,78222],{},[87,78221,12182],{},[87,78223,12239],{},[62,78225,78226,78228],{},[80,78227,973],{},[80,78229,78230],{},[87,78231,6704],{},[5363,78233,78234],{},[15,78235,21551,78236],{},[3929,78237,21554],{},[924,78239,21557],{},{"title":163,"searchDepth":188,"depth":188,"links":78241},[78242,78243,78244,78245,78246,78247,78248,78249,78250,78251,78252,78253,78254,78255,78256,78257,78258,78259,78260],{"id":6226,"depth":188,"text":6227},{"id":19078,"depth":188,"text":19079},{"id":19146,"depth":188,"text":17858},{"id":17861,"depth":188,"text":17861},{"id":16663,"depth":188,"text":9234},{"id":19488,"depth":188,"text":21566},{"id":19628,"depth":188,"text":21568},{"id":19801,"depth":188,"text":21570},{"id":19941,"depth":188,"text":21572},{"id":20101,"depth":188,"text":21574},{"id":20238,"depth":188,"text":21576},{"id":20512,"depth":188,"text":21578},{"id":20650,"depth":188,"text":21580},{"id":20789,"depth":188,"text":21582},{"id":20959,"depth":188,"text":8356},{"id":21104,"depth":188,"text":8416},{"id":21251,"depth":188,"text":21586},{"id":21401,"depth":188,"text":21402},{"id":21436,"depth":188,"text":7925},{"updatedAt":21593,"readingTime":273,"coverCaption":21594,"author":945,"keywords":78262},[3254,21596,3256,3969,21597],[78264],{"headline":18998,"author":78265,"datePublished":21593,"@type":959},{"name":945,"@type":958},{"title":18998,"description":21591},[78268,78269,78270,78271],{"tag":7720,"color":7721},{"tag":1622,"color":1635},{"tag":3265,"color":3266},{"tag":5420,"color":5421},{"id":21611,"title":21612,"body":78273,"cover":23647,"coverAlt":21612,"date":23648,"description":23649,"draft":1617,"extension":940,"lab":941,"locale":942,"meta":79969,"navigation":208,"path":23656,"schemaOrg":79971,"seo":79974,"series":941,"seriesDescription":941,"seriesOrder":941,"seriesTitle":941,"slug":941,"stem":23661,"tags":79975,"__hash__":23667},{"type":8,"value":78274,"toc":79945},[78275,78277,78287,78289,78293,78301,78303,78309,78311,78313,78319,78327,78331,78333,78335,78353,78381,78383,78393,78397,78401,78403,78433,78437,78439,78445,78459,79249,79331,79333,79371,79373,79375,79381,79395,79415,79419,79423,79425,79545,79547,79557,79563,79569,79585,79587,79599,79601,79603,79611,79613,79751,79753,79755,79757,79793,79795,79805,79807,79815,79821,79827,79875,79877,79885,79887,79889,79907,79909,79911,79919,79921,79939,79943],[11,78276,21612],{"id":21617},[15,78278,21620,78279,1020,78281,1020,78283,1020,78285,21629],{},[87,78280,2081],{},[87,78282,18239],{},[87,78284,1657],{},[87,78286,1661],{},[22,78288,21633],{"id":21632},[15,78290,21636,78291,21639],{},[87,78292,2081],{},[33,78294,78295,78297,78299],{},[36,78296,21644],{},[36,78298,21647],{},[36,78300,21650],{},[15,78302,21653],{},[15,78304,21656,78305,90,78307,21661],{},[87,78306,1657],{},[87,78308,1664],{},[22,78310,21665],{"id":21664},[3083,78312,21669],{"id":21668},[15,78314,21672,78315,1020,78317,21677],{},[87,78316,1657],{},[87,78318,1664],{},[154,78320,78321],{"className":21680,"code":21681,"filename":21682,"language":21683,"meta":163,"style":163},[87,78322,78323],{"__ignoreMap":163},[167,78324,78325],{"class":169,"line":170},[167,78326,21681],{},[15,78328,21692,78329,21696],{},[87,78330,21695],{},[3083,78332,21700],{"id":21699},[15,78334,21703],{},[33,78336,78337,78343,78349],{},[36,78338,78339,21711,78341,4266],{},[87,78340,21710],{},[87,78342,7835],{},[36,78344,78345,21719,78347,4266],{},[87,78346,21718],{},[87,78348,7841],{},[36,78350,78351,21727],{},[87,78352,21726],{},[154,78354,78355],{"className":21680,"code":21730,"filename":21731,"language":21683,"meta":163,"style":163},[87,78356,78357,78361,78365,78369,78373,78377],{"__ignoreMap":163},[167,78358,78359],{"class":169,"line":170},[167,78360,21738],{},[167,78362,78363],{"class":169,"line":188},[167,78364,21743],{},[167,78366,78367],{"class":169,"line":205},[167,78368,21748],{},[167,78370,78371],{"class":169,"line":160},[167,78372,21753],{},[167,78374,78375],{"class":169,"line":238},[167,78376,21758],{},[167,78378,78379],{"class":169,"line":243},[167,78380,21763],{},[15,78382,21766],{},[33,78384,78385,78389,78391],{},[36,78386,21771,78387,4266],{},[87,78388,21710],{},[36,78390,21776],{},[36,78392,21779],{},[3083,78394,78395,21786],{"id":21782},[87,78396,21785],{},[15,78398,21789,78399,1675],{},[87,78400,21785],{},[15,78402,21794],{},[3031,78404,78405,78411,78417,78427],{},[36,78406,21799,78407,21803,78409,1675],{},[87,78408,21802],{},[87,78410,21806],{},[36,78412,18225,78413,21812,78415,1675],{},[87,78414,21811],{},[87,78416,21815],{},[36,78418,78419,21821,78421,21824,78423,21827,78425,1675],{},[87,78420,21820],{},[87,78422,21785],{},[87,78424,21726],{},[87,78426,21695],{},[36,78428,21832,78429,1020,78431,21837],{},[87,78430,21811],{},[87,78432,21785],{},[15,78434,21840,78435,21843],{},[87,78436,21785],{},[22,78438,21847],{"id":21846},[15,78440,21850,78441,21853,78443,21856],{},[87,78442,21718],{},[87,78444,21726],{},[33,78446,78447,78451,78455],{},[36,78448,78449],{},[87,78450,21815],{},[36,78452,78453],{},[87,78454,21867],{},[36,78456,78457],{},[87,78458,21802],{},[154,78460,78461],{"className":2875,"code":21874,"filename":21875,"language":2878,"meta":163,"style":163},[87,78462,78463,78467,78481,78485,78489,78499,78509,78513,78525,78539,78547,78551,78561,78565,78569,78587,78601,78607,78615,78623,78635,78643,78663,78669,78673,78677,78685,78693,78697,78707,78713,78717,78721,78727,78731,78735,78751,78763,78767,78781,78791,78803,78811,78815,78819,78833,78843,78855,78863,78867,78871,78885,78893,78901,78905,78909,78913,78929,78943,78955,78959,78973,78985,78989,79003,79019,79033,79037,79041,79057,79063,79071,79079,79085,79089,79093,79097,79101,79113,79123,79141,79147,79157,79161,79183,79193,79207,79221,79227,79231,79237,79241,79245],{"__ignoreMap":163},[167,78464,78465],{"class":169,"line":170},[167,78466,21882],{"class":18658},[167,78468,78469,78471,78473,78475,78477,78479],{"class":169,"line":188},[167,78470,216],{"class":191},[167,78472,21889],{"class":219},[167,78474,223],{"class":191},[167,78476,4220],{"class":191},[167,78478,21896],{"class":181},[167,78480,2913],{"class":173},[167,78482,78483],{"class":169,"line":205},[167,78484,209],{"emptyLinePlaceholder":208},[167,78486,78487],{"class":169,"line":160},[167,78488,21907],{"class":18658},[167,78490,78491,78493,78495,78497],{"class":169,"line":238},[167,78492,13944],{"class":191},[167,78494,21914],{"class":173},[167,78496,267],{"class":191},[167,78498,12142],{"class":219},[167,78500,78501,78503,78505,78507],{"class":169,"line":243},[167,78502,216],{"class":191},[167,78504,21925],{"class":219},[167,78506,223],{"class":191},[167,78508,21930],{"class":173},[167,78510,78511],{"class":169,"line":261},[167,78512,209],{"emptyLinePlaceholder":208},[167,78514,78515,78517,78519,78521,78523],{"class":169,"line":273},[167,78516,246],{"class":191},[167,78518,21941],{"class":181},[167,78520,229],{"class":173},[167,78522,21946],{"class":254},[167,78524,258],{"class":173},[167,78526,78527,78529,78531,78533,78535,78537],{"class":169,"line":279},[167,78528,21953],{"class":191},[167,78530,2522],{"class":173},[167,78532,216],{"class":191},[167,78534,21960],{"class":219},[167,78536,21963],{"class":191},[167,78538,21966],{"class":173},[167,78540,78541,78543,78545],{"class":169,"line":289},[167,78542,21971],{"class":173},[167,78544,7858],{"class":181},[167,78546,21976],{"class":173},[167,78548,78549],{"class":169,"line":294},[167,78550,3488],{"class":173},[167,78552,78553,78555,78557,78559],{"class":169,"line":304},[167,78554,21985],{"class":173},[167,78556,15752],{"class":219},[167,78558,223],{"class":191},[167,78560,15798],{"class":219},[167,78562,78563],{"class":169,"line":313},[167,78564,276],{"class":173},[167,78566,78567],{"class":169,"line":161},[167,78568,209],{"emptyLinePlaceholder":208},[167,78570,78571,78573,78575,78577,78579,78581,78583,78585],{"class":169,"line":335},[167,78572,246],{"class":191},[167,78574,22006],{"class":181},[167,78576,229],{"class":173},[167,78578,21811],{"class":254},[167,78580,1020],{"class":173},[167,78582,22015],{"class":254},[167,78584,223],{"class":191},[167,78586,22020],{"class":173},[167,78588,78589,78591,78593,78595,78597,78599],{"class":169,"line":341},[167,78590,1438],{"class":191},[167,78592,22027],{"class":181},[167,78594,223],{"class":191},[167,78596,1464],{"class":173},[167,78598,639],{"class":191},[167,78600,1901],{"class":173},[167,78602,78603,78605],{"class":169,"line":489},[167,78604,22040],{"class":181},[167,78606,21976],{"class":173},[167,78608,78609,78611,78613],{"class":169,"line":495},[167,78610,22047],{"class":173},[167,78612,267],{"class":191},[167,78614,22052],{"class":173},[167,78616,78617,78619,78621],{"class":169,"line":501},[167,78618,22057],{"class":173},[167,78620,15719],{"class":181},[167,78622,21976],{"class":173},[167,78624,78625,78627,78629,78631,78633],{"class":169,"line":512},[167,78626,8262],{"class":191},[167,78628,22068],{"class":219},[167,78630,223],{"class":191},[167,78632,22073],{"class":181},[167,78634,2913],{"class":173},[167,78636,78637,78639,78641],{"class":169,"line":781},[167,78638,22057],{"class":173},[167,78640,22082],{"class":181},[167,78642,2913],{"class":173},[167,78644,78645,78647,78649,78651,78653,78655,78657,78659,78661],{"class":169,"line":786},[167,78646,22047],{"class":173},[167,78648,267],{"class":191},[167,78650,22093],{"class":173},[167,78652,15752],{"class":219},[167,78654,22098],{"class":191},[167,78656,15758],{"class":219},[167,78658,22103],{"class":173},[167,78660,15795],{"class":191},[167,78662,12142],{"class":219},[167,78664,78665,78667],{"class":169,"line":2674},[167,78666,1933],{"class":191},[167,78668,22114],{"class":173},[167,78670,78671],{"class":169,"line":2688},[167,78672,3488],{"class":173},[167,78674,78675],{"class":169,"line":3571},[167,78676,209],{"emptyLinePlaceholder":208},[167,78678,78679,78681,78683],{"class":169,"line":5024},[167,78680,22127],{"class":173},[167,78682,267],{"class":191},[167,78684,21930],{"class":173},[167,78686,78687,78689,78691],{"class":169,"line":5033},[167,78688,22136],{"class":173},[167,78690,267],{"class":191},[167,78692,22141],{"class":173},[167,78694,78695],{"class":169,"line":5042},[167,78696,209],{"emptyLinePlaceholder":208},[167,78698,78699,78701,78703,78705],{"class":169,"line":6752},[167,78700,2540],{"class":191},[167,78702,2522],{"class":173},[167,78704,6637],{"class":191},[167,78706,22156],{"class":173},[167,78708,78709,78711],{"class":169,"line":6774},[167,78710,22161],{"class":181},[167,78712,2913],{"class":173},[167,78714,78715],{"class":169,"line":6779},[167,78716,3488],{"class":173},[167,78718,78719],{"class":169,"line":6784},[167,78720,209],{"emptyLinePlaceholder":208},[167,78722,78723,78725],{"class":169,"line":6789},[167,78724,1534],{"class":191},[167,78726,22052],{"class":173},[167,78728,78729],{"class":169,"line":6805},[167,78730,276],{"class":173},[167,78732,78733],{"class":169,"line":6820},[167,78734,209],{"emptyLinePlaceholder":208},[167,78736,78737,78739,78741,78743,78745,78747,78749],{"class":169,"line":6825},[167,78738,246],{"class":191},[167,78740,22192],{"class":181},[167,78742,229],{"class":173},[167,78744,7835],{"class":254},[167,78746,1020],{"class":173},[167,78748,7841],{"class":254},[167,78750,258],{"class":173},[167,78752,78753,78755,78757,78759,78761],{"class":169,"line":6832},[167,78754,2540],{"class":191},[167,78756,2522],{"class":173},[167,78758,6637],{"class":191},[167,78760,22213],{"class":173},[167,78762,2552],{"class":191},[167,78764,78765],{"class":169,"line":6841},[167,78766,209],{"emptyLinePlaceholder":208},[167,78768,78769,78771,78773,78775,78777,78779],{"class":169,"line":6850},[167,78770,22224],{"class":191},[167,78772,22227],{"class":173},[167,78774,267],{"class":191},[167,78776,22232],{"class":173},[167,78778,4229],{"class":181},[167,78780,22237],{"class":173},[167,78782,78783,78785,78787,78789],{"class":169,"line":6857},[167,78784,2540],{"class":191},[167,78786,2522],{"class":173},[167,78788,6637],{"class":191},[167,78790,22248],{"class":173},[167,78792,78793,78795,78797,78799,78801],{"class":169,"line":6875},[167,78794,22253],{"class":173},[167,78796,267],{"class":191},[167,78798,4220],{"class":191},[167,78800,22260],{"class":181},[167,78802,2913],{"class":173},[167,78804,78805,78807,78809],{"class":169,"line":6880},[167,78806,22267],{"class":173},[167,78808,7852],{"class":181},[167,78810,22272],{"class":173},[167,78812,78813],{"class":169,"line":6885},[167,78814,3488],{"class":173},[167,78816,78817],{"class":169,"line":6894},[167,78818,209],{"emptyLinePlaceholder":208},[167,78820,78821,78823,78825,78827,78829,78831],{"class":169,"line":6899},[167,78822,22224],{"class":191},[167,78824,22287],{"class":173},[167,78826,267],{"class":191},[167,78828,22292],{"class":173},[167,78830,4229],{"class":181},[167,78832,22297],{"class":173},[167,78834,78835,78837,78839,78841],{"class":169,"line":6908},[167,78836,2540],{"class":191},[167,78838,2522],{"class":173},[167,78840,6637],{"class":191},[167,78842,22308],{"class":173},[167,78844,78845,78847,78849,78851,78853],{"class":169,"line":6924},[167,78846,22313],{"class":173},[167,78848,267],{"class":191},[167,78850,4220],{"class":191},[167,78852,22320],{"class":181},[167,78854,2913],{"class":173},[167,78856,78857,78859,78861],{"class":169,"line":6945},[167,78858,22327],{"class":173},[167,78860,7852],{"class":181},[167,78862,22332],{"class":173},[167,78864,78865],{"class":169,"line":6950},[167,78866,3488],{"class":173},[167,78868,78869],{"class":169,"line":6971},[167,78870,209],{"emptyLinePlaceholder":208},[167,78872,78873,78875,78877,78879,78881,78883],{"class":169,"line":6985},[167,78874,2540],{"class":191},[167,78876,2522],{"class":173},[167,78878,6637],{"class":191},[167,78880,22351],{"class":173},[167,78882,22354],{"class":181},[167,78884,22357],{"class":173},[167,78886,78887,78889,78891],{"class":169,"line":6999},[167,78888,21971],{"class":173},[167,78890,7855],{"class":181},[167,78892,22366],{"class":173},[167,78894,78895,78897,78899],{"class":169,"line":7013},[167,78896,22371],{"class":173},[167,78898,15719],{"class":181},[167,78900,22376],{"class":173},[167,78902,78903],{"class":169,"line":7022},[167,78904,3488],{"class":173},[167,78906,78907],{"class":169,"line":7027},[167,78908,276],{"class":173},[167,78910,78911],{"class":169,"line":7044},[167,78912,209],{"emptyLinePlaceholder":208},[167,78914,78915,78917,78919,78921,78923,78925,78927],{"class":169,"line":7053},[167,78916,246],{"class":191},[167,78918,22395],{"class":181},[167,78920,229],{"class":173},[167,78922,7835],{"class":254},[167,78924,1020],{"class":173},[167,78926,7841],{"class":254},[167,78928,258],{"class":173},[167,78930,78931,78933,78935,78937,78939,78941],{"class":169,"line":7551},[167,78932,1438],{"class":191},[167,78934,22412],{"class":219},[167,78936,223],{"class":191},[167,78938,22232],{"class":173},[167,78940,4229],{"class":181},[167,78942,22237],{"class":173},[167,78944,78945,78947,78949,78951,78953],{"class":169,"line":7556},[167,78946,2540],{"class":191},[167,78948,2522],{"class":173},[167,78950,6637],{"class":191},[167,78952,22431],{"class":173},[167,78954,2552],{"class":191},[167,78956,78957],{"class":169,"line":7575},[167,78958,209],{"emptyLinePlaceholder":208},[167,78960,78961,78963,78965,78967,78969,78971],{"class":169,"line":7588},[167,78962,1438],{"class":191},[167,78964,21960],{"class":219},[167,78966,223],{"class":191},[167,78968,22292],{"class":173},[167,78970,4229],{"class":181},[167,78972,22297],{"class":173},[167,78974,78975,78977,78979,78981,78983],{"class":169,"line":7601},[167,78976,2540],{"class":191},[167,78978,2522],{"class":173},[167,78980,6637],{"class":191},[167,78982,22462],{"class":173},[167,78984,2552],{"class":191},[167,78986,78987],{"class":169,"line":7614},[167,78988,209],{"emptyLinePlaceholder":208},[167,78990,78991,78993,78995,78997,78999,79001],{"class":169,"line":7623},[167,78992,1438],{"class":191},[167,78994,22475],{"class":219},[167,78996,223],{"class":191},[167,78998,4220],{"class":191},[167,79000,22320],{"class":181},[167,79002,2913],{"class":173},[167,79004,79005,79007,79009,79011,79013,79015,79017],{"class":169,"line":7628},[167,79006,22488],{"class":173},[167,79008,22491],{"class":181},[167,79010,1914],{"class":173},[167,79012,21946],{"class":254},[167,79014,693],{"class":173},[167,79016,639],{"class":191},[167,79018,1901],{"class":173},[167,79020,79021,79023,79025,79027,79029,79031],{"class":169,"line":7643},[167,79022,7415],{"class":191},[167,79024,22508],{"class":173},[167,79026,701],{"class":191},[167,79028,22513],{"class":173},[167,79030,7855],{"class":181},[167,79032,21976],{"class":173},[167,79034,79035],{"class":169,"line":7652},[167,79036,8343],{"class":173},[167,79038,79039],{"class":169,"line":10069},[167,79040,209],{"emptyLinePlaceholder":208},[167,79042,79043,79045,79047,79049,79051,79053,79055],{"class":169,"line":10080},[167,79044,22530],{"class":173},[167,79046,22491],{"class":181},[167,79048,1914],{"class":173},[167,79050,21946],{"class":254},[167,79052,693],{"class":173},[167,79054,639],{"class":191},[167,79056,1901],{"class":173},[167,79058,79059,79061],{"class":169,"line":10085},[167,79060,7415],{"class":191},[167,79062,22549],{"class":173},[167,79064,79065,79067,79069],{"class":169,"line":10094},[167,79066,22554],{"class":173},[167,79068,22557],{"class":181},[167,79070,21976],{"class":173},[167,79072,79073,79075,79077],{"class":169,"line":10099},[167,79074,7359],{"class":173},[167,79076,22566],{"class":191},[167,79078,1901],{"class":173},[167,79080,79081,79083],{"class":169,"line":10108},[167,79082,22573],{"class":181},[167,79084,2913],{"class":173},[167,79086,79087],{"class":169,"line":10125},[167,79088,4045],{"class":173},[167,79090,79091],{"class":169,"line":10134},[167,79092,8343],{"class":173},[167,79094,79095],{"class":169,"line":10148},[167,79096,276],{"class":173},[167,79098,79099],{"class":169,"line":10157},[167,79100,209],{"emptyLinePlaceholder":208},[167,79102,79103,79105,79107,79109,79111],{"class":169,"line":10163},[167,79104,246],{"class":191},[167,79106,846],{"class":181},[167,79108,229],{"class":173},[167,79110,22602],{"class":254},[167,79112,258],{"class":173},[167,79114,79115,79117,79119,79121],{"class":169,"line":10173},[167,79116,1534],{"class":191},[167,79118,4220],{"class":191},[167,79120,22613],{"class":181},[167,79122,22616],{"class":173},[167,79124,79125,79127,79129,79131,79133,79135,79137,79139],{"class":169,"line":10182},[167,79126,22621],{"class":181},[167,79128,229],{"class":173},[167,79130,7835],{"class":254},[167,79132,1020],{"class":173},[167,79134,7841],{"class":254},[167,79136,1020],{"class":173},[167,79138,22634],{"class":254},[167,79140,258],{"class":173},[167,79142,79143,79145],{"class":169,"line":10187},[167,79144,22641],{"class":181},[167,79146,22644],{"class":173},[167,79148,79149,79151,79153,79155],{"class":169,"line":10210},[167,79150,8763],{"class":191},[167,79152,22651],{"class":173},[167,79154,4229],{"class":181},[167,79156,22656],{"class":173},[167,79158,79159],{"class":169,"line":10224},[167,79160,755],{"class":173},[167,79162,79163,79165,79167,79169,79171,79173,79175,79177,79179,79181],{"class":169,"line":10237},[167,79164,22665],{"class":181},[167,79166,229],{"class":173},[167,79168,7835],{"class":254},[167,79170,1020],{"class":173},[167,79172,7841],{"class":254},[167,79174,1020],{"class":173},[167,79176,2215],{"class":254},[167,79178,1020],{"class":173},[167,79180,22634],{"class":254},[167,79182,258],{"class":173},[167,79184,79185,79187,79189,79191],{"class":169,"line":10252},[167,79186,4431],{"class":191},[167,79188,22690],{"class":219},[167,79190,223],{"class":191},[167,79192,22695],{"class":173},[167,79194,79195,79197,79199,79201,79203,79205],{"class":169,"line":10279},[167,79196,4431],{"class":191},[167,79198,22068],{"class":219},[167,79200,223],{"class":191},[167,79202,22651],{"class":173},[167,79204,7852],{"class":181},[167,79206,22710],{"class":173},[167,79208,79209,79211,79213,79215,79217,79219],{"class":169,"line":10288},[167,79210,7257],{"class":191},[167,79212,2522],{"class":173},[167,79214,6637],{"class":191},[167,79216,22721],{"class":173},[167,79218,22724],{"class":181},[167,79220,22727],{"class":173},[167,79222,79223,79225],{"class":169,"line":10293},[167,79224,22732],{"class":181},[167,79226,22644],{"class":173},[167,79228,79229],{"class":169,"line":10313},[167,79230,7283],{"class":173},[167,79232,79233,79235],{"class":169,"line":10322},[167,79234,8763],{"class":191},[167,79236,22114],{"class":173},[167,79238,79239],{"class":169,"line":10977},[167,79240,4045],{"class":173},[167,79242,79243],{"class":169,"line":10990},[167,79244,8343],{"class":173},[167,79246,79247],{"class":169,"line":11003},[167,79248,276],{"class":173},[154,79250,79251],{"className":2875,"code":22759,"filename":22760,"language":2878,"meta":163,"style":163},[87,79252,79253,79273,79277,79287,79309,79313,79317,79323],{"__ignoreMap":163},[167,79254,79255,79257,79259,79261,79263,79265,79267,79269,79271],{"class":169,"line":170},[167,79256,216],{"class":191},[167,79258,22769],{"class":219},[167,79260,223],{"class":191},[167,79262,846],{"class":181},[167,79264,22776],{"class":173},[167,79266,1956],{"class":219},[167,79268,22781],{"class":173},[167,79270,390],{"class":219},[167,79272,2238],{"class":173},[167,79274,79275],{"class":169,"line":188},[167,79276,209],{"emptyLinePlaceholder":208},[167,79278,79279,79281,79283,79285],{"class":169,"line":205},[167,79280,22794],{"class":181},[167,79282,1488],{"class":173},[167,79284,639],{"class":191},[167,79286,1901],{"class":173},[167,79288,79289,79291,79293,79295,79297,79299,79301,79303,79305,79307],{"class":169,"line":160},[167,79290,2604],{"class":173},[167,79292,2607],{"class":181},[167,79294,229],{"class":173},[167,79296,22811],{"class":201},[167,79298,22814],{"class":173},[167,79300,8312],{"class":191},[167,79302,22819],{"class":173},[167,79304,583],{"class":191},[167,79306,22824],{"class":201},[167,79308,235],{"class":173},[167,79310,79311],{"class":169,"line":238},[167,79312,403],{"class":173},[167,79314,79315],{"class":169,"line":243},[167,79316,209],{"emptyLinePlaceholder":208},[167,79318,79319,79321],{"class":169,"line":261},[167,79320,22839],{"class":173},[167,79322,3122],{"class":191},[167,79324,79325,79327,79329],{"class":169,"line":273},[167,79326,22846],{"class":173},[167,79328,267],{"class":191},[167,79330,5589],{"class":219},[3083,79332,22854],{"id":22853},[3031,79334,79335,79339,79351,79357,79365],{},[36,79336,79337,22861],{},[87,79338,22794],{},[36,79340,22864,79341,1023,79343,22870,79345,22873,79347,22877,79349,1675],{},[87,79342,22867],{},[87,79344,22839],{},[87,79346,4229],{},[87,79348,22876],{},[87,79350,21820],{},[36,79352,79353,22884,79355,1675],{},[87,79354,21820],{},[87,79356,22887],{},[36,79358,22890,79359,22870,79361,22877,79363,1675],{},[87,79360,22839],{},[87,79362,7852],{},[87,79364,22897],{},[36,79366,79367,22902,79369,22905],{},[87,79368,22897],{},[87,79370,21726],{},[15,79372,22908],{},[22,79374,22912],{"id":22911},[3083,79376,79377,22918,79379],{"id":22915},[87,79378,18239],{},[87,79380,22876],{},[15,79382,79383,22925,79385,22928,79387,1020,79389,1020,79391,1020,79393,22938],{},[87,79384,18239],{},[87,79386,22876],{},[87,79388,4229],{},[87,79390,7852],{},[87,79392,22354],{},[87,79394,22937],{},[33,79396,79397,79401,79405],{},[36,79398,6300,79399,22945],{},[87,79400,4229],{},[36,79402,6300,79403,22950],{},[87,79404,7852],{},[36,79406,22953,79407,1020,79409,1020,79411,1020,79413,22963],{},[87,79408,21718],{},[87,79410,21726],{},[87,79412,21710],{},[87,79414,22962],{},[3083,79416,79417,22969],{"id":22966},[87,79418,2081],{},[15,79420,22972,79421,1675],{},[87,79422,22975],{},[15,79424,22978],{},[154,79426,79427],{"className":2875,"code":22981,"filename":22982,"language":2878,"meta":163,"style":163},[87,79428,79429,79441,79451,79459,79469,79475,79479,79491,79505,79513,79523,79527,79531,79535,79541],{"__ignoreMap":163},[167,79430,79431,79433,79435,79437,79439],{"class":169,"line":170},[167,79432,246],{"class":191},[167,79434,226],{"class":181},[167,79436,229],{"class":173},[167,79438,22995],{"class":254},[167,79440,258],{"class":173},[167,79442,79443,79445,79447,79449],{"class":169,"line":188},[167,79444,1438],{"class":191},[167,79446,23004],{"class":219},[167,79448,223],{"class":191},[167,79450,1901],{"class":173},[167,79452,79453,79455,79457],{"class":169,"line":205},[167,79454,22621],{"class":191},[167,79456,23015],{"class":181},[167,79458,763],{"class":173},[167,79460,79461,79463,79465,79467],{"class":169,"line":160},[167,79462,22641],{"class":181},[167,79464,23024],{"class":173},[167,79466,23027],{"class":201},[167,79468,235],{"class":173},[167,79470,79471,79473],{"class":169,"line":238},[167,79472,8763],{"class":191},[167,79474,23036],{"class":173},[167,79476,79477],{"class":169,"line":243},[167,79478,755],{"class":173},[167,79480,79481,79483,79485,79487,79489],{"class":169,"line":261},[167,79482,22665],{"class":191},[167,79484,23015],{"class":181},[167,79486,229],{"class":173},[167,79488,7864],{"class":254},[167,79490,258],{"class":173},[167,79492,79493,79495,79497,79499,79501,79503],{"class":169,"line":273},[167,79494,7257],{"class":191},[167,79496,2522],{"class":173},[167,79498,6637],{"class":191},[167,79500,22721],{"class":173},[167,79502,22724],{"class":181},[167,79504,23067],{"class":173},[167,79506,79507,79509,79511],{"class":169,"line":279},[167,79508,23072],{"class":173},[167,79510,267],{"class":191},[167,79512,23077],{"class":173},[167,79514,79515,79517,79519,79521],{"class":169,"line":289},[167,79516,22732],{"class":181},[167,79518,23024],{"class":173},[167,79520,23027],{"class":201},[167,79522,235],{"class":173},[167,79524,79525],{"class":169,"line":294},[167,79526,7283],{"class":173},[167,79528,79529],{"class":169,"line":304},[167,79530,4045],{"class":173},[167,79532,79533],{"class":169,"line":313},[167,79534,3488],{"class":173},[167,79536,79537,79539],{"class":169,"line":161},[167,79538,1534],{"class":191},[167,79540,23106],{"class":173},[167,79542,79543],{"class":169,"line":335},[167,79544,276],{"class":173},[15,79546,23113],{},[33,79548,79549,79553],{},[36,79550,23118,79551,23121],{},[87,79552,2081],{},[36,79554,23124,79555,23127],{},[87,79556,22975],{},[3083,79558,79559,23133,79561],{"id":23130},[87,79560,1657],{},[87,79562,22794],{},[15,79564,79565,23140,79567,23143],{},[87,79566,1657],{},[87,79568,22794],{},[3031,79570,79571,79575,79577,79579],{},[36,79572,23148,79573,1675],{},[87,79574,22975],{},[36,79576,23153],{},[36,79578,23156],{},[36,79580,23159,79581,21853,79583,23164],{},[87,79582,21820],{},[87,79584,22897],{},[15,79586,23167],{},[33,79588,79589,79593,79597],{},[36,79590,23172,79591],{},[87,79592,23175],{},[36,79594,23178,79595],{},[87,79596,23181],{},[36,79598,23184],{},[3083,79600,23188],{"id":23187},[15,79602,23191],{},[3031,79604,79605,79607,79609],{},[36,79606,23196],{},[36,79608,23199],{},[36,79610,23202],{},[15,79612,23205],{},[154,79614,79615],{"className":2875,"code":23208,"filename":23209,"language":2878,"meta":163,"style":163},[87,79616,79617,79631,79641,79657,79661,79673,79681,79689,79697,79709,79727,79735,79743,79747],{"__ignoreMap":163},[167,79618,79619,79621,79623,79625,79627,79629],{"class":169,"line":170},[167,79620,216],{"class":191},[167,79622,23218],{"class":219},[167,79624,223],{"class":191},[167,79626,4220],{"class":191},[167,79628,22320],{"class":181},[167,79630,2913],{"class":173},[167,79632,79633,79635,79637,79639],{"class":169,"line":188},[167,79634,13944],{"class":191},[167,79636,23233],{"class":173},[167,79638,267],{"class":191},[167,79640,5589],{"class":219},[167,79642,79643,79645,79647,79649,79651,79653,79655],{"class":169,"line":205},[167,79644,216],{"class":191},[167,79646,23244],{"class":219},[167,79648,223],{"class":191},[167,79650,23249],{"class":219},[167,79652,1675],{"class":173},[167,79654,23254],{"class":181},[167,79656,2913],{"class":173},[167,79658,79659],{"class":169,"line":160},[167,79660,209],{"emptyLinePlaceholder":208},[167,79662,79663,79665,79667,79669,79671],{"class":169,"line":238},[167,79664,246],{"class":191},[167,79666,23267],{"class":181},[167,79668,229],{"class":173},[167,79670,23272],{"class":254},[167,79672,258],{"class":173},[167,79674,79675,79677,79679],{"class":169,"line":243},[167,79676,23279],{"class":173},[167,79678,7855],{"class":181},[167,79680,23284],{"class":173},[167,79682,79683,79685,79687],{"class":169,"line":261},[167,79684,2540],{"class":191},[167,79686,23291],{"class":173},[167,79688,2552],{"class":191},[167,79690,79691,79693,79695],{"class":169,"line":273},[167,79692,23298],{"class":173},[167,79694,267],{"class":191},[167,79696,3483],{"class":219},[167,79698,79699,79701,79703,79705,79707],{"class":169,"line":279},[167,79700,23307],{"class":173},[167,79702,18175],{"class":181},[167,79704,1488],{"class":173},[167,79706,639],{"class":191},[167,79708,1901],{"class":173},[167,79710,79711,79713,79715,79717,79719,79721,79723,79725],{"class":169,"line":289},[167,79712,23320],{"class":173},[167,79714,22491],{"class":181},[167,79716,1914],{"class":173},[167,79718,23327],{"class":254},[167,79720,693],{"class":173},[167,79722,639],{"class":191},[167,79724,23334],{"class":181},[167,79726,2505],{"class":173},[167,79728,79729,79731,79733],{"class":169,"line":294},[167,79730,23320],{"class":173},[167,79732,23343],{"class":181},[167,79734,2913],{"class":173},[167,79736,79737,79739,79741],{"class":169,"line":304},[167,79738,23350],{"class":173},[167,79740,267],{"class":191},[167,79742,5589],{"class":219},[167,79744,79745],{"class":169,"line":313},[167,79746,8343],{"class":173},[167,79748,79749],{"class":169,"line":161},[167,79750,276],{"class":173},[15,79752,23365],{},[22,79754,3081],{"id":3080},[3083,79756,23371],{"id":23370},[154,79758,79759],{"className":2875,"code":23374,"filename":23375,"language":2878,"meta":163,"style":163},[87,79760,79761,79777],{"__ignoreMap":163},[167,79762,79763,79765,79767,79769,79771,79773,79775],{"class":169,"line":170},[167,79764,216],{"class":191},[167,79766,22769],{"class":219},[167,79768,223],{"class":191},[167,79770,846],{"class":181},[167,79772,22776],{"class":173},[167,79774,1956],{"class":219},[167,79776,2238],{"class":173},[167,79778,79779,79781,79783,79785,79787,79789,79791],{"class":169,"line":188},[167,79780,216],{"class":191},[167,79782,577],{"class":173},[167,79784,23402],{"class":219},[167,79786,23405],{"class":173},[167,79788,267],{"class":191},[167,79790,23410],{"class":173},[167,79792,23413],{"class":18658},[15,79794,23416],{},[33,79796,79797,79801],{},[36,79798,3176,79799],{},[87,79800,23423],{},[36,79802,23426,79803,1675],{},[87,79804,22839],{},[3083,79806,23432],{"id":23431},[15,79808,23435,79809,23438,79811,23441,79813,1675],{},[87,79810,22876],{},[87,79812,22897],{},[87,79814,22975],{},[3083,79816,79817,1658,79819],{"id":23446},[87,79818,23449],{},[87,79820,2081],{},[15,79822,79823,23456,79825,23459],{},[87,79824,23449],{},[87,79826,22975],{},[154,79828,79829],{"className":2875,"code":23462,"filename":23463,"language":2878,"meta":163,"style":163},[87,79830,79831,79847,79857],{"__ignoreMap":163},[167,79832,79833,79835,79837,79839,79841,79843,79845],{"class":169,"line":170},[167,79834,216],{"class":191},[167,79836,23472],{"class":219},[167,79838,223],{"class":191},[167,79840,23477],{"class":181},[167,79842,23480],{"class":173},[167,79844,23483],{"class":201},[167,79846,2238],{"class":173},[167,79848,79849,79851,79853,79855],{"class":169,"line":188},[167,79850,23490],{"class":173},[167,79852,267],{"class":191},[167,79854,23495],{"class":201},[167,79856,23498],{"class":18658},[167,79858,79859,79861,79863,79865,79867,79869,79871,79873],{"class":169,"line":205},[167,79860,23503],{"class":173},[167,79862,267],{"class":191},[167,79864,577],{"class":173},[167,79866,23510],{"class":191},[167,79868,23513],{"class":173},[167,79870,23516],{"class":201},[167,79872,23405],{"class":173},[167,79874,23521],{"class":18658},[15,79876,23524],{},[33,79878,79879,79881,79883],{},[36,79880,23529],{},[36,79882,23532],{},[36,79884,23535],{},[3083,79886,23539],{"id":23538},[15,79888,23542],{},[33,79890,79891,79895,79899,79905],{},[36,79892,23547,79893,23550],{},[87,79894,1664],{},[36,79896,23553,79897,23550],{},[87,79898,1657],{},[36,79900,3176,79901,23560,79903,23563],{},[87,79902,1664],{},[87,79904,1657],{},[36,79906,23566],{},[22,79908,23570],{"id":23569},[15,79910,23573],{},[33,79912,79913,79915,79917],{},[36,79914,23578],{},[36,79916,23581],{},[36,79918,23584],{},[15,79920,23587],{},[33,79922,79923,79925,79927],{},[36,79924,23592],{},[36,79926,23595],{},[36,79928,23598,79929,1020,79931,1020,79933,1020,79935,1020,79937,23609],{},[87,79930,2081],{},[87,79932,18239],{},[87,79934,23449],{},[87,79936,1657],{},[87,79938,1661],{},[5363,79940,79941],{},[15,79942,23614],{},[924,79944,23617],{},{"title":163,"searchDepth":188,"depth":188,"links":79946},[79947,79948,79953,79956,79962,79968],{"id":21632,"depth":188,"text":21633},{"id":21664,"depth":188,"text":21665,"children":79949},[79950,79951,79952],{"id":21668,"depth":205,"text":21669},{"id":21699,"depth":205,"text":21700},{"id":21782,"depth":205,"text":23626},{"id":21846,"depth":188,"text":21847,"children":79954},[79955],{"id":22853,"depth":205,"text":22854},{"id":22911,"depth":188,"text":22912,"children":79957},[79958,79959,79960,79961],{"id":22915,"depth":205,"text":23633},{"id":22966,"depth":205,"text":23635},{"id":23130,"depth":205,"text":23637},{"id":23187,"depth":205,"text":23188},{"id":3080,"depth":188,"text":3081,"children":79963},[79964,79965,79966,79967],{"id":23370,"depth":205,"text":23371},{"id":23431,"depth":205,"text":23432},{"id":23446,"depth":205,"text":23644},{"id":23538,"depth":205,"text":23539},{"id":23569,"depth":188,"text":23570},{"updatedAt":23651,"coverCaption":23652,"author":945,"keywords":79970},[950,3255,23654,22557,23655,1657],[79972],{"headline":21612,"author":79973,"datePublished":23651,"@type":959},{"name":945,"@type":958},{"title":21612,"description":23649},[79976,79977,79978,79979],{"tag":3265,"color":3266},{"tag":952,"color":966},{"tag":3269,"color":3270},{"tag":7726,"color":7727},{"id":23669,"title":23670,"body":79981,"cover":26441,"coverAlt":26442,"date":26443,"description":26444,"draft":1617,"extension":940,"lab":941,"locale":942,"meta":82480,"navigation":208,"path":26451,"schemaOrg":82482,"seo":82485,"series":26456,"seriesDescription":26457,"seriesOrder":294,"seriesTitle":26458,"slug":941,"stem":26459,"tags":82486,"__hash__":26470},{"type":8,"value":79982,"toc":82465},[79983,79985,79987,79991,80011,80017,80019,80023,80025,80039,80041,80051,80055,80083,80089,80091,80107,80109,80123,80125,80207,80209,80223,80227,80835,81273,81287,81289,81293,81435,81525,81557,81561,82017,82343,82425,82435,82437,82463],[11,79984,23676],{"id":23675},[22,79986,23680],{"id":23679},[15,79988,23683,79989,23687],{},[3929,79990,23686],{},[33,79992,79993,79997,80001,80005],{},[36,79994,23692,79995,6215],{},[87,79996,23695],{},[36,79998,23698,79999,6215],{},[87,80000,23701],{},[36,80002,23704,80003,6215],{},[87,80004,23707],{},[36,80006,23710,80007,1020,80009,23715],{},[87,80008,13757],{},[87,80010,13582],{},[15,80012,23718,80013,1020,80015,23725],{},[3929,80014,23721],{},[3929,80016,23724],{},[22,80018,6253],{"id":6252},[15,80020,23730,80021,1675],{},[3929,80022,23733],{},[15,80024,23736],{},[33,80026,80027,80031,80035],{},[36,80028,80029,23743],{},[87,80030,6389],{},[36,80032,80033,23748],{},[87,80034,15033],{},[36,80036,80037,23753],{},[87,80038,11272],{},[15,80040,23756],{},[33,80042,80043],{},[36,80044,80045,1020,80047,1020,80049],{},[87,80046,16600],{},[87,80048,15030],{},[87,80050,13468],{},[15,80052,23769,80053,23773],{},[87,80054,23772],{},[33,80056,80057,80063,80071,80077],{},[36,80058,80059,23781,80061,4266],{},[87,80060,23780],{},[87,80062,23784],{},[36,80064,80065,23790,80067,21853,80069,4266],{},[87,80066,23789],{},[87,80068,15030],{},[87,80070,15033],{},[36,80072,80073,23800,80075,4266],{},[87,80074,23799],{},[87,80076,23803],{},[36,80078,80079,23809,80081,4266],{},[87,80080,23808],{},[87,80082,23812],{},[15,80084,23815,80085,23819,80087,1675],{},[3929,80086,23818],{},[3929,80088,23822],{},[22,80090,23826],{"id":23825},[3031,80092,80093,80095,80101],{},[36,80094,23831],{},[36,80096,23834,80097,1020,80099,23839],{},[87,80098,13757],{},[87,80100,13582],{},[36,80102,23842,80103,1020,80105,4266],{},[87,80104,23695],{},[87,80106,23707],{},[22,80108,23850],{"id":23849},[3031,80110,80111,80113,80121],{},[36,80112,23855],{},[36,80114,23858,80115,1020,80117,1020,80119,4266],{},[87,80116,23861],{},[87,80118,23864],{},[87,80120,23867],{},[36,80122,23870],{},[22,80124,3081],{"id":3080},[3031,80126,80127,80143,80159,80175,80191],{},[36,80128,80129,80133],{},[3929,80130,23879,80131,1675],{},[87,80132,11272],{},[33,80134,80135,80139],{},[36,80136,23886,80137,23889],{},[87,80138,6389],{},[36,80140,23892,80141,1675],{},[87,80142,11272],{},[36,80144,80145,80147],{},[3929,80146,23899],{},[33,80148,80149,80151],{},[36,80150,23904],{},[36,80152,23907,80153,1020,80155,1023,80157,1675],{},[87,80154,2215],{},[87,80156,23912],{},[87,80158,23915],{},[36,80160,80161,80163],{},[3929,80162,23920],{},[33,80164,80165,80167],{},[36,80166,23925],{},[36,80168,23928,80169,1020,80171,1020,80173,23935],{},[87,80170,2646],{},[87,80172,1237],{},[87,80174,507],{},[36,80176,80177,80179],{},[3929,80178,23940],{},[33,80180,80181,80187],{},[36,80182,23945,80183,23948,80185,23951],{},[87,80184,6389],{},[87,80186,23780],{},[36,80188,23954,80189,1675],{},[87,80190,15033],{},[36,80192,80193,80197],{},[3929,80194,23961,80195,1675],{},[87,80196,15033],{},[33,80198,80199,80201],{},[36,80200,23968],{},[36,80202,23971,80203,1023,80205,23976],{},[87,80204,23780],{},[87,80206,23789],{},[22,80208,7993],{"id":7992},[33,80210,80211,80215,80219],{},[36,80212,80213,23985],{},[87,80214,23695],{},[36,80216,80217,23990],{},[87,80218,23707],{},[36,80220,80221,23996],{},[87,80222,23995],{},[3083,80224,80225,24002],{"id":23999},[87,80226,23707],{},[154,80228,80229],{"className":156,"code":24005,"filename":3256,"language":162,"meta":163,"style":163},[87,80230,80231,80247,80261,80273,80277,80301,80305,80319,80341,80351,80355,80359,80375,80379,80403,80417,80437,80441,80445,80453,80457,80479,80499,80513,80517,80521,80535,80543,80547,80551,80555,80563,80567,80571,80587,80591,80595,80609,80613,80629,80637,80641,80645,80649,80659,80665,80681,80685,80691,80697,80701,80705,80713,80717,80725,80739,80763,80767,80787,80799,80811,80819,80827],{"__ignoreMap":163},[167,80232,80233,80235,80237,80239,80241,80243,80245],{"class":169,"line":170},[167,80234,174],{"class":173},[167,80236,178],{"class":177},[167,80238,182],{"class":181},[167,80240,1045],{"class":181},[167,80242,267],{"class":173},[167,80244,1050],{"class":201},[167,80246,185],{"class":173},[167,80248,80249,80251,80253,80255,80257,80259],{"class":169,"line":188},[167,80250,192],{"class":191},[167,80252,1169],{"class":191},[167,80254,24032],{"class":173},[167,80256,198],{"class":191},[167,80258,24037],{"class":201},[167,80260,24040],{"class":173},[167,80262,80263,80265,80267,80269,80271],{"class":169,"line":205},[167,80264,192],{"class":191},[167,80266,195],{"class":173},[167,80268,198],{"class":191},[167,80270,24037],{"class":201},[167,80272,24040],{"class":173},[167,80274,80275],{"class":169,"line":160},[167,80276,209],{"emptyLinePlaceholder":208},[167,80278,80279,80281,80283,80285,80287,80289,80291,80293,80295,80297,80299],{"class":169,"line":238},[167,80280,569],{"class":191},[167,80282,24063],{"class":181},[167,80284,223],{"class":191},[167,80286,2522],{"class":173},[167,80288,4191],{"class":254},[167,80290,583],{"class":191},[167,80292,24074],{"class":181},[167,80294,693],{"class":173},[167,80296,639],{"class":191},[167,80298,24081],{"class":219},[167,80300,24040],{"class":173},[167,80302,80303],{"class":169,"line":243},[167,80304,209],{"emptyLinePlaceholder":208},[167,80306,80307,80309,80311,80313,80315,80317],{"class":169,"line":261},[167,80308,569],{"class":191},[167,80310,24094],{"class":181},[167,80312,223],{"class":191},[167,80314,24099],{"class":181},[167,80316,24102],{"class":191},[167,80318,1901],{"class":173},[167,80320,80321,80323,80325,80327,80329,80331,80333,80335,80337,80339],{"class":169,"line":273},[167,80322,24109],{"class":181},[167,80324,24112],{"class":191},[167,80326,2522],{"class":173},[167,80328,4191],{"class":254},[167,80330,583],{"class":191},[167,80332,24074],{"class":181},[167,80334,693],{"class":173},[167,80336,639],{"class":191},[167,80338,24081],{"class":219},[167,80340,24040],{"class":173},[167,80342,80343,80345,80347,80349],{"class":169,"line":279},[167,80344,24133],{"class":254},[167,80346,24112],{"class":191},[167,80348,24063],{"class":181},[167,80350,24040],{"class":173},[167,80352,80353],{"class":169,"line":289},[167,80354,24144],{"class":173},[167,80356,80357],{"class":169,"line":294},[167,80358,209],{"emptyLinePlaceholder":208},[167,80360,80361,80363,80365,80367,80369,80371,80373],{"class":169,"line":304},[167,80362,216],{"class":191},[167,80364,5519],{"class":219},[167,80366,223],{"class":191},[167,80368,226],{"class":181},[167,80370,229],{"class":173},[167,80372,3388],{"class":219},[167,80374,24165],{"class":173},[167,80376,80377],{"class":169,"line":313},[167,80378,209],{"emptyLinePlaceholder":208},[167,80380,80381,80383,80385,80387,80389,80391,80393,80395,80397,80399,80401],{"class":169,"line":161},[167,80382,216],{"class":191},[167,80384,24176],{"class":219},[167,80386,583],{"class":191},[167,80388,24181],{"class":181},[167,80390,174],{"class":173},[167,80392,24186],{"class":181},[167,80394,1020],{"class":173},[167,80396,24191],{"class":181},[167,80398,24194],{"class":173},[167,80400,267],{"class":191},[167,80402,1901],{"class":173},[167,80404,80405,80407,80409,80411,80413,80415],{"class":169,"line":335},[167,80406,12745],{"class":181},[167,80408,229],{"class":173},[167,80410,24207],{"class":254},[167,80412,1020],{"class":173},[167,80414,23772],{"class":254},[167,80416,258],{"class":173},[167,80418,80419,80421,80423,80425,80427,80429,80431,80433,80435],{"class":169,"line":341},[167,80420,7415],{"class":191},[167,80422,2522],{"class":173},[167,80424,11753],{"class":191},[167,80426,24224],{"class":173},[167,80428,701],{"class":191},[167,80430,24229],{"class":201},[167,80432,693],{"class":173},[167,80434,24234],{"class":191},[167,80436,24040],{"class":173},[167,80438,80439],{"class":169,"line":489},[167,80440,209],{"emptyLinePlaceholder":208},[167,80442,80443],{"class":169,"line":495},[167,80444,24245],{"class":18658},[167,80446,80447,80449,80451],{"class":169,"line":501},[167,80448,24250],{"class":173},[167,80450,267],{"class":191},[167,80452,24255],{"class":173},[167,80454,80455],{"class":169,"line":512},[167,80456,209],{"emptyLinePlaceholder":208},[167,80458,80459,80461,80463,80465,80467,80469,80471,80473,80475,80477],{"class":169,"line":781},[167,80460,8262],{"class":191},[167,80462,24266],{"class":181},[167,80464,223],{"class":191},[167,80466,2522],{"class":173},[167,80468,4191],{"class":254},[167,80470,583],{"class":191},[167,80472,24074],{"class":181},[167,80474,693],{"class":173},[167,80476,639],{"class":191},[167,80478,1901],{"class":173},[167,80480,80481,80483,80485,80487,80489,80491,80493,80495,80497],{"class":169,"line":786},[167,80482,4431],{"class":191},[167,80484,24289],{"class":219},[167,80486,223],{"class":191},[167,80488,24294],{"class":173},[167,80490,6688],{"class":191},[167,80492,24299],{"class":181},[167,80494,659],{"class":191},[167,80496,6563],{"class":219},[167,80498,24040],{"class":173},[167,80500,80501,80503,80505,80507,80509,80511],{"class":169,"line":2674},[167,80502,7257],{"class":191},[167,80504,2522],{"class":173},[167,80506,6637],{"class":191},[167,80508,24316],{"class":173},[167,80510,24234],{"class":191},[167,80512,24040],{"class":173},[167,80514,80515],{"class":169,"line":2688},[167,80516,209],{"emptyLinePlaceholder":208},[167,80518,80519],{"class":169,"line":3571},[167,80520,24329],{"class":18658},[167,80522,80523,80525,80527,80529,80531,80533],{"class":169,"line":5024},[167,80524,7257],{"class":191},[167,80526,2522],{"class":173},[167,80528,6637],{"class":191},[167,80530,24340],{"class":173},[167,80532,24343],{"class":181},[167,80534,24346],{"class":173},[167,80536,80537,80539,80541],{"class":169,"line":5033},[167,80538,24351],{"class":173},[167,80540,24354],{"class":181},[167,80542,24357],{"class":173},[167,80544,80545],{"class":169,"line":5042},[167,80546,7283],{"class":173},[167,80548,80549],{"class":169,"line":6752},[167,80550,24366],{"class":173},[167,80552,80553],{"class":169,"line":6774},[167,80554,209],{"emptyLinePlaceholder":208},[167,80556,80557,80559,80561],{"class":169,"line":6779},[167,80558,24375],{"class":173},[167,80560,267],{"class":191},[167,80562,24380],{"class":173},[167,80564,80565],{"class":169,"line":6784},[167,80566,209],{"emptyLinePlaceholder":208},[167,80568,80569],{"class":169,"line":6789},[167,80570,24389],{"class":18658},[167,80572,80573,80575,80577,80579,80581,80583,80585],{"class":169,"line":6805},[167,80574,24394],{"class":173},[167,80576,1496],{"class":181},[167,80578,229],{"class":173},[167,80580,24401],{"class":201},[167,80582,24404],{"class":173},[167,80584,390],{"class":219},[167,80586,24165],{"class":173},[167,80588,80589],{"class":169,"line":6820},[167,80590,398],{"class":173},[167,80592,80593],{"class":169,"line":6825},[167,80594,209],{"emptyLinePlaceholder":208},[167,80596,80597,80599,80601,80603,80605,80607],{"class":169,"line":6832},[167,80598,16255],{"class":181},[167,80600,229],{"class":173},[167,80602,24207],{"class":254},[167,80604,1020],{"class":173},[167,80606,23772],{"class":254},[167,80608,258],{"class":173},[167,80610,80611],{"class":169,"line":6841},[167,80612,24435],{"class":18658},[167,80614,80615,80617,80619,80621,80623,80625,80627],{"class":169,"line":6850},[167,80616,7415],{"class":191},[167,80618,2522],{"class":173},[167,80620,11753],{"class":191},[167,80622,24224],{"class":173},[167,80624,2546],{"class":191},[167,80626,24229],{"class":201},[167,80628,258],{"class":173},[167,80630,80631,80633,80635],{"class":169,"line":6857},[167,80632,24456],{"class":173},[167,80634,267],{"class":191},[167,80636,24255],{"class":173},[167,80638,80639],{"class":169,"line":6875},[167,80640,4045],{"class":173},[167,80642,80643],{"class":169,"line":6880},[167,80644,398],{"class":173},[167,80646,80647],{"class":169,"line":6885},[167,80648,209],{"emptyLinePlaceholder":208},[167,80650,80651,80653,80655,80657],{"class":169,"line":6894},[167,80652,14618],{"class":181},[167,80654,229],{"class":173},[167,80656,24207],{"class":254},[167,80658,258],{"class":173},[167,80660,80661,80663],{"class":169,"line":6899},[167,80662,7415],{"class":191},[167,80664,24489],{"class":173},[167,80666,80667,80669,80671,80673,80675,80677,80679],{"class":169,"line":6908},[167,80668,24494],{"class":173},[167,80670,1519],{"class":181},[167,80672,229],{"class":173},[167,80674,24401],{"class":201},[167,80676,24503],{"class":173},[167,80678,390],{"class":219},[167,80680,24165],{"class":173},[167,80682,80683],{"class":169,"line":6924},[167,80684,4045],{"class":173},[167,80686,80687,80689],{"class":169,"line":6945},[167,80688,24516],{"class":191},[167,80690,24519],{"class":173},[167,80692,80693,80695],{"class":169,"line":6950},[167,80694,24516],{"class":191},[167,80696,24526],{"class":173},[167,80698,80699],{"class":169,"line":6971},[167,80700,398],{"class":173},[167,80702,80703],{"class":169,"line":6985},[167,80704,24144],{"class":173},[167,80706,80707,80709,80711],{"class":169,"line":6999},[167,80708,282],{"class":173},[167,80710,178],{"class":177},[167,80712,185],{"class":173},[167,80714,80715],{"class":169,"line":7013},[167,80716,209],{"emptyLinePlaceholder":208},[167,80718,80719,80721,80723],{"class":169,"line":7022},[167,80720,174],{"class":173},[167,80722,299],{"class":177},[167,80724,185],{"class":173},[167,80726,80727,80729,80731,80733,80735,80737],{"class":169,"line":7027},[167,80728,307],{"class":173},[167,80730,10113],{"class":177},[167,80732,1240],{"class":181},[167,80734,267],{"class":173},[167,80736,24567],{"class":201},[167,80738,185],{"class":173},[167,80740,80741,80743,80745,80747,80749,80751,80753,80755,80757,80759,80761],{"class":169,"line":7044},[167,80742,1252],{"class":173},[167,80744,507],{"class":177},[167,80746,1169],{"class":181},[167,80748,267],{"class":173},[167,80750,1174],{"class":201},[167,80752,1177],{"class":181},[167,80754,267],{"class":173},[167,80756,24588],{"class":201},[167,80758,24591],{"class":173},[167,80760,507],{"class":177},[167,80762,185],{"class":173},[167,80764,80765],{"class":169,"line":7053},[167,80766,209],{"emptyLinePlaceholder":208},[167,80768,80769,80771,80773,80775,80777,80779,80781,80783,80785],{"class":169,"line":7551},[167,80770,1252],{"class":173},[167,80772,1237],{"class":177},[167,80774,5690],{"class":181},[167,80776,267],{"class":173},[167,80778,5695],{"class":201},[167,80780,24614],{"class":181},[167,80782,267],{"class":173},[167,80784,24619],{"class":201},[167,80786,185],{"class":173},[167,80788,80789,80791,80793,80795,80797],{"class":169,"line":7556},[167,80790,1263],{"class":173},[167,80792,15],{"class":177},[167,80794,24630],{"class":173},[167,80796,15],{"class":177},[167,80798,185],{"class":173},[167,80800,80801,80803,80805,80807,80809],{"class":169,"line":7575},[167,80802,1263],{"class":173},[167,80804,15],{"class":177},[167,80806,24643],{"class":173},[167,80808,15],{"class":177},[167,80810,185],{"class":173},[167,80812,80813,80815,80817],{"class":169,"line":7588},[167,80814,1287],{"class":173},[167,80816,1237],{"class":177},[167,80818,185],{"class":173},[167,80820,80821,80823,80825],{"class":169,"line":7601},[167,80822,504],{"class":173},[167,80824,10113],{"class":177},[167,80826,185],{"class":173},[167,80828,80829,80831,80833],{"class":169,"line":7614},[167,80830,282],{"class":173},[167,80832,299],{"class":177},[167,80834,185],{"class":173},[154,80836,80837],{"className":156,"code":24674,"filename":3969,"language":162,"meta":163,"style":163},[87,80838,80839,80847,80855,80863,80869,80875,80883,80887,80891,80895,80899,80913,80933,80937,80945,80949,80967,80977,80993,81001,81005,81009,81013,81029,81033,81047,81063,81071,81075,81079,81089,81095,81111,81115,81121,81127,81131,81135,81139,81143,81151,81155,81163,81177,81201,81205,81225,81237,81249,81257,81265],{"__ignoreMap":163},[167,80840,80841,80843,80845],{"class":169,"line":170},[167,80842,174],{"class":173},[167,80844,178],{"class":177},[167,80846,185],{"class":173},[167,80848,80849,80851,80853],{"class":169,"line":188},[167,80850,608],{"class":191},[167,80852,3987],{"class":191},[167,80854,1901],{"class":173},[167,80856,80857,80859,80861],{"class":169,"line":205},[167,80858,4394],{"class":173},[167,80860,24699],{"class":201},[167,80862,393],{"class":173},[167,80864,80865,80867],{"class":169,"line":160},[167,80866,7172],{"class":181},[167,80868,763],{"class":173},[167,80870,80871,80873],{"class":169,"line":238},[167,80872,1933],{"class":191},[167,80874,1901],{"class":173},[167,80876,80877,80879,80881],{"class":169,"line":243},[167,80878,24718],{"class":173},[167,80880,3388],{"class":219},[167,80882,393],{"class":173},[167,80884,80885],{"class":169,"line":261},[167,80886,24366],{"class":173},[167,80888,80889],{"class":169,"line":273},[167,80890,398],{"class":173},[167,80892,80893],{"class":169,"line":279},[167,80894,24735],{"class":173},[167,80896,80897],{"class":169,"line":289},[167,80898,24740],{"class":173},[167,80900,80901,80903,80905,80907,80909,80911],{"class":169,"line":294},[167,80902,24745],{"class":181},[167,80904,229],{"class":173},[167,80906,24207],{"class":254},[167,80908,1020],{"class":173},[167,80910,23772],{"class":254},[167,80912,258],{"class":173},[167,80914,80915,80917,80919,80921,80923,80925,80927,80929,80931],{"class":169,"line":304},[167,80916,14792],{"class":191},[167,80918,2522],{"class":173},[167,80920,11753],{"class":191},[167,80922,24224],{"class":173},[167,80924,701],{"class":191},[167,80926,24229],{"class":201},[167,80928,693],{"class":173},[167,80930,24234],{"class":191},[167,80932,24040],{"class":173},[167,80934,80935],{"class":169,"line":313},[167,80936,209],{"emptyLinePlaceholder":208},[167,80938,80939,80941,80943],{"class":169,"line":161},[167,80940,24784],{"class":173},[167,80942,267],{"class":191},[167,80944,24255],{"class":173},[167,80946,80947],{"class":169,"line":335},[167,80948,209],{"emptyLinePlaceholder":208},[167,80950,80951,80953,80955,80957,80959,80961,80963,80965],{"class":169,"line":341},[167,80952,24351],{"class":173},[167,80954,24799],{"class":181},[167,80956,223],{"class":191},[167,80958,2522],{"class":173},[167,80960,4191],{"class":254},[167,80962,693],{"class":173},[167,80964,639],{"class":191},[167,80966,1901],{"class":173},[167,80968,80969,80971,80973,80975],{"class":169,"line":489},[167,80970,24816],{"class":191},[167,80972,24289],{"class":219},[167,80974,223],{"class":191},[167,80976,24823],{"class":173},[167,80978,80979,80981,80983,80985,80987,80989,80991],{"class":169,"line":495},[167,80980,24828],{"class":191},[167,80982,24831],{"class":173},[167,80984,8335],{"class":191},[167,80986,5621],{"class":191},[167,80988,24340],{"class":173},[167,80990,24343],{"class":181},[167,80992,24346],{"class":173},[167,80994,80995,80997,80999],{"class":169,"line":501},[167,80996,24846],{"class":173},[167,80998,24354],{"class":181},[167,81000,24357],{"class":173},[167,81002,81003],{"class":169,"line":512},[167,81004,24855],{"class":173},[167,81006,81007],{"class":169,"line":781},[167,81008,24860],{"class":173},[167,81010,81011],{"class":169,"line":786},[167,81012,209],{"emptyLinePlaceholder":208},[167,81014,81015,81017,81019,81021,81023,81025,81027],{"class":169,"line":2674},[167,81016,24869],{"class":173},[167,81018,1496],{"class":181},[167,81020,229],{"class":173},[167,81022,24401],{"class":201},[167,81024,24503],{"class":173},[167,81026,390],{"class":219},[167,81028,24165],{"class":173},[167,81030,81031],{"class":169,"line":2688},[167,81032,8638],{"class":173},[167,81034,81035,81037,81039,81041,81043,81045],{"class":169,"line":3571},[167,81036,24890],{"class":181},[167,81038,229],{"class":173},[167,81040,24207],{"class":254},[167,81042,1020],{"class":173},[167,81044,23772],{"class":254},[167,81046,258],{"class":173},[167,81048,81049,81051,81053,81055,81057,81059,81061],{"class":169,"line":5024},[167,81050,14792],{"class":191},[167,81052,2522],{"class":173},[167,81054,11753],{"class":191},[167,81056,24224],{"class":173},[167,81058,2546],{"class":191},[167,81060,24229],{"class":201},[167,81062,258],{"class":173},[167,81064,81065,81067,81069],{"class":169,"line":5033},[167,81066,24921],{"class":173},[167,81068,267],{"class":191},[167,81070,24255],{"class":173},[167,81072,81073],{"class":169,"line":5042},[167,81074,14818],{"class":173},[167,81076,81077],{"class":169,"line":6752},[167,81078,8638],{"class":173},[167,81080,81081,81083,81085,81087],{"class":169,"line":6774},[167,81082,24938],{"class":181},[167,81084,229],{"class":173},[167,81086,24207],{"class":254},[167,81088,258],{"class":173},[167,81090,81091,81093],{"class":169,"line":6779},[167,81092,14792],{"class":191},[167,81094,24489],{"class":173},[167,81096,81097,81099,81101,81103,81105,81107,81109],{"class":169,"line":6784},[167,81098,24955],{"class":173},[167,81100,1519],{"class":181},[167,81102,229],{"class":173},[167,81104,24401],{"class":201},[167,81106,24503],{"class":173},[167,81108,390],{"class":219},[167,81110,24165],{"class":173},[167,81112,81113],{"class":169,"line":6789},[167,81114,14818],{"class":173},[167,81116,81117,81119],{"class":169,"line":6805},[167,81118,24976],{"class":191},[167,81120,24519],{"class":173},[167,81122,81123,81125],{"class":169,"line":6820},[167,81124,24976],{"class":191},[167,81126,24526],{"class":173},[167,81128,81129],{"class":169,"line":6825},[167,81130,8638],{"class":173},[167,81132,81133],{"class":169,"line":6832},[167,81134,755],{"class":173},[167,81136,81137],{"class":169,"line":6841},[167,81138,398],{"class":173},[167,81140,81141],{"class":169,"line":6850},[167,81142,24144],{"class":173},[167,81144,81145,81147,81149],{"class":169,"line":6857},[167,81146,282],{"class":173},[167,81148,178],{"class":177},[167,81150,185],{"class":173},[167,81152,81153],{"class":169,"line":6875},[167,81154,209],{"emptyLinePlaceholder":208},[167,81156,81157,81159,81161],{"class":169,"line":6880},[167,81158,174],{"class":173},[167,81160,299],{"class":177},[167,81162,185],{"class":173},[167,81164,81165,81167,81169,81171,81173,81175],{"class":169,"line":6885},[167,81166,307],{"class":173},[167,81168,10113],{"class":177},[167,81170,1240],{"class":181},[167,81172,267],{"class":173},[167,81174,24567],{"class":201},[167,81176,185],{"class":173},[167,81178,81179,81181,81183,81185,81187,81189,81191,81193,81195,81197,81199],{"class":169,"line":6894},[167,81180,1252],{"class":173},[167,81182,507],{"class":177},[167,81184,1169],{"class":181},[167,81186,267],{"class":173},[167,81188,1174],{"class":201},[167,81190,1177],{"class":181},[167,81192,267],{"class":173},[167,81194,24588],{"class":201},[167,81196,24591],{"class":173},[167,81198,507],{"class":177},[167,81200,185],{"class":173},[167,81202,81203],{"class":169,"line":6899},[167,81204,209],{"emptyLinePlaceholder":208},[167,81206,81207,81209,81211,81213,81215,81217,81219,81221,81223],{"class":169,"line":6908},[167,81208,1252],{"class":173},[167,81210,1237],{"class":177},[167,81212,5690],{"class":181},[167,81214,267],{"class":173},[167,81216,5695],{"class":201},[167,81218,24614],{"class":181},[167,81220,267],{"class":173},[167,81222,24619],{"class":201},[167,81224,185],{"class":173},[167,81226,81227,81229,81231,81233,81235],{"class":169,"line":6924},[167,81228,1263],{"class":173},[167,81230,15],{"class":177},[167,81232,24630],{"class":173},[167,81234,15],{"class":177},[167,81236,185],{"class":173},[167,81238,81239,81241,81243,81245,81247],{"class":169,"line":6945},[167,81240,1263],{"class":173},[167,81242,15],{"class":177},[167,81244,24643],{"class":173},[167,81246,15],{"class":177},[167,81248,185],{"class":173},[167,81250,81251,81253,81255],{"class":169,"line":6950},[167,81252,1287],{"class":173},[167,81254,1237],{"class":177},[167,81256,185],{"class":173},[167,81258,81259,81261,81263],{"class":169,"line":6971},[167,81260,504],{"class":173},[167,81262,10113],{"class":177},[167,81264,185],{"class":173},[167,81266,81267,81269,81271],{"class":169,"line":6985},[167,81268,282],{"class":173},[167,81270,299],{"class":177},[167,81272,185],{"class":173},[5363,81274,81275],{},[15,81276,6300,81277,25137,81279,25141,81281,25145,81283,21803,81285,4266],{},[87,81278,1003],{},[3929,81280,25140],{},[87,81282,25144],{},[87,81284,25148],{},[87,81286,23707],{},[22,81288,25154],{"id":25153},[3083,81290,81291,25160],{"id":25157},[87,81292,23695],{},[154,81294,81295],{"className":542,"code":25163,"filename":25164,"language":546,"meta":163,"style":163},[87,81296,81297,81311,81315,81345,81359,81363,81379,81383,81387,81409,81423,81427,81431],{"__ignoreMap":163},[167,81298,81299,81301,81303,81305,81307,81309],{"class":169,"line":170},[167,81300,192],{"class":191},[167,81302,1169],{"class":191},[167,81304,24032],{"class":173},[167,81306,198],{"class":191},[167,81308,24037],{"class":201},[167,81310,24040],{"class":173},[167,81312,81313],{"class":169,"line":188},[167,81314,209],{"emptyLinePlaceholder":208},[167,81316,81317,81319,81321,81323,81325,81327,81329,81331,81333,81335,81337,81339,81341,81343],{"class":169,"line":205},[167,81318,608],{"class":191},[167,81320,611],{"class":191},[167,81322,25193],{"class":219},[167,81324,583],{"class":191},[167,81326,24181],{"class":181},[167,81328,174],{"class":173},[167,81330,25202],{"class":181},[167,81332,1020],{"class":173},[167,81334,25207],{"class":219},[167,81336,659],{"class":191},[167,81338,662],{"class":219},[167,81340,24194],{"class":173},[167,81342,267],{"class":191},[167,81344,1901],{"class":173},[167,81346,81347,81349,81351,81353,81355,81357],{"class":169,"line":160},[167,81348,12745],{"class":181},[167,81350,229],{"class":173},[167,81352,24207],{"class":254},[167,81354,1020],{"class":173},[167,81356,23772],{"class":254},[167,81358,258],{"class":173},[167,81360,81361],{"class":169,"line":238},[167,81362,25236],{"class":18658},[167,81364,81365,81367,81369,81371,81373,81375,81377],{"class":169,"line":243},[167,81366,7415],{"class":191},[167,81368,25243],{"class":173},[167,81370,2546],{"class":191},[167,81372,5773],{"class":219},[167,81374,693],{"class":173},[167,81376,24234],{"class":191},[167,81378,24040],{"class":173},[167,81380,81381],{"class":169,"line":261},[167,81382,209],{"emptyLinePlaceholder":208},[167,81384,81385],{"class":169,"line":273},[167,81386,25262],{"class":18658},[167,81388,81389,81391,81393,81395,81397,81399,81401,81403,81405,81407],{"class":169,"line":279},[167,81390,7415],{"class":191},[167,81392,2522],{"class":173},[167,81394,11753],{"class":191},[167,81396,25273],{"class":173},[167,81398,6688],{"class":191},[167,81400,25278],{"class":219},[167,81402,25281],{"class":173},[167,81404,2546],{"class":191},[167,81406,24229],{"class":201},[167,81408,258],{"class":173},[167,81410,81411,81413,81415,81417,81419,81421],{"class":169,"line":289},[167,81412,25292],{"class":173},[167,81414,6688],{"class":191},[167,81416,25278],{"class":219},[167,81418,4266],{"class":173},[167,81420,17404],{"class":181},[167,81422,25303],{"class":173},[167,81424,81425],{"class":169,"line":294},[167,81426,4045],{"class":173},[167,81428,81429],{"class":169,"line":304},[167,81430,398],{"class":173},[167,81432,81433],{"class":169,"line":313},[167,81434,24144],{"class":173},[154,81436,81437],{"className":2875,"code":25318,"filename":25319,"language":2878,"meta":163,"style":163},[87,81438,81439,81451,81465,81469,81485,81489,81505,81513,81517,81521],{"__ignoreMap":163},[167,81440,81441,81443,81445,81447,81449],{"class":169,"line":170},[167,81442,608],{"class":191},[167,81444,611],{"class":191},[167,81446,25193],{"class":219},[167,81448,223],{"class":191},[167,81450,1901],{"class":173},[167,81452,81453,81455,81457,81459,81461,81463],{"class":169,"line":188},[167,81454,12745],{"class":181},[167,81456,229],{"class":173},[167,81458,24207],{"class":254},[167,81460,1020],{"class":173},[167,81462,23772],{"class":254},[167,81464,258],{"class":173},[167,81466,81467],{"class":169,"line":205},[167,81468,25236],{"class":18658},[167,81470,81471,81473,81475,81477,81479,81481,81483],{"class":169,"line":160},[167,81472,7415],{"class":191},[167,81474,25243],{"class":173},[167,81476,2546],{"class":191},[167,81478,5773],{"class":219},[167,81480,693],{"class":173},[167,81482,24234],{"class":191},[167,81484,24040],{"class":173},[167,81486,81487],{"class":169,"line":238},[167,81488,25262],{"class":18658},[167,81490,81491,81493,81495,81497,81499,81501,81503],{"class":169,"line":243},[167,81492,7415],{"class":191},[167,81494,2522],{"class":173},[167,81496,11753],{"class":191},[167,81498,25382],{"class":173},[167,81500,2546],{"class":191},[167,81502,24229],{"class":201},[167,81504,258],{"class":173},[167,81506,81507,81509,81511],{"class":169,"line":261},[167,81508,25393],{"class":173},[167,81510,17404],{"class":181},[167,81512,25303],{"class":173},[167,81514,81515],{"class":169,"line":273},[167,81516,4045],{"class":173},[167,81518,81519],{"class":169,"line":279},[167,81520,398],{"class":173},[167,81522,81523],{"class":169,"line":289},[167,81524,24144],{"class":173},[154,81526,81527],{"className":156,"code":25412,"filename":15280,"language":162,"meta":163,"style":163},[87,81528,81529,81539],{"__ignoreMap":163},[167,81530,81531,81533,81535,81537],{"class":169,"line":170},[167,81532,174],{"class":173},[167,81534,2646],{"class":177},[167,81536,25423],{"class":181},[167,81538,5321],{"class":173},[167,81540,81541,81543,81545,81547,81549,81551,81553,81555],{"class":169,"line":188},[167,81542,174],{"class":173},[167,81544,2646],{"class":177},[167,81546,25423],{"class":181},[167,81548,267],{"class":173},[167,81550,5076],{"class":201},[167,81552,25440],{"class":173},[167,81554,5076],{"class":201},[167,81556,5321],{"class":173},[3083,81558,81559,25450],{"id":25447},[87,81560,23995],{},[154,81562,81563],{"className":542,"code":25453,"filename":25164,"language":546,"meta":163,"style":163},[87,81564,81565,81579,81583,81593,81615,81637,81647,81651,81655,81677,81681,81707,81721,81747,81751,81773,81787,81797,81805,81809,81813,81817,81825,81833,81837,81851,81855,81859,81863,81871,81877,81903,81925,81939,81949,81957,81961,81965,81973,81981,81985,81995,82003,82009,82013],{"__ignoreMap":163},[167,81566,81567,81569,81571,81573,81575,81577],{"class":169,"line":170},[167,81568,192],{"class":191},[167,81570,1169],{"class":191},[167,81572,24032],{"class":173},[167,81574,198],{"class":191},[167,81576,24037],{"class":201},[167,81578,24040],{"class":173},[167,81580,81581],{"class":169,"line":188},[167,81582,209],{"emptyLinePlaceholder":208},[167,81584,81585,81587,81589,81591],{"class":169,"line":205},[167,81586,569],{"class":191},[167,81588,25480],{"class":181},[167,81590,223],{"class":191},[167,81592,1901],{"class":173},[167,81594,81595,81597,81599,81601,81603,81605,81607,81609,81611,81613],{"class":169,"line":160},[167,81596,25489],{"class":181},[167,81598,24112],{"class":191},[167,81600,2522],{"class":173},[167,81602,25496],{"class":254},[167,81604,583],{"class":191},[167,81606,25501],{"class":181},[167,81608,693],{"class":173},[167,81610,639],{"class":191},[167,81612,24081],{"class":219},[167,81614,24040],{"class":173},[167,81616,81617,81619,81621,81623,81625,81627,81629,81631,81633,81635],{"class":169,"line":238},[167,81618,25514],{"class":181},[167,81620,24112],{"class":191},[167,81622,2522],{"class":173},[167,81624,25496],{"class":254},[167,81626,583],{"class":191},[167,81628,25501],{"class":181},[167,81630,693],{"class":173},[167,81632,639],{"class":191},[167,81634,24081],{"class":219},[167,81636,24040],{"class":173},[167,81638,81639,81641,81643,81645],{"class":169,"line":243},[167,81640,25537],{"class":254},[167,81642,24112],{"class":191},[167,81644,25542],{"class":181},[167,81646,24040],{"class":173},[167,81648,81649],{"class":169,"line":261},[167,81650,24144],{"class":173},[167,81652,81653],{"class":169,"line":273},[167,81654,209],{"emptyLinePlaceholder":208},[167,81656,81657,81659,81661,81663,81665,81667,81669,81671,81673,81675],{"class":169,"line":279},[167,81658,569],{"class":191},[167,81660,25559],{"class":181},[167,81662,223],{"class":191},[167,81664,24099],{"class":181},[167,81666,24102],{"class":191},[167,81668,577],{"class":173},[167,81670,25570],{"class":254},[167,81672,24112],{"class":191},[167,81674,25575],{"class":181},[167,81676,25578],{"class":173},[167,81678,81679],{"class":169,"line":289},[167,81680,209],{"emptyLinePlaceholder":208},[167,81682,81683,81685,81687,81689,81691,81693,81695,81697,81699,81701,81703,81705],{"class":169,"line":294},[167,81684,608],{"class":191},[167,81686,611],{"class":191},[167,81688,25591],{"class":219},[167,81690,583],{"class":191},[167,81692,24181],{"class":181},[167,81694,174],{"class":173},[167,81696,25600],{"class":181},[167,81698,1020],{"class":173},[167,81700,25605],{"class":181},[167,81702,24194],{"class":173},[167,81704,267],{"class":191},[167,81706,1901],{"class":173},[167,81708,81709,81711,81713,81715,81717,81719],{"class":169,"line":304},[167,81710,12745],{"class":181},[167,81712,229],{"class":173},[167,81714,24207],{"class":254},[167,81716,1020],{"class":173},[167,81718,23772],{"class":254},[167,81720,258],{"class":173},[167,81722,81723,81725,81727,81729,81731,81733,81735,81737,81739,81741,81743,81745],{"class":169,"line":313},[167,81724,8262],{"class":191},[167,81726,577],{"class":173},[167,81728,25634],{"class":219},[167,81730,1020],{"class":173},[167,81732,25639],{"class":219},[167,81734,1020],{"class":173},[167,81736,22015],{"class":219},[167,81738,23405],{"class":173},[167,81740,267],{"class":191},[167,81742,24224],{"class":173},[167,81744,15795],{"class":191},[167,81746,25654],{"class":173},[167,81748,81749],{"class":169,"line":161},[167,81750,209],{"emptyLinePlaceholder":208},[167,81752,81753,81755,81757,81759,81761,81763,81765,81767,81769,81771],{"class":169,"line":335},[167,81754,8262],{"class":191},[167,81756,25665],{"class":219},[167,81758,223],{"class":191},[167,81760,4220],{"class":191},[167,81762,25575],{"class":181},[167,81764,1914],{"class":173},[167,81766,25676],{"class":254},[167,81768,693],{"class":173},[167,81770,639],{"class":191},[167,81772,1901],{"class":173},[167,81774,81775,81777,81779,81781,81783,81785],{"class":169,"line":341},[167,81776,25687],{"class":191},[167,81778,2522],{"class":173},[167,81780,216],{"class":191},[167,81782,25694],{"class":219},[167,81784,21963],{"class":191},[167,81786,25699],{"class":173},[167,81788,81789,81791,81793,81795],{"class":169,"line":489},[167,81790,14792],{"class":191},[167,81792,25706],{"class":173},[167,81794,25634],{"class":181},[167,81796,25711],{"class":173},[167,81798,81799,81801,81803],{"class":169,"line":495},[167,81800,25716],{"class":191},[167,81802,25719],{"class":181},[167,81804,25711],{"class":173},[167,81806,81807],{"class":169,"line":501},[167,81808,7283],{"class":173},[167,81810,81811],{"class":169,"line":512},[167,81812,25730],{"class":173},[167,81814,81815],{"class":169,"line":781},[167,81816,209],{"emptyLinePlaceholder":208},[167,81818,81819,81821,81823],{"class":169,"line":786},[167,81820,25739],{"class":173},[167,81822,25742],{"class":181},[167,81824,25745],{"class":173},[167,81826,81827,81829,81831],{"class":169,"line":2674},[167,81828,25750],{"class":173},[167,81830,267],{"class":191},[167,81832,25755],{"class":173},[167,81834,81835],{"class":169,"line":2688},[167,81836,398],{"class":173},[167,81838,81839,81841,81843,81845,81847,81849],{"class":169,"line":3571},[167,81840,16255],{"class":181},[167,81842,229],{"class":173},[167,81844,24207],{"class":254},[167,81846,1020],{"class":173},[167,81848,23772],{"class":254},[167,81850,258],{"class":173},[167,81852,81853],{"class":169,"line":5024},[167,81854,25778],{"class":18658},[167,81856,81857],{"class":169,"line":5033},[167,81858,25783],{"class":18658},[167,81860,81861],{"class":169,"line":5042},[167,81862,25788],{"class":18658},[167,81864,81865,81867,81869],{"class":169,"line":6752},[167,81866,25793],{"class":173},[167,81868,25796],{"class":181},[167,81870,25303],{"class":173},[167,81872,81873,81875],{"class":169,"line":6774},[167,81874,24516],{"class":191},[167,81876,25805],{"class":173},[167,81878,81879,81881,81883,81885,81887,81889,81891,81893,81895,81897,81899,81901],{"class":169,"line":6779},[167,81880,8262],{"class":191},[167,81882,577],{"class":173},[167,81884,25634],{"class":219},[167,81886,1020],{"class":173},[167,81888,25639],{"class":219},[167,81890,1020],{"class":173},[167,81892,22015],{"class":219},[167,81894,23405],{"class":173},[167,81896,267],{"class":191},[167,81898,24224],{"class":173},[167,81900,15795],{"class":191},[167,81902,25654],{"class":173},[167,81904,81905,81907,81909,81911,81913,81915,81917,81919,81921,81923],{"class":169,"line":6784},[167,81906,8262],{"class":191},[167,81908,25665],{"class":219},[167,81910,223],{"class":191},[167,81912,4220],{"class":191},[167,81914,25575],{"class":181},[167,81916,1914],{"class":173},[167,81918,25676],{"class":254},[167,81920,693],{"class":173},[167,81922,639],{"class":191},[167,81924,1901],{"class":173},[167,81926,81927,81929,81931,81933,81935,81937],{"class":169,"line":6789},[167,81928,25687],{"class":191},[167,81930,2522],{"class":173},[167,81932,216],{"class":191},[167,81934,25694],{"class":219},[167,81936,21963],{"class":191},[167,81938,25699],{"class":173},[167,81940,81941,81943,81945,81947],{"class":169,"line":6805},[167,81942,14792],{"class":191},[167,81944,25706],{"class":173},[167,81946,25634],{"class":181},[167,81948,25711],{"class":173},[167,81950,81951,81953,81955],{"class":169,"line":6820},[167,81952,25716],{"class":191},[167,81954,25719],{"class":181},[167,81956,25711],{"class":173},[167,81958,81959],{"class":169,"line":6825},[167,81960,7283],{"class":173},[167,81962,81963],{"class":169,"line":6832},[167,81964,25730],{"class":173},[167,81966,81967,81969,81971],{"class":169,"line":6841},[167,81968,25739],{"class":173},[167,81970,25742],{"class":181},[167,81972,25745],{"class":173},[167,81974,81975,81977,81979],{"class":169,"line":6850},[167,81976,25750],{"class":173},[167,81978,267],{"class":191},[167,81980,25755],{"class":173},[167,81982,81983],{"class":169,"line":6857},[167,81984,398],{"class":173},[167,81986,81987,81989,81991,81993],{"class":169,"line":6875},[167,81988,14618],{"class":181},[167,81990,229],{"class":173},[167,81992,24207],{"class":254},[167,81994,258],{"class":173},[167,81996,81997,81999,82001],{"class":169,"line":6880},[167,81998,25793],{"class":173},[167,82000,25796],{"class":181},[167,82002,25303],{"class":173},[167,82004,82005,82007],{"class":169,"line":6885},[167,82006,24516],{"class":191},[167,82008,25805],{"class":173},[167,82010,82011],{"class":169,"line":6894},[167,82012,398],{"class":173},[167,82014,82015],{"class":169,"line":6899},[167,82016,24144],{"class":173},[154,82018,82019],{"className":2875,"code":25948,"filename":25319,"language":2878,"meta":163,"style":163},[87,82020,82021,82033,82047,82073,82077,82099,82113,82123,82131,82135,82139,82143,82151,82159,82163,82177,82181,82185,82189,82197,82203,82229,82251,82265,82275,82283,82287,82291,82299,82307,82311,82321,82329,82335,82339],{"__ignoreMap":163},[167,82022,82023,82025,82027,82029,82031],{"class":169,"line":170},[167,82024,608],{"class":191},[167,82026,611],{"class":191},[167,82028,25591],{"class":219},[167,82030,223],{"class":191},[167,82032,1901],{"class":173},[167,82034,82035,82037,82039,82041,82043,82045],{"class":169,"line":188},[167,82036,12745],{"class":181},[167,82038,229],{"class":173},[167,82040,24207],{"class":254},[167,82042,1020],{"class":173},[167,82044,23772],{"class":254},[167,82046,258],{"class":173},[167,82048,82049,82051,82053,82055,82057,82059,82061,82063,82065,82067,82069,82071],{"class":169,"line":205},[167,82050,8262],{"class":191},[167,82052,577],{"class":173},[167,82054,25634],{"class":219},[167,82056,1020],{"class":173},[167,82058,25639],{"class":219},[167,82060,1020],{"class":173},[167,82062,22015],{"class":219},[167,82064,23405],{"class":173},[167,82066,267],{"class":191},[167,82068,24224],{"class":173},[167,82070,15795],{"class":191},[167,82072,25654],{"class":173},[167,82074,82075],{"class":169,"line":160},[167,82076,209],{"emptyLinePlaceholder":208},[167,82078,82079,82081,82083,82085,82087,82089,82091,82093,82095,82097],{"class":169,"line":238},[167,82080,8262],{"class":191},[167,82082,25665],{"class":219},[167,82084,223],{"class":191},[167,82086,4220],{"class":191},[167,82088,25575],{"class":181},[167,82090,1914],{"class":173},[167,82092,25676],{"class":254},[167,82094,693],{"class":173},[167,82096,639],{"class":191},[167,82098,1901],{"class":173},[167,82100,82101,82103,82105,82107,82109,82111],{"class":169,"line":243},[167,82102,25687],{"class":191},[167,82104,2522],{"class":173},[167,82106,216],{"class":191},[167,82108,25694],{"class":219},[167,82110,21963],{"class":191},[167,82112,25699],{"class":173},[167,82114,82115,82117,82119,82121],{"class":169,"line":261},[167,82116,14792],{"class":191},[167,82118,25706],{"class":173},[167,82120,25634],{"class":181},[167,82122,25711],{"class":173},[167,82124,82125,82127,82129],{"class":169,"line":273},[167,82126,25716],{"class":191},[167,82128,25719],{"class":181},[167,82130,25711],{"class":173},[167,82132,82133],{"class":169,"line":279},[167,82134,7283],{"class":173},[167,82136,82137],{"class":169,"line":289},[167,82138,25730],{"class":173},[167,82140,82141],{"class":169,"line":294},[167,82142,26073],{"class":173},[167,82144,82145,82147,82149],{"class":169,"line":304},[167,82146,25739],{"class":173},[167,82148,25742],{"class":181},[167,82150,25745],{"class":173},[167,82152,82153,82155,82157],{"class":169,"line":313},[167,82154,25750],{"class":173},[167,82156,267],{"class":191},[167,82158,25755],{"class":173},[167,82160,82161],{"class":169,"line":161},[167,82162,398],{"class":173},[167,82164,82165,82167,82169,82171,82173,82175],{"class":169,"line":335},[167,82166,16255],{"class":181},[167,82168,229],{"class":173},[167,82170,24207],{"class":254},[167,82172,1020],{"class":173},[167,82174,23772],{"class":254},[167,82176,258],{"class":173},[167,82178,82179],{"class":169,"line":341},[167,82180,25778],{"class":18658},[167,82182,82183],{"class":169,"line":489},[167,82184,25783],{"class":18658},[167,82186,82187],{"class":169,"line":495},[167,82188,25788],{"class":18658},[167,82190,82191,82193,82195],{"class":169,"line":501},[167,82192,25793],{"class":173},[167,82194,25796],{"class":181},[167,82196,25303],{"class":173},[167,82198,82199,82201],{"class":169,"line":512},[167,82200,24516],{"class":191},[167,82202,25805],{"class":173},[167,82204,82205,82207,82209,82211,82213,82215,82217,82219,82221,82223,82225,82227],{"class":169,"line":781},[167,82206,8262],{"class":191},[167,82208,577],{"class":173},[167,82210,25634],{"class":219},[167,82212,1020],{"class":173},[167,82214,25639],{"class":219},[167,82216,1020],{"class":173},[167,82218,22015],{"class":219},[167,82220,23405],{"class":173},[167,82222,267],{"class":191},[167,82224,24224],{"class":173},[167,82226,15795],{"class":191},[167,82228,25654],{"class":173},[167,82230,82231,82233,82235,82237,82239,82241,82243,82245,82247,82249],{"class":169,"line":786},[167,82232,8262],{"class":191},[167,82234,25665],{"class":219},[167,82236,223],{"class":191},[167,82238,4220],{"class":191},[167,82240,25575],{"class":181},[167,82242,1914],{"class":173},[167,82244,25676],{"class":254},[167,82246,693],{"class":173},[167,82248,639],{"class":191},[167,82250,1901],{"class":173},[167,82252,82253,82255,82257,82259,82261,82263],{"class":169,"line":2674},[167,82254,25687],{"class":191},[167,82256,2522],{"class":173},[167,82258,216],{"class":191},[167,82260,25694],{"class":219},[167,82262,21963],{"class":191},[167,82264,25699],{"class":173},[167,82266,82267,82269,82271,82273],{"class":169,"line":2688},[167,82268,14792],{"class":191},[167,82270,25706],{"class":173},[167,82272,25634],{"class":181},[167,82274,25711],{"class":173},[167,82276,82277,82279,82281],{"class":169,"line":3571},[167,82278,25716],{"class":191},[167,82280,25719],{"class":181},[167,82282,25711],{"class":173},[167,82284,82285],{"class":169,"line":5024},[167,82286,7283],{"class":173},[167,82288,82289],{"class":169,"line":5033},[167,82290,25730],{"class":173},[167,82292,82293,82295,82297],{"class":169,"line":5042},[167,82294,25739],{"class":173},[167,82296,25742],{"class":181},[167,82298,25745],{"class":173},[167,82300,82301,82303,82305],{"class":169,"line":6752},[167,82302,25750],{"class":173},[167,82304,267],{"class":191},[167,82306,25755],{"class":173},[167,82308,82309],{"class":169,"line":6774},[167,82310,398],{"class":173},[167,82312,82313,82315,82317,82319],{"class":169,"line":6779},[167,82314,14618],{"class":181},[167,82316,229],{"class":173},[167,82318,24207],{"class":254},[167,82320,258],{"class":173},[167,82322,82323,82325,82327],{"class":169,"line":6784},[167,82324,25793],{"class":173},[167,82326,25796],{"class":181},[167,82328,25303],{"class":173},[167,82330,82331,82333],{"class":169,"line":6789},[167,82332,24516],{"class":191},[167,82334,25805],{"class":173},[167,82336,82337],{"class":169,"line":6805},[167,82338,398],{"class":173},[167,82340,82341],{"class":169,"line":6820},[167,82342,24144],{"class":173},[154,82344,82345],{"className":156,"code":26276,"filename":15280,"language":162,"meta":163,"style":163},[87,82346,82347,82353,82363,82379,82395,82403,82409,82413,82417],{"__ignoreMap":163},[167,82348,82349,82351],{"class":169,"line":170},[167,82350,174],{"class":173},[167,82352,26285],{"class":177},[167,82354,82355,82357,82359,82361],{"class":169,"line":188},[167,82356,26290],{"class":181},[167,82358,267],{"class":173},[167,82360,5076],{"class":201},[167,82362,26297],{"class":173},[167,82364,82365,82367,82369,82371,82373,82375,82377],{"class":169,"line":205},[167,82366,26302],{"class":181},[167,82368,636],{"class":173},[167,82370,639],{"class":191},[167,82372,26309],{"class":173},[167,82374,267],{"class":191},[167,82376,26314],{"class":219},[167,82378,9750],{"class":173},[167,82380,82381,82383,82385,82387,82389,82391,82393],{"class":169,"line":160},[167,82382,26321],{"class":181},[167,82384,636],{"class":173},[167,82386,639],{"class":191},[167,82388,26309],{"class":173},[167,82390,267],{"class":191},[167,82392,5773],{"class":219},[167,82394,9750],{"class":173},[167,82396,82397,82399,82401],{"class":169,"line":238},[167,82398,26338],{"class":173},[167,82400,26341],{"class":219},[167,82402,599],{"class":173},[167,82404,82405,82407],{"class":169,"line":243},[167,82406,26348],{"class":173},[167,82408,5081],{"class":201},[167,82410,82411],{"class":169,"line":261},[167,82412,185],{"class":173},[167,82414,82415],{"class":169,"line":273},[167,82416,26359],{"class":173},[167,82418,82419,82421,82423],{"class":169,"line":279},[167,82420,282],{"class":173},[167,82422,1237],{"class":177},[167,82424,185],{"class":173},[5363,82426,82427],{},[15,82428,26372,82429,26375,82431,1658,82433,26380],{},[87,82430,15033],{},[87,82432,23780],{},[87,82434,23789],{},[22,82436,7674],{"id":7673},[33,82438,82439,82443,82447,82455,82461],{},[36,82440,26387,82441,1675],{},[3929,82442,26390],{},[36,82444,26393,82445,26396],{},[87,82446,11272],{},[36,82448,26399,82449,1020,82451,1020,82453,26406],{},[87,82450,2215],{},[87,82452,23912],{},[87,82454,23915],{},[36,82456,26409,82457,26413,82459,26416],{},[3929,82458,26412],{},[87,82460,15033],{},[36,82462,26419],{},[924,82464,26422],{},{"title":163,"searchDepth":188,"depth":188,"links":82466},[82467,82468,82469,82470,82471,82472,82475,82479],{"id":23679,"depth":188,"text":23680},{"id":6252,"depth":188,"text":6253},{"id":23825,"depth":188,"text":23826},{"id":23849,"depth":188,"text":23850},{"id":3080,"depth":188,"text":3081},{"id":7992,"depth":188,"text":7993,"children":82473},[82474],{"id":23999,"depth":205,"text":26433},{"id":25153,"depth":188,"text":25154,"children":82476},[82477,82478],{"id":25157,"depth":205,"text":26437},{"id":25447,"depth":205,"text":26439},{"id":7673,"depth":188,"text":7674},{"updatedAt":26446,"coverCaption":26442,"author":945,"keywords":82481},[3254,26448,26449,26450,3256,3969],[82483],{"headline":23676,"author":82484,"datePublished":26446,"@type":959},{"name":945,"@type":958},{"title":23670,"description":26444},[82487,82488,82489,82490,82491],{"tag":26462,"color":26463},{"tag":26465,"color":26466},{"tag":952,"color":966},{"tag":3265,"color":3266},{"tag":7726,"color":7727},{"id":26472,"title":26473,"body":82493,"cover":27734,"coverAlt":27735,"date":27736,"description":27737,"draft":1617,"extension":940,"lab":941,"locale":942,"meta":83613,"navigation":208,"path":27743,"schemaOrg":83615,"seo":83618,"series":26456,"seriesDescription":26457,"seriesOrder":289,"seriesTitle":26458,"slug":941,"stem":27749,"tags":83619,"__hash__":27757},{"type":8,"value":82494,"toc":83593},[82495,82499,82507,82509,82511,82515,82519,82529,82531,82537,82541,82545,82571,82581,82589,82591,82595,82597,82607,82609,82617,82619,82623,82631,82633,82635,82645,82651,82653,82657,82661,82665,82671,82673,82677,82679,82683,82685,82687,82713,82719,82721,82851,82987,83089,83091,83095,83097,83317,83543,83569,83571,83575,83579,83591],[11,82496,26479,82497],{"id":26478},[87,82498,26482],{},[15,82500,82501,26487,82503,26491,82505,26495],{},[87,82502,26482],{},[3929,82504,26490],{},[87,82506,26494],{},[22,82508,26499],{"id":26498},[15,82510,26502],{},[15,82512,82513,26507],{},[87,82514,26482],{},[15,82516,82517],{},[3929,82518,26512],{},[33,82520,82521,82525,82527],{},[36,82522,26517,82523,26521],{},[87,82524,26520],{},[36,82526,26524],{},[36,82528,26527],{},[22,82530,6253],{"id":6252},[15,82532,82533,26534,82535,26537],{},[87,82534,26482],{},[87,82536,26482],{},[15,82538,82539],{},[3929,82540,26542],{},[3031,82542,82543],{},[36,82544,26547],{},[154,82546,82547],{"className":26550,"code":26551,"filename":26552,"language":26553,"meta":163,"style":163},[87,82548,82549,82557,82567],{"__ignoreMap":163},[167,82550,82551,82553,82555],{"class":169,"line":170},[167,82552,26560],{"class":173},[167,82554,26482],{"class":181},[167,82556,26565],{"class":173},[167,82558,82559,82561,82563,82565],{"class":169,"line":188},[167,82560,26570],{"class":219},[167,82562,1103],{"class":173},[167,82564,26575],{"class":219},[167,82566,24040],{"class":173},[167,82568,82569],{"class":169,"line":205},[167,82570,276],{"class":173},[3031,82572,82573,82577,82579],{"start":188},[36,82574,26586,82575,1675],{},[87,82576,26482],{},[36,82578,26591],{},[36,82580,26594],{},[5363,82582,82583],{},[15,82584,82585,26601,82587,4266],{},[87,82586,26482],{},[87,82588,26604],{},[22,82590,26608],{"id":26607},[15,82592,26611,82593,26615],{},[3929,82594,26614],{},[15,82596,26618],{},[33,82598,82599,82603,82605],{},[36,82600,82601,26625],{},[87,82602,26482],{},[36,82604,26628],{},[36,82606,26631],{},[15,82608,26634],{},[33,82610,82611,82613,82615],{},[36,82612,26639],{},[36,82614,26642],{},[36,82616,26645],{},[22,82618,6318],{"id":6317},[15,82620,1577,82621,13623],{},[87,82622,26482],{},[33,82624,82625,82627,82629],{},[36,82626,26656],{},[36,82628,26659],{},[36,82630,26662],{},[22,82632,6345],{"id":6344},[15,82634,6351],{},[33,82636,82637,82639,82641,82643],{},[36,82638,26671],{},[36,82640,26674],{},[36,82642,26677],{},[36,82644,26680],{},[5363,82646,82647],{},[15,82648,82649,26687],{},[87,82650,26482],{},[22,82652,3081],{"id":3080},[3083,82654,26693,82655,26696],{"id":26692},[87,82656,26482],{},[15,82658,26699,82659,26703],{},[87,82660,26702],{},[3083,82662,26707,82663],{"id":26706},[87,82664,26710],{},[15,82666,26713,82667,26716,82669,26720],{},[87,82668,26710],{},[87,82670,26719],{},[3083,82672,26724],{"id":26723},[15,82674,26727,82675,26730],{},[87,82676,26482],{},[3083,82678,26734],{"id":26733},[15,82680,82681,26739],{},[87,82682,26482],{},[22,82684,7993],{"id":7992},[3083,82686,26745],{"id":26744},[154,82688,82689],{"className":26550,"code":26748,"filename":26552,"language":26553,"meta":163,"style":163},[87,82690,82691,82699,82709],{"__ignoreMap":163},[167,82692,82693,82695,82697],{"class":169,"line":170},[167,82694,26560],{"class":173},[167,82696,26482],{"class":181},[167,82698,26565],{"class":173},[167,82700,82701,82703,82705,82707],{"class":169,"line":188},[167,82702,26763],{"class":219},[167,82704,1103],{"class":173},[167,82706,26575],{"class":219},[167,82708,24040],{"class":173},[167,82710,82711],{"class":169,"line":205},[167,82712,276],{"class":173},[5363,82714,82715],{},[15,82716,26778,82717,26781],{},[87,82718,26482],{},[3083,82720,26785],{"id":26784},[154,82722,82724],{"className":156,"code":26788,"filename":3256,"highlights":82723,"language":162,"meta":163,"style":163},[273],[87,82725,82726,82742,82754,82758,82774,82782,82786,82794,82811,82823,82835,82843],{"__ignoreMap":163},[167,82727,82728,82730,82732,82734,82736,82738,82740],{"class":169,"line":170},[167,82729,174],{"class":173},[167,82731,178],{"class":177},[167,82733,182],{"class":181},[167,82735,1045],{"class":181},[167,82737,267],{"class":173},[167,82739,1050],{"class":201},[167,82741,185],{"class":173},[167,82743,82744,82746,82748,82750,82752],{"class":169,"line":188},[167,82745,192],{"class":191},[167,82747,195],{"class":173},[167,82749,198],{"class":191},[167,82751,24037],{"class":201},[167,82753,24040],{"class":173},[167,82755,82756],{"class":169,"line":205},[167,82757,209],{"emptyLinePlaceholder":208},[167,82759,82760,82762,82764,82766,82768,82770,82772],{"class":169,"line":160},[167,82761,216],{"class":191},[167,82763,26830],{"class":219},[167,82765,223],{"class":191},[167,82767,226],{"class":181},[167,82769,229],{"class":173},[167,82771,26839],{"class":201},[167,82773,24165],{"class":173},[167,82775,82776,82778,82780],{"class":169,"line":238},[167,82777,282],{"class":173},[167,82779,178],{"class":177},[167,82781,185],{"class":173},[167,82783,82784],{"class":169,"line":243},[167,82785,209],{"emptyLinePlaceholder":208},[167,82787,82788,82790,82792],{"class":169,"line":261},[167,82789,174],{"class":173},[167,82791,299],{"class":177},[167,82793,185],{"class":173},[167,82795,82797,82799,82801,82803,82805,82807,82809],{"class":82796,"line":273},[169,213],[167,82798,307],{"class":173},[167,82800,10113],{"class":177},[167,82802,26871],{"class":181},[167,82804,1240],{"class":181},[167,82806,267],{"class":173},[167,82808,26878],{"class":201},[167,82810,185],{"class":173},[167,82812,82813,82815,82817,82819,82821],{"class":169,"line":279},[167,82814,1252],{"class":173},[167,82816,11],{"class":177},[167,82818,26889],{"class":173},[167,82820,11],{"class":177},[167,82822,185],{"class":173},[167,82824,82825,82827,82829,82831,82833],{"class":169,"line":289},[167,82826,1252],{"class":173},[167,82828,15],{"class":177},[167,82830,26902],{"class":173},[167,82832,15],{"class":177},[167,82834,185],{"class":173},[167,82836,82837,82839,82841],{"class":169,"line":294},[167,82838,504],{"class":173},[167,82840,10113],{"class":177},[167,82842,185],{"class":173},[167,82844,82845,82847,82849],{"class":169,"line":304},[167,82846,282],{"class":173},[167,82848,299],{"class":177},[167,82850,185],{"class":173},[154,82852,82854],{"className":156,"code":26925,"filename":3969,"highlights":82853,"language":162,"meta":163,"style":163},[304],[87,82855,82856,82870,82878,82884,82890,82898,82902,82906,82910,82918,82922,82930,82947,82959,82971,82979],{"__ignoreMap":163},[167,82857,82858,82860,82862,82864,82866,82868],{"class":169,"line":170},[167,82859,174],{"class":173},[167,82861,178],{"class":177},[167,82863,1045],{"class":181},[167,82865,267],{"class":173},[167,82867,1050],{"class":201},[167,82869,185],{"class":173},[167,82871,82872,82874,82876],{"class":169,"line":188},[167,82873,608],{"class":191},[167,82875,3987],{"class":191},[167,82877,1901],{"class":173},[167,82879,82880,82882],{"class":169,"line":205},[167,82881,7172],{"class":181},[167,82883,763],{"class":173},[167,82885,82886,82888],{"class":169,"line":160},[167,82887,1933],{"class":191},[167,82889,1901],{"class":173},[167,82891,82892,82894,82896],{"class":169,"line":238},[167,82893,26967],{"class":173},[167,82895,26839],{"class":201},[167,82897,393],{"class":173},[167,82899,82900],{"class":169,"line":243},[167,82901,24366],{"class":173},[167,82903,82904],{"class":169,"line":261},[167,82905,398],{"class":173},[167,82907,82908],{"class":169,"line":273},[167,82909,24144],{"class":173},[167,82911,82912,82914,82916],{"class":169,"line":279},[167,82913,282],{"class":173},[167,82915,178],{"class":177},[167,82917,185],{"class":173},[167,82919,82920],{"class":169,"line":289},[167,82921,209],{"emptyLinePlaceholder":208},[167,82923,82924,82926,82928],{"class":169,"line":294},[167,82925,174],{"class":173},[167,82927,299],{"class":177},[167,82929,185],{"class":173},[167,82931,82933,82935,82937,82939,82941,82943,82945],{"class":82932,"line":304},[169,213],[167,82934,307],{"class":173},[167,82936,10113],{"class":177},[167,82938,26871],{"class":181},[167,82940,1240],{"class":181},[167,82942,267],{"class":173},[167,82944,26878],{"class":201},[167,82946,185],{"class":173},[167,82948,82949,82951,82953,82955,82957],{"class":169,"line":313},[167,82950,1252],{"class":173},[167,82952,11],{"class":177},[167,82954,26889],{"class":173},[167,82956,11],{"class":177},[167,82958,185],{"class":173},[167,82960,82961,82963,82965,82967,82969],{"class":169,"line":161},[167,82962,1252],{"class":173},[167,82964,15],{"class":177},[167,82966,26902],{"class":173},[167,82968,15],{"class":177},[167,82970,185],{"class":173},[167,82972,82973,82975,82977],{"class":169,"line":335},[167,82974,504],{"class":173},[167,82976,10113],{"class":177},[167,82978,185],{"class":173},[167,82980,82981,82983,82985],{"class":169,"line":341},[167,82982,282],{"class":173},[167,82984,299],{"class":177},[167,82986,185],{"class":173},[154,82988,82990],{"className":26550,"code":27063,"filename":26552,"highlights":82989,"language":26553,"meta":163,"style":163},[170,188,205],[87,82991,82992,83001,83012,83017,83021,83027,83051,83061,83073,83085],{"__ignoreMap":163},[167,82993,82995,82997,82999],{"class":82994,"line":170},[169,213],[167,82996,26560],{"class":173},[167,82998,26482],{"class":181},[167,83000,26565],{"class":173},[167,83002,83004,83006,83008,83010],{"class":83003,"line":188},[169,213],[167,83005,26763],{"class":219},[167,83007,1103],{"class":173},[167,83009,26575],{"class":219},[167,83011,24040],{"class":173},[167,83013,83015],{"class":83014,"line":205},[169,213],[167,83016,276],{"class":173},[167,83018,83019],{"class":169,"line":160},[167,83020,209],{"emptyLinePlaceholder":208},[167,83022,83023,83025],{"class":169,"line":238},[167,83024,27100],{"class":181},[167,83026,1901],{"class":173},[167,83028,83029,83031,83033,83035,83037,83039,83041,83043,83045,83047,83049],{"class":169,"line":243},[167,83030,27107],{"class":219},[167,83032,1103],{"class":173},[167,83034,27112],{"class":219},[167,83036,229],{"class":173},[167,83038,27117],{"class":219},[167,83040,27120],{"class":191},[167,83042,1020],{"class":173},[167,83044,26463],{"class":219},[167,83046,1020],{"class":173},[167,83048,5421],{"class":219},[167,83050,24165],{"class":173},[167,83052,83053,83055,83057,83059],{"class":169,"line":261},[167,83054,27135],{"class":219},[167,83056,1103],{"class":173},[167,83058,27140],{"class":219},[167,83060,24040],{"class":173},[167,83062,83063,83065,83067,83069,83071],{"class":169,"line":273},[167,83064,27147],{"class":219},[167,83066,1103],{"class":173},[167,83068,1849],{"class":219},[167,83070,27154],{"class":191},[167,83072,24040],{"class":173},[167,83074,83075,83077,83079,83081,83083],{"class":169,"line":279},[167,83076,27161],{"class":219},[167,83078,1103],{"class":173},[167,83080,27166],{"class":219},[167,83082,27169],{"class":191},[167,83084,24040],{"class":173},[167,83086,83087],{"class":169,"line":289},[167,83088,276],{"class":173},[3083,83090,27179],{"id":27178},[15,83092,27182,83093,27185],{},[87,83094,26482],{},[3083,83096,27189],{"id":27188},[154,83098,83099],{"className":156,"code":27192,"filename":3256,"language":162,"meta":163,"style":163},[87,83100,83101,83117,83129,83133,83163,83167,83181,83205,83217,83221,83229,83233,83241,83257,83269,83287,83301,83309],{"__ignoreMap":163},[167,83102,83103,83105,83107,83109,83111,83113,83115],{"class":169,"line":170},[167,83104,174],{"class":173},[167,83106,178],{"class":177},[167,83108,182],{"class":181},[167,83110,1045],{"class":181},[167,83112,267],{"class":173},[167,83114,1050],{"class":201},[167,83116,185],{"class":173},[167,83118,83119,83121,83123,83125,83127],{"class":169,"line":188},[167,83120,192],{"class":191},[167,83122,27217],{"class":173},[167,83124,198],{"class":191},[167,83126,24037],{"class":201},[167,83128,24040],{"class":173},[167,83130,83131],{"class":169,"line":205},[167,83132,209],{"emptyLinePlaceholder":208},[167,83134,83135,83137,83139,83141,83143,83145,83147,83149,83151,83153,83155,83157,83159,83161],{"class":169,"line":160},[167,83136,216],{"class":191},[167,83138,23472],{"class":219},[167,83140,223],{"class":191},[167,83142,226],{"class":181},[167,83144,1068],{"class":173},[167,83146,592],{"class":254},[167,83148,583],{"class":191},[167,83150,586],{"class":219},[167,83152,23405],{"class":173},[167,83154,11759],{"class":191},[167,83156,6563],{"class":219},[167,83158,6566],{"class":173},[167,83160,6569],{"class":219},[167,83162,24165],{"class":173},[167,83164,83165],{"class":169,"line":238},[167,83166,209],{"emptyLinePlaceholder":208},[167,83168,83169,83171,83173,83175,83177,83179],{"class":169,"line":243},[167,83170,6792],{"class":181},[167,83172,229],{"class":173},[167,83174,2519],{"class":191},[167,83176,1464],{"class":173},[167,83178,639],{"class":191},[167,83180,1901],{"class":173},[167,83182,83183,83185,83187,83189,83191,83193,83195,83197,83199,83201,83203],{"class":169,"line":261},[167,83184,2571],{"class":191},[167,83186,4220],{"class":191},[167,83188,23249],{"class":219},[167,83190,1914],{"class":173},[167,83192,23254],{"class":254},[167,83194,693],{"class":173},[167,83196,639],{"class":191},[167,83198,27294],{"class":181},[167,83200,27297],{"class":173},[167,83202,27300],{"class":219},[167,83204,27303],{"class":173},[167,83206,83207,83209,83211,83213,83215],{"class":169,"line":273},[167,83208,27308],{"class":173},[167,83210,267],{"class":191},[167,83212,27313],{"class":173},[167,83214,27316],{"class":201},[167,83216,25578],{"class":173},[167,83218,83219],{"class":169,"line":279},[167,83220,27323],{"class":173},[167,83222,83223,83225,83227],{"class":169,"line":289},[167,83224,282],{"class":173},[167,83226,178],{"class":177},[167,83228,185],{"class":173},[167,83230,83231],{"class":169,"line":294},[167,83232,209],{"emptyLinePlaceholder":208},[167,83234,83235,83237,83239],{"class":169,"line":304},[167,83236,174],{"class":173},[167,83238,299],{"class":177},[167,83240,185],{"class":173},[167,83242,83243,83245,83247,83249,83251,83253,83255],{"class":169,"line":313},[167,83244,307],{"class":173},[167,83246,27350],{"class":177},[167,83248,26871],{"class":181},[167,83250,1240],{"class":181},[167,83252,267],{"class":173},[167,83254,27359],{"class":201},[167,83256,185],{"class":173},[167,83258,83259,83261,83263,83265,83267],{"class":169,"line":161},[167,83260,1252],{"class":173},[167,83262,22],{"class":177},[167,83264,27370],{"class":173},[167,83266,22],{"class":177},[167,83268,185],{"class":173},[167,83270,83271,83273,83275,83277,83279,83281,83283,83285],{"class":169,"line":335},[167,83272,1252],{"class":173},[167,83274,15],{"class":177},[167,83276,5690],{"class":181},[167,83278,267],{"class":173},[167,83280,27387],{"class":201},[167,83282,27390],{"class":173},[167,83284,15],{"class":177},[167,83286,185],{"class":173},[167,83288,83289,83291,83293,83295,83297,83299],{"class":169,"line":341},[167,83290,1252],{"class":173},[167,83292,15],{"class":177},[167,83294,7034],{"class":181},[167,83296,27405],{"class":173},[167,83298,15],{"class":177},[167,83300,185],{"class":173},[167,83302,83303,83305,83307],{"class":169,"line":489},[167,83304,504],{"class":173},[167,83306,27350],{"class":177},[167,83308,185],{"class":173},[167,83310,83311,83313,83315],{"class":169,"line":495},[167,83312,282],{"class":173},[167,83314,299],{"class":177},[167,83316,185],{"class":173},[154,83318,83319],{"className":156,"code":27428,"filename":3969,"language":162,"meta":163,"style":163},[87,83320,83321,83335,83343,83351,83357,83363,83385,83389,83393,83401,83425,83439,83443,83447,83455,83459,83467,83483,83495,83513,83527,83535],{"__ignoreMap":163},[167,83322,83323,83325,83327,83329,83331,83333],{"class":169,"line":170},[167,83324,174],{"class":173},[167,83326,178],{"class":177},[167,83328,1045],{"class":181},[167,83330,267],{"class":173},[167,83332,1050],{"class":201},[167,83334,185],{"class":173},[167,83336,83337,83339,83341],{"class":169,"line":188},[167,83338,608],{"class":191},[167,83340,3987],{"class":191},[167,83342,1901],{"class":173},[167,83344,83345,83347,83349],{"class":169,"line":205},[167,83346,4394],{"class":173},[167,83348,27459],{"class":201},[167,83350,393],{"class":173},[167,83352,83353,83355],{"class":169,"line":160},[167,83354,7172],{"class":181},[167,83356,763],{"class":173},[167,83358,83359,83361],{"class":169,"line":238},[167,83360,1933],{"class":191},[167,83362,1901],{"class":173},[167,83364,83365,83367,83369,83371,83373,83375,83377,83379,83381,83383],{"class":169,"line":243},[167,83366,27478],{"class":173},[167,83368,6569],{"class":219},[167,83370,654],{"class":191},[167,83372,6563],{"class":219},[167,83374,659],{"class":191},[167,83376,577],{"class":173},[167,83378,592],{"class":254},[167,83380,583],{"class":191},[167,83382,586],{"class":219},[167,83384,1852],{"class":173},[167,83386,83387],{"class":169,"line":261},[167,83388,24366],{"class":173},[167,83390,83391],{"class":169,"line":273},[167,83392,398],{"class":173},[167,83394,83395,83397,83399],{"class":169,"line":279},[167,83396,7327],{"class":191},[167,83398,7408],{"class":181},[167,83400,763],{"class":173},[167,83402,83403,83405,83407,83409,83411,83413,83415,83417,83419,83421,83423],{"class":169,"line":289},[167,83404,6726],{"class":191},[167,83406,4220],{"class":191},[167,83408,23249],{"class":219},[167,83410,1914],{"class":173},[167,83412,23254],{"class":254},[167,83414,693],{"class":173},[167,83416,639],{"class":191},[167,83418,27294],{"class":181},[167,83420,27297],{"class":173},[167,83422,27300],{"class":219},[167,83424,27303],{"class":173},[167,83426,83427,83429,83431,83433,83435,83437],{"class":169,"line":294},[167,83428,879],{"class":219},[167,83430,744],{"class":173},[167,83432,267],{"class":191},[167,83434,27313],{"class":173},[167,83436,27316],{"class":201},[167,83438,25578],{"class":173},[167,83440,83441],{"class":169,"line":304},[167,83442,398],{"class":173},[167,83444,83445],{"class":169,"line":313},[167,83446,24144],{"class":173},[167,83448,83449,83451,83453],{"class":169,"line":161},[167,83450,282],{"class":173},[167,83452,178],{"class":177},[167,83454,185],{"class":173},[167,83456,83457],{"class":169,"line":335},[167,83458,209],{"emptyLinePlaceholder":208},[167,83460,83461,83463,83465],{"class":169,"line":341},[167,83462,174],{"class":173},[167,83464,299],{"class":177},[167,83466,185],{"class":173},[167,83468,83469,83471,83473,83475,83477,83479,83481],{"class":169,"line":489},[167,83470,307],{"class":173},[167,83472,27350],{"class":177},[167,83474,26871],{"class":181},[167,83476,1240],{"class":181},[167,83478,267],{"class":173},[167,83480,27359],{"class":201},[167,83482,185],{"class":173},[167,83484,83485,83487,83489,83491,83493],{"class":169,"line":495},[167,83486,1252],{"class":173},[167,83488,22],{"class":177},[167,83490,27370],{"class":173},[167,83492,22],{"class":177},[167,83494,185],{"class":173},[167,83496,83497,83499,83501,83503,83505,83507,83509,83511],{"class":169,"line":501},[167,83498,1252],{"class":173},[167,83500,15],{"class":177},[167,83502,5690],{"class":181},[167,83504,267],{"class":173},[167,83506,27387],{"class":201},[167,83508,27390],{"class":173},[167,83510,15],{"class":177},[167,83512,185],{"class":173},[167,83514,83515,83517,83519,83521,83523,83525],{"class":169,"line":512},[167,83516,1252],{"class":173},[167,83518,15],{"class":177},[167,83520,7034],{"class":181},[167,83522,27405],{"class":173},[167,83524,15],{"class":177},[167,83526,185],{"class":173},[167,83528,83529,83531,83533],{"class":169,"line":781},[167,83530,504],{"class":173},[167,83532,27350],{"class":177},[167,83534,185],{"class":173},[167,83536,83537,83539,83541],{"class":169,"line":786},[167,83538,282],{"class":173},[167,83540,299],{"class":177},[167,83542,185],{"class":173},[154,83544,83545],{"className":26550,"code":26748,"filename":26552,"language":26553,"meta":163,"style":163},[87,83546,83547,83555,83565],{"__ignoreMap":163},[167,83548,83549,83551,83553],{"class":169,"line":170},[167,83550,26560],{"class":173},[167,83552,26482],{"class":181},[167,83554,26565],{"class":173},[167,83556,83557,83559,83561,83563],{"class":169,"line":188},[167,83558,26763],{"class":219},[167,83560,1103],{"class":173},[167,83562,26575],{"class":219},[167,83564,24040],{"class":173},[167,83566,83567],{"class":169,"line":205},[167,83568,276],{"class":173},[22,83570,7674],{"id":7673},[15,83572,83573,27687],{},[87,83574,26482],{},[15,83576,83577],{},[3929,83578,27692],{},[33,83580,83581,83585,83587,83589],{},[36,83582,27697,83583,1675],{},[87,83584,26702],{},[36,83586,27702],{},[36,83588,27705],{},[36,83590,27708],{},[924,83592,27711],{},{"title":163,"searchDepth":188,"depth":188,"links":83594},[83595,83596,83597,83598,83599,83600,83606,83612],{"id":26498,"depth":188,"text":26499},{"id":6252,"depth":188,"text":6253},{"id":26607,"depth":188,"text":26608},{"id":6317,"depth":188,"text":6318},{"id":6344,"depth":188,"text":6345},{"id":3080,"depth":188,"text":3081,"children":83601},[83602,83603,83604,83605],{"id":26692,"depth":205,"text":27722},{"id":26706,"depth":205,"text":27724},{"id":26723,"depth":205,"text":26724},{"id":26733,"depth":205,"text":26734},{"id":7992,"depth":188,"text":7993,"children":83607},[83608,83609,83610,83611],{"id":26744,"depth":205,"text":26745},{"id":26784,"depth":205,"text":26785},{"id":27178,"depth":205,"text":27179},{"id":27188,"depth":205,"text":27189},{"id":7673,"depth":188,"text":7674},{"updatedAt":27739,"coverCaption":23652,"author":945,"keywords":83614},[3254,26482,27741,27742,3256,3969],[83616],{"headline":27746,"author":83617,"datePublished":27739,"@type":959},{"name":945,"@type":958},{"title":26473,"description":27737},[83620,83621,83622,83623],{"tag":26462,"color":26463},{"tag":27753,"color":27754},{"tag":9165,"color":9166},{"tag":5420,"color":5421},{"id":27759,"title":27760,"body":83625,"cover":30398,"coverAlt":30399,"date":30400,"description":30401,"draft":1617,"extension":940,"lab":941,"locale":942,"meta":86061,"navigation":208,"path":30406,"schemaOrg":86063,"seo":86066,"series":26456,"seriesDescription":26457,"seriesOrder":279,"seriesTitle":26458,"slug":941,"stem":30412,"tags":86067,"__hash__":30419},{"type":8,"value":83626,"toc":86037},[83627,83635,83645,83647,83649,83651,83665,83667,83669,83673,83675,83677,83681,83687,83693,83697,83703,83705,83707,83709,83725,83727,83737,83739,83741,83755,83757,83759,83773,83775,83789,83791,83795,83799,83805,83809,83811,83815,83819,83823,83829,83831,83833,83837,83839,83843,83973,84101,84109,84113,84433,84701,84711,84715,84807,84921,84923,84931,85495,86009,86011,86019,86033,86035],[11,83628,26479,83629,11223,83631,11223,83633],{"id":27765},[87,83630,27768],{},[87,83632,27771],{},[87,83634,27774],{},[15,83636,83637,1020,83639,1023,83641,27783,83643,27787],{},[87,83638,27768],{},[87,83640,27771],{},[87,83642,27774],{},[9291,83644,27786],{},[22,83646,26499],{"id":26498},[15,83648,27792],{},[15,83650,27795],{},[33,83652,83653,83657,83661],{},[36,83654,27800,83655,4266],{},[87,83656,27768],{},[36,83658,27805,83659,4266],{},[87,83660,27771],{},[36,83662,27810,83663,4266],{},[87,83664,27774],{},[15,83666,27815],{},[22,83668,6253],{"id":6252},[3083,83670,83671],{"id":27768},[87,83672,27768],{},[15,83674,27824],{},[15,83676,27827],{},[3083,83678,83679],{"id":27771},[87,83680,27771],{},[15,83682,27834,83683,27838,83685,27842],{},[3929,83684,27837],{},[9291,83686,27841],{},[15,83688,27845,83689,27848,83691,1675],{},[87,83690,27771],{},[3929,83692,27851],{},[3083,83694,83695],{"id":27774},[87,83696,27774],{},[15,83698,27858,83699,27862,83701,27865],{},[3929,83700,27861],{},[87,83702,26494],{},[15,83704,27868],{},[22,83706,6318],{"id":6317},[15,83708,27873],{},[33,83710,83711,83715,83721],{},[36,83712,83713,27880],{},[87,83714,27768],{},[36,83716,83717,27885,83719,1675],{},[87,83718,27771],{},[3929,83720,27888],{},[36,83722,83723,27893],{},[87,83724,27774],{},[15,83726,27896],{},[33,83728,83729,83733,83735],{},[36,83730,27901,83731,27904],{},[87,83732,580],{},[36,83734,27907],{},[36,83736,27910],{},[22,83738,6345],{"id":6344},[15,83740,27915],{},[33,83742,83743,83747,83751],{},[36,83744,2091,83745,27922],{},[87,83746,27768],{},[36,83748,2091,83749,27927],{},[87,83750,27771],{},[36,83752,2091,83753,27932],{},[87,83754,27774],{},[15,83756,27935],{},[22,83758,11367],{"id":11366},[33,83760,83761,83765,83769],{},[36,83762,83763,27944],{},[87,83764,27768],{},[36,83766,83767,27949],{},[87,83768,27771],{},[36,83770,83771,27954],{},[87,83772,27774],{},[15,83774,27957],{},[33,83776,83777,83781,83785],{},[36,83778,27962,83779,1675],{},[87,83780,27768],{},[36,83782,27967,83783,1675],{},[87,83784,27771],{},[36,83786,27972,83787,1675],{},[87,83788,27774],{},[22,83790,3081],{"id":3080},[3083,83792,27980,83793,27983],{"id":27979},[87,83794,27768],{},[15,83796,27986,83797,27989],{},[87,83798,27768],{},[15,83800,83801,27995,83803,27998],{},[3929,83802,27994],{},[87,83804,27768],{},[3083,83806,28002,83807],{"id":28001},[87,83808,27771],{},[15,83810,28007],{},[15,83812,83813,28012],{},[3929,83814,27994],{},[3083,83816,28016,83817,28019],{"id":28015},[87,83818,27774],{},[15,83820,3806,83821,28024],{},[87,83822,27774],{},[15,83824,83825,22918,83827,28031],{},[3929,83826,27994],{},[87,83828,27774],{},[3083,83830,28035],{"id":28034},[15,83832,28038],{},[15,83834,83835,28043],{},[3929,83836,27994],{},[22,83838,7993],{"id":7992},[3083,83840,28049,83841],{"id":28048},[87,83842,27768],{},[154,83844,83846],{"className":156,"code":28054,"filename":3256,"highlights":83845,"language":162,"meta":163,"style":163},[294],[87,83847,83848,83864,83876,83880,83896,83908,83916,83920,83928,83946,83950,83965],{"__ignoreMap":163},[167,83849,83850,83852,83854,83856,83858,83860,83862],{"class":169,"line":170},[167,83851,174],{"class":173},[167,83853,178],{"class":177},[167,83855,182],{"class":181},[167,83857,1045],{"class":181},[167,83859,267],{"class":173},[167,83861,1050],{"class":201},[167,83863,185],{"class":173},[167,83865,83866,83868,83870,83872,83874],{"class":169,"line":188},[167,83867,192],{"class":191},[167,83869,195],{"class":173},[167,83871,198],{"class":191},[167,83873,24037],{"class":201},[167,83875,24040],{"class":173},[167,83877,83878],{"class":169,"line":205},[167,83879,209],{"emptyLinePlaceholder":208},[167,83881,83882,83884,83886,83888,83890,83892,83894],{"class":169,"line":160},[167,83883,216],{"class":191},[167,83885,28096],{"class":219},[167,83887,223],{"class":191},[167,83889,226],{"class":181},[167,83891,229],{"class":173},[167,83893,1956],{"class":219},[167,83895,24165],{"class":173},[167,83897,83898,83900,83902,83904,83906],{"class":169,"line":238},[167,83899,216],{"class":191},[167,83901,28113],{"class":219},[167,83903,223],{"class":191},[167,83905,28118],{"class":201},[167,83907,24040],{"class":173},[167,83909,83910,83912,83914],{"class":169,"line":243},[167,83911,282],{"class":173},[167,83913,178],{"class":177},[167,83915,185],{"class":173},[167,83917,83918],{"class":169,"line":261},[167,83919,209],{"emptyLinePlaceholder":208},[167,83921,83922,83924,83926],{"class":169,"line":273},[167,83923,174],{"class":173},[167,83925,299],{"class":177},[167,83927,185],{"class":173},[167,83929,83930,83932,83934,83936,83938,83940,83942,83944],{"class":169,"line":279},[167,83931,307],{"class":173},[167,83933,507],{"class":177},[167,83935,1177],{"class":181},[167,83937,267],{"class":173},[167,83939,28153],{"class":201},[167,83941,28156],{"class":173},[167,83943,507],{"class":177},[167,83945,185],{"class":173},[167,83947,83948],{"class":169,"line":289},[167,83949,209],{"emptyLinePlaceholder":208},[167,83951,83953,83955,83957,83959,83961,83963],{"class":83952,"line":294},[169,213],[167,83954,307],{"class":173},[167,83956,15],{"class":177},[167,83958,28174],{"class":181},[167,83960,28177],{"class":173},[167,83962,15],{"class":177},[167,83964,185],{"class":173},[167,83966,83967,83969,83971],{"class":169,"line":304},[167,83968,282],{"class":173},[167,83970,299],{"class":177},[167,83972,185],{"class":173},[154,83974,83976],{"className":156,"code":28192,"filename":3969,"highlights":83975,"language":162,"meta":163,"style":163},[161],[87,83977,83978,83992,84000,84006,84012,84020,84028,84032,84036,84040,84048,84052,84060,84078,84093],{"__ignoreMap":163},[167,83979,83980,83982,83984,83986,83988,83990],{"class":169,"line":170},[167,83981,174],{"class":173},[167,83983,178],{"class":177},[167,83985,1045],{"class":181},[167,83987,267],{"class":173},[167,83989,1050],{"class":201},[167,83991,185],{"class":173},[167,83993,83994,83996,83998],{"class":169,"line":188},[167,83995,608],{"class":191},[167,83997,3987],{"class":191},[167,83999,1901],{"class":173},[167,84001,84002,84004],{"class":169,"line":205},[167,84003,7172],{"class":181},[167,84005,763],{"class":173},[167,84007,84008,84010],{"class":169,"line":160},[167,84009,1933],{"class":191},[167,84011,1901],{"class":173},[167,84013,84014,84016,84018],{"class":169,"line":238},[167,84015,28234],{"class":173},[167,84017,1956],{"class":219},[167,84019,393],{"class":173},[167,84021,84022,84024,84026],{"class":169,"line":243},[167,84023,28243],{"class":173},[167,84025,28246],{"class":201},[167,84027,393],{"class":173},[167,84029,84030],{"class":169,"line":261},[167,84031,24366],{"class":173},[167,84033,84034],{"class":169,"line":273},[167,84035,398],{"class":173},[167,84037,84038],{"class":169,"line":279},[167,84039,24144],{"class":173},[167,84041,84042,84044,84046],{"class":169,"line":289},[167,84043,282],{"class":173},[167,84045,178],{"class":177},[167,84047,185],{"class":173},[167,84049,84050],{"class":169,"line":294},[167,84051,209],{"emptyLinePlaceholder":208},[167,84053,84054,84056,84058],{"class":169,"line":304},[167,84055,174],{"class":173},[167,84057,299],{"class":177},[167,84059,185],{"class":173},[167,84061,84062,84064,84066,84068,84070,84072,84074,84076],{"class":169,"line":313},[167,84063,307],{"class":173},[167,84065,507],{"class":177},[167,84067,1177],{"class":181},[167,84069,267],{"class":173},[167,84071,28153],{"class":201},[167,84073,28156],{"class":173},[167,84075,507],{"class":177},[167,84077,185],{"class":173},[167,84079,84081,84083,84085,84087,84089,84091],{"class":84080,"line":161},[169,213],[167,84082,307],{"class":173},[167,84084,15],{"class":177},[167,84086,28174],{"class":181},[167,84088,28177],{"class":173},[167,84090,15],{"class":177},[167,84092,185],{"class":173},[167,84094,84095,84097,84099],{"class":169,"line":335},[167,84096,282],{"class":173},[167,84098,299],{"class":177},[167,84100,185],{"class":173},[5363,84102,84103],{},[15,84104,28326,84105,28330,84107,28333],{},[87,84106,28329],{},[87,84108,27768],{},[3083,84110,28337,84111],{"id":28336},[87,84112,27771],{},[154,84114,84116],{"className":156,"code":28342,"filename":3256,"highlights":84115,"language":162,"meta":163,"style":163},[495],[87,84117,84118,84134,84146,84150,84192,84196,84220,84236,84256,84276,84296,84300,84308,84312,84320,84326,84334,84342,84351,84359,84363,84375,84387,84399,84417,84425],{"__ignoreMap":163},[167,84119,84120,84122,84124,84126,84128,84130,84132],{"class":169,"line":170},[167,84121,174],{"class":173},[167,84123,178],{"class":177},[167,84125,182],{"class":181},[167,84127,1045],{"class":181},[167,84129,267],{"class":173},[167,84131,1050],{"class":201},[167,84133,185],{"class":173},[167,84135,84136,84138,84140,84142,84144],{"class":169,"line":188},[167,84137,192],{"class":191},[167,84139,195],{"class":173},[167,84141,198],{"class":191},[167,84143,24037],{"class":201},[167,84145,24040],{"class":173},[167,84147,84148],{"class":169,"line":205},[167,84149,209],{"emptyLinePlaceholder":208},[167,84151,84152,84154,84156,84158,84160,84162,84164,84166,84168,84170,84172,84174,84176,84178,84180,84182,84184,84186,84188,84190],{"class":169,"line":160},[167,84153,569],{"class":191},[167,84155,28384],{"class":181},[167,84157,223],{"class":191},[167,84159,577],{"class":173},[167,84161,580],{"class":254},[167,84163,583],{"class":191},[167,84165,8489],{"class":219},[167,84167,589],{"class":173},[167,84169,592],{"class":254},[167,84171,583],{"class":191},[167,84173,586],{"class":219},[167,84175,589],{"class":173},[167,84177,28407],{"class":254},[167,84179,583],{"class":191},[167,84181,28412],{"class":219},[167,84183,589],{"class":173},[167,84185,28417],{"class":254},[167,84187,583],{"class":191},[167,84189,8489],{"class":219},[167,84191,25578],{"class":173},[167,84193,84194],{"class":169,"line":238},[167,84195,209],{"emptyLinePlaceholder":208},[167,84197,84198,84200,84202,84204,84206,84208,84210,84212,84214,84216,84218],{"class":169,"line":243},[167,84199,216],{"class":191},[167,84201,28434],{"class":219},[167,84203,223],{"class":191},[167,84205,226],{"class":181},[167,84207,174],{"class":173},[167,84209,13925],{"class":219},[167,84211,659],{"class":191},[167,84213,6563],{"class":219},[167,84215,6566],{"class":173},[167,84217,6569],{"class":219},[167,84219,24165],{"class":173},[167,84221,84222,84224,84226,84228,84230,84232,84234],{"class":169,"line":261},[167,84223,216],{"class":191},[167,84225,16950],{"class":219},[167,84227,223],{"class":191},[167,84229,226],{"class":181},[167,84231,174],{"class":173},[167,84233,5305],{"class":181},[167,84235,28469],{"class":173},[167,84237,84238,84240,84242,84244,84246,84248,84250,84252,84254],{"class":169,"line":273},[167,84239,1828],{"class":173},[167,84241,1831],{"class":219},[167,84243,1834],{"class":173},[167,84245,23483],{"class":201},[167,84247,28482],{"class":173},[167,84249,390],{"class":219},[167,84251,28487],{"class":173},[167,84253,28490],{"class":219},[167,84255,1852],{"class":173},[167,84257,84258,84260,84262,84264,84266,84268,84270,84272,84274],{"class":169,"line":279},[167,84259,1828],{"class":173},[167,84261,1849],{"class":219},[167,84263,1834],{"class":173},[167,84265,28503],{"class":201},[167,84267,28482],{"class":173},[167,84269,3388],{"class":219},[167,84271,28487],{"class":173},[167,84273,28512],{"class":219},[167,84275,1852],{"class":173},[167,84277,84278,84280,84282,84284,84286,84288,84290,84292,84294],{"class":169,"line":289},[167,84279,1828],{"class":173},[167,84281,8199],{"class":219},[167,84283,1834],{"class":173},[167,84285,28525],{"class":201},[167,84287,28482],{"class":173},[167,84289,390],{"class":219},[167,84291,28487],{"class":173},[167,84293,28534],{"class":219},[167,84295,1852],{"class":173},[167,84297,84298],{"class":169,"line":294},[167,84299,28541],{"class":173},[167,84301,84302,84304,84306],{"class":169,"line":304},[167,84303,282],{"class":173},[167,84305,178],{"class":177},[167,84307,185],{"class":173},[167,84309,84310],{"class":169,"line":313},[167,84311,209],{"emptyLinePlaceholder":208},[167,84313,84314,84316,84318],{"class":169,"line":161},[167,84315,174],{"class":173},[167,84317,299],{"class":177},[167,84319,185],{"class":173},[167,84321,84322,84324],{"class":169,"line":335},[167,84323,307],{"class":173},[167,84325,28568],{"class":177},[167,84327,84328,84330,84332],{"class":169,"line":341},[167,84329,3526],{"class":181},[167,84331,267],{"class":173},[167,84333,28577],{"class":201},[167,84335,84336,84338,84340],{"class":169,"line":489},[167,84337,3537],{"class":181},[167,84339,267],{"class":173},[167,84341,28586],{"class":201},[167,84343,84345,84347,84349],{"class":84344,"line":495},[169,213],[167,84346,28592],{"class":181},[167,84348,267],{"class":173},[167,84350,28597],{"class":201},[167,84352,84353,84355,84357],{"class":169,"line":501},[167,84354,28602],{"class":181},[167,84356,267],{"class":173},[167,84358,28607],{"class":201},[167,84360,84361],{"class":169,"line":512},[167,84362,492],{"class":173},[167,84364,84365,84367,84369,84371,84373],{"class":169,"line":781},[167,84366,1252],{"class":173},[167,84368,3083],{"class":177},[167,84370,28620],{"class":173},[167,84372,3083],{"class":177},[167,84374,185],{"class":173},[167,84376,84377,84379,84381,84383,84385],{"class":169,"line":786},[167,84378,1252],{"class":173},[167,84380,15],{"class":177},[167,84382,28633],{"class":173},[167,84384,15],{"class":177},[167,84386,185],{"class":173},[167,84388,84389,84391,84393,84395,84397],{"class":169,"line":2674},[167,84390,1252],{"class":173},[167,84392,15],{"class":177},[167,84394,28646],{"class":173},[167,84396,15],{"class":177},[167,84398,185],{"class":173},[167,84400,84401,84403,84405,84407,84409,84411,84413,84415],{"class":169,"line":2688},[167,84402,1252],{"class":173},[167,84404,507],{"class":177},[167,84406,1177],{"class":181},[167,84408,267],{"class":173},[167,84410,28663],{"class":201},[167,84412,28666],{"class":173},[167,84414,507],{"class":177},[167,84416,185],{"class":173},[167,84418,84419,84421,84423],{"class":169,"line":3571},[167,84420,504],{"class":173},[167,84422,3692],{"class":177},[167,84424,185],{"class":173},[167,84426,84427,84429,84431],{"class":169,"line":5024},[167,84428,282],{"class":173},[167,84430,299],{"class":177},[167,84432,185],{"class":173},[154,84434,84436],{"className":156,"code":28689,"filename":3969,"highlights":84435,"language":162,"meta":163,"style":163},[512],[87,84437,84438,84452,84460,84466,84472,84488,84492,84512,84532,84552,84556,84560,84564,84568,84576,84580,84588,84594,84602,84610,84619,84627,84631,84643,84655,84667,84685,84693],{"__ignoreMap":163},[167,84439,84440,84442,84444,84446,84448,84450],{"class":169,"line":170},[167,84441,174],{"class":173},[167,84443,178],{"class":177},[167,84445,1045],{"class":181},[167,84447,267],{"class":173},[167,84449,1050],{"class":201},[167,84451,185],{"class":173},[167,84453,84454,84456,84458],{"class":169,"line":188},[167,84455,608],{"class":191},[167,84457,3987],{"class":191},[167,84459,1901],{"class":173},[167,84461,84462,84464],{"class":169,"line":205},[167,84463,7172],{"class":181},[167,84465,763],{"class":173},[167,84467,84468,84470],{"class":169,"line":160},[167,84469,1933],{"class":191},[167,84471,1901],{"class":173},[167,84473,84474,84476,84478,84480,84482,84484,84486],{"class":169,"line":238},[167,84475,28731],{"class":173},[167,84477,6569],{"class":219},[167,84479,654],{"class":191},[167,84481,8489],{"class":219},[167,84483,659],{"class":191},[167,84485,6563],{"class":219},[167,84487,393],{"class":173},[167,84489,84490],{"class":169,"line":243},[167,84491,28748],{"class":173},[167,84493,84494,84496,84498,84500,84502,84504,84506,84508,84510],{"class":169,"line":261},[167,84495,8673],{"class":173},[167,84497,1831],{"class":219},[167,84499,1834],{"class":173},[167,84501,23483],{"class":201},[167,84503,28482],{"class":173},[167,84505,390],{"class":219},[167,84507,28487],{"class":173},[167,84509,28490],{"class":219},[167,84511,1852],{"class":173},[167,84513,84514,84516,84518,84520,84522,84524,84526,84528,84530],{"class":169,"line":273},[167,84515,8673],{"class":173},[167,84517,1849],{"class":219},[167,84519,1834],{"class":173},[167,84521,28503],{"class":201},[167,84523,28482],{"class":173},[167,84525,3388],{"class":219},[167,84527,28487],{"class":173},[167,84529,28512],{"class":219},[167,84531,1852],{"class":173},[167,84533,84534,84536,84538,84540,84542,84544,84546,84548,84550],{"class":169,"line":279},[167,84535,8673],{"class":173},[167,84537,8199],{"class":219},[167,84539,1834],{"class":173},[167,84541,28525],{"class":201},[167,84543,28482],{"class":173},[167,84545,390],{"class":219},[167,84547,28487],{"class":173},[167,84549,28534],{"class":219},[167,84551,1852],{"class":173},[167,84553,84554],{"class":169,"line":289},[167,84555,16110],{"class":173},[167,84557,84558],{"class":169,"line":294},[167,84559,24366],{"class":173},[167,84561,84562],{"class":169,"line":304},[167,84563,398],{"class":173},[167,84565,84566],{"class":169,"line":313},[167,84567,24144],{"class":173},[167,84569,84570,84572,84574],{"class":169,"line":161},[167,84571,282],{"class":173},[167,84573,178],{"class":177},[167,84575,185],{"class":173},[167,84577,84578],{"class":169,"line":335},[167,84579,209],{"emptyLinePlaceholder":208},[167,84581,84582,84584,84586],{"class":169,"line":341},[167,84583,174],{"class":173},[167,84585,299],{"class":177},[167,84587,185],{"class":173},[167,84589,84590,84592],{"class":169,"line":489},[167,84591,307],{"class":173},[167,84593,28568],{"class":177},[167,84595,84596,84598,84600],{"class":169,"line":495},[167,84597,3526],{"class":181},[167,84599,267],{"class":173},[167,84601,28577],{"class":201},[167,84603,84604,84606,84608],{"class":169,"line":501},[167,84605,3537],{"class":181},[167,84607,267],{"class":173},[167,84609,28586],{"class":201},[167,84611,84613,84615,84617],{"class":84612,"line":512},[169,213],[167,84614,28592],{"class":181},[167,84616,267],{"class":173},[167,84618,28597],{"class":201},[167,84620,84621,84623,84625],{"class":169,"line":781},[167,84622,28602],{"class":181},[167,84624,267],{"class":173},[167,84626,28607],{"class":201},[167,84628,84629],{"class":169,"line":786},[167,84630,492],{"class":173},[167,84632,84633,84635,84637,84639,84641],{"class":169,"line":2674},[167,84634,1252],{"class":173},[167,84636,3083],{"class":177},[167,84638,28620],{"class":173},[167,84640,3083],{"class":177},[167,84642,185],{"class":173},[167,84644,84645,84647,84649,84651,84653],{"class":169,"line":2688},[167,84646,1252],{"class":173},[167,84648,15],{"class":177},[167,84650,28633],{"class":173},[167,84652,15],{"class":177},[167,84654,185],{"class":173},[167,84656,84657,84659,84661,84663,84665],{"class":169,"line":3571},[167,84658,1252],{"class":173},[167,84660,15],{"class":177},[167,84662,28646],{"class":173},[167,84664,15],{"class":177},[167,84666,185],{"class":173},[167,84668,84669,84671,84673,84675,84677,84679,84681,84683],{"class":169,"line":5024},[167,84670,1252],{"class":173},[167,84672,507],{"class":177},[167,84674,1177],{"class":181},[167,84676,267],{"class":173},[167,84678,28663],{"class":201},[167,84680,28666],{"class":173},[167,84682,507],{"class":177},[167,84684,185],{"class":173},[167,84686,84687,84689,84691],{"class":169,"line":5033},[167,84688,504],{"class":173},[167,84690,3692],{"class":177},[167,84692,185],{"class":173},[167,84694,84695,84697,84699],{"class":169,"line":5042},[167,84696,282],{"class":173},[167,84698,299],{"class":177},[167,84700,185],{"class":173},[5363,84702,84703],{},[15,84704,28962,84705,28965,84707,28969,84709,28973],{},[87,84706,27771],{},[3929,84708,28968],{},[87,84710,28972],{},[3083,84712,28977,84713],{"id":28976},[87,84714,27774],{},[154,84716,84718],{"className":156,"code":28982,"filename":3256,"highlights":84717,"language":162,"meta":163,"style":163},[273],[87,84719,84720,84736,84748,84756,84760,84768,84780,84784,84799],{"__ignoreMap":163},[167,84721,84722,84724,84726,84728,84730,84732,84734],{"class":169,"line":170},[167,84723,174],{"class":173},[167,84725,178],{"class":177},[167,84727,182],{"class":181},[167,84729,1045],{"class":181},[167,84731,267],{"class":173},[167,84733,1050],{"class":201},[167,84735,185],{"class":173},[167,84737,84738,84740,84742,84744,84746],{"class":169,"line":188},[167,84739,216],{"class":191},[167,84741,29008],{"class":219},[167,84743,223],{"class":191},[167,84745,29013],{"class":201},[167,84747,24040],{"class":173},[167,84749,84750,84752,84754],{"class":169,"line":205},[167,84751,282],{"class":173},[167,84753,178],{"class":177},[167,84755,185],{"class":173},[167,84757,84758],{"class":169,"line":160},[167,84759,209],{"emptyLinePlaceholder":208},[167,84761,84762,84764,84766],{"class":169,"line":238},[167,84763,174],{"class":173},[167,84765,299],{"class":177},[167,84767,185],{"class":173},[167,84769,84770,84772,84774,84776,84778],{"class":169,"line":243},[167,84771,307],{"class":173},[167,84773,15],{"class":177},[167,84775,29044],{"class":173},[167,84777,15],{"class":177},[167,84779,185],{"class":173},[167,84781,84782],{"class":169,"line":261},[167,84783,209],{"emptyLinePlaceholder":208},[167,84785,84787,84789,84791,84793,84795,84797],{"class":84786,"line":273},[169,213],[167,84788,307],{"class":173},[167,84790,154],{"class":177},[167,84792,29062],{"class":181},[167,84794,29065],{"class":173},[167,84796,154],{"class":177},[167,84798,185],{"class":173},[167,84800,84801,84803,84805],{"class":169,"line":279},[167,84802,282],{"class":173},[167,84804,299],{"class":177},[167,84806,185],{"class":173},[154,84808,84810],{"className":156,"code":29080,"filename":3969,"highlights":84809,"language":162,"meta":163,"style":163},[313],[87,84811,84812,84826,84834,84840,84846,84854,84858,84862,84866,84874,84878,84886,84898,84913],{"__ignoreMap":163},[167,84813,84814,84816,84818,84820,84822,84824],{"class":169,"line":170},[167,84815,174],{"class":173},[167,84817,178],{"class":177},[167,84819,1045],{"class":181},[167,84821,267],{"class":173},[167,84823,1050],{"class":201},[167,84825,185],{"class":173},[167,84827,84828,84830,84832],{"class":169,"line":188},[167,84829,608],{"class":191},[167,84831,3987],{"class":191},[167,84833,1901],{"class":173},[167,84835,84836,84838],{"class":169,"line":205},[167,84837,7172],{"class":181},[167,84839,763],{"class":173},[167,84841,84842,84844],{"class":169,"line":160},[167,84843,1933],{"class":191},[167,84845,1901],{"class":173},[167,84847,84848,84850,84852],{"class":169,"line":238},[167,84849,29122],{"class":173},[167,84851,29125],{"class":201},[167,84853,393],{"class":173},[167,84855,84856],{"class":169,"line":243},[167,84857,24366],{"class":173},[167,84859,84860],{"class":169,"line":261},[167,84861,398],{"class":173},[167,84863,84864],{"class":169,"line":273},[167,84865,24144],{"class":173},[167,84867,84868,84870,84872],{"class":169,"line":279},[167,84869,282],{"class":173},[167,84871,178],{"class":177},[167,84873,185],{"class":173},[167,84875,84876],{"class":169,"line":289},[167,84877,209],{"emptyLinePlaceholder":208},[167,84879,84880,84882,84884],{"class":169,"line":294},[167,84881,174],{"class":173},[167,84883,299],{"class":177},[167,84885,185],{"class":173},[167,84887,84888,84890,84892,84894,84896],{"class":169,"line":304},[167,84889,307],{"class":173},[167,84891,15],{"class":177},[167,84893,29044],{"class":173},[167,84895,15],{"class":177},[167,84897,185],{"class":173},[167,84899,84901,84903,84905,84907,84909,84911],{"class":84900,"line":313},[169,213],[167,84902,307],{"class":173},[167,84904,154],{"class":177},[167,84906,29062],{"class":181},[167,84908,29065],{"class":173},[167,84910,154],{"class":177},[167,84912,185],{"class":173},[167,84914,84915,84917,84919],{"class":169,"line":161},[167,84916,282],{"class":173},[167,84918,299],{"class":177},[167,84920,185],{"class":173},[3083,84922,29198],{"id":29197},[15,84924,29201,84925,29204,84927,29207,84929,29210],{},[87,84926,27768],{},[87,84928,27771],{},[87,84930,27774],{},[154,84932,84933],{"className":156,"code":29213,"filename":3256,"language":162,"meta":163,"style":163},[87,84934,84935,84951,84963,84967,85009,85013,85037,85053,85073,85093,85113,85117,85121,85159,85173,85181,85187,85209,85213,85221,85225,85233,85243,85255,85267,85275,85279,85287,85291,85305,85335,85343,85351,85355,85361,85369,85377,85385,85393,85397,85409,85421,85433,85441,85445,85453,85465,85479,85487],{"__ignoreMap":163},[167,84936,84937,84939,84941,84943,84945,84947,84949],{"class":169,"line":170},[167,84938,174],{"class":173},[167,84940,178],{"class":177},[167,84942,182],{"class":181},[167,84944,1045],{"class":181},[167,84946,267],{"class":173},[167,84948,1050],{"class":201},[167,84950,185],{"class":173},[167,84952,84953,84955,84957,84959,84961],{"class":169,"line":188},[167,84954,192],{"class":191},[167,84956,1801],{"class":173},[167,84958,198],{"class":191},[167,84960,24037],{"class":201},[167,84962,24040],{"class":173},[167,84964,84965],{"class":169,"line":205},[167,84966,209],{"emptyLinePlaceholder":208},[167,84968,84969,84971,84973,84975,84977,84979,84981,84983,84985,84987,84989,84991,84993,84995,84997,84999,85001,85003,85005,85007],{"class":169,"line":160},[167,84970,569],{"class":191},[167,84972,11601],{"class":181},[167,84974,223],{"class":191},[167,84976,577],{"class":173},[167,84978,580],{"class":254},[167,84980,583],{"class":191},[167,84982,8489],{"class":219},[167,84984,589],{"class":173},[167,84986,29268],{"class":254},[167,84988,583],{"class":191},[167,84990,586],{"class":219},[167,84992,589],{"class":173},[167,84994,29277],{"class":254},[167,84996,583],{"class":191},[167,84998,28412],{"class":219},[167,85000,589],{"class":173},[167,85002,29286],{"class":254},[167,85004,583],{"class":191},[167,85006,586],{"class":219},[167,85008,25578],{"class":173},[167,85010,85011],{"class":169,"line":238},[167,85012,209],{"emptyLinePlaceholder":208},[167,85014,85015,85017,85019,85021,85023,85025,85027,85029,85031,85033,85035],{"class":169,"line":243},[167,85016,216],{"class":191},[167,85018,29303],{"class":219},[167,85020,223],{"class":191},[167,85022,226],{"class":181},[167,85024,174],{"class":173},[167,85026,29312],{"class":201},[167,85028,659],{"class":191},[167,85030,586],{"class":219},[167,85032,6566],{"class":173},[167,85034,29312],{"class":201},[167,85036,24165],{"class":173},[167,85038,85039,85041,85043,85045,85047,85049,85051],{"class":169,"line":261},[167,85040,216],{"class":191},[167,85042,3364],{"class":219},[167,85044,223],{"class":191},[167,85046,226],{"class":181},[167,85048,174],{"class":173},[167,85050,11655],{"class":181},[167,85052,28469],{"class":173},[167,85054,85055,85057,85059,85061,85063,85065,85067,85069,85071],{"class":169,"line":273},[167,85056,1828],{"class":173},[167,85058,1831],{"class":219},[167,85060,3379],{"class":173},[167,85062,29349],{"class":201},[167,85064,8160],{"class":173},[167,85066,390],{"class":219},[167,85068,8165],{"class":173},[167,85070,23483],{"class":201},[167,85072,1852],{"class":173},[167,85074,85075,85077,85079,85081,85083,85085,85087,85089,85091],{"class":169,"line":279},[167,85076,1828],{"class":173},[167,85078,1849],{"class":219},[167,85080,3379],{"class":173},[167,85082,29370],{"class":201},[167,85084,8160],{"class":173},[167,85086,3388],{"class":219},[167,85088,8165],{"class":173},[167,85090,28503],{"class":201},[167,85092,1852],{"class":173},[167,85094,85095,85097,85099,85101,85103,85105,85107,85109,85111],{"class":169,"line":289},[167,85096,1828],{"class":173},[167,85098,8199],{"class":219},[167,85100,3379],{"class":173},[167,85102,29391],{"class":201},[167,85104,8160],{"class":173},[167,85106,3388],{"class":219},[167,85108,8165],{"class":173},[167,85110,23483],{"class":201},[167,85112,1852],{"class":173},[167,85114,85115],{"class":169,"line":294},[167,85116,28541],{"class":173},[167,85118,85119],{"class":169,"line":304},[167,85120,209],{"emptyLinePlaceholder":208},[167,85122,85123,85125,85127,85129,85131,85133,85135,85137,85139,85141,85143,85145,85147,85149,85151,85153,85155,85157],{"class":169,"line":313},[167,85124,216],{"class":191},[167,85126,29416],{"class":219},[167,85128,223],{"class":191},[167,85130,1894],{"class":181},[167,85132,1488],{"class":173},[167,85134,639],{"class":191},[167,85136,1098],{"class":173},[167,85138,29312],{"class":201},[167,85140,1020],{"class":173},[167,85142,29433],{"class":191},[167,85144,22320],{"class":181},[167,85146,29438],{"class":173},[167,85148,9840],{"class":181},[167,85150,1914],{"class":173},[167,85152,29445],{"class":254},[167,85154,693],{"class":173},[167,85156,639],{"class":191},[167,85158,29452],{"class":173},[167,85160,85161,85163,85165,85167,85169,85171],{"class":169,"line":161},[167,85162,216],{"class":191},[167,85164,8229],{"class":219},[167,85166,223],{"class":191},[167,85168,1894],{"class":181},[167,85170,1488],{"class":173},[167,85172,9713],{"class":191},[167,85174,85175,85177,85179],{"class":169,"line":335},[167,85176,29471],{"class":173},[167,85178,2546],{"class":191},[167,85180,29476],{"class":201},[167,85182,85183,85185],{"class":169,"line":341},[167,85184,29481],{"class":191},[167,85186,11888],{"class":173},[167,85188,85189,85191,85193,85195,85197,85199,85201,85203,85205,85207],{"class":169,"line":489},[167,85190,29488],{"class":191},[167,85192,3447],{"class":173},[167,85194,8248],{"class":181},[167,85196,1914],{"class":173},[167,85198,29445],{"class":254},[167,85200,693],{"class":173},[167,85202,639],{"class":191},[167,85204,29503],{"class":173},[167,85206,2546],{"class":191},[167,85208,29508],{"class":173},[167,85210,85211],{"class":169,"line":495},[167,85212,24165],{"class":173},[167,85214,85215,85217,85219],{"class":169,"line":501},[167,85216,282],{"class":173},[167,85218,178],{"class":177},[167,85220,185],{"class":173},[167,85222,85223],{"class":169,"line":512},[167,85224,209],{"emptyLinePlaceholder":208},[167,85226,85227,85229,85231],{"class":169,"line":781},[167,85228,174],{"class":173},[167,85230,299],{"class":177},[167,85232,185],{"class":173},[167,85234,85235,85237,85239,85241],{"class":169,"line":786},[167,85236,307],{"class":173},[167,85238,1255],{"class":177},[167,85240,28174],{"class":181},[167,85242,185],{"class":173},[167,85244,85245,85247,85249,85251,85253],{"class":169,"line":2674},[167,85246,1252],{"class":173},[167,85248,22],{"class":177},[167,85250,29551],{"class":173},[167,85252,22],{"class":177},[167,85254,185],{"class":173},[167,85256,85257,85259,85261,85263,85265],{"class":169,"line":2688},[167,85258,1252],{"class":173},[167,85260,15],{"class":177},[167,85262,29564],{"class":173},[167,85264,15],{"class":177},[167,85266,185],{"class":173},[167,85268,85269,85271,85273],{"class":169,"line":3571},[167,85270,504],{"class":173},[167,85272,1255],{"class":177},[167,85274,185],{"class":173},[167,85276,85277],{"class":169,"line":5024},[167,85278,209],{"emptyLinePlaceholder":208},[167,85280,85281,85283,85285],{"class":169,"line":5033},[167,85282,307],{"class":173},[167,85284,9871],{"class":177},[167,85286,185],{"class":173},[167,85288,85289],{"class":169,"line":5042},[167,85290,29593],{"class":173},[167,85292,85293,85295,85297,85299,85301,85303],{"class":169,"line":6752},[167,85294,1252],{"class":173},[167,85296,1093],{"class":177},[167,85298,2649],{"class":181},[167,85300,267],{"class":173},[167,85302,29606],{"class":201},[167,85304,185],{"class":173},[167,85306,85307,85309,85311,85313,85315,85317,85319,85321,85323,85325,85327,85329,85331,85333],{"class":169,"line":6774},[167,85308,1263],{"class":173},[167,85310,29615],{"class":177},[167,85312,18702],{"class":181},[167,85314,267],{"class":173},[167,85316,29622],{"class":201},[167,85318,10303],{"class":181},[167,85320,267],{"class":173},[167,85322,29629],{"class":201},[167,85324,29632],{"class":181},[167,85326,267],{"class":173},[167,85328,29629],{"class":201},[167,85330,29639],{"class":173},[167,85332,29615],{"class":177},[167,85334,185],{"class":173},[167,85336,85337,85339,85341],{"class":169,"line":6779},[167,85338,1287],{"class":173},[167,85340,1093],{"class":177},[167,85342,185],{"class":173},[167,85344,85345,85347,85349],{"class":169,"line":6784},[167,85346,504],{"class":173},[167,85348,9871],{"class":177},[167,85350,185],{"class":173},[167,85352,85353],{"class":169,"line":6789},[167,85354,209],{"emptyLinePlaceholder":208},[167,85356,85357,85359],{"class":169,"line":6805},[167,85358,307],{"class":173},[167,85360,29670],{"class":177},[167,85362,85363,85365,85367],{"class":169,"line":6820},[167,85364,3526],{"class":181},[167,85366,267],{"class":173},[167,85368,12478],{"class":201},[167,85370,85371,85373,85375],{"class":169,"line":6825},[167,85372,3537],{"class":181},[167,85374,267],{"class":173},[167,85376,3542],{"class":201},[167,85378,85379,85381,85383],{"class":169,"line":6832},[167,85380,28592],{"class":181},[167,85382,267],{"class":173},[167,85384,29695],{"class":201},[167,85386,85387,85389,85391],{"class":169,"line":6841},[167,85388,28602],{"class":181},[167,85390,267],{"class":173},[167,85392,29704],{"class":201},[167,85394,85395],{"class":169,"line":6850},[167,85396,492],{"class":173},[167,85398,85399,85401,85403,85405,85407],{"class":169,"line":6857},[167,85400,1252],{"class":173},[167,85402,3083],{"class":177},[167,85404,4975],{"class":173},[167,85406,3083],{"class":177},[167,85408,185],{"class":173},[167,85410,85411,85413,85415,85417,85419],{"class":169,"line":6875},[167,85412,1252],{"class":173},[167,85414,15],{"class":177},[167,85416,29729],{"class":173},[167,85418,15],{"class":177},[167,85420,185],{"class":173},[167,85422,85423,85425,85427,85429,85431],{"class":169,"line":6880},[167,85424,1252],{"class":173},[167,85426,15],{"class":177},[167,85428,29742],{"class":173},[167,85430,15],{"class":177},[167,85432,185],{"class":173},[167,85434,85435,85437,85439],{"class":169,"line":6885},[167,85436,504],{"class":173},[167,85438,10113],{"class":177},[167,85440,185],{"class":173},[167,85442,85443],{"class":169,"line":6894},[167,85444,209],{"emptyLinePlaceholder":208},[167,85446,85447,85449,85451],{"class":169,"line":6899},[167,85448,307],{"class":173},[167,85450,27350],{"class":177},[167,85452,185],{"class":173},[167,85454,85455,85457,85459,85461,85463],{"class":169,"line":6908},[167,85456,1252],{"class":173},[167,85458,29773],{"class":177},[167,85460,29776],{"class":173},[167,85462,29773],{"class":177},[167,85464,185],{"class":173},[167,85466,85467,85469,85471,85473,85475,85477],{"class":169,"line":6924},[167,85468,1252],{"class":173},[167,85470,87],{"class":177},[167,85472,29062],{"class":181},[167,85474,29791],{"class":173},[167,85476,87],{"class":177},[167,85478,185],{"class":173},[167,85480,85481,85483,85485],{"class":169,"line":6945},[167,85482,504],{"class":173},[167,85484,27350],{"class":177},[167,85486,185],{"class":173},[167,85488,85489,85491,85493],{"class":169,"line":6950},[167,85490,282],{"class":173},[167,85492,299],{"class":177},[167,85494,185],{"class":173},[154,85496,85497],{"className":156,"code":29814,"filename":3969,"language":162,"meta":163,"style":163},[87,85498,85499,85513,85521,85527,85533,85541,85545,85565,85585,85605,85609,85613,85617,85621,85627,85659,85663,85669,85681,85689,85715,85719,85723,85727,85735,85739,85747,85757,85769,85781,85789,85793,85801,85805,85819,85849,85857,85865,85869,85875,85883,85891,85899,85907,85911,85923,85935,85947,85955,85959,85967,85979,85993,86001],{"__ignoreMap":163},[167,85500,85501,85503,85505,85507,85509,85511],{"class":169,"line":170},[167,85502,174],{"class":173},[167,85504,178],{"class":177},[167,85506,1045],{"class":181},[167,85508,267],{"class":173},[167,85510,1050],{"class":201},[167,85512,185],{"class":173},[167,85514,85515,85517,85519],{"class":169,"line":188},[167,85516,608],{"class":191},[167,85518,3987],{"class":191},[167,85520,1901],{"class":173},[167,85522,85523,85525],{"class":169,"line":205},[167,85524,7172],{"class":181},[167,85526,763],{"class":173},[167,85528,85529,85531],{"class":169,"line":160},[167,85530,1933],{"class":191},[167,85532,1901],{"class":173},[167,85534,85535,85537,85539],{"class":169,"line":238},[167,85536,29855],{"class":173},[167,85538,29312],{"class":201},[167,85540,393],{"class":173},[167,85542,85543],{"class":169,"line":243},[167,85544,8668],{"class":173},[167,85546,85547,85549,85551,85553,85555,85557,85559,85561,85563],{"class":169,"line":261},[167,85548,8673],{"class":173},[167,85550,1831],{"class":219},[167,85552,3379],{"class":173},[167,85554,29349],{"class":201},[167,85556,8160],{"class":173},[167,85558,390],{"class":219},[167,85560,8165],{"class":173},[167,85562,23483],{"class":201},[167,85564,1852],{"class":173},[167,85566,85567,85569,85571,85573,85575,85577,85579,85581,85583],{"class":169,"line":273},[167,85568,8673],{"class":173},[167,85570,1849],{"class":219},[167,85572,3379],{"class":173},[167,85574,29370],{"class":201},[167,85576,8160],{"class":173},[167,85578,3388],{"class":219},[167,85580,8165],{"class":173},[167,85582,28503],{"class":201},[167,85584,1852],{"class":173},[167,85586,85587,85589,85591,85593,85595,85597,85599,85601,85603],{"class":169,"line":279},[167,85588,8673],{"class":173},[167,85590,8199],{"class":219},[167,85592,3379],{"class":173},[167,85594,29391],{"class":201},[167,85596,8160],{"class":173},[167,85598,3388],{"class":219},[167,85600,8165],{"class":173},[167,85602,23483],{"class":201},[167,85604,1852],{"class":173},[167,85606,85607],{"class":169,"line":289},[167,85608,16110],{"class":173},[167,85610,85611],{"class":169,"line":294},[167,85612,24366],{"class":173},[167,85614,85615],{"class":169,"line":304},[167,85616,398],{"class":173},[167,85618,85619],{"class":169,"line":313},[167,85620,8751],{"class":173},[167,85622,85623,85625],{"class":169,"line":161},[167,85624,29944],{"class":181},[167,85626,763],{"class":173},[167,85628,85629,85631,85633,85635,85637,85639,85641,85643,85645,85647,85649,85651,85653,85655,85657],{"class":169,"line":335},[167,85630,8763],{"class":191},[167,85632,1098],{"class":173},[167,85634,29312],{"class":201},[167,85636,1020],{"class":173},[167,85638,29433],{"class":191},[167,85640,22320],{"class":181},[167,85642,229],{"class":173},[167,85644,4923],{"class":219},[167,85646,8768],{"class":173},[167,85648,9840],{"class":181},[167,85650,1914],{"class":173},[167,85652,29445],{"class":254},[167,85654,693],{"class":173},[167,85656,639],{"class":191},[167,85658,29979],{"class":173},[167,85660,85661],{"class":169,"line":341},[167,85662,755],{"class":173},[167,85664,85665,85667],{"class":169,"line":489},[167,85666,8756],{"class":181},[167,85668,763],{"class":173},[167,85670,85671,85673,85675,85677,85679],{"class":169,"line":495},[167,85672,8763],{"class":191},[167,85674,7347],{"class":219},[167,85676,29998],{"class":173},[167,85678,2546],{"class":191},[167,85680,29476],{"class":201},[167,85682,85683,85685,85687],{"class":169,"line":501},[167,85684,30007],{"class":191},[167,85686,7347],{"class":219},[167,85688,12728],{"class":173},[167,85690,85691,85693,85695,85697,85699,85701,85703,85705,85707,85709,85711,85713],{"class":169,"line":512},[167,85692,30016],{"class":191},[167,85694,7347],{"class":219},[167,85696,8768],{"class":173},[167,85698,8248],{"class":181},[167,85700,1914],{"class":173},[167,85702,29445],{"class":254},[167,85704,693],{"class":173},[167,85706,639],{"class":191},[167,85708,29503],{"class":173},[167,85710,2546],{"class":191},[167,85712,7347],{"class":219},[167,85714,30039],{"class":173},[167,85716,85717],{"class":169,"line":781},[167,85718,755],{"class":173},[167,85720,85721],{"class":169,"line":786},[167,85722,398],{"class":173},[167,85724,85725],{"class":169,"line":2674},[167,85726,24144],{"class":173},[167,85728,85729,85731,85733],{"class":169,"line":2688},[167,85730,282],{"class":173},[167,85732,178],{"class":177},[167,85734,185],{"class":173},[167,85736,85737],{"class":169,"line":3571},[167,85738,209],{"emptyLinePlaceholder":208},[167,85740,85741,85743,85745],{"class":169,"line":5024},[167,85742,174],{"class":173},[167,85744,299],{"class":177},[167,85746,185],{"class":173},[167,85748,85749,85751,85753,85755],{"class":169,"line":5033},[167,85750,307],{"class":173},[167,85752,1255],{"class":177},[167,85754,28174],{"class":181},[167,85756,185],{"class":173},[167,85758,85759,85761,85763,85765,85767],{"class":169,"line":5042},[167,85760,1252],{"class":173},[167,85762,22],{"class":177},[167,85764,29551],{"class":173},[167,85766,22],{"class":177},[167,85768,185],{"class":173},[167,85770,85771,85773,85775,85777,85779],{"class":169,"line":6752},[167,85772,1252],{"class":173},[167,85774,15],{"class":177},[167,85776,29564],{"class":173},[167,85778,15],{"class":177},[167,85780,185],{"class":173},[167,85782,85783,85785,85787],{"class":169,"line":6774},[167,85784,504],{"class":173},[167,85786,1255],{"class":177},[167,85788,185],{"class":173},[167,85790,85791],{"class":169,"line":6779},[167,85792,209],{"emptyLinePlaceholder":208},[167,85794,85795,85797,85799],{"class":169,"line":6784},[167,85796,307],{"class":173},[167,85798,9871],{"class":177},[167,85800,185],{"class":173},[167,85802,85803],{"class":169,"line":6789},[167,85804,29593],{"class":173},[167,85806,85807,85809,85811,85813,85815,85817],{"class":169,"line":6805},[167,85808,1252],{"class":173},[167,85810,1093],{"class":177},[167,85812,2649],{"class":181},[167,85814,267],{"class":173},[167,85816,29606],{"class":201},[167,85818,185],{"class":173},[167,85820,85821,85823,85825,85827,85829,85831,85833,85835,85837,85839,85841,85843,85845,85847],{"class":169,"line":6820},[167,85822,1263],{"class":173},[167,85824,29615],{"class":177},[167,85826,18702],{"class":181},[167,85828,267],{"class":173},[167,85830,29622],{"class":201},[167,85832,10303],{"class":181},[167,85834,267],{"class":173},[167,85836,29629],{"class":201},[167,85838,29632],{"class":181},[167,85840,267],{"class":173},[167,85842,29629],{"class":201},[167,85844,29639],{"class":173},[167,85846,29615],{"class":177},[167,85848,185],{"class":173},[167,85850,85851,85853,85855],{"class":169,"line":6825},[167,85852,1287],{"class":173},[167,85854,1093],{"class":177},[167,85856,185],{"class":173},[167,85858,85859,85861,85863],{"class":169,"line":6832},[167,85860,504],{"class":173},[167,85862,9871],{"class":177},[167,85864,185],{"class":173},[167,85866,85867],{"class":169,"line":6841},[167,85868,209],{"emptyLinePlaceholder":208},[167,85870,85871,85873],{"class":169,"line":6850},[167,85872,307],{"class":173},[167,85874,29670],{"class":177},[167,85876,85877,85879,85881],{"class":169,"line":6857},[167,85878,3526],{"class":181},[167,85880,267],{"class":173},[167,85882,12478],{"class":201},[167,85884,85885,85887,85889],{"class":169,"line":6875},[167,85886,3537],{"class":181},[167,85888,267],{"class":173},[167,85890,3542],{"class":201},[167,85892,85893,85895,85897],{"class":169,"line":6880},[167,85894,28592],{"class":181},[167,85896,267],{"class":173},[167,85898,29695],{"class":201},[167,85900,85901,85903,85905],{"class":169,"line":6885},[167,85902,28602],{"class":181},[167,85904,267],{"class":173},[167,85906,29704],{"class":201},[167,85908,85909],{"class":169,"line":6894},[167,85910,492],{"class":173},[167,85912,85913,85915,85917,85919,85921],{"class":169,"line":6899},[167,85914,1252],{"class":173},[167,85916,3083],{"class":177},[167,85918,4975],{"class":173},[167,85920,3083],{"class":177},[167,85922,185],{"class":173},[167,85924,85925,85927,85929,85931,85933],{"class":169,"line":6908},[167,85926,1252],{"class":173},[167,85928,15],{"class":177},[167,85930,29729],{"class":173},[167,85932,15],{"class":177},[167,85934,185],{"class":173},[167,85936,85937,85939,85941,85943,85945],{"class":169,"line":6924},[167,85938,1252],{"class":173},[167,85940,15],{"class":177},[167,85942,29742],{"class":173},[167,85944,15],{"class":177},[167,85946,185],{"class":173},[167,85948,85949,85951,85953],{"class":169,"line":6945},[167,85950,504],{"class":173},[167,85952,10113],{"class":177},[167,85954,185],{"class":173},[167,85956,85957],{"class":169,"line":6950},[167,85958,209],{"emptyLinePlaceholder":208},[167,85960,85961,85963,85965],{"class":169,"line":6971},[167,85962,307],{"class":173},[167,85964,27350],{"class":177},[167,85966,185],{"class":173},[167,85968,85969,85971,85973,85975,85977],{"class":169,"line":6985},[167,85970,1252],{"class":173},[167,85972,29773],{"class":177},[167,85974,29776],{"class":173},[167,85976,29773],{"class":177},[167,85978,185],{"class":173},[167,85980,85981,85983,85985,85987,85989,85991],{"class":169,"line":6999},[167,85982,1252],{"class":173},[167,85984,87],{"class":177},[167,85986,29062],{"class":181},[167,85988,29791],{"class":173},[167,85990,87],{"class":177},[167,85992,185],{"class":173},[167,85994,85995,85997,85999],{"class":169,"line":7013},[167,85996,504],{"class":173},[167,85998,27350],{"class":177},[167,86000,185],{"class":173},[167,86002,86003,86005,86007],{"class":169,"line":7022},[167,86004,282],{"class":173},[167,86006,299],{"class":177},[167,86008,185],{"class":173},[22,86010,7674],{"id":7673},[15,86012,86013,1020,86015,1023,86017,30344],{},[87,86014,27768],{},[87,86016,27771],{},[87,86018,27774],{},[33,86020,86021,86025,86029],{},[36,86022,86023,30351],{},[87,86024,27768],{},[36,86026,86027,30356],{},[87,86028,27771],{},[36,86030,86031,30361],{},[87,86032,27774],{},[15,86034,30364],{},[924,86036,30367],{},{"title":163,"searchDepth":188,"depth":188,"links":86038},[86039,86040,86045,86046,86047,86048,86054,86060],{"id":26498,"depth":188,"text":26499},{"id":6252,"depth":188,"text":6253,"children":86041},[86042,86043,86044],{"id":27768,"depth":205,"text":27768},{"id":27771,"depth":205,"text":27771},{"id":27774,"depth":205,"text":27774},{"id":6317,"depth":188,"text":6318},{"id":6344,"depth":188,"text":6345},{"id":11366,"depth":188,"text":11367},{"id":3080,"depth":188,"text":3081,"children":86049},[86050,86051,86052,86053],{"id":27979,"depth":205,"text":30382},{"id":28001,"depth":205,"text":30384},{"id":28015,"depth":205,"text":30386},{"id":28034,"depth":205,"text":28035},{"id":7992,"depth":188,"text":7993,"children":86055},[86056,86057,86058,86059],{"id":28048,"depth":205,"text":30391},{"id":28336,"depth":205,"text":30393},{"id":28976,"depth":205,"text":30395},{"id":29197,"depth":205,"text":29198},{"id":7673,"depth":188,"text":7674},{"updatedAt":30403,"coverCaption":23652,"author":945,"keywords":86062},[3254,27768,27771,27774,30405],[86064],{"headline":30409,"author":86065,"datePublished":30403,"@type":959},{"name":945,"@type":958},{"title":27760,"description":30401},[86068,86069,86070,86071,86072],{"tag":26462,"color":26463},{"tag":3269,"color":3270},{"tag":9165,"color":9166},{"tag":3265,"color":3266},{"tag":7726,"color":7727},{"id":30421,"title":30422,"body":86074,"cover":31673,"coverAlt":31674,"date":31675,"description":31676,"draft":1617,"extension":940,"lab":941,"locale":941,"meta":87156,"navigation":208,"path":31682,"schemaOrg":87158,"seo":87161,"series":26456,"seriesDescription":26457,"seriesOrder":273,"seriesTitle":26458,"slug":941,"stem":31687,"tags":87162,"__hash__":31693},{"type":8,"value":86075,"toc":87128},[86076,86082,86088,86102,86106,86108,86114,86124,86128,86130,86134,86138,86164,86166,86182,86188,86192,86196,86222,86224,86242,86244,86248,86262,86266,86280,86282,86286,86290,86294,86306,86308,86312,86314,86340,86350,86354,86356,86370,86378,86382,86388,86390,86392,86394,86398,86430,86434,86466,86468,86528,86530,86814,87092,87094,87116,87126],[11,86077,26479,86078,1658,86080],{"id":30427},[87,86079,30430],{},[87,86081,30433],{},[15,86083,30436,86084,1023,86086,30441],{},[87,86085,30430],{},[87,86087,30433],{},[33,86089,86090,86096],{},[36,86091,86092,30448,86094,1675],{},[87,86093,30430],{},[3929,86095,30451],{},[36,86097,86098,30448,86100,1675],{},[87,86099,30433],{},[3929,86101,30458],{},[5363,86103,86104],{},[15,86105,30463],{},[22,86107,26499],{"id":26498},[15,86109,30468,86110,1023,86112,30473],{},[87,86111,30430],{},[87,86113,30433],{},[33,86115,86116,86118,86120,86122],{},[36,86117,30478],{},[36,86119,30481],{},[36,86121,30484],{},[36,86123,30487],{},[5363,86125,86126],{},[15,86127,30492],{},[22,86129,30496],{"id":30495},[3083,86131,86132],{"id":30430},[87,86133,30430],{},[15,86135,30503,86136,30507],{},[87,86137,30506],{},[154,86139,86140],{"className":156,"code":30510,"filename":15280,"language":162,"meta":163,"style":163},[87,86141,86142],{"__ignoreMap":163},[167,86143,86144,86146,86148,86150,86152,86154,86156,86158,86160,86162],{"class":169,"line":170},[167,86145,174],{"class":173},[167,86147,15],{"class":177},[167,86149,30521],{"class":181},[167,86151,267],{"class":173},[167,86153,5076],{"class":201},[167,86155,30528],{"class":173},[167,86157,5076],{"class":201},[167,86159,1277],{"class":173},[167,86161,15],{"class":177},[167,86163,185],{"class":173},[15,86165,30539],{},[154,86167,86168],{"className":156,"code":30542,"filename":15280,"language":162,"meta":163,"style":163},[87,86169,86170],{"__ignoreMap":163},[167,86171,86172,86174,86176,86178,86180],{"class":169,"line":170},[167,86173,174],{"class":173},[167,86175,15],{"class":177},[167,86177,29044],{"class":173},[167,86179,15],{"class":177},[167,86181,185],{"class":173},[5363,86183,86184],{},[15,86185,30561,86186,30565],{},[87,86187,30564],{},[3083,86189,86190],{"id":30433},[87,86191,30433],{},[15,86193,30572,86194,30576],{},[87,86195,30575],{},[154,86197,86198],{"className":156,"code":30579,"filename":15280,"language":162,"meta":163,"style":163},[87,86199,86200],{"__ignoreMap":163},[167,86201,86202,86204,86206,86208,86210,86212,86214,86216,86218,86220],{"class":169,"line":170},[167,86203,174],{"class":173},[167,86205,1237],{"class":177},[167,86207,30590],{"class":181},[167,86209,267],{"class":173},[167,86211,5076],{"class":201},[167,86213,30597],{"class":173},[167,86215,5076],{"class":201},[167,86217,1277],{"class":173},[167,86219,1237],{"class":177},[167,86221,185],{"class":173},[15,86223,30608],{},[33,86225,86226,86232,86238,86240],{},[36,86227,86228,16899,86230,30618],{},[87,86229,30433],{},[3929,86231,30617],{},[36,86233,30621,86234,1020,86236,7859],{},[87,86235,13492],{},[87,86237,30626],{},[36,86239,30629],{},[36,86241,30632],{},[22,86243,30636],{"id":30635},[3083,86245,1577,86246,13623],{"id":30639},[87,86247,30430],{},[33,86249,86250,86252,86258,86260],{},[36,86251,30646],{},[36,86253,30649,86254,90,86256,30654],{},[87,86255,174],{},[87,86257,15859],{},[36,86259,30657],{},[36,86261,30660],{},[3083,86263,1577,86264,13623],{"id":30663},[87,86265,30433],{},[33,86267,86268,86270,86272,86278],{},[36,86269,30670],{},[36,86271,30673],{},[36,86273,30676,86274,1020,86276,30683],{},[87,86275,30679],{},[87,86277,30682],{},[36,86279,30686],{},[22,86281,30690],{"id":30689},[3083,86283,13618,86284,13623],{"id":30693},[87,86285,30430],{},[33,86287,86288],{},[36,86289,30700],{},[3083,86291,13618,86292,13623],{"id":30703},[87,86293,30433],{},[33,86295,86296,86298,86300,86302],{},[36,86297,30710],{},[36,86299,30713],{},[36,86301,30716],{},[36,86303,30719,86304,30723],{},[87,86305,30722],{},[22,86307,3081],{"id":3080},[3083,86309,26693,86310,30731],{"id":30728},[87,86311,30433],{},[15,86313,30734],{},[154,86315,86316],{"className":156,"code":30737,"filename":15280,"language":162,"meta":163,"style":163},[87,86317,86318],{"__ignoreMap":163},[167,86319,86320,86322,86324,86326,86328,86330,86332,86334,86336,86338],{"class":169,"line":170},[167,86321,174],{"class":173},[167,86323,1237],{"class":177},[167,86325,30590],{"class":181},[167,86327,267],{"class":173},[167,86329,5076],{"class":201},[167,86331,30754],{"class":173},[167,86333,5076],{"class":201},[167,86335,1277],{"class":173},[167,86337,1237],{"class":177},[167,86339,185],{"class":173},[15,86341,3168,86342,30767,86344,30771,86346,1020,86348,30778],{},[87,86343,30754],{},[87,86345,30770],{},[87,86347,30774],{},[87,86349,30777],{},[3083,86351,30782,86352,30785],{"id":30781},[87,86353,30433],{},[15,86355,30788],{},[154,86357,86358],{"className":2875,"code":30791,"filename":25319,"language":2878,"meta":163,"style":163},[87,86359,86360],{"__ignoreMap":163},[167,86361,86362,86364,86366,86368],{"class":169,"line":170},[167,86363,216],{"class":191},[167,86365,30800],{"class":219},[167,86367,223],{"class":191},[167,86369,30805],{"class":201},[5363,86371,86372],{},[15,86373,30810,86374,16899,86376,30816],{},[87,86375,30433],{},[3929,86377,30815],{},[3083,86379,30820,86380,30823],{"id":30819},[87,86381,30433],{},[15,86383,30826,86384,30829,86386,30832],{},[87,86385,30564],{},[87,86387,30430],{},[3083,86389,30836],{"id":30835},[15,86391,30839],{},[22,86393,7993],{"id":7992},[3083,86395,30845,86396,6215],{"id":30844},[87,86397,30430],{},[154,86399,86400],{"className":156,"code":30850,"filename":15280,"language":162,"meta":163,"style":163},[87,86401,86402],{"__ignoreMap":163},[167,86403,86404,86406,86408,86410,86412,86414,86416,86418,86420,86422,86424,86426,86428],{"class":169,"line":170},[167,86405,174],{"class":173},[167,86407,15],{"class":177},[167,86409,1240],{"class":181},[167,86411,267],{"class":173},[167,86413,30865],{"class":201},[167,86415,30521],{"class":181},[167,86417,267],{"class":173},[167,86419,5076],{"class":201},[167,86421,30874],{"class":173},[167,86423,5076],{"class":201},[167,86425,1277],{"class":173},[167,86427,15],{"class":177},[167,86429,185],{"class":173},[3083,86431,30886,86432,30889],{"id":30885},[87,86433,30433],{},[154,86435,86436],{"className":156,"code":30892,"filename":15280,"language":162,"meta":163,"style":163},[87,86437,86438],{"__ignoreMap":163},[167,86439,86440,86442,86444,86446,86448,86450,86452,86454,86456,86458,86460,86462,86464],{"class":169,"line":170},[167,86441,174],{"class":173},[167,86443,3692],{"class":177},[167,86445,1240],{"class":181},[167,86447,267],{"class":173},[167,86449,30907],{"class":201},[167,86451,30590],{"class":181},[167,86453,267],{"class":173},[167,86455,5076],{"class":201},[167,86457,30916],{"class":173},[167,86459,5076],{"class":201},[167,86461,1277],{"class":173},[167,86463,3692],{"class":177},[167,86465,185],{"class":173},[3083,86467,30928],{"id":30927},[154,86469,86470],{"className":156,"code":30931,"filename":15280,"language":162,"meta":163,"style":163},[87,86471,86472,86504],{"__ignoreMap":163},[167,86473,86474,86476,86478,86480,86482,86484,86486,86488,86490,86492,86494,86496,86498,86500,86502],{"class":169,"line":170},[167,86475,174],{"class":173},[167,86477,1237],{"class":177},[167,86479,5690],{"class":191},[167,86481,267],{"class":173},[167,86483,5076],{"class":201},[167,86485,30948],{"class":173},[167,86487,5076],{"class":201},[167,86489,30590],{"class":181},[167,86491,267],{"class":173},[167,86493,5076],{"class":201},[167,86495,30916],{"class":173},[167,86497,5076],{"class":201},[167,86499,1277],{"class":173},[167,86501,1237],{"class":177},[167,86503,185],{"class":173},[167,86505,86506,86508,86510,86512,86514,86516,86518,86520,86522,86524,86526],{"class":169,"line":188},[167,86507,174],{"class":173},[167,86509,15],{"class":177},[167,86511,7034],{"class":191},[167,86513,30521],{"class":181},[167,86515,267],{"class":173},[167,86517,5076],{"class":201},[167,86519,30983],{"class":173},[167,86521,5076],{"class":201},[167,86523,1277],{"class":173},[167,86525,15],{"class":177},[167,86527,185],{"class":173},[22,86529,8023],{"id":8022},[154,86531,86532],{"className":156,"code":30996,"filename":3256,"language":162,"meta":163,"style":163},[87,86533,86534,86550,86562,86566,86582,86598,86614,86618,86634,86638,86678,86682,86686,86704,86712,86716,86724,86732,86744,86748,86778,86798,86806],{"__ignoreMap":163},[167,86535,86536,86538,86540,86542,86544,86546,86548],{"class":169,"line":170},[167,86537,174],{"class":173},[167,86539,178],{"class":177},[167,86541,182],{"class":181},[167,86543,1045],{"class":181},[167,86545,267],{"class":173},[167,86547,1050],{"class":201},[167,86549,185],{"class":173},[167,86551,86552,86554,86556,86558,86560],{"class":169,"line":188},[167,86553,192],{"class":191},[167,86555,1801],{"class":173},[167,86557,198],{"class":191},[167,86559,24037],{"class":201},[167,86561,24040],{"class":173},[167,86563,86564],{"class":169,"line":205},[167,86565,209],{"emptyLinePlaceholder":208},[167,86567,86568,86570,86572,86574,86576,86578,86580],{"class":169,"line":160},[167,86569,216],{"class":191},[167,86571,31037],{"class":219},[167,86573,223],{"class":191},[167,86575,226],{"class":181},[167,86577,229],{"class":173},[167,86579,390],{"class":219},[167,86581,24165],{"class":173},[167,86583,86584,86586,86588,86590,86592,86594,86596],{"class":169,"line":238},[167,86585,216],{"class":191},[167,86587,31054],{"class":219},[167,86589,223],{"class":191},[167,86591,226],{"class":181},[167,86593,229],{"class":173},[167,86595,31063],{"class":201},[167,86597,24165],{"class":173},[167,86599,86600,86602,86604,86606,86608,86610,86612],{"class":169,"line":243},[167,86601,216],{"class":191},[167,86603,31072],{"class":219},[167,86605,223],{"class":191},[167,86607,226],{"class":181},[167,86609,229],{"class":173},[167,86611,31081],{"class":201},[167,86613,24165],{"class":173},[167,86615,86616],{"class":169,"line":261},[167,86617,209],{"emptyLinePlaceholder":208},[167,86619,86620,86622,86624,86626,86628,86630,86632],{"class":169,"line":273},[167,86621,246],{"class":191},[167,86623,31094],{"class":181},[167,86625,229],{"class":173},[167,86627,2646],{"class":254},[167,86629,583],{"class":191},[167,86631,586],{"class":219},[167,86633,258],{"class":173},[167,86635,86636],{"class":169,"line":279},[167,86637,31109],{"class":18658},[167,86639,86640,86642,86644,86646,86648,86650,86652,86654,86656,86658,86660,86662,86664,86666,86668,86670,86672,86674,86676],{"class":169,"line":289},[167,86641,1534],{"class":191},[167,86643,31116],{"class":173},[167,86645,31119],{"class":181},[167,86647,229],{"class":173},[167,86649,21853],{"class":201},[167,86651,31127],{"class":31126},[167,86653,1675],{"class":219},[167,86655,31132],{"class":191},[167,86657,15859],{"class":31126},[167,86659,1675],{"class":219},[167,86661,31132],{"class":191},[167,86663,174],{"class":31126},[167,86665,31144],{"class":31143},[167,86667,31147],{"class":31126},[167,86669,21853],{"class":201},[167,86671,31152],{"class":191},[167,86673,1020],{"class":173},[167,86675,31157],{"class":201},[167,86677,24165],{"class":173},[167,86679,86680],{"class":169,"line":294},[167,86681,276],{"class":173},[167,86683,86684],{"class":169,"line":304},[167,86685,209],{"emptyLinePlaceholder":208},[167,86687,86688,86690,86692,86694,86696,86698,86700,86702],{"class":169,"line":313},[167,86689,216],{"class":191},[167,86691,31174],{"class":219},[167,86693,223],{"class":191},[167,86695,1894],{"class":181},[167,86697,1488],{"class":173},[167,86699,639],{"class":191},[167,86701,31094],{"class":181},[167,86703,31187],{"class":173},[167,86705,86706,86708,86710],{"class":169,"line":161},[167,86707,282],{"class":173},[167,86709,178],{"class":177},[167,86711,185],{"class":173},[167,86713,86714],{"class":169,"line":335},[167,86715,209],{"emptyLinePlaceholder":208},[167,86717,86718,86720,86722],{"class":169,"line":341},[167,86719,174],{"class":173},[167,86721,299],{"class":177},[167,86723,185],{"class":173},[167,86725,86726,86728,86730],{"class":169,"line":489},[167,86727,307],{"class":173},[167,86729,10113],{"class":177},[167,86731,185],{"class":173},[167,86733,86734,86736,86738,86740,86742],{"class":169,"line":495},[167,86735,1252],{"class":173},[167,86737,22],{"class":177},[167,86739,31224],{"class":173},[167,86741,22],{"class":177},[167,86743,185],{"class":173},[167,86745,86746],{"class":169,"line":501},[167,86747,209],{"emptyLinePlaceholder":208},[167,86749,86750,86752,86754,86756,86758,86760,86762,86764,86766,86768,86770,86772,86774,86776],{"class":169,"line":512},[167,86751,1252],{"class":173},[167,86753,1237],{"class":177},[167,86755,5690],{"class":181},[167,86757,267],{"class":173},[167,86759,31245],{"class":201},[167,86761,1240],{"class":181},[167,86763,267],{"class":173},[167,86765,30907],{"class":201},[167,86767,30590],{"class":181},[167,86769,267],{"class":173},[167,86771,31258],{"class":201},[167,86773,1277],{"class":173},[167,86775,1237],{"class":177},[167,86777,185],{"class":173},[167,86779,86780,86782,86784,86786,86788,86790,86792,86794,86796],{"class":169,"line":781},[167,86781,1252],{"class":173},[167,86783,15],{"class":177},[167,86785,7034],{"class":181},[167,86787,30521],{"class":181},[167,86789,267],{"class":173},[167,86791,31279],{"class":201},[167,86793,1277],{"class":173},[167,86795,15],{"class":177},[167,86797,185],{"class":173},[167,86799,86800,86802,86804],{"class":169,"line":786},[167,86801,504],{"class":173},[167,86803,10113],{"class":177},[167,86805,185],{"class":173},[167,86807,86808,86810,86812],{"class":169,"line":2674},[167,86809,282],{"class":173},[167,86811,299],{"class":177},[167,86813,185],{"class":173},[154,86815,86816],{"className":156,"code":31304,"filename":3969,"language":162,"meta":163,"style":163},[87,86817,86818,86826,86834,86840,86846,86854,86862,86870,86874,86878,86882,86888,86904,86908,86912,86916,86926,86930,86970,86974,86978,86982,86990,86994,87002,87010,87022,87026,87056,87076,87084],{"__ignoreMap":163},[167,86819,86820,86822,86824],{"class":169,"line":170},[167,86821,174],{"class":173},[167,86823,178],{"class":177},[167,86825,185],{"class":173},[167,86827,86828,86830,86832],{"class":169,"line":188},[167,86829,608],{"class":191},[167,86831,3987],{"class":191},[167,86833,1901],{"class":173},[167,86835,86836,86838],{"class":169,"line":205},[167,86837,7172],{"class":181},[167,86839,763],{"class":173},[167,86841,86842,86844],{"class":169,"line":160},[167,86843,1933],{"class":191},[167,86845,1901],{"class":173},[167,86847,86848,86850,86852],{"class":169,"line":238},[167,86849,31339],{"class":173},[167,86851,390],{"class":219},[167,86853,393],{"class":173},[167,86855,86856,86858,86860],{"class":169,"line":243},[167,86857,31348],{"class":173},[167,86859,31063],{"class":201},[167,86861,393],{"class":173},[167,86863,86864,86866,86868],{"class":169,"line":261},[167,86865,31357],{"class":173},[167,86867,31081],{"class":201},[167,86869,393],{"class":173},[167,86871,86872],{"class":169,"line":273},[167,86873,24366],{"class":173},[167,86875,86876],{"class":169,"line":279},[167,86877,398],{"class":173},[167,86879,86880],{"class":169,"line":289},[167,86881,8751],{"class":173},[167,86883,86884,86886],{"class":169,"line":294},[167,86885,31378],{"class":181},[167,86887,763],{"class":173},[167,86889,86890,86892,86894,86896,86898,86900,86902],{"class":169,"line":304},[167,86891,8763],{"class":191},[167,86893,7347],{"class":219},[167,86895,1675],{"class":173},[167,86897,31391],{"class":181},[167,86899,229],{"class":173},[167,86901,4923],{"class":219},[167,86903,31398],{"class":173},[167,86905,86906],{"class":169,"line":313},[167,86907,755],{"class":173},[167,86909,86910],{"class":169,"line":161},[167,86911,398],{"class":173},[167,86913,86914],{"class":169,"line":335},[167,86915,4415],{"class":173},[167,86917,86918,86920,86922,86924],{"class":169,"line":341},[167,86919,31415],{"class":181},[167,86921,229],{"class":173},[167,86923,2646],{"class":254},[167,86925,258],{"class":173},[167,86927,86928],{"class":169,"line":489},[167,86929,31426],{"class":18658},[167,86931,86932,86934,86936,86938,86940,86942,86944,86946,86948,86950,86952,86954,86956,86958,86960,86962,86964,86966,86968],{"class":169,"line":495},[167,86933,8763],{"class":191},[167,86935,31116],{"class":173},[167,86937,31119],{"class":181},[167,86939,229],{"class":173},[167,86941,21853],{"class":201},[167,86943,31127],{"class":31126},[167,86945,1675],{"class":219},[167,86947,31132],{"class":191},[167,86949,15859],{"class":31126},[167,86951,1675],{"class":219},[167,86953,31132],{"class":191},[167,86955,174],{"class":31126},[167,86957,31144],{"class":31143},[167,86959,31147],{"class":31126},[167,86961,21853],{"class":201},[167,86963,31152],{"class":191},[167,86965,1020],{"class":173},[167,86967,31157],{"class":201},[167,86969,24165],{"class":173},[167,86971,86972],{"class":169,"line":501},[167,86973,755],{"class":173},[167,86975,86976],{"class":169,"line":512},[167,86977,398],{"class":173},[167,86979,86980],{"class":169,"line":781},[167,86981,24144],{"class":173},[167,86983,86984,86986,86988],{"class":169,"line":786},[167,86985,282],{"class":173},[167,86987,178],{"class":177},[167,86989,185],{"class":173},[167,86991,86992],{"class":169,"line":2674},[167,86993,209],{"emptyLinePlaceholder":208},[167,86995,86996,86998,87000],{"class":169,"line":2688},[167,86997,174],{"class":173},[167,86999,299],{"class":177},[167,87001,185],{"class":173},[167,87003,87004,87006,87008],{"class":169,"line":3571},[167,87005,307],{"class":173},[167,87007,10113],{"class":177},[167,87009,185],{"class":173},[167,87011,87012,87014,87016,87018,87020],{"class":169,"line":5024},[167,87013,1252],{"class":173},[167,87015,22],{"class":177},[167,87017,31224],{"class":173},[167,87019,22],{"class":177},[167,87021,185],{"class":173},[167,87023,87024],{"class":169,"line":5033},[167,87025,209],{"emptyLinePlaceholder":208},[167,87027,87028,87030,87032,87034,87036,87038,87040,87042,87044,87046,87048,87050,87052,87054],{"class":169,"line":5042},[167,87029,1252],{"class":173},[167,87031,1237],{"class":177},[167,87033,5690],{"class":181},[167,87035,267],{"class":173},[167,87037,31245],{"class":201},[167,87039,1240],{"class":181},[167,87041,267],{"class":173},[167,87043,30907],{"class":201},[167,87045,30590],{"class":181},[167,87047,267],{"class":173},[167,87049,31258],{"class":201},[167,87051,1277],{"class":173},[167,87053,1237],{"class":177},[167,87055,185],{"class":173},[167,87057,87058,87060,87062,87064,87066,87068,87070,87072,87074],{"class":169,"line":6752},[167,87059,1252],{"class":173},[167,87061,15],{"class":177},[167,87063,7034],{"class":181},[167,87065,30521],{"class":181},[167,87067,267],{"class":173},[167,87069,31279],{"class":201},[167,87071,1277],{"class":173},[167,87073,15],{"class":177},[167,87075,185],{"class":173},[167,87077,87078,87080,87082],{"class":169,"line":6774},[167,87079,504],{"class":173},[167,87081,10113],{"class":177},[167,87083,185],{"class":173},[167,87085,87086,87088,87090],{"class":169,"line":6779},[167,87087,282],{"class":173},[167,87089,299],{"class":177},[167,87091,185],{"class":173},[22,87093,7674],{"id":7673},[33,87095,87096,87100,87106,87110,87114],{},[36,87097,87098,31597],{},[87,87099,30430],{},[36,87101,31600,87102,31603,87104,1675],{},[87,87103,30564],{},[87,87105,30430],{},[36,87107,87108,31610],{},[87,87109,30433],{},[36,87111,87112,31615],{},[87,87113,30433],{},[36,87115,31618],{},[5363,87117,87118],{},[15,87119,87120,31626,87122,31629,87124,31632],{},[3929,87121,31625],{},[87,87123,30430],{},[87,87125,30433],{},[924,87127,31635],{},{"title":163,"searchDepth":188,"depth":188,"links":87129},[87130,87131,87135,87139,87143,87149,87154,87155],{"id":26498,"depth":188,"text":26499},{"id":30495,"depth":188,"text":30496,"children":87132},[87133,87134],{"id":30430,"depth":205,"text":30430},{"id":30433,"depth":205,"text":30433},{"id":30635,"depth":188,"text":30636,"children":87136},[87137,87138],{"id":30639,"depth":205,"text":31646},{"id":30663,"depth":205,"text":31648},{"id":30689,"depth":188,"text":30690,"children":87140},[87141,87142],{"id":30693,"depth":205,"text":31652},{"id":30703,"depth":205,"text":31654},{"id":3080,"depth":188,"text":3081,"children":87144},[87145,87146,87147,87148],{"id":30728,"depth":205,"text":31658},{"id":30781,"depth":205,"text":31660},{"id":30819,"depth":205,"text":31662},{"id":30835,"depth":205,"text":30836},{"id":7992,"depth":188,"text":7993,"children":87150},[87151,87152,87153],{"id":30844,"depth":205,"text":31667},{"id":30885,"depth":205,"text":31669},{"id":30927,"depth":205,"text":30928},{"id":8022,"depth":188,"text":8023},{"id":7673,"depth":188,"text":7674},{"updatedAt":31678,"coverCaption":31679,"keywords":87157},[3254,30430,30433,31681,16575,3256,3969],[87159],{"headline":30422,"author":87160,"datePublished":31678,"@type":959},{"name":945,"@type":958},{"title":30422,"description":31676},[87163,87164,87165,87166],{"tag":26462,"color":26463},{"tag":27753,"color":27754},{"tag":9165,"color":9166},{"tag":5420,"color":5421},{"id":31695,"title":31696,"body":87168,"cover":33910,"coverAlt":33911,"date":33912,"description":33913,"draft":1617,"extension":940,"lab":941,"locale":942,"meta":89206,"navigation":208,"path":33920,"schemaOrg":89208,"seo":89211,"series":26456,"seriesDescription":26457,"seriesOrder":261,"seriesTitle":26458,"slug":941,"stem":33926,"tags":89212,"__hash__":33932},{"type":8,"value":87169,"toc":89187},[87170,87174,87178,87180,87182,87184,87192,87198,87200,87204,87258,87321,87323,87343,87345,87361,87369,87371,87375,87389,87391,87393,87401,87405,87407,87413,87417,87425,87457,87492,87494,87498,87545,87547,87549,87551,87553,87567,87571,87573,87575,87577,87601,87603,87605,87678,87680,87824,87826,87957,87961,87963,88031,88035,88037,88039,88349,88587,88589,88591,88909,89163,89165,89185],[11,87171,26479,87172],{"id":31701},[87,87173,31704],{},[15,87175,87176,31709],{},[87,87177,31704],{},[15,87179,31712],{},[22,87181,26499],{"id":26498},[15,87183,31717],{},[33,87185,87186,87188,87190],{},[36,87187,31722],{},[36,87189,31725],{},[36,87191,31728],{},[5363,87193,87194],{},[15,87195,3806,87196,31735],{},[87,87197,31704],{},[22,87199,30496],{"id":30495},[15,87201,31740,87202,31744],{},[87,87203,31743],{},[154,87205,87207],{"className":156,"code":31747,"filename":31748,"highlights":87206,"language":162,"meta":163,"style":163},[205],[87,87208,87209,87217,87231,87242,87250],{"__ignoreMap":163},[167,87210,87211,87213,87215],{"class":169,"line":170},[167,87212,174],{"class":173},[167,87214,299],{"class":177},[167,87216,185],{"class":173},[167,87218,87219,87221,87223,87225,87227,87229],{"class":169,"line":188},[167,87220,307],{"class":173},[167,87222,10113],{"class":177},[167,87224,1240],{"class":181},[167,87226,267],{"class":173},[167,87228,31772],{"class":201},[167,87230,185],{"class":173},[167,87232,87234,87236,87238,87240],{"class":87233,"line":205},[169,213],[167,87235,1252],{"class":173},[167,87237,1266],{"class":177},[167,87239,31785],{"class":31784},[167,87241,185],{"class":173},[167,87243,87244,87246,87248],{"class":169,"line":160},[167,87245,504],{"class":173},[167,87247,10113],{"class":177},[167,87249,185],{"class":173},[167,87251,87252,87254,87256],{"class":169,"line":238},[167,87253,282],{"class":173},[167,87255,299],{"class":177},[167,87257,185],{"class":173},[154,87259,87261],{"className":156,"code":31806,"filename":15280,"highlights":87260,"language":162,"meta":163,"style":163},[188,238],[87,87262,87263,87271,87280,87292,87304,87313],{"__ignoreMap":163},[167,87264,87265,87267,87269],{"class":169,"line":170},[167,87266,174],{"class":173},[167,87268,299],{"class":177},[167,87270,185],{"class":173},[167,87272,87274,87276,87278],{"class":87273,"line":188},[169,213],[167,87275,307],{"class":173},[167,87277,31825],{"class":177},[167,87279,185],{"class":173},[167,87281,87282,87284,87286,87288,87290],{"class":169,"line":205},[167,87283,1252],{"class":173},[167,87285,22],{"class":177},[167,87287,31836],{"class":173},[167,87289,22],{"class":177},[167,87291,185],{"class":173},[167,87293,87294,87296,87298,87300,87302],{"class":169,"line":160},[167,87295,1252],{"class":173},[167,87297,15],{"class":177},[167,87299,31849],{"class":173},[167,87301,15],{"class":177},[167,87303,185],{"class":173},[167,87305,87307,87309,87311],{"class":87306,"line":238},[169,213],[167,87308,504],{"class":173},[167,87310,31825],{"class":177},[167,87312,185],{"class":173},[167,87314,87315,87317,87319],{"class":169,"line":243},[167,87316,282],{"class":173},[167,87318,299],{"class":177},[167,87320,185],{"class":173},[15,87322,31873],{},[33,87324,87325,87331,87337],{},[36,87326,87327,1103,87329],{},[3929,87328,31880],{},[87,87330,31743],{},[36,87332,87333,1103,87335],{},[3929,87334,31887],{},[87,87336,31890],{},[36,87338,87339,1103,87341],{},[3929,87340,31895],{},[87,87342,31898],{},[15,87344,31901],{},[33,87346,87347,87351,87357],{},[36,87348,87349,31909],{},[87,87350,31908],{},[36,87352,87353,1020,87355,31918],{},[87,87354,31914],{},[87,87356,31917],{},[36,87358,87359,31924],{},[87,87360,31923],{},[5363,87362,87363],{},[15,87364,87365,31932,87367,1675],{},[87,87366,31931],{},[87,87368,31935],{},[22,87370,6318],{"id":6317},[15,87372,1577,87373,13623],{},[87,87374,31704],{},[33,87376,87377,87379,87383],{},[36,87378,31946],{},[36,87380,31949,87381,4266],{},[87,87382,31952],{},[36,87384,31955,87385,1020,87387,31962],{},[87,87386,31958],{},[87,87388,31961],{},[22,87390,6345],{"id":6344},[15,87392,6351],{},[33,87394,87395,87397,87399],{},[36,87396,31971],{},[36,87398,31974],{},[36,87400,31977],{},[5363,87402,87403],{},[15,87404,31982],{},[22,87406,3081],{"id":3080},[3083,87408,26693,87409,31990,87411],{"id":31987},[87,87410,31704],{},[87,87412,31993],{},[15,87414,87415,31998],{},[87,87416,31704],{},[33,87418,87419,87421],{},[36,87420,32003],{},[36,87422,7911,87423,32008],{},[87,87424,31993],{},[154,87426,87428],{"className":156,"code":32011,"filename":32012,"highlights":87427,"language":162,"meta":163,"style":163},[170],[87,87429,87430,87445,87449],{"__ignoreMap":163},[167,87431,87433,87435,87437,87439,87441,87443],{"class":87432,"line":170},[169,213],[167,87434,174],{"class":173},[167,87436,1237],{"class":177},[167,87438,32025],{"class":181},[167,87440,583],{"class":173},[167,87442,1255],{"class":181},[167,87444,185],{"class":173},[167,87446,87447],{"class":169,"line":188},[167,87448,32036],{"class":173},[167,87450,87451,87453,87455],{"class":169,"line":205},[167,87452,282],{"class":173},[167,87454,1237],{"class":177},[167,87456,185],{"class":173},[154,87458,87460],{"className":156,"code":32047,"filename":32048,"highlights":87459,"language":162,"meta":163,"style":163},[188,160],[87,87461,87462,87470,87475,87479,87484],{"__ignoreMap":163},[167,87463,87464,87466,87468],{"class":169,"line":170},[167,87465,174],{"class":173},[167,87467,31825],{"class":177},[167,87469,185],{"class":173},[167,87471,87473],{"class":87472,"line":188},[169,213],[167,87474,32065],{"class":173},[167,87476,87477],{"class":169,"line":205},[167,87478,32070],{"class":173},[167,87480,87482],{"class":87481,"line":160},[169,213],[167,87483,32076],{"class":173},[167,87485,87486,87488,87490],{"class":169,"line":238},[167,87487,282],{"class":173},[167,87489,31825],{"class":177},[167,87491,185],{"class":173},[3083,87493,32088],{"id":32087},[15,87495,32091,87496,32095],{},[87,87497,32094],{},[154,87499,87501],{"className":156,"code":32098,"filename":32099,"highlights":87500,"language":162,"meta":163,"style":163},[170,188],[87,87502,87503,87524,87529,87533,87537],{"__ignoreMap":163},[167,87504,87506,87508,87510,87512,87514,87516,87518,87520,87522],{"class":87505,"line":170},[169,213],[167,87507,174],{"class":173},[167,87509,32110],{"class":177},[167,87511,5308],{"class":173},[167,87513,32115],{"class":181},[167,87515,267],{"class":173},[167,87517,5076],{"class":201},[167,87519,32122],{"class":173},[167,87521,5076],{"class":201},[167,87523,185],{"class":173},[167,87525,87527],{"class":87526,"line":188},[169,213],[167,87528,32132],{"class":173},[167,87530,87531],{"class":169,"line":205},[167,87532,32137],{"class":173},[167,87534,87535],{"class":169,"line":160},[167,87536,32076],{"class":173},[167,87538,87539,87541,87543],{"class":169,"line":238},[167,87540,282],{"class":173},[167,87542,32110],{"class":177},[167,87544,185],{"class":173},[15,87546,32152],{},[3083,87548,32156],{"id":32155},[15,87550,32159],{},[15,87552,31625],{},[33,87554,87555,87559,87563],{},[36,87556,87557,32169],{},[3929,87558,32168],{},[36,87560,87561,32174],{},[3929,87562,1643],{},[36,87564,87565,32180],{},[3929,87566,32179],{},[5363,87568,87569],{},[15,87570,32185],{},[3083,87572,32189],{"id":32188},[15,87574,32192],{},[15,87576,32195],{},[154,87578,87579],{"className":156,"code":32198,"filename":31748,"language":162,"meta":163,"style":163},[87,87580,87581,87589,87593],{"__ignoreMap":163},[167,87582,87583,87585,87587],{"class":169,"line":170},[167,87584,174],{"class":173},[167,87586,1266],{"class":177},[167,87588,185],{"class":173},[167,87590,87591],{"class":169,"line":188},[167,87592,32213],{"class":173},[167,87594,87595,87597,87599],{"class":169,"line":205},[167,87596,282],{"class":173},[167,87598,1266],{"class":177},[167,87600,185],{"class":173},[22,87602,7993],{"id":7992},[3083,87604,32227],{"id":32226},[154,87606,87608],{"className":156,"code":32230,"filename":31748,"highlights":87607,"language":162,"meta":163,"style":163},[205,238],[87,87609,87610,87618,87632,87641,87653,87662,87670],{"__ignoreMap":163},[167,87611,87612,87614,87616],{"class":169,"line":170},[167,87613,174],{"class":173},[167,87615,299],{"class":177},[167,87617,185],{"class":173},[167,87619,87620,87622,87624,87626,87628,87630],{"class":169,"line":188},[167,87621,307],{"class":173},[167,87623,3692],{"class":177},[167,87625,1240],{"class":181},[167,87627,267],{"class":173},[167,87629,31772],{"class":201},[167,87631,185],{"class":173},[167,87633,87635,87637,87639],{"class":87634,"line":205},[169,213],[167,87636,1252],{"class":173},[167,87638,1266],{"class":177},[167,87640,185],{"class":173},[167,87642,87643,87645,87647,87649,87651],{"class":169,"line":160},[167,87644,1263],{"class":173},[167,87646,15],{"class":177},[167,87648,32273],{"class":173},[167,87650,15],{"class":177},[167,87652,185],{"class":173},[167,87654,87656,87658,87660],{"class":87655,"line":238},[169,213],[167,87657,1287],{"class":173},[167,87659,1266],{"class":177},[167,87661,185],{"class":173},[167,87663,87664,87666,87668],{"class":169,"line":243},[167,87665,504],{"class":173},[167,87667,3692],{"class":177},[167,87669,185],{"class":173},[167,87671,87672,87674,87676],{"class":169,"line":261},[167,87673,282],{"class":173},[167,87675,299],{"class":177},[167,87677,185],{"class":173},[3083,87679,32306],{"id":32305},[154,87681,87683],{"className":156,"code":32309,"filename":1219,"highlights":87682,"language":162,"meta":163,"style":163},[160,273,304],[87,87684,87685,87693,87707,87715,87732,87740,87744,87752,87763,87771,87775,87783,87800,87808,87816],{"__ignoreMap":163},[167,87686,87687,87689,87691],{"class":169,"line":170},[167,87688,174],{"class":173},[167,87690,299],{"class":177},[167,87692,185],{"class":173},[167,87694,87695,87697,87699,87701,87703,87705],{"class":169,"line":188},[167,87696,307],{"class":173},[167,87698,10113],{"class":177},[167,87700,1240],{"class":181},[167,87702,267],{"class":173},[167,87704,1245],{"class":201},[167,87706,185],{"class":173},[167,87708,87709,87711,87713],{"class":169,"line":205},[167,87710,1252],{"class":173},[167,87712,1255],{"class":177},[167,87714,185],{"class":173},[167,87716,87718,87720,87722,87724,87726,87728,87730],{"class":87717,"line":160},[169,213],[167,87719,1263],{"class":173},[167,87721,1266],{"class":177},[167,87723,1269],{"class":181},[167,87725,267],{"class":173},[167,87727,1274],{"class":201},[167,87729,31785],{"class":31784},[167,87731,185],{"class":173},[167,87733,87734,87736,87738],{"class":169,"line":238},[167,87735,1287],{"class":173},[167,87737,1255],{"class":177},[167,87739,185],{"class":173},[167,87741,87742],{"class":169,"line":243},[167,87743,209],{"emptyLinePlaceholder":208},[167,87745,87746,87748,87750],{"class":169,"line":261},[167,87747,1252],{"class":173},[167,87749,1299],{"class":177},[167,87751,185],{"class":173},[167,87753,87755,87757,87759,87761],{"class":87754,"line":273},[169,213],[167,87756,1263],{"class":173},[167,87758,1266],{"class":177},[167,87760,31785],{"class":31784},[167,87762,185],{"class":173},[167,87764,87765,87767,87769],{"class":169,"line":279},[167,87766,1287],{"class":173},[167,87768,1299],{"class":177},[167,87770,185],{"class":173},[167,87772,87773],{"class":169,"line":289},[167,87774,209],{"emptyLinePlaceholder":208},[167,87776,87777,87779,87781],{"class":169,"line":294},[167,87778,1252],{"class":173},[167,87780,1329],{"class":177},[167,87782,185],{"class":173},[167,87784,87786,87788,87790,87792,87794,87796,87798],{"class":87785,"line":304},[169,213],[167,87787,1263],{"class":173},[167,87789,1266],{"class":177},[167,87791,1269],{"class":181},[167,87793,267],{"class":173},[167,87795,1344],{"class":201},[167,87797,31785],{"class":31784},[167,87799,185],{"class":173},[167,87801,87802,87804,87806],{"class":169,"line":313},[167,87803,1287],{"class":173},[167,87805,1329],{"class":177},[167,87807,185],{"class":173},[167,87809,87810,87812,87814],{"class":169,"line":161},[167,87811,504],{"class":173},[167,87813,10113],{"class":177},[167,87815,185],{"class":173},[167,87817,87818,87820,87822],{"class":169,"line":335},[167,87819,282],{"class":173},[167,87821,299],{"class":177},[167,87823,185],{"class":173},[3083,87825,32455],{"id":32454},[154,87827,87829],{"className":156,"code":32458,"filename":32099,"highlights":87828,"language":162,"meta":163,"style":163},[243,273],[87,87830,87831,87839,87847,87855,87875,87883,87904,87908,87917,87925,87933,87941,87949],{"__ignoreMap":163},[167,87832,87833,87835,87837],{"class":169,"line":170},[167,87834,174],{"class":173},[167,87836,299],{"class":177},[167,87838,185],{"class":173},[167,87840,87841,87843,87845],{"class":169,"line":188},[167,87842,307],{"class":173},[167,87844,56],{"class":177},[167,87846,185],{"class":173},[167,87848,87849,87851,87853],{"class":169,"line":205},[167,87850,1252],{"class":173},[167,87852,75],{"class":177},[167,87854,185],{"class":173},[167,87856,87857,87859,87861,87863,87865,87867,87869,87871,87873],{"class":169,"line":160},[167,87858,1263],{"class":173},[167,87860,62],{"class":177},[167,87862,18702],{"class":181},[167,87864,267],{"class":173},[167,87866,32498],{"class":201},[167,87868,10303],{"class":181},[167,87870,267],{"class":173},[167,87872,32505],{"class":201},[167,87874,185],{"class":173},[167,87876,87877,87879,87881],{"class":169,"line":238},[167,87878,32512],{"class":173},[167,87880,80],{"class":177},[167,87882,185],{"class":173},[167,87884,87886,87888,87890,87892,87894,87896,87898,87900,87902],{"class":87885,"line":243},[169,213],[167,87887,32522],{"class":173},[167,87889,1266],{"class":177},[167,87891,1269],{"class":181},[167,87893,267],{"class":173},[167,87895,32531],{"class":201},[167,87897,32534],{"class":181},[167,87899,267],{"class":173},[167,87901,32531],{"class":201},[167,87903,185],{"class":173},[167,87905,87906],{"class":169,"line":261},[167,87907,32545],{"class":173},[167,87909,87911,87913,87915],{"class":87910,"line":273},[169,213],[167,87912,32551],{"class":173},[167,87914,1266],{"class":177},[167,87916,185],{"class":173},[167,87918,87919,87921,87923],{"class":169,"line":279},[167,87920,32560],{"class":173},[167,87922,80],{"class":177},[167,87924,185],{"class":173},[167,87926,87927,87929,87931],{"class":169,"line":289},[167,87928,10166],{"class":173},[167,87930,62],{"class":177},[167,87932,185],{"class":173},[167,87934,87935,87937,87939],{"class":169,"line":294},[167,87936,1287],{"class":173},[167,87938,75],{"class":177},[167,87940,185],{"class":173},[167,87942,87943,87945,87947],{"class":169,"line":304},[167,87944,504],{"class":173},[167,87946,56],{"class":177},[167,87948,185],{"class":173},[167,87950,87951,87953,87955],{"class":169,"line":313},[167,87952,282],{"class":173},[167,87954,299],{"class":177},[167,87956,185],{"class":173},[3083,87958,32600,87959,32603],{"id":32599},[87,87960,31704],{},[15,87962,32606],{},[154,87964,87966],{"className":156,"code":32609,"filename":32610,"highlights":87965,"language":162,"meta":163,"style":163},[205],[87,87967,87968,87976,87984,87995,88007,88015,88023],{"__ignoreMap":163},[167,87969,87970,87972,87974],{"class":169,"line":170},[167,87971,174],{"class":173},[167,87973,299],{"class":177},[167,87975,185],{"class":173},[167,87977,87978,87980,87982],{"class":169,"line":188},[167,87979,307],{"class":173},[167,87981,32628],{"class":177},[167,87983,185],{"class":173},[167,87985,87987,87989,87991,87993],{"class":87986,"line":205},[169,213],[167,87988,1252],{"class":173},[167,87990,299],{"class":177},[167,87992,32025],{"class":181},[167,87994,32642],{"class":173},[167,87996,87997,87999,88001,88003,88005],{"class":169,"line":160},[167,87998,1263],{"class":173},[167,88000,15],{"class":177},[167,88002,32651],{"class":173},[167,88004,15],{"class":177},[167,88006,185],{"class":173},[167,88008,88009,88011,88013],{"class":169,"line":238},[167,88010,1287],{"class":173},[167,88012,299],{"class":177},[167,88014,185],{"class":173},[167,88016,88017,88019,88021],{"class":169,"line":243},[167,88018,504],{"class":173},[167,88020,32628],{"class":177},[167,88022,185],{"class":173},[167,88024,88025,88027,88029],{"class":169,"line":261},[167,88026,282],{"class":173},[167,88028,299],{"class":177},[167,88030,185],{"class":173},[5363,88032,88033],{},[15,88034,32684],{},[11,88036,32688],{"id":32687},[15,88038,32691],{},[154,88040,88041],{"className":156,"code":32694,"filename":32099,"language":162,"meta":163,"style":163},[87,88042,88043,88053,88059,88063,88067,88075,88079,88083,88091,88095,88103,88117,88125,88133,88151,88169,88187,88195,88203,88211,88231,88243,88255,88263,88283,88301,88309,88317,88325,88333,88341],{"__ignoreMap":163},[167,88044,88045,88047,88049,88051],{"class":169,"line":170},[167,88046,174],{"class":173},[167,88048,178],{"class":177},[167,88050,182],{"class":181},[167,88052,185],{"class":173},[167,88054,88055,88057],{"class":169,"line":188},[167,88056,369],{"class":181},[167,88058,372],{"class":173},[167,88060,88061],{"class":169,"line":205},[167,88062,32717],{"class":173},[167,88064,88065],{"class":169,"line":160},[167,88066,32722],{"class":173},[167,88068,88069,88071,88073],{"class":169,"line":238},[167,88070,387],{"class":173},[167,88072,390],{"class":219},[167,88074,393],{"class":173},[167,88076,88077],{"class":169,"line":243},[167,88078,398],{"class":173},[167,88080,88081],{"class":169,"line":261},[167,88082,27323],{"class":173},[167,88084,88085,88087,88089],{"class":169,"line":273},[167,88086,282],{"class":173},[167,88088,178],{"class":177},[167,88090,185],{"class":173},[167,88092,88093],{"class":169,"line":279},[167,88094,209],{"emptyLinePlaceholder":208},[167,88096,88097,88099,88101],{"class":169,"line":289},[167,88098,174],{"class":173},[167,88100,299],{"class":177},[167,88102,185],{"class":173},[167,88104,88105,88107,88109,88111,88113,88115],{"class":169,"line":294},[167,88106,307],{"class":173},[167,88108,56],{"class":177},[167,88110,1240],{"class":181},[167,88112,267],{"class":173},[167,88114,32771],{"class":201},[167,88116,185],{"class":173},[167,88118,88119,88121,88123],{"class":169,"line":304},[167,88120,1252],{"class":173},[167,88122,59],{"class":177},[167,88124,185],{"class":173},[167,88126,88127,88129,88131],{"class":169,"line":313},[167,88128,1263],{"class":173},[167,88130,62],{"class":177},[167,88132,185],{"class":173},[167,88134,88135,88137,88139,88141,88143,88145,88147,88149],{"class":169,"line":161},[167,88136,32512],{"class":173},[167,88138,65],{"class":177},[167,88140,1240],{"class":181},[167,88142,267],{"class":173},[167,88144,32802],{"class":201},[167,88146,32805],{"class":173},[167,88148,65],{"class":177},[167,88150,185],{"class":173},[167,88152,88153,88155,88157,88159,88161,88163,88165,88167],{"class":169,"line":335},[167,88154,32512],{"class":173},[167,88156,65],{"class":177},[167,88158,1240],{"class":181},[167,88160,267],{"class":173},[167,88162,32802],{"class":201},[167,88164,32824],{"class":173},[167,88166,65],{"class":177},[167,88168,185],{"class":173},[167,88170,88171,88173,88175,88177,88179,88181,88183,88185],{"class":169,"line":341},[167,88172,32512],{"class":173},[167,88174,65],{"class":177},[167,88176,1240],{"class":181},[167,88178,267],{"class":173},[167,88180,32802],{"class":201},[167,88182,32843],{"class":173},[167,88184,65],{"class":177},[167,88186,185],{"class":173},[167,88188,88189,88191,88193],{"class":169,"line":489},[167,88190,10166],{"class":173},[167,88192,62],{"class":177},[167,88194,185],{"class":173},[167,88196,88197,88199,88201],{"class":169,"line":495},[167,88198,1287],{"class":173},[167,88200,59],{"class":177},[167,88202,185],{"class":173},[167,88204,88205,88207,88209],{"class":169,"line":501},[167,88206,1252],{"class":173},[167,88208,75],{"class":177},[167,88210,185],{"class":173},[167,88212,88213,88215,88217,88219,88221,88223,88225,88227,88229],{"class":169,"line":512},[167,88214,1263],{"class":173},[167,88216,62],{"class":177},[167,88218,18702],{"class":181},[167,88220,267],{"class":173},[167,88222,32884],{"class":201},[167,88224,10303],{"class":181},[167,88226,267],{"class":173},[167,88228,18714],{"class":201},[167,88230,185],{"class":173},[167,88232,88233,88235,88237,88239,88241],{"class":169,"line":781},[167,88234,32512],{"class":173},[167,88236,80],{"class":177},[167,88238,28620],{"class":173},[167,88240,80],{"class":177},[167,88242,185],{"class":173},[167,88244,88245,88247,88249,88251,88253],{"class":169,"line":786},[167,88246,32512],{"class":173},[167,88248,80],{"class":177},[167,88250,32913],{"class":173},[167,88252,80],{"class":177},[167,88254,185],{"class":173},[167,88256,88257,88259,88261],{"class":169,"line":2674},[167,88258,32512],{"class":173},[167,88260,80],{"class":177},[167,88262,185],{"class":173},[167,88264,88265,88267,88269,88271,88273,88275,88277,88279,88281],{"class":169,"line":2688},[167,88266,32522],{"class":173},[167,88268,1266],{"class":177},[167,88270,1269],{"class":181},[167,88272,267],{"class":173},[167,88274,32938],{"class":201},[167,88276,32941],{"class":181},[167,88278,267],{"class":173},[167,88280,27387],{"class":201},[167,88282,185],{"class":173},[167,88284,88285,88287,88289,88291,88293,88295,88297,88299],{"class":169,"line":3571},[167,88286,32952],{"class":173},[167,88288,507],{"class":177},[167,88290,1169],{"class":181},[167,88292,267],{"class":173},[167,88294,1174],{"class":201},[167,88296,32963],{"class":173},[167,88298,507],{"class":177},[167,88300,185],{"class":173},[167,88302,88303,88305,88307],{"class":169,"line":5024},[167,88304,32551],{"class":173},[167,88306,1266],{"class":177},[167,88308,185],{"class":173},[167,88310,88311,88313,88315],{"class":169,"line":5033},[167,88312,32560],{"class":173},[167,88314,80],{"class":177},[167,88316,185],{"class":173},[167,88318,88319,88321,88323],{"class":169,"line":5042},[167,88320,10166],{"class":173},[167,88322,62],{"class":177},[167,88324,185],{"class":173},[167,88326,88327,88329,88331],{"class":169,"line":6752},[167,88328,1287],{"class":173},[167,88330,75],{"class":177},[167,88332,185],{"class":173},[167,88334,88335,88337,88339],{"class":169,"line":6774},[167,88336,504],{"class":173},[167,88338,56],{"class":177},[167,88340,185],{"class":173},[167,88342,88343,88345,88347],{"class":169,"line":6779},[167,88344,282],{"class":173},[167,88346,299],{"class":177},[167,88348,185],{"class":173},[154,88350,88351],{"className":156,"code":33018,"filename":33019,"language":162,"meta":163,"style":163},[87,88352,88353,88363,88375,88387,88391,88403,88423,88443,88447,88451,88463,88473,88477,88485,88489,88497,88511,88531,88551,88555,88563,88571,88579],{"__ignoreMap":163},[167,88354,88355,88357,88359,88361],{"class":169,"line":170},[167,88356,174],{"class":173},[167,88358,178],{"class":177},[167,88360,182],{"class":181},[167,88362,185],{"class":173},[167,88364,88365,88367,88369,88371,88373],{"class":169,"line":188},[167,88366,192],{"class":191},[167,88368,195],{"class":173},[167,88370,198],{"class":191},[167,88372,24037],{"class":201},[167,88374,24040],{"class":173},[167,88376,88377,88379,88381,88383,88385],{"class":169,"line":205},[167,88378,192],{"class":191},[167,88380,33050],{"class":173},[167,88382,198],{"class":191},[167,88384,33055],{"class":201},[167,88386,24040],{"class":173},[167,88388,88389],{"class":169,"line":160},[167,88390,209],{"emptyLinePlaceholder":208},[167,88392,88393,88395,88397,88399,88401],{"class":169,"line":238},[167,88394,216],{"class":191},[167,88396,16950],{"class":219},[167,88398,223],{"class":191},[167,88400,226],{"class":181},[167,88402,1823],{"class":173},[167,88404,88405,88407,88409,88411,88413,88415,88417,88419,88421],{"class":169,"line":243},[167,88406,1828],{"class":173},[167,88408,1831],{"class":219},[167,88410,1834],{"class":173},[167,88412,23483],{"class":201},[167,88414,33086],{"class":173},[167,88416,33089],{"class":201},[167,88418,33092],{"class":173},[167,88420,390],{"class":219},[167,88422,1852],{"class":173},[167,88424,88425,88427,88429,88431,88433,88435,88437,88439,88441],{"class":169,"line":261},[167,88426,1828],{"class":173},[167,88428,1849],{"class":219},[167,88430,1834],{"class":173},[167,88432,28503],{"class":201},[167,88434,33086],{"class":173},[167,88436,33111],{"class":201},[167,88438,33092],{"class":173},[167,88440,3388],{"class":219},[167,88442,1852],{"class":173},[167,88444,88445],{"class":169,"line":273},[167,88446,28541],{"class":173},[167,88448,88449],{"class":169,"line":279},[167,88450,209],{"emptyLinePlaceholder":208},[167,88452,88453,88455,88457,88459,88461],{"class":169,"line":289},[167,88454,246],{"class":191},[167,88456,33132],{"class":181},[167,88458,229],{"class":173},[167,88460,729],{"class":254},[167,88462,258],{"class":173},[167,88464,88465,88467,88469,88471],{"class":169,"line":294},[167,88466,33143],{"class":173},[167,88468,267],{"class":191},[167,88470,5621],{"class":191},[167,88472,33150],{"class":173},[167,88474,88475],{"class":169,"line":304},[167,88476,276],{"class":173},[167,88478,88479,88481,88483],{"class":169,"line":313},[167,88480,282],{"class":173},[167,88482,178],{"class":177},[167,88484,185],{"class":173},[167,88486,88487],{"class":169,"line":161},[167,88488,209],{"emptyLinePlaceholder":208},[167,88490,88491,88493,88495],{"class":169,"line":335},[167,88492,174],{"class":173},[167,88494,299],{"class":177},[167,88496,185],{"class":173},[167,88498,88499,88501,88503,88505,88507,88509],{"class":169,"line":341},[167,88500,307],{"class":173},[167,88502,32110],{"class":177},[167,88504,33183],{"class":181},[167,88506,267],{"class":173},[167,88508,33188],{"class":201},[167,88510,185],{"class":173},[167,88512,88513,88515,88517,88519,88521,88523,88525,88527,88529],{"class":169,"line":489},[167,88514,1252],{"class":173},[167,88516,299],{"class":177},[167,88518,33199],{"class":173},[167,88520,33202],{"class":181},[167,88522,267],{"class":173},[167,88524,5076],{"class":201},[167,88526,33209],{"class":173},[167,88528,5076],{"class":201},[167,88530,185],{"class":173},[167,88532,88533,88535,88537,88539,88541,88543,88545,88547,88549],{"class":169,"line":495},[167,88534,1263],{"class":173},[167,88536,507],{"class":177},[167,88538,1169],{"class":181},[167,88540,267],{"class":173},[167,88542,1174],{"class":201},[167,88544,1177],{"class":181},[167,88546,267],{"class":173},[167,88548,33232],{"class":201},[167,88550,185],{"class":173},[167,88552,88553],{"class":169,"line":501},[167,88554,33239],{"class":173},[167,88556,88557,88559,88561],{"class":169,"line":512},[167,88558,10166],{"class":173},[167,88560,507],{"class":177},[167,88562,185],{"class":173},[167,88564,88565,88567,88569],{"class":169,"line":781},[167,88566,1287],{"class":173},[167,88568,299],{"class":177},[167,88570,185],{"class":173},[167,88572,88573,88575,88577],{"class":169,"line":786},[167,88574,504],{"class":173},[167,88576,32110],{"class":177},[167,88578,185],{"class":173},[167,88580,88581,88583,88585],{"class":169,"line":2674},[167,88582,282],{"class":173},[167,88584,299],{"class":177},[167,88586,185],{"class":173},[11,88588,33275],{"id":33274},[15,88590,33278],{},[154,88592,88593],{"className":156,"code":33281,"filename":32099,"language":162,"meta":163,"style":163},[87,88594,88595,88603,88611,88615,88619,88623,88631,88635,88639,88643,88651,88655,88663,88677,88685,88693,88711,88729,88747,88755,88763,88771,88791,88803,88815,88823,88843,88861,88869,88877,88885,88893,88901],{"__ignoreMap":163},[167,88596,88597,88599,88601],{"class":169,"line":170},[167,88598,174],{"class":173},[167,88600,178],{"class":177},[167,88602,185],{"class":173},[167,88604,88605,88607,88609],{"class":169,"line":188},[167,88606,608],{"class":191},[167,88608,3987],{"class":191},[167,88610,1901],{"class":173},[167,88612,88613],{"class":169,"line":205},[167,88614,3995],{"class":173},[167,88616,88617],{"class":169,"line":160},[167,88618,33308],{"class":173},[167,88620,88621],{"class":169,"line":238},[167,88622,33313],{"class":173},[167,88624,88625,88627,88629],{"class":169,"line":243},[167,88626,4013],{"class":173},[167,88628,390],{"class":219},[167,88630,393],{"class":173},[167,88632,88633],{"class":169,"line":261},[167,88634,755],{"class":173},[167,88636,88637],{"class":169,"line":273},[167,88638,398],{"class":173},[167,88640,88641],{"class":169,"line":279},[167,88642,24144],{"class":173},[167,88644,88645,88647,88649],{"class":169,"line":289},[167,88646,282],{"class":173},[167,88648,178],{"class":177},[167,88650,185],{"class":173},[167,88652,88653],{"class":169,"line":294},[167,88654,209],{"emptyLinePlaceholder":208},[167,88656,88657,88659,88661],{"class":169,"line":304},[167,88658,174],{"class":173},[167,88660,299],{"class":177},[167,88662,185],{"class":173},[167,88664,88665,88667,88669,88671,88673,88675],{"class":169,"line":313},[167,88666,307],{"class":173},[167,88668,56],{"class":177},[167,88670,1240],{"class":181},[167,88672,267],{"class":173},[167,88674,32771],{"class":201},[167,88676,185],{"class":173},[167,88678,88679,88681,88683],{"class":169,"line":161},[167,88680,1252],{"class":173},[167,88682,59],{"class":177},[167,88684,185],{"class":173},[167,88686,88687,88689,88691],{"class":169,"line":335},[167,88688,1263],{"class":173},[167,88690,62],{"class":177},[167,88692,185],{"class":173},[167,88694,88695,88697,88699,88701,88703,88705,88707,88709],{"class":169,"line":341},[167,88696,32512],{"class":173},[167,88698,65],{"class":177},[167,88700,1240],{"class":181},[167,88702,267],{"class":173},[167,88704,32802],{"class":201},[167,88706,32805],{"class":173},[167,88708,65],{"class":177},[167,88710,185],{"class":173},[167,88712,88713,88715,88717,88719,88721,88723,88725,88727],{"class":169,"line":489},[167,88714,32512],{"class":173},[167,88716,65],{"class":177},[167,88718,1240],{"class":181},[167,88720,267],{"class":173},[167,88722,32802],{"class":201},[167,88724,32824],{"class":173},[167,88726,65],{"class":177},[167,88728,185],{"class":173},[167,88730,88731,88733,88735,88737,88739,88741,88743,88745],{"class":169,"line":495},[167,88732,32512],{"class":173},[167,88734,65],{"class":177},[167,88736,1240],{"class":181},[167,88738,267],{"class":173},[167,88740,32802],{"class":201},[167,88742,32843],{"class":173},[167,88744,65],{"class":177},[167,88746,185],{"class":173},[167,88748,88749,88751,88753],{"class":169,"line":501},[167,88750,10166],{"class":173},[167,88752,62],{"class":177},[167,88754,185],{"class":173},[167,88756,88757,88759,88761],{"class":169,"line":512},[167,88758,1287],{"class":173},[167,88760,59],{"class":177},[167,88762,185],{"class":173},[167,88764,88765,88767,88769],{"class":169,"line":781},[167,88766,1252],{"class":173},[167,88768,75],{"class":177},[167,88770,185],{"class":173},[167,88772,88773,88775,88777,88779,88781,88783,88785,88787,88789],{"class":169,"line":786},[167,88774,1263],{"class":173},[167,88776,62],{"class":177},[167,88778,18702],{"class":181},[167,88780,267],{"class":173},[167,88782,32884],{"class":201},[167,88784,10303],{"class":181},[167,88786,267],{"class":173},[167,88788,18714],{"class":201},[167,88790,185],{"class":173},[167,88792,88793,88795,88797,88799,88801],{"class":169,"line":2674},[167,88794,32512],{"class":173},[167,88796,80],{"class":177},[167,88798,28620],{"class":173},[167,88800,80],{"class":177},[167,88802,185],{"class":173},[167,88804,88805,88807,88809,88811,88813],{"class":169,"line":2688},[167,88806,32512],{"class":173},[167,88808,80],{"class":177},[167,88810,32913],{"class":173},[167,88812,80],{"class":177},[167,88814,185],{"class":173},[167,88816,88817,88819,88821],{"class":169,"line":3571},[167,88818,32512],{"class":173},[167,88820,80],{"class":177},[167,88822,185],{"class":173},[167,88824,88825,88827,88829,88831,88833,88835,88837,88839,88841],{"class":169,"line":5024},[167,88826,32522],{"class":173},[167,88828,1266],{"class":177},[167,88830,1269],{"class":181},[167,88832,267],{"class":173},[167,88834,32938],{"class":201},[167,88836,32941],{"class":181},[167,88838,267],{"class":173},[167,88840,27387],{"class":201},[167,88842,185],{"class":173},[167,88844,88845,88847,88849,88851,88853,88855,88857,88859],{"class":169,"line":5033},[167,88846,32952],{"class":173},[167,88848,507],{"class":177},[167,88850,1169],{"class":181},[167,88852,267],{"class":173},[167,88854,1174],{"class":201},[167,88856,32963],{"class":173},[167,88858,507],{"class":177},[167,88860,185],{"class":173},[167,88862,88863,88865,88867],{"class":169,"line":5042},[167,88864,32551],{"class":173},[167,88866,1266],{"class":177},[167,88868,185],{"class":173},[167,88870,88871,88873,88875],{"class":169,"line":6752},[167,88872,32560],{"class":173},[167,88874,80],{"class":177},[167,88876,185],{"class":173},[167,88878,88879,88881,88883],{"class":169,"line":6774},[167,88880,10166],{"class":173},[167,88882,62],{"class":177},[167,88884,185],{"class":173},[167,88886,88887,88889,88891],{"class":169,"line":6779},[167,88888,1287],{"class":173},[167,88890,75],{"class":177},[167,88892,185],{"class":173},[167,88894,88895,88897,88899],{"class":169,"line":6784},[167,88896,504],{"class":173},[167,88898,56],{"class":177},[167,88900,185],{"class":173},[167,88902,88903,88905,88907],{"class":169,"line":6789},[167,88904,282],{"class":173},[167,88906,299],{"class":177},[167,88908,185],{"class":173},[154,88910,88911],{"className":156,"code":33602,"filename":33019,"language":162,"meta":163,"style":163},[87,88912,88913,88921,88933,88937,88945,88949,88955,88961,88965,88985,89005,89009,89013,89017,89021,89031,89041,89045,89049,89053,89061,89065,89073,89087,89107,89127,89131,89139,89147,89155],{"__ignoreMap":163},[167,88914,88915,88917,88919],{"class":169,"line":170},[167,88916,174],{"class":173},[167,88918,178],{"class":177},[167,88920,185],{"class":173},[167,88922,88923,88925,88927,88929,88931],{"class":169,"line":188},[167,88924,192],{"class":191},[167,88926,33050],{"class":173},[167,88928,198],{"class":191},[167,88930,33055],{"class":201},[167,88932,24040],{"class":173},[167,88934,88935],{"class":169,"line":205},[167,88936,209],{"emptyLinePlaceholder":208},[167,88938,88939,88941,88943],{"class":169,"line":160},[167,88940,608],{"class":191},[167,88942,3987],{"class":191},[167,88944,1901],{"class":173},[167,88946,88947],{"class":169,"line":238},[167,88948,33641],{"class":173},[167,88950,88951,88953],{"class":169,"line":243},[167,88952,7172],{"class":181},[167,88954,763],{"class":173},[167,88956,88957,88959],{"class":169,"line":261},[167,88958,1933],{"class":191},[167,88960,1901],{"class":173},[167,88962,88963],{"class":169,"line":273},[167,88964,28748],{"class":173},[167,88966,88967,88969,88971,88973,88975,88977,88979,88981,88983],{"class":169,"line":279},[167,88968,8673],{"class":173},[167,88970,1831],{"class":219},[167,88972,1834],{"class":173},[167,88974,23483],{"class":201},[167,88976,33086],{"class":173},[167,88978,33089],{"class":201},[167,88980,33092],{"class":173},[167,88982,390],{"class":219},[167,88984,1852],{"class":173},[167,88986,88987,88989,88991,88993,88995,88997,88999,89001,89003],{"class":169,"line":289},[167,88988,8673],{"class":173},[167,88990,1849],{"class":219},[167,88992,1834],{"class":173},[167,88994,28503],{"class":201},[167,88996,33086],{"class":173},[167,88998,33111],{"class":201},[167,89000,33092],{"class":173},[167,89002,3388],{"class":219},[167,89004,1852],{"class":173},[167,89006,89007],{"class":169,"line":294},[167,89008,16110],{"class":173},[167,89010,89011],{"class":169,"line":304},[167,89012,24366],{"class":173},[167,89014,89015],{"class":169,"line":313},[167,89016,398],{"class":173},[167,89018,89019],{"class":169,"line":161},[167,89020,4415],{"class":173},[167,89022,89023,89025,89027,89029],{"class":169,"line":335},[167,89024,33718],{"class":181},[167,89026,229],{"class":173},[167,89028,729],{"class":254},[167,89030,258],{"class":173},[167,89032,89033,89035,89037,89039],{"class":169,"line":341},[167,89034,33729],{"class":173},[167,89036,267],{"class":191},[167,89038,5621],{"class":191},[167,89040,33150],{"class":173},[167,89042,89043],{"class":169,"line":489},[167,89044,755],{"class":173},[167,89046,89047],{"class":169,"line":495},[167,89048,398],{"class":173},[167,89050,89051],{"class":169,"line":501},[167,89052,24144],{"class":173},[167,89054,89055,89057,89059],{"class":169,"line":512},[167,89056,282],{"class":173},[167,89058,178],{"class":177},[167,89060,185],{"class":173},[167,89062,89063],{"class":169,"line":781},[167,89064,209],{"emptyLinePlaceholder":208},[167,89066,89067,89069,89071],{"class":169,"line":786},[167,89068,174],{"class":173},[167,89070,299],{"class":177},[167,89072,185],{"class":173},[167,89074,89075,89077,89079,89081,89083,89085],{"class":169,"line":2674},[167,89076,307],{"class":173},[167,89078,32110],{"class":177},[167,89080,33183],{"class":181},[167,89082,267],{"class":173},[167,89084,33188],{"class":201},[167,89086,185],{"class":173},[167,89088,89089,89091,89093,89095,89097,89099,89101,89103,89105],{"class":169,"line":2688},[167,89090,1252],{"class":173},[167,89092,299],{"class":177},[167,89094,33199],{"class":173},[167,89096,33202],{"class":181},[167,89098,267],{"class":173},[167,89100,5076],{"class":201},[167,89102,33209],{"class":173},[167,89104,5076],{"class":201},[167,89106,185],{"class":173},[167,89108,89109,89111,89113,89115,89117,89119,89121,89123,89125],{"class":169,"line":3571},[167,89110,1263],{"class":173},[167,89112,507],{"class":177},[167,89114,1169],{"class":181},[167,89116,267],{"class":173},[167,89118,1174],{"class":201},[167,89120,1177],{"class":181},[167,89122,267],{"class":173},[167,89124,33232],{"class":201},[167,89126,185],{"class":173},[167,89128,89129],{"class":169,"line":5024},[167,89130,33239],{"class":173},[167,89132,89133,89135,89137],{"class":169,"line":5033},[167,89134,10166],{"class":173},[167,89136,507],{"class":177},[167,89138,185],{"class":173},[167,89140,89141,89143,89145],{"class":169,"line":5042},[167,89142,1287],{"class":173},[167,89144,299],{"class":177},[167,89146,185],{"class":173},[167,89148,89149,89151,89153],{"class":169,"line":6752},[167,89150,504],{"class":173},[167,89152,32110],{"class":177},[167,89154,185],{"class":173},[167,89156,89157,89159,89161],{"class":169,"line":6774},[167,89158,282],{"class":173},[167,89160,299],{"class":177},[167,89162,185],{"class":173},[22,89164,7674],{"id":7673},[33,89166,89167,89171,89173,89179,89181,89183],{},[36,89168,89169,33866],{},[87,89170,31704],{},[36,89172,33869],{},[36,89174,33872,89175,1020,89177,7859],{},[87,89176,1255],{},[87,89178,1329],{},[36,89180,33879],{},[36,89182,33882],{},[36,89184,33885],{},[924,89186,33888],{},{"title":163,"searchDepth":188,"depth":188,"links":89188},[89189,89190,89191,89192,89193,89199,89205],{"id":26498,"depth":188,"text":26499},{"id":30495,"depth":188,"text":30496},{"id":6317,"depth":188,"text":6318},{"id":6344,"depth":188,"text":6345},{"id":3080,"depth":188,"text":3081,"children":89194},[89195,89196,89197,89198],{"id":31987,"depth":205,"text":33898},{"id":32087,"depth":205,"text":32088},{"id":32155,"depth":205,"text":32156},{"id":32188,"depth":205,"text":32189},{"id":7992,"depth":188,"text":7993,"children":89200},[89201,89202,89203,89204],{"id":32226,"depth":205,"text":32227},{"id":32305,"depth":205,"text":32306},{"id":32454,"depth":205,"text":32455},{"id":32599,"depth":205,"text":33908},{"id":7673,"depth":188,"text":7674},{"updatedAt":33915,"coverCaption":33916,"author":945,"keywords":89207},[3254,31704,33918,31952,33919,3256,3969],[89209],{"headline":33923,"author":89210,"datePublished":33915,"@type":959},{"name":945,"@type":958},{"title":31696,"description":33913},[89213,89214,89215,89216],{"tag":26462,"color":26463},{"tag":1643,"color":1644},{"tag":1622,"color":1635},{"tag":7726,"color":7727},{"id":33934,"title":33935,"body":89218,"cover":36724,"coverAlt":36725,"date":36726,"description":36727,"draft":1617,"extension":940,"lab":941,"locale":942,"meta":91787,"navigation":208,"path":36733,"schemaOrg":91789,"seo":91792,"series":26456,"seriesDescription":26457,"seriesOrder":243,"seriesTitle":26458,"slug":941,"stem":36739,"tags":91793,"__hash__":36747},{"type":8,"value":89219,"toc":91764},[89220,89224,89228,89230,89234,89238,89250,89252,89256,89258,89272,89286,89288,89290,89306,89308,89322,89328,89330,89334,89336,89352,89354,89358,89370,89372,89374,89376,89432,89438,89442,89446,89448,89474,89480,89482,89504,89506,89508,89526,89528,89532,89534,89536,89658,89786,89790,89926,90060,90062,90184,90312,90314,90316,90322,90452,90998,91000,91006,91176,91728,91730,91734,91736,91738,91762],[11,89221,26479,89222],{"id":33940},[87,89223,23861],{},[15,89225,89226,33947],{},[87,89227,23861],{},[22,89229,26499],{"id":26498},[15,89231,33952,89232,33955],{},[87,89233,23861],{},[15,89235,3806,89236,33960],{},[87,89237,23861],{},[33,89239,89240,89246,89248],{},[36,89241,33965,89242,33969,89244,1675],{},[87,89243,33968],{},[87,89245,33972],{},[36,89247,33975],{},[36,89249,33978],{},[22,89251,6253],{"id":6252},[15,89253,26409,89254,33985],{},[87,89255,23861],{},[3083,89257,33989],{"id":33988},[33,89259,89260,89264],{},[36,89261,89262,33997],{},[87,89263,33996],{},[36,89265,34000,89266,1020,89268,1020,89270,7859],{},[87,89267,2646],{},[87,89269,34005],{},[87,89271,34008],{},[15,89273,34011,89274,34015,89276,33969,89278,34020,89280,34024,89282,34028,89284,1675],{},[87,89275,34014],{},[87,89277,33968],{},[87,89279,33972],{},[87,89281,34023],{},[87,89283,34027],{},[87,89285,34005],{},[3083,89287,34034],{"id":34033},[15,89289,34037],{},[33,89291,89292,89296,89300],{},[36,89293,34042,89294,1675],{},[87,89295,34045],{},[36,89297,34048,89298,1675],{},[87,89299,34051],{},[36,89301,34054,89302,1020,89304,1675],{},[87,89303,34057],{},[87,89305,34060],{},[15,89307,34063],{},[33,89309,89310,89314,89318],{},[36,89311,89312],{},[87,89313,34070],{},[36,89315,89316],{},[87,89317,34075],{},[36,89319,89320],{},[87,89321,34080],{},[15,89323,34083,89324,34087,89326,34090],{},[87,89325,34086],{},[87,89327,1003],{},[22,89329,6318],{"id":6317},[15,89331,1577,89332,34097],{},[87,89333,23861],{},[15,89335,9304],{},[33,89337,89338,89340,89342,89350],{},[36,89339,34104],{},[36,89341,34107],{},[36,89343,34110,89344,1020,89346,1020,89348,34120],{},[87,89345,34113],{},[87,89347,34116],{},[87,89349,34119],{},[36,89351,34123],{},[22,89353,6345],{"id":6344},[15,89355,13618,89356,13623],{},[87,89357,23861],{},[33,89359,89360,89364,89366,89368],{},[36,89361,34134,89362,34137],{},[87,89363,1657],{},[36,89365,34140],{},[36,89367,34143],{},[36,89369,34146],{},[22,89371,3081],{"id":3080},[3083,89373,34152],{"id":34151},[15,89375,30734],{},[154,89377,89378],{"className":156,"code":34157,"filename":34158,"language":162,"meta":163,"style":163},[87,89379,89380,89396,89416,89424],{"__ignoreMap":163},[167,89381,89382,89384,89386,89388,89390,89392,89394],{"class":169,"line":170},[167,89383,174],{"class":173},[167,89385,178],{"class":177},[167,89387,182],{"class":181},[167,89389,1045],{"class":181},[167,89391,267],{"class":173},[167,89393,1050],{"class":201},[167,89395,185],{"class":173},[167,89397,89398,89400,89402,89404,89406,89408,89410,89412,89414],{"class":169,"line":188},[167,89399,216],{"class":191},[167,89401,1060],{"class":219},[167,89403,223],{"class":191},[167,89405,1065],{"class":181},[167,89407,1068],{"class":173},[167,89409,34045],{"class":254},[167,89411,583],{"class":191},[167,89413,586],{"class":219},[167,89415,1078],{"class":173},[167,89417,89418,89420,89422],{"class":169,"line":205},[167,89419,34201],{"class":173},[167,89421,267],{"class":191},[167,89423,34206],{"class":201},[167,89425,89426,89428,89430],{"class":169,"line":160},[167,89427,282],{"class":173},[167,89429,178],{"class":177},[167,89431,185],{"class":173},[15,89433,34217,89434,34220,89436,1675],{},[87,89435,34051],{},[87,89437,34223],{},[5363,89439,89440],{},[15,89441,34228],{},[3083,89443,34232,89444,34235],{"id":34231},[87,89445,23861],{},[15,89447,30734],{},[154,89449,89450],{"className":156,"code":34240,"filename":34158,"language":162,"meta":163,"style":163},[87,89451,89452],{"__ignoreMap":163},[167,89453,89454,89456,89458,89460,89462,89464,89466,89468,89470,89472],{"class":169,"line":170},[167,89455,174],{"class":173},[167,89457,2646],{"class":177},[167,89459,2649],{"class":181},[167,89461,267],{"class":173},[167,89463,5076],{"class":201},[167,89465,34257],{"class":173},[167,89467,34260],{"class":181},[167,89469,34263],{"class":173},[167,89471,5076],{"class":201},[167,89473,5321],{"class":173},[5363,89475,89476],{},[15,89477,89478,34274],{},[87,89479,23861],{},[15,89481,34277],{},[154,89483,89484],{"className":156,"code":34280,"filename":34281,"language":162,"meta":163,"style":163},[87,89485,89486],{"__ignoreMap":163},[167,89487,89488,89490,89492,89494,89496,89498,89500,89502],{"class":169,"line":170},[167,89489,174],{"class":173},[167,89491,2646],{"class":177},[167,89493,2649],{"class":181},[167,89495,267],{"class":173},[167,89497,5076],{"class":201},[167,89499,5201],{"class":173},[167,89501,5076],{"class":201},[167,89503,5321],{"class":173},[3083,89505,34305],{"id":34304},[15,89507,34308],{},[33,89509,89510,89514,89522],{},[36,89511,21840,89512,34315],{},[87,89513,34070],{},[36,89515,21840,89516,34320,89518,34323,89520,1675],{},[87,89517,34075],{},[87,89519,1106],{},[87,89521,13925],{},[36,89523,21840,89524,34330],{},[87,89525,34080],{},[3083,89527,34334],{"id":34333},[15,89529,34337,89530,34340],{},[87,89531,23861],{},[11,89533,7993],{"id":7992},[22,89535,34346],{"id":34345},[154,89537,89539],{"className":156,"code":34349,"filename":3256,"highlights":89538,"language":162,"meta":163,"style":163},[289],[87,89540,89541,89557,89569,89573,89589,89597,89601,89609,89617,89621,89642,89650],{"__ignoreMap":163},[167,89542,89543,89545,89547,89549,89551,89553,89555],{"class":169,"line":170},[167,89544,174],{"class":173},[167,89546,178],{"class":177},[167,89548,182],{"class":181},[167,89550,1045],{"class":181},[167,89552,267],{"class":173},[167,89554,1050],{"class":201},[167,89556,185],{"class":173},[167,89558,89559,89561,89563,89565,89567],{"class":169,"line":188},[167,89560,192],{"class":191},[167,89562,195],{"class":173},[167,89564,198],{"class":191},[167,89566,24037],{"class":201},[167,89568,24040],{"class":173},[167,89570,89571],{"class":169,"line":205},[167,89572,209],{"emptyLinePlaceholder":208},[167,89574,89575,89577,89579,89581,89583,89585,89587],{"class":169,"line":160},[167,89576,216],{"class":191},[167,89578,2171],{"class":219},[167,89580,223],{"class":191},[167,89582,226],{"class":181},[167,89584,229],{"class":173},[167,89586,31157],{"class":201},[167,89588,24165],{"class":173},[167,89590,89591,89593,89595],{"class":169,"line":238},[167,89592,282],{"class":173},[167,89594,178],{"class":177},[167,89596,185],{"class":173},[167,89598,89599],{"class":169,"line":243},[167,89600,209],{"emptyLinePlaceholder":208},[167,89602,89603,89605,89607],{"class":169,"line":261},[167,89604,174],{"class":173},[167,89606,299],{"class":177},[167,89608,185],{"class":173},[167,89610,89611,89613,89615],{"class":169,"line":273},[167,89612,307],{"class":173},[167,89614,9871],{"class":177},[167,89616,185],{"class":173},[167,89618,89619],{"class":169,"line":279},[167,89620,34433],{"class":173},[167,89622,89624,89626,89628,89630,89632,89634,89636,89638,89640],{"class":89623,"line":289},[169,213],[167,89625,1252],{"class":173},[167,89627,2646],{"class":177},[167,89629,34443],{"class":181},[167,89631,267],{"class":173},[167,89633,34448],{"class":201},[167,89635,1169],{"class":181},[167,89637,267],{"class":173},[167,89639,34455],{"class":201},[167,89641,5321],{"class":173},[167,89643,89644,89646,89648],{"class":169,"line":294},[167,89645,504],{"class":173},[167,89647,9871],{"class":177},[167,89649,185],{"class":173},[167,89651,89652,89654,89656],{"class":169,"line":304},[167,89653,282],{"class":173},[167,89655,299],{"class":177},[167,89657,185],{"class":173},[154,89659,89661],{"className":156,"code":34476,"filename":3969,"highlights":89660,"language":162,"meta":163,"style":163},[161],[87,89662,89663,89677,89685,89691,89697,89705,89709,89713,89717,89725,89729,89737,89745,89749,89770,89778],{"__ignoreMap":163},[167,89664,89665,89667,89669,89671,89673,89675],{"class":169,"line":170},[167,89666,174],{"class":173},[167,89668,178],{"class":177},[167,89670,1045],{"class":181},[167,89672,267],{"class":173},[167,89674,1050],{"class":201},[167,89676,185],{"class":173},[167,89678,89679,89681,89683],{"class":169,"line":188},[167,89680,608],{"class":191},[167,89682,3987],{"class":191},[167,89684,1901],{"class":173},[167,89686,89687,89689],{"class":169,"line":205},[167,89688,7172],{"class":181},[167,89690,763],{"class":173},[167,89692,89693,89695],{"class":169,"line":160},[167,89694,1933],{"class":191},[167,89696,1901],{"class":173},[167,89698,89699,89701,89703],{"class":169,"line":238},[167,89700,34518],{"class":173},[167,89702,31157],{"class":201},[167,89704,393],{"class":173},[167,89706,89707],{"class":169,"line":243},[167,89708,24366],{"class":173},[167,89710,89711],{"class":169,"line":261},[167,89712,398],{"class":173},[167,89714,89715],{"class":169,"line":273},[167,89716,24144],{"class":173},[167,89718,89719,89721,89723],{"class":169,"line":279},[167,89720,282],{"class":173},[167,89722,178],{"class":177},[167,89724,185],{"class":173},[167,89726,89727],{"class":169,"line":289},[167,89728,209],{"emptyLinePlaceholder":208},[167,89730,89731,89733,89735],{"class":169,"line":294},[167,89732,174],{"class":173},[167,89734,299],{"class":177},[167,89736,185],{"class":173},[167,89738,89739,89741,89743],{"class":169,"line":304},[167,89740,307],{"class":173},[167,89742,9871],{"class":177},[167,89744,185],{"class":173},[167,89746,89747],{"class":169,"line":313},[167,89748,34433],{"class":173},[167,89750,89752,89754,89756,89758,89760,89762,89764,89766,89768],{"class":89751,"line":161},[169,213],[167,89753,1252],{"class":173},[167,89755,2646],{"class":177},[167,89757,34443],{"class":181},[167,89759,267],{"class":173},[167,89761,34448],{"class":201},[167,89763,1169],{"class":181},[167,89765,267],{"class":173},[167,89767,34455],{"class":201},[167,89769,5321],{"class":173},[167,89771,89772,89774,89776],{"class":169,"line":335},[167,89773,504],{"class":173},[167,89775,9871],{"class":177},[167,89777,185],{"class":173},[167,89779,89780,89782,89784],{"class":169,"line":341},[167,89781,282],{"class":173},[167,89783,299],{"class":177},[167,89785,185],{"class":173},[22,89787,34607,89788],{"id":34606},[87,89789,34610],{},[154,89791,89793],{"className":156,"code":34613,"filename":3256,"highlights":89792,"language":162,"meta":163,"style":163},[289],[87,89794,89795,89811,89823,89827,89851,89859,89863,89871,89879,89883,89910,89918],{"__ignoreMap":163},[167,89796,89797,89799,89801,89803,89805,89807,89809],{"class":169,"line":170},[167,89798,174],{"class":173},[167,89800,178],{"class":177},[167,89802,182],{"class":181},[167,89804,1045],{"class":181},[167,89806,267],{"class":173},[167,89808,1050],{"class":201},[167,89810,185],{"class":173},[167,89812,89813,89815,89817,89819,89821],{"class":169,"line":188},[167,89814,192],{"class":191},[167,89816,195],{"class":173},[167,89818,198],{"class":191},[167,89820,24037],{"class":201},[167,89822,24040],{"class":173},[167,89824,89825],{"class":169,"line":205},[167,89826,209],{"emptyLinePlaceholder":208},[167,89828,89829,89831,89833,89835,89837,89839,89841,89843,89845,89847,89849],{"class":169,"line":160},[167,89830,216],{"class":191},[167,89832,34655],{"class":219},[167,89834,223],{"class":191},[167,89836,226],{"class":181},[167,89838,174],{"class":173},[167,89840,13925],{"class":219},[167,89842,659],{"class":191},[167,89844,6563],{"class":219},[167,89846,6566],{"class":173},[167,89848,6569],{"class":219},[167,89850,24165],{"class":173},[167,89852,89853,89855,89857],{"class":169,"line":238},[167,89854,282],{"class":173},[167,89856,178],{"class":177},[167,89858,185],{"class":173},[167,89860,89861],{"class":169,"line":243},[167,89862,209],{"emptyLinePlaceholder":208},[167,89864,89865,89867,89869],{"class":169,"line":261},[167,89866,174],{"class":173},[167,89868,299],{"class":177},[167,89870,185],{"class":173},[167,89872,89873,89875,89877],{"class":169,"line":273},[167,89874,307],{"class":173},[167,89876,9871],{"class":177},[167,89878,185],{"class":173},[167,89880,89881],{"class":169,"line":279},[167,89882,34706],{"class":173},[167,89884,89886,89888,89890,89892,89894,89896,89898,89900,89902,89904,89906,89908],{"class":89885,"line":289},[169,213],[167,89887,1252],{"class":173},[167,89889,2646],{"class":177},[167,89891,34716],{"class":181},[167,89893,267],{"class":173},[167,89895,34721],{"class":201},[167,89897,1169],{"class":181},[167,89899,267],{"class":173},[167,89901,34728],{"class":201},[167,89903,34731],{"class":181},[167,89905,267],{"class":173},[167,89907,34736],{"class":201},[167,89909,5321],{"class":173},[167,89911,89912,89914,89916],{"class":169,"line":294},[167,89913,504],{"class":173},[167,89915,9871],{"class":177},[167,89917,185],{"class":173},[167,89919,89920,89922,89924],{"class":169,"line":304},[167,89921,282],{"class":173},[167,89923,299],{"class":177},[167,89925,185],{"class":173},[154,89927,89929],{"className":156,"code":34757,"filename":3969,"highlights":89928,"language":162,"meta":163,"style":163},[161],[87,89930,89931,89945,89953,89959,89965,89973,89977,89981,89985,89993,89997,90005,90013,90017,90044,90052],{"__ignoreMap":163},[167,89932,89933,89935,89937,89939,89941,89943],{"class":169,"line":170},[167,89934,174],{"class":173},[167,89936,178],{"class":177},[167,89938,1045],{"class":181},[167,89940,267],{"class":173},[167,89942,1050],{"class":201},[167,89944,185],{"class":173},[167,89946,89947,89949,89951],{"class":169,"line":188},[167,89948,608],{"class":191},[167,89950,3987],{"class":191},[167,89952,1901],{"class":173},[167,89954,89955,89957],{"class":169,"line":205},[167,89956,7172],{"class":181},[167,89958,763],{"class":173},[167,89960,89961,89963],{"class":169,"line":160},[167,89962,1933],{"class":191},[167,89964,1901],{"class":173},[167,89966,89967,89969,89971],{"class":169,"line":238},[167,89968,34799],{"class":173},[167,89970,6569],{"class":219},[167,89972,393],{"class":173},[167,89974,89975],{"class":169,"line":243},[167,89976,24366],{"class":173},[167,89978,89979],{"class":169,"line":261},[167,89980,398],{"class":173},[167,89982,89983],{"class":169,"line":273},[167,89984,24144],{"class":173},[167,89986,89987,89989,89991],{"class":169,"line":279},[167,89988,282],{"class":173},[167,89990,178],{"class":177},[167,89992,185],{"class":173},[167,89994,89995],{"class":169,"line":289},[167,89996,209],{"emptyLinePlaceholder":208},[167,89998,89999,90001,90003],{"class":169,"line":294},[167,90000,174],{"class":173},[167,90002,299],{"class":177},[167,90004,185],{"class":173},[167,90006,90007,90009,90011],{"class":169,"line":304},[167,90008,307],{"class":173},[167,90010,9871],{"class":177},[167,90012,185],{"class":173},[167,90014,90015],{"class":169,"line":313},[167,90016,34706],{"class":173},[167,90018,90020,90022,90024,90026,90028,90030,90032,90034,90036,90038,90040,90042],{"class":90019,"line":161},[169,213],[167,90021,1252],{"class":173},[167,90023,2646],{"class":177},[167,90025,34716],{"class":181},[167,90027,267],{"class":173},[167,90029,34721],{"class":201},[167,90031,1169],{"class":181},[167,90033,267],{"class":173},[167,90035,34728],{"class":201},[167,90037,34731],{"class":181},[167,90039,267],{"class":173},[167,90041,34736],{"class":201},[167,90043,5321],{"class":173},[167,90045,90046,90048,90050],{"class":169,"line":335},[167,90047,504],{"class":173},[167,90049,9871],{"class":177},[167,90051,185],{"class":173},[167,90053,90054,90056,90058],{"class":169,"line":341},[167,90055,282],{"class":173},[167,90057,299],{"class":177},[167,90059,185],{"class":173},[22,90061,34894],{"id":34893},[154,90063,90065],{"className":156,"code":34897,"filename":3256,"highlights":90064,"language":162,"meta":163,"style":163},[279],[87,90066,90067,90083,90095,90099,90115,90123,90127,90135,90143,90164,90168,90176],{"__ignoreMap":163},[167,90068,90069,90071,90073,90075,90077,90079,90081],{"class":169,"line":170},[167,90070,174],{"class":173},[167,90072,178],{"class":177},[167,90074,182],{"class":181},[167,90076,1045],{"class":181},[167,90078,267],{"class":173},[167,90080,1050],{"class":201},[167,90082,185],{"class":173},[167,90084,90085,90087,90089,90091,90093],{"class":169,"line":188},[167,90086,192],{"class":191},[167,90088,195],{"class":173},[167,90090,198],{"class":191},[167,90092,24037],{"class":201},[167,90094,24040],{"class":173},[167,90096,90097],{"class":169,"line":205},[167,90098,209],{"emptyLinePlaceholder":208},[167,90100,90101,90103,90105,90107,90109,90111,90113],{"class":169,"line":160},[167,90102,216],{"class":191},[167,90104,34939],{"class":219},[167,90106,223],{"class":191},[167,90108,226],{"class":181},[167,90110,229],{"class":173},[167,90112,3388],{"class":219},[167,90114,24165],{"class":173},[167,90116,90117,90119,90121],{"class":169,"line":238},[167,90118,282],{"class":173},[167,90120,178],{"class":177},[167,90122,185],{"class":173},[167,90124,90125],{"class":169,"line":243},[167,90126,209],{"emptyLinePlaceholder":208},[167,90128,90129,90131,90133],{"class":169,"line":261},[167,90130,174],{"class":173},[167,90132,299],{"class":177},[167,90134,185],{"class":173},[167,90136,90137,90139,90141],{"class":169,"line":273},[167,90138,307],{"class":173},[167,90140,9871],{"class":177},[167,90142,185],{"class":173},[167,90144,90146,90148,90150,90152,90154,90156,90158,90160,90162],{"class":90145,"line":279},[169,213],[167,90147,1252],{"class":173},[167,90149,2646],{"class":177},[167,90151,2649],{"class":181},[167,90153,267],{"class":173},[167,90155,34991],{"class":201},[167,90157,1169],{"class":181},[167,90159,267],{"class":173},[167,90161,34998],{"class":201},[167,90163,5321],{"class":173},[167,90165,90166],{"class":169,"line":289},[167,90167,35005],{"class":173},[167,90169,90170,90172,90174],{"class":169,"line":294},[167,90171,504],{"class":173},[167,90173,9871],{"class":177},[167,90175,185],{"class":173},[167,90177,90178,90180,90182],{"class":169,"line":304},[167,90179,282],{"class":173},[167,90181,299],{"class":177},[167,90183,185],{"class":173},[154,90185,90187],{"className":156,"code":35024,"filename":3969,"highlights":90186,"language":162,"meta":163,"style":163},[313],[87,90188,90189,90203,90211,90217,90223,90231,90235,90239,90243,90251,90255,90263,90271,90292,90296,90304],{"__ignoreMap":163},[167,90190,90191,90193,90195,90197,90199,90201],{"class":169,"line":170},[167,90192,174],{"class":173},[167,90194,178],{"class":177},[167,90196,1045],{"class":181},[167,90198,267],{"class":173},[167,90200,1050],{"class":201},[167,90202,185],{"class":173},[167,90204,90205,90207,90209],{"class":169,"line":188},[167,90206,608],{"class":191},[167,90208,3987],{"class":191},[167,90210,1901],{"class":173},[167,90212,90213,90215],{"class":169,"line":205},[167,90214,7172],{"class":181},[167,90216,763],{"class":173},[167,90218,90219,90221],{"class":169,"line":160},[167,90220,1933],{"class":191},[167,90222,1901],{"class":173},[167,90224,90225,90227,90229],{"class":169,"line":238},[167,90226,35066],{"class":173},[167,90228,3388],{"class":219},[167,90230,393],{"class":173},[167,90232,90233],{"class":169,"line":243},[167,90234,24366],{"class":173},[167,90236,90237],{"class":169,"line":261},[167,90238,398],{"class":173},[167,90240,90241],{"class":169,"line":273},[167,90242,24144],{"class":173},[167,90244,90245,90247,90249],{"class":169,"line":279},[167,90246,282],{"class":173},[167,90248,178],{"class":177},[167,90250,185],{"class":173},[167,90252,90253],{"class":169,"line":289},[167,90254,209],{"emptyLinePlaceholder":208},[167,90256,90257,90259,90261],{"class":169,"line":294},[167,90258,174],{"class":173},[167,90260,299],{"class":177},[167,90262,185],{"class":173},[167,90264,90265,90267,90269],{"class":169,"line":304},[167,90266,307],{"class":173},[167,90268,9871],{"class":177},[167,90270,185],{"class":173},[167,90272,90274,90276,90278,90280,90282,90284,90286,90288,90290],{"class":90273,"line":313},[169,213],[167,90275,1252],{"class":173},[167,90277,2646],{"class":177},[167,90279,2649],{"class":181},[167,90281,267],{"class":173},[167,90283,34991],{"class":201},[167,90285,1169],{"class":181},[167,90287,267],{"class":173},[167,90289,34998],{"class":201},[167,90291,5321],{"class":173},[167,90293,90294],{"class":169,"line":161},[167,90295,35005],{"class":173},[167,90297,90298,90300,90302],{"class":169,"line":335},[167,90299,504],{"class":173},[167,90301,9871],{"class":177},[167,90303,185],{"class":173},[167,90305,90306,90308,90310],{"class":169,"line":341},[167,90307,282],{"class":173},[167,90309,299],{"class":177},[167,90311,185],{"class":173},[22,90313,35155],{"id":35154},[3083,90315,32688],{"id":32687},[15,90317,90318,35163,90320,35166],{},[87,90319,35162],{},[87,90321,34223],{},[154,90323,90325],{"className":156,"code":35169,"filename":35170,"highlights":90324,"language":162,"meta":163,"style":163},[279],[87,90326,90327,90343,90363,90371,90375,90383,90397,90401,90407,90416,90424,90432,90436,90444],{"__ignoreMap":163},[167,90328,90329,90331,90333,90335,90337,90339,90341],{"class":169,"line":170},[167,90330,174],{"class":173},[167,90332,178],{"class":177},[167,90334,182],{"class":181},[167,90336,1045],{"class":181},[167,90338,267],{"class":173},[167,90340,1050],{"class":201},[167,90342,185],{"class":173},[167,90344,90345,90347,90349,90351,90353,90355,90357,90359,90361],{"class":169,"line":188},[167,90346,216],{"class":191},[167,90348,35196],{"class":219},[167,90350,223],{"class":191},[167,90352,35201],{"class":181},[167,90354,174],{"class":173},[167,90356,1106],{"class":219},[167,90358,35208],{"class":173},[167,90360,31157],{"class":201},[167,90362,35213],{"class":173},[167,90364,90365,90367,90369],{"class":169,"line":205},[167,90366,282],{"class":173},[167,90368,178],{"class":177},[167,90370,185],{"class":173},[167,90372,90373],{"class":169,"line":160},[167,90374,209],{"emptyLinePlaceholder":208},[167,90376,90377,90379,90381],{"class":169,"line":238},[167,90378,174],{"class":173},[167,90380,299],{"class":177},[167,90382,185],{"class":173},[167,90384,90385,90387,90389,90391,90393,90395],{"class":169,"line":243},[167,90386,307],{"class":173},[167,90388,9871],{"class":177},[167,90390,1240],{"class":181},[167,90392,267],{"class":173},[167,90394,35246],{"class":201},[167,90396,185],{"class":173},[167,90398,90399],{"class":169,"line":261},[167,90400,35253],{"class":173},[167,90402,90403,90405],{"class":169,"line":273},[167,90404,1252],{"class":173},[167,90406,17477],{"class":177},[167,90408,90410,90412,90414],{"class":90409,"line":279},[169,213],[167,90411,35265],{"class":181},[167,90413,267],{"class":173},[167,90415,35270],{"class":201},[167,90417,90418,90420,90422],{"class":169,"line":289},[167,90419,3735],{"class":181},[167,90421,267],{"class":173},[167,90423,35279],{"class":201},[167,90425,90426,90428,90430],{"class":169,"line":294},[167,90427,17500],{"class":181},[167,90429,267],{"class":173},[167,90431,35288],{"class":201},[167,90433,90434],{"class":169,"line":304},[167,90435,35293],{"class":173},[167,90437,90438,90440,90442],{"class":169,"line":313},[167,90439,504],{"class":173},[167,90441,9871],{"class":177},[167,90443,185],{"class":173},[167,90445,90446,90448,90450],{"class":169,"line":161},[167,90447,282],{"class":173},[167,90449,299],{"class":177},[167,90451,185],{"class":173},[154,90453,90454],{"className":156,"code":35312,"filename":35313,"language":162,"meta":163,"style":163},[87,90455,90456,90472,90484,90496,90500,90516,90540,90556,90560,90572,90592,90612,90632,90636,90640,90654,90670,90678,90694,90702,90718,90734,90738,90752,90756,90760,90768,90772,90780,90788,90800,90804,90818,90822,90830,90834,90860,90868,90872,90880,90900,90904,90912,90916,90924,90944,90948,90966,90974,90982,90990],{"__ignoreMap":163},[167,90457,90458,90460,90462,90464,90466,90468,90470],{"class":169,"line":170},[167,90459,174],{"class":173},[167,90461,178],{"class":177},[167,90463,182],{"class":181},[167,90465,1045],{"class":181},[167,90467,267],{"class":173},[167,90469,1050],{"class":201},[167,90471,185],{"class":173},[167,90473,90474,90476,90478,90480,90482],{"class":169,"line":188},[167,90475,192],{"class":191},[167,90477,1801],{"class":173},[167,90479,198],{"class":191},[167,90481,24037],{"class":201},[167,90483,24040],{"class":173},[167,90485,90486,90488,90490,90492,90494],{"class":169,"line":205},[167,90487,192],{"class":191},[167,90489,35350],{"class":173},[167,90491,198],{"class":191},[167,90493,35355],{"class":201},[167,90495,24040],{"class":173},[167,90497,90498],{"class":169,"line":160},[167,90499,209],{"emptyLinePlaceholder":208},[167,90501,90502,90504,90506,90508,90510,90512,90514],{"class":169,"line":238},[167,90503,216],{"class":191},[167,90505,2444],{"class":219},[167,90507,223],{"class":191},[167,90509,226],{"class":181},[167,90511,229],{"class":173},[167,90513,31157],{"class":201},[167,90515,24165],{"class":173},[167,90517,90518,90520,90522,90524,90526,90528,90530,90532,90534,90536,90538],{"class":169,"line":243},[167,90519,216],{"class":191},[167,90521,35384],{"class":219},[167,90523,223],{"class":191},[167,90525,226],{"class":181},[167,90527,174],{"class":173},[167,90529,13925],{"class":219},[167,90531,659],{"class":191},[167,90533,6563],{"class":219},[167,90535,6566],{"class":173},[167,90537,6569],{"class":219},[167,90539,24165],{"class":173},[167,90541,90542,90544,90546,90548,90550,90552,90554],{"class":169,"line":261},[167,90543,216],{"class":191},[167,90545,35409],{"class":219},[167,90547,223],{"class":191},[167,90549,226],{"class":181},[167,90551,229],{"class":173},[167,90553,3388],{"class":219},[167,90555,24165],{"class":173},[167,90557,90558],{"class":169,"line":273},[167,90559,209],{"emptyLinePlaceholder":208},[167,90561,90562,90564,90566,90568,90570],{"class":169,"line":279},[167,90563,216],{"class":191},[167,90565,35430],{"class":219},[167,90567,223],{"class":191},[167,90569,226],{"class":181},[167,90571,1823],{"class":173},[167,90573,90574,90576,90578,90580,90582,90584,90586,90588,90590],{"class":169,"line":289},[167,90575,1828],{"class":173},[167,90577,1831],{"class":219},[167,90579,1834],{"class":173},[167,90581,35447],{"class":201},[167,90583,1840],{"class":173},[167,90585,35452],{"class":219},[167,90587,35455],{"class":173},[167,90589,390],{"class":219},[167,90591,1852],{"class":173},[167,90593,90594,90596,90598,90600,90602,90604,90606,90608,90610],{"class":169,"line":294},[167,90595,1828],{"class":173},[167,90597,1849],{"class":219},[167,90599,1834],{"class":173},[167,90601,35470],{"class":201},[167,90603,1840],{"class":173},[167,90605,35475],{"class":219},[167,90607,35455],{"class":173},[167,90609,3388],{"class":219},[167,90611,1852],{"class":173},[167,90613,90614,90616,90618,90620,90622,90624,90626,90628,90630],{"class":169,"line":304},[167,90615,1828],{"class":173},[167,90617,8199],{"class":219},[167,90619,1834],{"class":173},[167,90621,35492],{"class":201},[167,90623,1840],{"class":173},[167,90625,35497],{"class":219},[167,90627,35455],{"class":173},[167,90629,390],{"class":219},[167,90631,1852],{"class":173},[167,90633,90634],{"class":169,"line":313},[167,90635,28541],{"class":173},[167,90637,90638],{"class":169,"line":161},[167,90639,209],{"emptyLinePlaceholder":208},[167,90641,90642,90644,90646,90648,90650,90652],{"class":169,"line":335},[167,90643,216],{"class":191},[167,90645,35518],{"class":219},[167,90647,223],{"class":191},[167,90649,1894],{"class":181},[167,90651,1488],{"class":173},[167,90653,9713],{"class":191},[167,90655,90656,90658,90660,90662,90664,90666,90668],{"class":169,"line":341},[167,90657,35531],{"class":173},[167,90659,8248],{"class":181},[167,90661,1914],{"class":173},[167,90663,15],{"class":254},[167,90665,693],{"class":173},[167,90667,639],{"class":191},[167,90669,1901],{"class":173},[167,90671,90672,90674,90676],{"class":169,"line":489},[167,90673,8262],{"class":191},[167,90675,35550],{"class":219},[167,90677,35553],{"class":191},[167,90679,90680,90682,90684,90686,90688,90690,90692],{"class":169,"line":495},[167,90681,35558],{"class":173},[167,90683,2502],{"class":181},[167,90685,2499],{"class":173},[167,90687,8286],{"class":181},[167,90689,35567],{"class":173},[167,90691,2502],{"class":181},[167,90693,35572],{"class":173},[167,90695,90696,90698,90700],{"class":169,"line":501},[167,90697,8262],{"class":191},[167,90699,35579],{"class":219},[167,90701,35553],{"class":191},[167,90703,90704,90706,90708,90710,90712,90714,90716],{"class":169,"line":512},[167,90705,35586],{"class":173},[167,90707,35589],{"class":191},[167,90709,6563],{"class":219},[167,90711,35594],{"class":191},[167,90713,35597],{"class":173},[167,90715,1987],{"class":191},[167,90717,35602],{"class":173},[167,90719,90720,90722,90724,90726,90728,90730,90732],{"class":169,"line":781},[167,90721,8262],{"class":191},[167,90723,35609],{"class":219},[167,90725,223],{"class":191},[167,90727,5621],{"class":191},[167,90729,35616],{"class":173},[167,90731,4260],{"class":191},[167,90733,35621],{"class":173},[167,90735,90736],{"class":169,"line":786},[167,90737,209],{"emptyLinePlaceholder":208},[167,90739,90740,90742,90744,90746,90748,90750],{"class":169,"line":2674},[167,90741,1933],{"class":191},[167,90743,35632],{"class":173},[167,90745,8335],{"class":191},[167,90747,35637],{"class":173},[167,90749,8335],{"class":191},[167,90751,35642],{"class":173},[167,90753,90754],{"class":169,"line":2688},[167,90755,8343],{"class":173},[167,90757,90758],{"class":169,"line":3571},[167,90759,24165],{"class":173},[167,90761,90762,90764,90766],{"class":169,"line":5024},[167,90763,282],{"class":173},[167,90765,178],{"class":177},[167,90767,185],{"class":173},[167,90769,90770],{"class":169,"line":5033},[167,90771,209],{"emptyLinePlaceholder":208},[167,90773,90774,90776,90778],{"class":169,"line":5042},[167,90775,174],{"class":173},[167,90777,299],{"class":177},[167,90779,185],{"class":173},[167,90781,90782,90784,90786],{"class":169,"line":6752},[167,90783,307],{"class":173},[167,90785,10113],{"class":177},[167,90787,185],{"class":173},[167,90789,90790,90792,90794,90796,90798],{"class":169,"line":6774},[167,90791,1252],{"class":173},[167,90793,22],{"class":177},[167,90795,35687],{"class":173},[167,90797,22],{"class":177},[167,90799,185],{"class":173},[167,90801,90802],{"class":169,"line":6779},[167,90803,209],{"emptyLinePlaceholder":208},[167,90805,90806,90808,90810,90812,90814,90816],{"class":169,"line":6784},[167,90807,1252],{"class":173},[167,90809,35162],{"class":177},[167,90811,2649],{"class":181},[167,90813,267],{"class":173},[167,90815,2654],{"class":201},[167,90817,5321],{"class":173},[167,90819,90820],{"class":169,"line":6789},[167,90821,209],{"emptyLinePlaceholder":208},[167,90823,90824,90826,90828],{"class":169,"line":6805},[167,90825,1252],{"class":173},[167,90827,9871],{"class":177},[167,90829,185],{"class":173},[167,90831,90832],{"class":169,"line":6820},[167,90833,35726],{"class":173},[167,90835,90836,90838,90840,90842,90844,90846,90848,90850,90852,90854,90856,90858],{"class":169,"line":6825},[167,90837,1263],{"class":173},[167,90839,2646],{"class":177},[167,90841,34716],{"class":181},[167,90843,267],{"class":173},[167,90845,35739],{"class":201},[167,90847,1169],{"class":181},[167,90849,267],{"class":173},[167,90851,34728],{"class":201},[167,90853,34731],{"class":181},[167,90855,267],{"class":173},[167,90857,34736],{"class":201},[167,90859,5321],{"class":173},[167,90861,90862,90864,90866],{"class":169,"line":6832},[167,90863,1287],{"class":173},[167,90865,9871],{"class":177},[167,90867,185],{"class":173},[167,90869,90870],{"class":169,"line":6841},[167,90871,209],{"emptyLinePlaceholder":208},[167,90873,90874,90876,90878],{"class":169,"line":6850},[167,90875,1252],{"class":173},[167,90877,9871],{"class":177},[167,90879,185],{"class":173},[167,90881,90882,90884,90886,90888,90890,90892,90894,90896,90898],{"class":169,"line":6857},[167,90883,1263],{"class":173},[167,90885,2646],{"class":177},[167,90887,2649],{"class":181},[167,90889,267],{"class":173},[167,90891,35786],{"class":201},[167,90893,1169],{"class":181},[167,90895,267],{"class":173},[167,90897,34998],{"class":201},[167,90899,5321],{"class":173},[167,90901,90902],{"class":169,"line":6875},[167,90903,35799],{"class":173},[167,90905,90906,90908,90910],{"class":169,"line":6880},[167,90907,1287],{"class":173},[167,90909,9871],{"class":177},[167,90911,185],{"class":173},[167,90913,90914],{"class":169,"line":6885},[167,90915,209],{"emptyLinePlaceholder":208},[167,90917,90918,90920,90922],{"class":169,"line":6894},[167,90919,1252],{"class":173},[167,90921,33],{"class":177},[167,90923,185],{"class":173},[167,90925,90926,90928,90930,90932,90934,90936,90938,90940,90942],{"class":169,"line":6899},[167,90927,1263],{"class":173},[167,90929,36],{"class":177},[167,90931,18702],{"class":181},[167,90933,267],{"class":173},[167,90935,35832],{"class":201},[167,90937,10303],{"class":181},[167,90939,267],{"class":173},[167,90941,35839],{"class":201},[167,90943,185],{"class":173},[167,90945,90946],{"class":169,"line":6908},[167,90947,35846],{"class":173},[167,90949,90950,90952,90954,90956,90958,90960,90962,90964],{"class":169,"line":6924},[167,90951,32512],{"class":173},[167,90953,167],{"class":177},[167,90955,5690],{"class":181},[167,90957,267],{"class":173},[167,90959,35859],{"class":201},[167,90961,35862],{"class":173},[167,90963,167],{"class":177},[167,90965,185],{"class":173},[167,90967,90968,90970,90972],{"class":169,"line":6945},[167,90969,10166],{"class":173},[167,90971,36],{"class":177},[167,90973,185],{"class":173},[167,90975,90976,90978,90980],{"class":169,"line":6950},[167,90977,1287],{"class":173},[167,90979,33],{"class":177},[167,90981,185],{"class":173},[167,90983,90984,90986,90988],{"class":169,"line":6971},[167,90985,504],{"class":173},[167,90987,10113],{"class":177},[167,90989,185],{"class":173},[167,90991,90992,90994,90996],{"class":169,"line":6985},[167,90993,282],{"class":173},[167,90995,299],{"class":177},[167,90997,185],{"class":173},[3083,90999,33275],{"id":33274},[15,91001,35903,91002,1023,91004,583],{},[87,91003,34045],{},[87,91005,34051],{},[154,91007,91008],{"className":156,"code":35910,"filename":35170,"language":162,"meta":163,"style":163},[87,91009,91010,91024,91032,91040,91044,91048,91052,91060,91064,91068,91076,91080,91088,91092,91100,91114,91118,91124,91132,91140,91148,91156,91160,91168],{"__ignoreMap":163},[167,91011,91012,91014,91016,91018,91020,91022],{"class":169,"line":170},[167,91013,174],{"class":173},[167,91015,178],{"class":177},[167,91017,1045],{"class":181},[167,91019,267],{"class":173},[167,91021,1050],{"class":201},[167,91023,185],{"class":173},[167,91025,91026,91028,91030],{"class":169,"line":188},[167,91027,608],{"class":191},[167,91029,3987],{"class":191},[167,91031,1901],{"class":173},[167,91033,91034,91036,91038],{"class":169,"line":205},[167,91035,4394],{"class":173},[167,91037,35941],{"class":201},[167,91039,393],{"class":173},[167,91041,91042],{"class":169,"line":160},[167,91043,3995],{"class":173},[167,91045,91046],{"class":169,"line":238},[167,91047,35952],{"class":173},[167,91049,91050],{"class":169,"line":243},[167,91051,4007],{"class":173},[167,91053,91054,91056,91058],{"class":169,"line":261},[167,91055,4037],{"class":173},[167,91057,31157],{"class":201},[167,91059,393],{"class":173},[167,91061,91062],{"class":169,"line":273},[167,91063,755],{"class":173},[167,91065,91066],{"class":169,"line":279},[167,91067,398],{"class":173},[167,91069,91070,91072,91074],{"class":169,"line":289},[167,91071,4405],{"class":173},[167,91073,35979],{"class":201},[167,91075,4410],{"class":173},[167,91077,91078],{"class":169,"line":294},[167,91079,24144],{"class":173},[167,91081,91082,91084,91086],{"class":169,"line":304},[167,91083,282],{"class":173},[167,91085,178],{"class":177},[167,91087,185],{"class":173},[167,91089,91090],{"class":169,"line":313},[167,91091,209],{"emptyLinePlaceholder":208},[167,91093,91094,91096,91098],{"class":169,"line":161},[167,91095,174],{"class":173},[167,91097,299],{"class":177},[167,91099,185],{"class":173},[167,91101,91102,91104,91106,91108,91110,91112],{"class":169,"line":335},[167,91103,307],{"class":173},[167,91105,9871],{"class":177},[167,91107,1240],{"class":181},[167,91109,267],{"class":173},[167,91111,35246],{"class":201},[167,91113,185],{"class":173},[167,91115,91116],{"class":169,"line":341},[167,91117,35253],{"class":173},[167,91119,91120,91122],{"class":169,"line":489},[167,91121,1252],{"class":173},[167,91123,17477],{"class":177},[167,91125,91126,91128,91130],{"class":169,"line":495},[167,91127,36034],{"class":181},[167,91129,267],{"class":173},[167,91131,36039],{"class":201},[167,91133,91134,91136,91138],{"class":169,"line":501},[167,91135,3735],{"class":181},[167,91137,267],{"class":173},[167,91139,35279],{"class":201},[167,91141,91142,91144,91146],{"class":169,"line":512},[167,91143,17500],{"class":181},[167,91145,267],{"class":173},[167,91147,35288],{"class":201},[167,91149,91150,91152,91154],{"class":169,"line":781},[167,91151,36060],{"class":181},[167,91153,267],{"class":173},[167,91155,36065],{"class":201},[167,91157,91158],{"class":169,"line":786},[167,91159,35293],{"class":173},[167,91161,91162,91164,91166],{"class":169,"line":2674},[167,91163,504],{"class":173},[167,91165,9871],{"class":177},[167,91167,185],{"class":173},[167,91169,91170,91172,91174],{"class":169,"line":2688},[167,91171,282],{"class":173},[167,91173,299],{"class":177},[167,91175,185],{"class":173},[154,91177,91178],{"className":156,"code":36088,"filename":35313,"language":162,"meta":163,"style":163},[87,91179,91180,91194,91206,91210,91218,91226,91230,91236,91242,91250,91258,91266,91270,91290,91310,91330,91334,91338,91342,91346,91352,91372,91382,91390,91406,91414,91438,91456,91460,91474,91478,91482,91486,91490,91498,91502,91510,91518,91530,91534,91548,91552,91560,91564,91590,91598,91602,91610,91630,91634,91642,91646,91654,91674,91678,91696,91704,91712,91720],{"__ignoreMap":163},[167,91181,91182,91184,91186,91188,91190,91192],{"class":169,"line":170},[167,91183,174],{"class":173},[167,91185,178],{"class":177},[167,91187,1045],{"class":181},[167,91189,267],{"class":173},[167,91191,1050],{"class":201},[167,91193,185],{"class":173},[167,91195,91196,91198,91200,91202,91204],{"class":169,"line":188},[167,91197,192],{"class":191},[167,91199,35350],{"class":173},[167,91201,198],{"class":191},[167,91203,35355],{"class":201},[167,91205,24040],{"class":173},[167,91207,91208],{"class":169,"line":205},[167,91209,209],{"emptyLinePlaceholder":208},[167,91211,91212,91214,91216],{"class":169,"line":160},[167,91213,608],{"class":191},[167,91215,3987],{"class":191},[167,91217,1901],{"class":173},[167,91219,91220,91222,91224],{"class":169,"line":238},[167,91221,4394],{"class":173},[167,91223,36135],{"class":201},[167,91225,393],{"class":173},[167,91227,91228],{"class":169,"line":243},[167,91229,36142],{"class":173},[167,91231,91232,91234],{"class":169,"line":261},[167,91233,7172],{"class":181},[167,91235,763],{"class":173},[167,91237,91238,91240],{"class":169,"line":273},[167,91239,1933],{"class":191},[167,91241,1901],{"class":173},[167,91243,91244,91246,91248],{"class":169,"line":279},[167,91245,36159],{"class":173},[167,91247,31157],{"class":201},[167,91249,393],{"class":173},[167,91251,91252,91254,91256],{"class":169,"line":289},[167,91253,36168],{"class":173},[167,91255,6569],{"class":219},[167,91257,393],{"class":173},[167,91259,91260,91262,91264],{"class":169,"line":294},[167,91261,36177],{"class":173},[167,91263,3388],{"class":219},[167,91265,393],{"class":173},[167,91267,91268],{"class":169,"line":304},[167,91269,36186],{"class":173},[167,91271,91272,91274,91276,91278,91280,91282,91284,91286,91288],{"class":169,"line":313},[167,91273,8673],{"class":173},[167,91275,1831],{"class":219},[167,91277,1834],{"class":173},[167,91279,35447],{"class":201},[167,91281,1840],{"class":173},[167,91283,35452],{"class":219},[167,91285,35455],{"class":173},[167,91287,390],{"class":219},[167,91289,1852],{"class":173},[167,91291,91292,91294,91296,91298,91300,91302,91304,91306,91308],{"class":169,"line":161},[167,91293,8673],{"class":173},[167,91295,1849],{"class":219},[167,91297,1834],{"class":173},[167,91299,35470],{"class":201},[167,91301,1840],{"class":173},[167,91303,35475],{"class":219},[167,91305,35455],{"class":173},[167,91307,3388],{"class":219},[167,91309,1852],{"class":173},[167,91311,91312,91314,91316,91318,91320,91322,91324,91326,91328],{"class":169,"line":335},[167,91313,8673],{"class":173},[167,91315,8199],{"class":219},[167,91317,1834],{"class":173},[167,91319,35492],{"class":201},[167,91321,1840],{"class":173},[167,91323,35497],{"class":219},[167,91325,35455],{"class":173},[167,91327,390],{"class":219},[167,91329,1852],{"class":173},[167,91331,91332],{"class":169,"line":341},[167,91333,16110],{"class":173},[167,91335,91336],{"class":169,"line":489},[167,91337,24366],{"class":173},[167,91339,91340],{"class":169,"line":495},[167,91341,398],{"class":173},[167,91343,91344],{"class":169,"line":501},[167,91345,8751],{"class":173},[167,91347,91348,91350],{"class":169,"line":512},[167,91349,36267],{"class":181},[167,91351,763],{"class":173},[167,91353,91354,91356,91358,91360,91362,91364,91366,91368,91370],{"class":169,"line":781},[167,91355,8763],{"class":191},[167,91357,7347],{"class":219},[167,91359,36278],{"class":173},[167,91361,8248],{"class":181},[167,91363,1914],{"class":173},[167,91365,15],{"class":254},[167,91367,693],{"class":173},[167,91369,639],{"class":191},[167,91371,1901],{"class":173},[167,91373,91374,91376,91378,91380],{"class":169,"line":786},[167,91375,8783],{"class":191},[167,91377,35550],{"class":219},[167,91379,223],{"class":191},[167,91381,36301],{"class":173},[167,91383,91384,91386,91388],{"class":169,"line":2674},[167,91385,8794],{"class":173},[167,91387,2502],{"class":181},[167,91389,2913],{"class":173},[167,91391,91392,91394,91396,91398,91400,91402,91404],{"class":169,"line":2688},[167,91393,8794],{"class":173},[167,91395,8286],{"class":181},[167,91397,229],{"class":173},[167,91399,4923],{"class":219},[167,91401,36322],{"class":173},[167,91403,2502],{"class":181},[167,91405,35572],{"class":173},[167,91407,91408,91410,91412],{"class":169,"line":3571},[167,91409,8783],{"class":191},[167,91411,35579],{"class":219},[167,91413,35553],{"class":191},[167,91415,91416,91418,91420,91422,91424,91426,91428,91430,91432,91434,91436],{"class":169,"line":5024},[167,91417,36339],{"class":219},[167,91419,36342],{"class":173},[167,91421,35589],{"class":191},[167,91423,6563],{"class":219},[167,91425,35594],{"class":191},[167,91427,35597],{"class":173},[167,91429,1987],{"class":191},[167,91431,36355],{"class":181},[167,91433,229],{"class":173},[167,91435,4923],{"class":219},[167,91437,36362],{"class":173},[167,91439,91440,91442,91444,91446,91448,91450,91452,91454],{"class":169,"line":5033},[167,91441,8783],{"class":191},[167,91443,35609],{"class":219},[167,91445,223],{"class":191},[167,91447,5621],{"class":191},[167,91449,4923],{"class":219},[167,91451,36377],{"class":173},[167,91453,4260],{"class":191},[167,91455,35621],{"class":173},[167,91457,91458],{"class":169,"line":5042},[167,91459,209],{"emptyLinePlaceholder":208},[167,91461,91462,91464,91466,91468,91470,91472],{"class":169,"line":6752},[167,91463,8851],{"class":191},[167,91465,35632],{"class":173},[167,91467,8335],{"class":191},[167,91469,35637],{"class":173},[167,91471,8335],{"class":191},[167,91473,35642],{"class":173},[167,91475,91476],{"class":169,"line":6774},[167,91477,36404],{"class":173},[167,91479,91480],{"class":169,"line":6779},[167,91481,755],{"class":173},[167,91483,91484],{"class":169,"line":6784},[167,91485,398],{"class":173},[167,91487,91488],{"class":169,"line":6789},[167,91489,24144],{"class":173},[167,91491,91492,91494,91496],{"class":169,"line":6805},[167,91493,282],{"class":173},[167,91495,178],{"class":177},[167,91497,185],{"class":173},[167,91499,91500],{"class":169,"line":6820},[167,91501,209],{"emptyLinePlaceholder":208},[167,91503,91504,91506,91508],{"class":169,"line":6825},[167,91505,174],{"class":173},[167,91507,299],{"class":177},[167,91509,185],{"class":173},[167,91511,91512,91514,91516],{"class":169,"line":6832},[167,91513,307],{"class":173},[167,91515,10113],{"class":177},[167,91517,185],{"class":173},[167,91519,91520,91522,91524,91526,91528],{"class":169,"line":6841},[167,91521,1252],{"class":173},[167,91523,22],{"class":177},[167,91525,35687],{"class":173},[167,91527,22],{"class":177},[167,91529,185],{"class":173},[167,91531,91532],{"class":169,"line":6850},[167,91533,209],{"emptyLinePlaceholder":208},[167,91535,91536,91538,91540,91542,91544,91546],{"class":169,"line":6857},[167,91537,1252],{"class":173},[167,91539,35162],{"class":177},[167,91541,2649],{"class":181},[167,91543,267],{"class":173},[167,91545,2654],{"class":201},[167,91547,5321],{"class":173},[167,91549,91550],{"class":169,"line":6875},[167,91551,209],{"emptyLinePlaceholder":208},[167,91553,91554,91556,91558],{"class":169,"line":6880},[167,91555,1252],{"class":173},[167,91557,9871],{"class":177},[167,91559,185],{"class":173},[167,91561,91562],{"class":169,"line":6885},[167,91563,35726],{"class":173},[167,91565,91566,91568,91570,91572,91574,91576,91578,91580,91582,91584,91586,91588],{"class":169,"line":6894},[167,91567,1263],{"class":173},[167,91569,2646],{"class":177},[167,91571,34716],{"class":181},[167,91573,267],{"class":173},[167,91575,35739],{"class":201},[167,91577,1169],{"class":181},[167,91579,267],{"class":173},[167,91581,34728],{"class":201},[167,91583,34731],{"class":181},[167,91585,267],{"class":173},[167,91587,34736],{"class":201},[167,91589,5321],{"class":173},[167,91591,91592,91594,91596],{"class":169,"line":6899},[167,91593,1287],{"class":173},[167,91595,9871],{"class":177},[167,91597,185],{"class":173},[167,91599,91600],{"class":169,"line":6908},[167,91601,209],{"emptyLinePlaceholder":208},[167,91603,91604,91606,91608],{"class":169,"line":6924},[167,91605,1252],{"class":173},[167,91607,9871],{"class":177},[167,91609,185],{"class":173},[167,91611,91612,91614,91616,91618,91620,91622,91624,91626,91628],{"class":169,"line":6945},[167,91613,1263],{"class":173},[167,91615,2646],{"class":177},[167,91617,2649],{"class":181},[167,91619,267],{"class":173},[167,91621,35786],{"class":201},[167,91623,1169],{"class":181},[167,91625,267],{"class":173},[167,91627,34998],{"class":201},[167,91629,5321],{"class":173},[167,91631,91632],{"class":169,"line":6950},[167,91633,35799],{"class":173},[167,91635,91636,91638,91640],{"class":169,"line":6971},[167,91637,1287],{"class":173},[167,91639,9871],{"class":177},[167,91641,185],{"class":173},[167,91643,91644],{"class":169,"line":6985},[167,91645,209],{"emptyLinePlaceholder":208},[167,91647,91648,91650,91652],{"class":169,"line":6999},[167,91649,1252],{"class":173},[167,91651,33],{"class":177},[167,91653,185],{"class":173},[167,91655,91656,91658,91660,91662,91664,91666,91668,91670,91672],{"class":169,"line":7013},[167,91657,1263],{"class":173},[167,91659,36],{"class":177},[167,91661,18702],{"class":181},[167,91663,267],{"class":173},[167,91665,35832],{"class":201},[167,91667,10303],{"class":181},[167,91669,267],{"class":173},[167,91671,35839],{"class":201},[167,91673,185],{"class":173},[167,91675,91676],{"class":169,"line":7022},[167,91677,35846],{"class":173},[167,91679,91680,91682,91684,91686,91688,91690,91692,91694],{"class":169,"line":7027},[167,91681,32512],{"class":173},[167,91683,167],{"class":177},[167,91685,5690],{"class":181},[167,91687,267],{"class":173},[167,91689,35859],{"class":201},[167,91691,35862],{"class":173},[167,91693,167],{"class":177},[167,91695,185],{"class":173},[167,91697,91698,91700,91702],{"class":169,"line":7044},[167,91699,10166],{"class":173},[167,91701,36],{"class":177},[167,91703,185],{"class":173},[167,91705,91706,91708,91710],{"class":169,"line":7053},[167,91707,1287],{"class":173},[167,91709,33],{"class":177},[167,91711,185],{"class":173},[167,91713,91714,91716,91718],{"class":169,"line":7551},[167,91715,504],{"class":173},[167,91717,10113],{"class":177},[167,91719,185],{"class":173},[167,91721,91722,91724,91726],{"class":169,"line":7556},[167,91723,282],{"class":173},[167,91725,299],{"class":177},[167,91727,185],{"class":173},[22,91729,7674],{"id":7673},[15,91731,91732,36661],{},[87,91733,23861],{},[15,91735,36664],{},[15,91737,27692],{},[33,91739,91740,91744,91752,91760],{},[36,91741,36671,91742,36674],{},[87,91743,33968],{},[36,91745,36677,91746,11223,91748,34220,91750,1675],{},[87,91747,34045],{},[87,91749,34051],{},[87,91751,34223],{},[36,91753,36686,91754,1020,91756,1020,91758,36693],{},[87,91755,34070],{},[87,91757,34075],{},[87,91759,34080],{},[36,91761,36696],{},[924,91763,1604],{},{"title":163,"searchDepth":188,"depth":188,"links":91765},[91766,91767,91771,91772,91773,91779,91780,91781,91782,91786],{"id":26498,"depth":188,"text":26499},{"id":6252,"depth":188,"text":6253,"children":91768},[91769,91770],{"id":33988,"depth":205,"text":33989},{"id":34033,"depth":205,"text":34034},{"id":6317,"depth":188,"text":6318},{"id":6344,"depth":188,"text":6345},{"id":3080,"depth":188,"text":3081,"children":91774},[91775,91776,91777,91778],{"id":34151,"depth":205,"text":34152},{"id":34231,"depth":205,"text":36712},{"id":34304,"depth":205,"text":34305},{"id":34333,"depth":205,"text":34334},{"id":34345,"depth":188,"text":34346},{"id":34606,"depth":188,"text":36717},{"id":34893,"depth":188,"text":34894},{"id":35154,"depth":188,"text":35155,"children":91783},[91784,91785],{"id":32687,"depth":205,"text":32688},{"id":33274,"depth":205,"text":33275},{"id":7673,"depth":188,"text":7674},{"updatedAt":36729,"coverCaption":23652,"author":945,"keywords":91788},[3254,23861,36731,36732,3256,3969],[91790],{"headline":36736,"author":91791,"datePublished":36729,"@type":959},{"name":945,"@type":958},{"title":33935,"description":36727},[91794,91795,91796,91797],{"tag":26462,"color":26463},{"tag":36743,"color":36744},{"tag":3265,"color":3266},{"tag":5420,"color":5421},{"id":36749,"title":36750,"body":91799,"cover":39745,"coverAlt":39746,"date":39747,"description":39748,"draft":1617,"extension":940,"lab":941,"locale":942,"meta":94585,"navigation":208,"path":39754,"schemaOrg":94587,"seo":94590,"series":26456,"seriesDescription":26457,"seriesOrder":238,"seriesTitle":26458,"slug":941,"stem":39760,"tags":94591,"__hash__":39765},{"type":8,"value":91800,"toc":94565},[91801,91805,91811,91813,91819,91827,91833,91835,91837,91867,91869,91897,91901,91939,91941,91945,91947,91969,91971,91975,91985,91989,91991,91993,91995,92025,92029,92057,92061,92063,92087,92089,92117,92123,92125,92127,92185,92187,92215,92217,92221,92223,92249,92251,92277,92281,92283,92285,92386,92493,92497,92691,92899,92901,93033,93177,93179,93292,93421,93423,93425,93439,94011,94535,94537,94541,94543,94563],[11,91802,26479,91803],{"id":36755},[87,91804,23867],{},[15,91806,91807,36762,91809,36765],{},[87,91808,23867],{},[87,91810,23867],{},[22,91812,26499],{"id":26498},[15,91814,21840,91815,36772,91817,36775],{},[87,91816,23867],{},[87,91818,23867],{},[33,91820,91821,91823,91825],{},[36,91822,36780],{},[36,91824,36783],{},[36,91826,36786],{},[5363,91828,91829],{},[15,91830,91831,36793],{},[87,91832,23867],{},[22,91834,30496],{"id":30495},[15,91836,36798],{},[154,91838,91839],{"className":156,"code":36801,"filename":15280,"language":162,"meta":163,"style":163},[87,91840,91841],{"__ignoreMap":163},[167,91842,91843,91845,91847,91849,91851,91853,91855,91857,91859,91861,91863,91865],{"class":169,"line":170},[167,91844,174],{"class":173},[167,91846,507],{"class":177},[167,91848,36812],{"class":181},[167,91850,583],{"class":173},[167,91852,36817],{"class":181},[167,91854,267],{"class":173},[167,91856,5076],{"class":201},[167,91858,36824],{"class":173},[167,91860,5076],{"class":201},[167,91862,36829],{"class":173},[167,91864,507],{"class":177},[167,91866,185],{"class":173},[15,91868,36836],{},[154,91870,91871],{"className":156,"code":36839,"filename":15280,"language":162,"meta":163,"style":163},[87,91872,91873],{"__ignoreMap":163},[167,91874,91875,91877,91879,91881,91883,91885,91887,91889,91891,91893,91895],{"class":169,"line":170},[167,91876,174],{"class":173},[167,91878,507],{"class":177},[167,91880,36850],{"class":173},[167,91882,36817],{"class":181},[167,91884,267],{"class":173},[167,91886,5076],{"class":201},[167,91888,36824],{"class":173},[167,91890,5076],{"class":201},[167,91892,36829],{"class":173},[167,91894,507],{"class":177},[167,91896,185],{"class":173},[15,91898,91899,36871],{},[87,91900,23867],{},[33,91902,91903,91913,91919,91929],{},[36,91904,36876,91905,1020,91907,1020,91909,1020,91911,4266],{},[87,91906,36817],{},[87,91908,2646],{},[87,91910,36883],{},[87,91912,36886],{},[36,91914,36889,91915,1020,91917,4266],{},[87,91916,36892],{},[87,91918,36895],{},[36,91920,36898,91921,1020,91923,1020,91925,1020,91927,4266],{},[87,91922,36901],{},[87,91924,36904],{},[87,91926,36907],{},[87,91928,36910],{},[36,91930,36913,91931,1020,91933,36920,91935,1020,91937,7859],{},[87,91932,36916],{},[87,91934,36919],{},[87,91936,36923],{},[87,91938,36926],{},[22,91940,6318],{"id":6317},[15,91942,1577,91943,36933],{},[87,91944,23867],{},[15,91946,9304],{},[33,91948,91949,91953,91957,91961,91965],{},[36,91950,36940,91951,4266],{},[87,91952,36943],{},[36,91954,36946,91955,4266],{},[87,91956,36949],{},[36,91958,36952,91959,4266],{},[87,91960,36955],{},[36,91962,23698,91963,4266],{},[87,91964,36960],{},[36,91966,36963,91967,4266],{},[87,91968,36966],{},[22,91970,6345],{"id":6344},[15,91972,13618,91973,36973],{},[87,91974,23867],{},[33,91976,91977,91979,91983],{},[36,91978,36978],{},[36,91980,36981,91981,1675],{},[87,91982,1657],{},[36,91984,36986],{},[5363,91986,91987],{},[15,91988,36991],{},[22,91990,3081],{"id":3080},[3083,91992,36997],{"id":36996},[15,91994,30734],{},[154,91996,91997],{"className":156,"code":37002,"filename":34158,"language":162,"meta":163,"style":163},[87,91998,91999],{"__ignoreMap":163},[167,92000,92001,92003,92005,92007,92009,92011,92013,92015,92017,92019,92021,92023],{"class":169,"line":170},[167,92002,174],{"class":173},[167,92004,507],{"class":177},[167,92006,36850],{"class":173},[167,92008,36817],{"class":181},[167,92010,267],{"class":173},[167,92012,5076],{"class":201},[167,92014,37021],{"class":181},[167,92016,34263],{"class":173},[167,92018,5076],{"class":201},[167,92020,37028],{"class":173},[167,92022,507],{"class":177},[167,92024,185],{"class":173},[15,92026,37035,92027,37039],{},[3929,92028,37038],{},[154,92030,92031],{"className":156,"code":37042,"filename":34281,"language":162,"meta":163,"style":163},[87,92032,92033],{"__ignoreMap":163},[167,92034,92035,92037,92039,92041,92043,92045,92047,92049,92051,92053,92055],{"class":169,"line":170},[167,92036,174],{"class":173},[167,92038,507],{"class":177},[167,92040,36850],{"class":173},[167,92042,36817],{"class":181},[167,92044,267],{"class":173},[167,92046,5076],{"class":201},[167,92048,37021],{"class":173},[167,92050,5076],{"class":201},[167,92052,37028],{"class":173},[167,92054,507],{"class":177},[167,92056,185],{"class":173},[3083,92058,37072,92059,37075],{"id":37071},[87,92060,36901],{},[15,92062,30734],{},[154,92064,92065],{"className":156,"code":37080,"filename":34158,"language":162,"meta":163,"style":163},[87,92066,92067],{"__ignoreMap":163},[167,92068,92069,92071,92073,92075,92077,92079,92081,92083,92085],{"class":169,"line":170},[167,92070,174],{"class":173},[167,92072,4301],{"class":177},[167,92074,36850],{"class":173},[167,92076,36883],{"class":181},[167,92078,267],{"class":173},[167,92080,5076],{"class":201},[167,92082,37099],{"class":173},[167,92084,5076],{"class":201},[167,92086,185],{"class":173},[15,92088,34277],{},[154,92090,92091],{"className":156,"code":37108,"filename":34281,"language":162,"meta":163,"style":163},[87,92092,92093],{"__ignoreMap":163},[167,92094,92095,92097,92099,92101,92103,92105,92107,92109,92111,92113,92115],{"class":169,"line":170},[167,92096,174],{"class":173},[167,92098,4301],{"class":177},[167,92100,36850],{"class":173},[167,92102,36883],{"class":181},[167,92104,1675],{"class":173},[167,92106,37125],{"class":181},[167,92108,267],{"class":173},[167,92110,5076],{"class":201},[167,92112,37099],{"class":173},[167,92114,5076],{"class":201},[167,92116,185],{"class":173},[5363,92118,92119],{},[15,92120,21840,92121,37142],{},[87,92122,36901],{},[3083,92124,37146],{"id":37145},[15,92126,37149],{},[154,92128,92129],{"className":156,"code":37152,"filename":34158,"language":162,"meta":163,"style":163},[87,92130,92131,92173,92177],{"__ignoreMap":163},[167,92132,92133,92135,92137,92139,92141,92143,92145,92147,92149,92151,92153,92155,92157,92159,92161,92163,92165,92167,92169,92171],{"class":169,"line":170},[167,92134,174],{"class":173},[167,92136,507],{"class":177},[167,92138,36850],{"class":173},[167,92140,36817],{"class":181},[167,92142,267],{"class":173},[167,92144,5076],{"class":201},[167,92146,37171],{"class":173},[167,92148,8335],{"class":191},[167,92150,37176],{"class":173},[167,92152,8335],{"class":191},[167,92154,5621],{"class":191},[167,92156,37183],{"class":173},[167,92158,8312],{"class":191},[167,92160,37188],{"class":181},[167,92162,14083],{"class":173},[167,92164,583],{"class":191},[167,92166,37195],{"class":181},[167,92168,34263],{"class":173},[167,92170,5076],{"class":201},[167,92172,185],{"class":173},[167,92174,92175],{"class":169,"line":188},[167,92176,37206],{"class":173},[167,92178,92179,92181,92183],{"class":169,"line":205},[167,92180,282],{"class":173},[167,92182,507],{"class":177},[167,92184,185],{"class":173},[15,92186,37217],{},[154,92188,92189],{"className":156,"code":37220,"filename":34281,"language":162,"meta":163,"style":163},[87,92190,92191],{"__ignoreMap":163},[167,92192,92193,92195,92197,92199,92201,92203,92205,92207,92209,92211,92213],{"class":169,"line":170},[167,92194,174],{"class":173},[167,92196,507],{"class":177},[167,92198,36850],{"class":173},[167,92200,36817],{"class":181},[167,92202,267],{"class":173},[167,92204,5076],{"class":201},[167,92206,37239],{"class":173},[167,92208,5076],{"class":201},[167,92210,37244],{"class":173},[167,92212,507],{"class":177},[167,92214,185],{"class":173},[15,92216,37251],{},[3083,92218,37255,92219,37258],{"id":37254},[87,92220,4191],{},[15,92222,30734],{},[154,92224,92225],{"className":156,"code":37263,"filename":34158,"language":162,"meta":163,"style":163},[87,92226,92227],{"__ignoreMap":163},[167,92228,92229,92231,92233,92235,92237,92239,92241,92243,92245,92247],{"class":169,"line":170},[167,92230,174],{"class":173},[167,92232,2646],{"class":177},[167,92234,36850],{"class":173},[167,92236,2646],{"class":181},[167,92238,267],{"class":173},[167,92240,5076],{"class":201},[167,92242,37282],{"class":181},[167,92244,37285],{"class":173},[167,92246,5076],{"class":201},[167,92248,5321],{"class":173},[15,92250,34277],{},[154,92252,92253],{"className":156,"code":37294,"filename":34281,"language":162,"meta":163,"style":163},[87,92254,92255],{"__ignoreMap":163},[167,92256,92257,92259,92261,92263,92265,92267,92269,92271,92273,92275],{"class":169,"line":170},[167,92258,174],{"class":173},[167,92260,2646],{"class":177},[167,92262,36850],{"class":173},[167,92264,2646],{"class":181},[167,92266,267],{"class":173},[167,92268,5076],{"class":201},[167,92270,37282],{"class":181},[167,92272,37315],{"class":173},[167,92274,5076],{"class":201},[167,92276,5321],{"class":173},[15,92278,37322,92279,37325],{},[87,92280,7835],{},[22,92282,7993],{"id":7992},[3083,92284,37331],{"id":37330},[154,92286,92288],{"className":156,"code":37334,"filename":3256,"highlights":92287,"language":162,"meta":163,"style":163},[160,273],[87,92289,92290,92306,92318,92322,92339,92347,92351,92359,92378],{"__ignoreMap":163},[167,92291,92292,92294,92296,92298,92300,92302,92304],{"class":169,"line":170},[167,92293,174],{"class":173},[167,92295,178],{"class":177},[167,92297,182],{"class":181},[167,92299,1045],{"class":181},[167,92301,267],{"class":173},[167,92303,1050],{"class":201},[167,92305,185],{"class":173},[167,92307,92308,92310,92312,92314,92316],{"class":169,"line":188},[167,92309,192],{"class":191},[167,92311,195],{"class":173},[167,92313,198],{"class":191},[167,92315,24037],{"class":201},[167,92317,24040],{"class":173},[167,92319,92320],{"class":169,"line":205},[167,92321,209],{"emptyLinePlaceholder":208},[167,92323,92325,92327,92329,92331,92333,92335,92337],{"class":92324,"line":160},[169,213],[167,92326,216],{"class":191},[167,92328,15321],{"class":219},[167,92330,223],{"class":191},[167,92332,226],{"class":181},[167,92334,229],{"class":173},[167,92336,1956],{"class":219},[167,92338,24165],{"class":173},[167,92340,92341,92343,92345],{"class":169,"line":238},[167,92342,282],{"class":173},[167,92344,178],{"class":177},[167,92346,185],{"class":173},[167,92348,92349],{"class":169,"line":243},[167,92350,209],{"emptyLinePlaceholder":208},[167,92352,92353,92355,92357],{"class":169,"line":261},[167,92354,174],{"class":173},[167,92356,299],{"class":177},[167,92358,185],{"class":173},[167,92360,92362,92364,92366,92368,92370,92372,92374,92376],{"class":92361,"line":273},[169,213],[167,92363,307],{"class":173},[167,92365,507],{"class":177},[167,92367,1177],{"class":181},[167,92369,267],{"class":173},[167,92371,18382],{"class":201},[167,92373,37422],{"class":173},[167,92375,507],{"class":177},[167,92377,185],{"class":173},[167,92379,92380,92382,92384],{"class":169,"line":279},[167,92381,282],{"class":173},[167,92383,299],{"class":177},[167,92385,185],{"class":173},[154,92387,92389],{"className":156,"code":37437,"filename":3969,"highlights":92388,"language":162,"meta":163,"style":163},[238,304],[87,92390,92391,92405,92413,92419,92425,92434,92438,92442,92446,92454,92458,92466,92485],{"__ignoreMap":163},[167,92392,92393,92395,92397,92399,92401,92403],{"class":169,"line":170},[167,92394,174],{"class":173},[167,92396,178],{"class":177},[167,92398,1045],{"class":181},[167,92400,267],{"class":173},[167,92402,1050],{"class":201},[167,92404,185],{"class":173},[167,92406,92407,92409,92411],{"class":169,"line":188},[167,92408,608],{"class":191},[167,92410,3987],{"class":191},[167,92412,1901],{"class":173},[167,92414,92415,92417],{"class":169,"line":205},[167,92416,7172],{"class":181},[167,92418,763],{"class":173},[167,92420,92421,92423],{"class":169,"line":160},[167,92422,1933],{"class":191},[167,92424,1901],{"class":173},[167,92426,92428,92430,92432],{"class":92427,"line":238},[169,213],[167,92429,37480],{"class":173},[167,92431,1956],{"class":219},[167,92433,393],{"class":173},[167,92435,92436],{"class":169,"line":243},[167,92437,24366],{"class":173},[167,92439,92440],{"class":169,"line":261},[167,92441,398],{"class":173},[167,92443,92444],{"class":169,"line":273},[167,92445,24144],{"class":173},[167,92447,92448,92450,92452],{"class":169,"line":279},[167,92449,282],{"class":173},[167,92451,178],{"class":177},[167,92453,185],{"class":173},[167,92455,92456],{"class":169,"line":289},[167,92457,209],{"emptyLinePlaceholder":208},[167,92459,92460,92462,92464],{"class":169,"line":294},[167,92461,174],{"class":173},[167,92463,299],{"class":177},[167,92465,185],{"class":173},[167,92467,92469,92471,92473,92475,92477,92479,92481,92483],{"class":92468,"line":304},[169,213],[167,92470,307],{"class":173},[167,92472,507],{"class":177},[167,92474,1177],{"class":181},[167,92476,267],{"class":173},[167,92478,18382],{"class":201},[167,92480,37422],{"class":173},[167,92482,507],{"class":177},[167,92484,185],{"class":173},[167,92486,92487,92489,92491],{"class":169,"line":313},[167,92488,282],{"class":173},[167,92490,299],{"class":177},[167,92492,185],{"class":173},[3083,92494,37547,92495],{"id":37546},[87,92496,36901],{},[154,92498,92500],{"className":156,"code":37552,"filename":3256,"highlights":92499,"language":162,"meta":163,"style":163},[313],[87,92501,92502,92518,92530,92534,92550,92554,92562,92580,92592,92596,92604,92608,92616,92631,92657,92675,92683],{"__ignoreMap":163},[167,92503,92504,92506,92508,92510,92512,92514,92516],{"class":169,"line":170},[167,92505,174],{"class":173},[167,92507,178],{"class":177},[167,92509,182],{"class":181},[167,92511,1045],{"class":181},[167,92513,267],{"class":173},[167,92515,1050],{"class":201},[167,92517,185],{"class":173},[167,92519,92520,92522,92524,92526,92528],{"class":169,"line":188},[167,92521,192],{"class":191},[167,92523,195],{"class":173},[167,92525,198],{"class":191},[167,92527,24037],{"class":201},[167,92529,24040],{"class":173},[167,92531,92532],{"class":169,"line":205},[167,92533,209],{"emptyLinePlaceholder":208},[167,92535,92536,92538,92540,92542,92544,92546,92548],{"class":169,"line":160},[167,92537,216],{"class":191},[167,92539,37594],{"class":219},[167,92541,223],{"class":191},[167,92543,226],{"class":181},[167,92545,229],{"class":173},[167,92547,31157],{"class":201},[167,92549,24165],{"class":173},[167,92551,92552],{"class":169,"line":238},[167,92553,209],{"emptyLinePlaceholder":208},[167,92555,92556,92558,92560],{"class":169,"line":243},[167,92557,246],{"class":191},[167,92559,37615],{"class":181},[167,92561,763],{"class":173},[167,92563,92564,92566,92568,92570,92572,92574,92576,92578],{"class":169,"line":261},[167,92565,2540],{"class":191},[167,92567,2522],{"class":173},[167,92569,6637],{"class":191},[167,92571,37628],{"class":173},[167,92573,2496],{"class":181},[167,92575,6685],{"class":173},[167,92577,24234],{"class":191},[167,92579,24040],{"class":173},[167,92581,92582,92584,92586,92588,92590],{"class":169,"line":273},[167,92583,2604],{"class":173},[167,92585,2607],{"class":181},[167,92587,229],{"class":173},[167,92589,37647],{"class":201},[167,92591,37650],{"class":173},[167,92593,92594],{"class":169,"line":279},[167,92595,276],{"class":173},[167,92597,92598,92600,92602],{"class":169,"line":289},[167,92599,282],{"class":173},[167,92601,178],{"class":177},[167,92603,185],{"class":173},[167,92605,92606],{"class":169,"line":294},[167,92607,209],{"emptyLinePlaceholder":208},[167,92609,92610,92612,92614],{"class":169,"line":304},[167,92611,174],{"class":173},[167,92613,299],{"class":177},[167,92615,185],{"class":173},[167,92617,92619,92621,92623,92625,92627,92629],{"class":92618,"line":313},[169,213],[167,92620,307],{"class":173},[167,92622,4301],{"class":177},[167,92624,4304],{"class":181},[167,92626,267],{"class":173},[167,92628,37688],{"class":201},[167,92630,185],{"class":173},[167,92632,92633,92635,92637,92639,92641,92643,92645,92647,92649,92651,92653,92655],{"class":169,"line":161},[167,92634,1252],{"class":173},[167,92636,2646],{"class":177},[167,92638,2649],{"class":181},[167,92640,267],{"class":173},[167,92642,37703],{"class":201},[167,92644,1169],{"class":181},[167,92646,267],{"class":173},[167,92648,37703],{"class":201},[167,92650,2664],{"class":181},[167,92652,267],{"class":173},[167,92654,37716],{"class":201},[167,92656,5321],{"class":173},[167,92658,92659,92661,92663,92665,92667,92669,92671,92673],{"class":169,"line":335},[167,92660,1252],{"class":173},[167,92662,507],{"class":177},[167,92664,1169],{"class":181},[167,92666,267],{"class":173},[167,92668,4344],{"class":201},[167,92670,37733],{"class":173},[167,92672,507],{"class":177},[167,92674,185],{"class":173},[167,92676,92677,92679,92681],{"class":169,"line":341},[167,92678,504],{"class":173},[167,92680,4301],{"class":177},[167,92682,185],{"class":173},[167,92684,92685,92687,92689],{"class":169,"line":489},[167,92686,282],{"class":173},[167,92688,299],{"class":177},[167,92690,185],{"class":173},[154,92692,92694],{"className":156,"code":37756,"filename":3969,"highlights":92693,"language":162,"meta":163,"style":163},[495],[87,92695,92696,92710,92718,92724,92730,92738,92742,92746,92750,92756,92776,92792,92796,92800,92804,92812,92816,92824,92839,92865,92883,92891],{"__ignoreMap":163},[167,92697,92698,92700,92702,92704,92706,92708],{"class":169,"line":170},[167,92699,174],{"class":173},[167,92701,178],{"class":177},[167,92703,1045],{"class":181},[167,92705,267],{"class":173},[167,92707,1050],{"class":201},[167,92709,185],{"class":173},[167,92711,92712,92714,92716],{"class":169,"line":188},[167,92713,608],{"class":191},[167,92715,3987],{"class":191},[167,92717,1901],{"class":173},[167,92719,92720,92722],{"class":169,"line":205},[167,92721,7172],{"class":181},[167,92723,763],{"class":173},[167,92725,92726,92728],{"class":169,"line":160},[167,92727,1933],{"class":191},[167,92729,1901],{"class":173},[167,92731,92732,92734,92736],{"class":169,"line":238},[167,92733,37798],{"class":173},[167,92735,31157],{"class":201},[167,92737,393],{"class":173},[167,92739,92740],{"class":169,"line":243},[167,92741,24366],{"class":173},[167,92743,92744],{"class":169,"line":261},[167,92745,398],{"class":173},[167,92747,92748],{"class":169,"line":273},[167,92749,4415],{"class":173},[167,92751,92752,92754],{"class":169,"line":279},[167,92753,37819],{"class":181},[167,92755,763],{"class":173},[167,92757,92758,92760,92762,92764,92766,92768,92770,92772,92774],{"class":169,"line":289},[167,92759,7257],{"class":191},[167,92761,2522],{"class":173},[167,92763,6637],{"class":191},[167,92765,4923],{"class":219},[167,92767,37834],{"class":173},[167,92769,2496],{"class":181},[167,92771,6685],{"class":173},[167,92773,24234],{"class":191},[167,92775,24040],{"class":173},[167,92777,92778,92780,92782,92784,92786,92788,92790],{"class":169,"line":294},[167,92779,20438],{"class":173},[167,92781,2607],{"class":181},[167,92783,229],{"class":173},[167,92785,37647],{"class":201},[167,92787,1020],{"class":173},[167,92789,4923],{"class":219},[167,92791,37859],{"class":173},[167,92793,92794],{"class":169,"line":304},[167,92795,755],{"class":173},[167,92797,92798],{"class":169,"line":313},[167,92799,398],{"class":173},[167,92801,92802],{"class":169,"line":161},[167,92803,24144],{"class":173},[167,92805,92806,92808,92810],{"class":169,"line":335},[167,92807,282],{"class":173},[167,92809,178],{"class":177},[167,92811,185],{"class":173},[167,92813,92814],{"class":169,"line":341},[167,92815,209],{"emptyLinePlaceholder":208},[167,92817,92818,92820,92822],{"class":169,"line":489},[167,92819,174],{"class":173},[167,92821,299],{"class":177},[167,92823,185],{"class":173},[167,92825,92827,92829,92831,92833,92835,92837],{"class":92826,"line":495},[169,213],[167,92828,307],{"class":173},[167,92830,4301],{"class":177},[167,92832,4304],{"class":181},[167,92834,267],{"class":173},[167,92836,37688],{"class":201},[167,92838,185],{"class":173},[167,92840,92841,92843,92845,92847,92849,92851,92853,92855,92857,92859,92861,92863],{"class":169,"line":501},[167,92842,1252],{"class":173},[167,92844,2646],{"class":177},[167,92846,2649],{"class":181},[167,92848,267],{"class":173},[167,92850,37703],{"class":201},[167,92852,1169],{"class":181},[167,92854,267],{"class":173},[167,92856,37703],{"class":201},[167,92858,2664],{"class":181},[167,92860,267],{"class":173},[167,92862,37716],{"class":201},[167,92864,5321],{"class":173},[167,92866,92867,92869,92871,92873,92875,92877,92879,92881],{"class":169,"line":512},[167,92868,1252],{"class":173},[167,92870,507],{"class":177},[167,92872,1169],{"class":181},[167,92874,267],{"class":173},[167,92876,4344],{"class":201},[167,92878,37733],{"class":173},[167,92880,507],{"class":177},[167,92882,185],{"class":173},[167,92884,92885,92887,92889],{"class":169,"line":781},[167,92886,504],{"class":173},[167,92888,4301],{"class":177},[167,92890,185],{"class":173},[167,92892,92893,92895,92897],{"class":169,"line":786},[167,92894,282],{"class":173},[167,92896,299],{"class":177},[167,92898,185],{"class":173},[3083,92900,37970],{"id":37969},[154,92902,92904],{"className":156,"code":37973,"filename":3256,"highlights":92903,"language":162,"meta":163,"style":163},[304],[87,92905,92906,92922,92934,92938,92954,92958,92966,92978,92982,92990,92994,93002,93025],{"__ignoreMap":163},[167,92907,92908,92910,92912,92914,92916,92918,92920],{"class":169,"line":170},[167,92909,174],{"class":173},[167,92911,178],{"class":177},[167,92913,182],{"class":181},[167,92915,1045],{"class":181},[167,92917,267],{"class":173},[167,92919,1050],{"class":201},[167,92921,185],{"class":173},[167,92923,92924,92926,92928,92930,92932],{"class":169,"line":188},[167,92925,192],{"class":191},[167,92927,195],{"class":173},[167,92929,198],{"class":191},[167,92931,24037],{"class":201},[167,92933,24040],{"class":173},[167,92935,92936],{"class":169,"line":205},[167,92937,209],{"emptyLinePlaceholder":208},[167,92939,92940,92942,92944,92946,92948,92950,92952],{"class":169,"line":160},[167,92941,216],{"class":191},[167,92943,38015],{"class":219},[167,92945,223],{"class":191},[167,92947,226],{"class":181},[167,92949,229],{"class":173},[167,92951,31157],{"class":201},[167,92953,24165],{"class":173},[167,92955,92956],{"class":169,"line":238},[167,92957,209],{"emptyLinePlaceholder":208},[167,92959,92960,92962,92964],{"class":169,"line":243},[167,92961,246],{"class":191},[167,92963,38036],{"class":181},[167,92965,763],{"class":173},[167,92967,92968,92970,92972,92974,92976],{"class":169,"line":261},[167,92969,2604],{"class":173},[167,92971,2607],{"class":181},[167,92973,229],{"class":173},[167,92975,38049],{"class":201},[167,92977,38052],{"class":173},[167,92979,92980],{"class":169,"line":273},[167,92981,276],{"class":173},[167,92983,92984,92986,92988],{"class":169,"line":279},[167,92985,282],{"class":173},[167,92987,178],{"class":177},[167,92989,185],{"class":173},[167,92991,92992],{"class":169,"line":289},[167,92993,209],{"emptyLinePlaceholder":208},[167,92995,92996,92998,93000],{"class":169,"line":294},[167,92997,174],{"class":173},[167,92999,299],{"class":177},[167,93001,185],{"class":173},[167,93003,93005,93007,93009,93011,93013,93015,93017,93019,93021,93023],{"class":93004,"line":304},[169,213],[167,93006,307],{"class":173},[167,93008,38084],{"class":177},[167,93010,2649],{"class":181},[167,93012,267],{"class":173},[167,93014,38091],{"class":201},[167,93016,38094],{"class":181},[167,93018,267],{"class":173},[167,93020,38099],{"class":201},[167,93022,31785],{"class":31784},[167,93024,185],{"class":173},[167,93026,93027,93029,93031],{"class":169,"line":313},[167,93028,282],{"class":173},[167,93030,299],{"class":177},[167,93032,185],{"class":173},[154,93034,93036],{"className":156,"code":38114,"filename":3969,"highlights":93035,"language":162,"meta":163,"style":163},[489],[87,93037,93038,93052,93060,93066,93072,93080,93084,93088,93092,93098,93114,93118,93122,93126,93134,93138,93146,93169],{"__ignoreMap":163},[167,93039,93040,93042,93044,93046,93048,93050],{"class":169,"line":170},[167,93041,174],{"class":173},[167,93043,178],{"class":177},[167,93045,1045],{"class":181},[167,93047,267],{"class":173},[167,93049,1050],{"class":201},[167,93051,185],{"class":173},[167,93053,93054,93056,93058],{"class":169,"line":188},[167,93055,608],{"class":191},[167,93057,3987],{"class":191},[167,93059,1901],{"class":173},[167,93061,93062,93064],{"class":169,"line":205},[167,93063,7172],{"class":181},[167,93065,763],{"class":173},[167,93067,93068,93070],{"class":169,"line":160},[167,93069,1933],{"class":191},[167,93071,1901],{"class":173},[167,93073,93074,93076,93078],{"class":169,"line":238},[167,93075,38156],{"class":173},[167,93077,31157],{"class":201},[167,93079,393],{"class":173},[167,93081,93082],{"class":169,"line":243},[167,93083,24366],{"class":173},[167,93085,93086],{"class":169,"line":261},[167,93087,398],{"class":173},[167,93089,93090],{"class":169,"line":273},[167,93091,4415],{"class":173},[167,93093,93094,93096],{"class":169,"line":279},[167,93095,38177],{"class":181},[167,93097,763],{"class":173},[167,93099,93100,93102,93104,93106,93108,93110,93112],{"class":169,"line":289},[167,93101,20438],{"class":173},[167,93103,2607],{"class":181},[167,93105,229],{"class":173},[167,93107,38049],{"class":201},[167,93109,1020],{"class":173},[167,93111,4923],{"class":219},[167,93113,38196],{"class":173},[167,93115,93116],{"class":169,"line":294},[167,93117,755],{"class":173},[167,93119,93120],{"class":169,"line":304},[167,93121,398],{"class":173},[167,93123,93124],{"class":169,"line":313},[167,93125,24144],{"class":173},[167,93127,93128,93130,93132],{"class":169,"line":161},[167,93129,282],{"class":173},[167,93131,178],{"class":177},[167,93133,185],{"class":173},[167,93135,93136],{"class":169,"line":335},[167,93137,209],{"emptyLinePlaceholder":208},[167,93139,93140,93142,93144],{"class":169,"line":341},[167,93141,174],{"class":173},[167,93143,299],{"class":177},[167,93145,185],{"class":173},[167,93147,93149,93151,93153,93155,93157,93159,93161,93163,93165,93167],{"class":93148,"line":489},[169,213],[167,93150,307],{"class":173},[167,93152,38084],{"class":177},[167,93154,2649],{"class":181},[167,93156,267],{"class":173},[167,93158,38091],{"class":201},[167,93160,38094],{"class":181},[167,93162,267],{"class":173},[167,93164,38099],{"class":201},[167,93166,31785],{"class":31784},[167,93168,185],{"class":173},[167,93170,93171,93173,93175],{"class":169,"line":495},[167,93172,282],{"class":173},[167,93174,299],{"class":177},[167,93176,185],{"class":173},[3083,93178,38263],{"id":38262},[154,93180,93182],{"className":156,"code":38266,"filename":3256,"highlights":93181,"language":162,"meta":163,"style":163},[160,289],[87,93183,93184,93200,93212,93216,93233,93245,93249,93257,93261,93269,93284],{"__ignoreMap":163},[167,93185,93186,93188,93190,93192,93194,93196,93198],{"class":169,"line":170},[167,93187,174],{"class":173},[167,93189,178],{"class":177},[167,93191,182],{"class":181},[167,93193,1045],{"class":181},[167,93195,267],{"class":173},[167,93197,1050],{"class":201},[167,93199,185],{"class":173},[167,93201,93202,93204,93206,93208,93210],{"class":169,"line":188},[167,93203,192],{"class":191},[167,93205,38292],{"class":173},[167,93207,198],{"class":191},[167,93209,38297],{"class":201},[167,93211,24040],{"class":173},[167,93213,93214],{"class":169,"line":205},[167,93215,209],{"emptyLinePlaceholder":208},[167,93217,93219,93221,93223,93225,93227,93229,93231],{"class":93218,"line":160},[169,213],[167,93220,246],{"class":191},[167,93222,38311],{"class":181},[167,93224,229],{"class":173},[167,93226,38316],{"class":254},[167,93228,583],{"class":191},[167,93230,586],{"class":219},[167,93232,258],{"class":173},[167,93234,93235,93237,93239,93241,93243],{"class":169,"line":238},[167,93236,2604],{"class":173},[167,93238,2607],{"class":181},[167,93240,229],{"class":173},[167,93242,38333],{"class":201},[167,93244,38336],{"class":173},[167,93246,93247],{"class":169,"line":243},[167,93248,276],{"class":173},[167,93250,93251,93253,93255],{"class":169,"line":261},[167,93252,282],{"class":173},[167,93254,178],{"class":177},[167,93256,185],{"class":173},[167,93258,93259],{"class":169,"line":273},[167,93260,209],{"emptyLinePlaceholder":208},[167,93262,93263,93265,93267],{"class":169,"line":279},[167,93264,174],{"class":173},[167,93266,299],{"class":177},[167,93268,185],{"class":173},[167,93270,93272,93274,93276,93278,93280,93282],{"class":93271,"line":289},[169,213],[167,93273,307],{"class":173},[167,93275,38368],{"class":177},[167,93277,38371],{"class":181},[167,93279,267],{"class":173},[167,93281,38376],{"class":201},[167,93283,5321],{"class":173},[167,93285,93286,93288,93290],{"class":169,"line":294},[167,93287,282],{"class":173},[167,93289,299],{"class":177},[167,93291,185],{"class":173},[154,93293,93295],{"className":156,"code":38389,"filename":3969,"highlights":93294,"language":162,"meta":163,"style":163},[243,161],[87,93296,93297,93311,93323,93327,93335,93339,93344,93354,93366,93370,93374,93378,93386,93390,93399,93413],{"__ignoreMap":163},[167,93298,93299,93301,93303,93305,93307,93309],{"class":169,"line":170},[167,93300,174],{"class":173},[167,93302,178],{"class":177},[167,93304,1045],{"class":181},[167,93306,267],{"class":173},[167,93308,1050],{"class":201},[167,93310,185],{"class":173},[167,93312,93313,93315,93317,93319,93321],{"class":169,"line":188},[167,93314,192],{"class":191},[167,93316,38292],{"class":173},[167,93318,198],{"class":191},[167,93320,38297],{"class":201},[167,93322,24040],{"class":173},[167,93324,93325],{"class":169,"line":205},[167,93326,209],{"emptyLinePlaceholder":208},[167,93328,93329,93331,93333],{"class":169,"line":160},[167,93330,608],{"class":191},[167,93332,3987],{"class":191},[167,93334,1901],{"class":173},[167,93336,93337],{"class":169,"line":238},[167,93338,38435],{"class":173},[167,93340,93342],{"class":93341,"line":243},[169,213],[167,93343,4415],{"class":173},[167,93345,93346,93348,93350,93352],{"class":169,"line":261},[167,93347,38445],{"class":181},[167,93349,229],{"class":173},[167,93351,38316],{"class":254},[167,93353,258],{"class":173},[167,93355,93356,93358,93360,93362,93364],{"class":169,"line":273},[167,93357,20438],{"class":173},[167,93359,2607],{"class":181},[167,93361,229],{"class":173},[167,93363,38333],{"class":201},[167,93365,38336],{"class":173},[167,93367,93368],{"class":169,"line":279},[167,93369,755],{"class":173},[167,93371,93372],{"class":169,"line":289},[167,93373,398],{"class":173},[167,93375,93376],{"class":169,"line":294},[167,93377,24144],{"class":173},[167,93379,93380,93382,93384],{"class":169,"line":304},[167,93381,282],{"class":173},[167,93383,178],{"class":177},[167,93385,185],{"class":173},[167,93387,93388],{"class":169,"line":313},[167,93389,209],{"emptyLinePlaceholder":208},[167,93391,93393,93395,93397],{"class":93392,"line":161},[169,213],[167,93394,174],{"class":173},[167,93396,299],{"class":177},[167,93398,185],{"class":173},[167,93400,93401,93403,93405,93407,93409,93411],{"class":169,"line":335},[167,93402,307],{"class":173},[167,93404,38368],{"class":177},[167,93406,38371],{"class":181},[167,93408,267],{"class":173},[167,93410,38376],{"class":201},[167,93412,5321],{"class":173},[167,93414,93415,93417,93419],{"class":169,"line":341},[167,93416,282],{"class":173},[167,93418,299],{"class":177},[167,93420,185],{"class":173},[22,93422,8023],{"id":8022},[15,93424,38523],{},[33,93426,93427,93431,93435],{},[36,93428,93429,38531],{},[87,93430,38530],{},[36,93432,93433,38536],{},[87,93434,30626],{},[36,93436,93437,38542],{},[87,93438,38541],{},[154,93440,93441],{"className":156,"code":38545,"filename":3256,"language":162,"meta":163,"style":163},[87,93442,93443,93459,93471,93475,93485,93495,93505,93515,93519,93523,93539,93555,93559,93593,93597,93605,93619,93633,93637,93645,93653,93657,93665,93669,93679,93683,93687,93703,93729,93743,93753,93757,93765,93769,93777,93785,93797,93809,93813,93827,93833,93841,93849,93857,93865,93869,93887,93895,93899,93907,93927,93941,93945,93953,93967,93971,93979,93987,93995,94003],{"__ignoreMap":163},[167,93444,93445,93447,93449,93451,93453,93455,93457],{"class":169,"line":170},[167,93446,174],{"class":173},[167,93448,178],{"class":177},[167,93450,182],{"class":181},[167,93452,1045],{"class":181},[167,93454,267],{"class":173},[167,93456,1050],{"class":201},[167,93458,185],{"class":173},[167,93460,93461,93463,93465,93467,93469],{"class":169,"line":188},[167,93462,192],{"class":191},[167,93464,1801],{"class":173},[167,93466,198],{"class":191},[167,93468,24037],{"class":201},[167,93470,24040],{"class":173},[167,93472,93473],{"class":169,"line":205},[167,93474,209],{"emptyLinePlaceholder":208},[167,93476,93477,93479,93481,93483],{"class":169,"line":160},[167,93478,569],{"class":191},[167,93480,11601],{"class":181},[167,93482,223],{"class":191},[167,93484,1901],{"class":173},[167,93486,93487,93489,93491,93493],{"class":169,"line":238},[167,93488,6501],{"class":254},[167,93490,583],{"class":191},[167,93492,8489],{"class":219},[167,93494,24040],{"class":173},[167,93496,93497,93499,93501,93503],{"class":169,"line":243},[167,93498,11618],{"class":254},[167,93500,583],{"class":191},[167,93502,586],{"class":219},[167,93504,24040],{"class":173},[167,93506,93507,93509,93511,93513],{"class":169,"line":261},[167,93508,11627],{"class":254},[167,93510,583],{"class":191},[167,93512,28412],{"class":219},[167,93514,24040],{"class":173},[167,93516,93517],{"class":169,"line":273},[167,93518,24144],{"class":173},[167,93520,93521],{"class":169,"line":279},[167,93522,209],{"emptyLinePlaceholder":208},[167,93524,93525,93527,93529,93531,93533,93535,93537],{"class":169,"line":289},[167,93526,216],{"class":191},[167,93528,38634],{"class":219},[167,93530,223],{"class":191},[167,93532,226],{"class":181},[167,93534,229],{"class":173},[167,93536,31157],{"class":201},[167,93538,24165],{"class":173},[167,93540,93541,93543,93545,93547,93549,93551,93553],{"class":169,"line":294},[167,93542,216],{"class":191},[167,93544,3364],{"class":219},[167,93546,223],{"class":191},[167,93548,226],{"class":181},[167,93550,174],{"class":173},[167,93552,11655],{"class":181},[167,93554,38661],{"class":173},[167,93556,93557],{"class":169,"line":304},[167,93558,209],{"emptyLinePlaceholder":208},[167,93560,93561,93563,93565,93567,93569,93571,93573,93575,93577,93579,93581,93583,93585,93587,93589,93591],{"class":169,"line":313},[167,93562,216],{"class":191},[167,93564,38672],{"class":219},[167,93566,223],{"class":191},[167,93568,1894],{"class":181},[167,93570,1488],{"class":173},[167,93572,639],{"class":191},[167,93574,3447],{"class":173},[167,93576,8248],{"class":181},[167,93578,1914],{"class":173},[167,93580,5071],{"class":254},[167,93582,693],{"class":173},[167,93584,639],{"class":191},[167,93586,5621],{"class":191},[167,93588,38697],{"class":173},[167,93590,15752],{"class":219},[167,93592,24165],{"class":173},[167,93594,93595],{"class":169,"line":161},[167,93596,209],{"emptyLinePlaceholder":208},[167,93598,93599,93601,93603],{"class":169,"line":335},[167,93600,246],{"class":191},[167,93602,38712],{"class":181},[167,93604,763],{"class":173},[167,93606,93607,93609,93611,93613,93615,93617],{"class":169,"line":341},[167,93608,1438],{"class":191},[167,93610,38721],{"class":219},[167,93612,223],{"class":191},[167,93614,38726],{"class":173},[167,93616,2496],{"class":181},[167,93618,25303],{"class":173},[167,93620,93621,93623,93625,93627,93629,93631],{"class":169,"line":489},[167,93622,2540],{"class":191},[167,93624,2522],{"class":173},[167,93626,6637],{"class":191},[167,93628,38741],{"class":173},[167,93630,24234],{"class":191},[167,93632,24040],{"class":173},[167,93634,93635],{"class":169,"line":495},[167,93636,209],{"emptyLinePlaceholder":208},[167,93638,93639,93641,93643],{"class":169,"line":501},[167,93640,38754],{"class":173},[167,93642,15719],{"class":181},[167,93644,372],{"class":173},[167,93646,93647,93649,93651],{"class":169,"line":512},[167,93648,15726],{"class":173},[167,93650,15729],{"class":181},[167,93652,15732],{"class":173},[167,93654,93655],{"class":169,"line":781},[167,93656,38771],{"class":173},[167,93658,93659,93661,93663],{"class":169,"line":786},[167,93660,38776],{"class":173},[167,93662,3388],{"class":219},[167,93664,393],{"class":173},[167,93666,93667],{"class":169,"line":2674},[167,93668,38785],{"class":173},[167,93670,93671,93673,93675,93677],{"class":169,"line":2688},[167,93672,38790],{"class":173},[167,93674,267],{"class":191},[167,93676,38795],{"class":201},[167,93678,24040],{"class":173},[167,93680,93681],{"class":169,"line":3571},[167,93682,276],{"class":173},[167,93684,93685],{"class":169,"line":5024},[167,93686,209],{"emptyLinePlaceholder":208},[167,93688,93689,93691,93693,93695,93697,93699,93701],{"class":169,"line":5033},[167,93690,246],{"class":191},[167,93692,8480],{"class":181},[167,93694,229],{"class":173},[167,93696,580],{"class":254},[167,93698,583],{"class":191},[167,93700,8489],{"class":219},[167,93702,258],{"class":173},[167,93704,93705,93707,93709,93711,93713,93715,93717,93719,93721,93723,93725,93727],{"class":169,"line":5042},[167,93706,1438],{"class":191},[167,93708,3442],{"class":219},[167,93710,223],{"class":191},[167,93712,3447],{"class":173},[167,93714,3450],{"class":181},[167,93716,1914],{"class":173},[167,93718,1922],{"class":254},[167,93720,693],{"class":173},[167,93722,639],{"class":191},[167,93724,3461],{"class":173},[167,93726,2546],{"class":191},[167,93728,38848],{"class":173},[167,93730,93731,93733,93735,93737,93739,93741],{"class":169,"line":6752},[167,93732,2540],{"class":191},[167,93734,2522],{"class":173},[167,93736,6637],{"class":191},[167,93738,8530],{"class":173},[167,93740,24234],{"class":191},[167,93742,24040],{"class":173},[167,93744,93745,93747,93749,93751],{"class":169,"line":6774},[167,93746,8541],{"class":173},[167,93748,267],{"class":191},[167,93750,5621],{"class":191},[167,93752,38873],{"class":173},[167,93754,93755],{"class":169,"line":6779},[167,93756,276],{"class":173},[167,93758,93759,93761,93763],{"class":169,"line":6784},[167,93760,282],{"class":173},[167,93762,178],{"class":177},[167,93764,185],{"class":173},[167,93766,93767],{"class":169,"line":6789},[167,93768,209],{"emptyLinePlaceholder":208},[167,93770,93771,93773,93775],{"class":169,"line":6805},[167,93772,174],{"class":173},[167,93774,299],{"class":177},[167,93776,185],{"class":173},[167,93778,93779,93781,93783],{"class":169,"line":6820},[167,93780,307],{"class":173},[167,93782,10113],{"class":177},[167,93784,185],{"class":173},[167,93786,93787,93789,93791,93793,93795],{"class":169,"line":6825},[167,93788,1252],{"class":173},[167,93790,22],{"class":177},[167,93792,38914],{"class":173},[167,93794,22],{"class":177},[167,93796,185],{"class":173},[167,93798,93799,93801,93803,93805,93807],{"class":169,"line":6832},[167,93800,1252],{"class":173},[167,93802,15],{"class":177},[167,93804,38927],{"class":173},[167,93806,15],{"class":177},[167,93808,185],{"class":173},[167,93810,93811],{"class":169,"line":6841},[167,93812,209],{"emptyLinePlaceholder":208},[167,93814,93815,93817,93819,93821,93823,93825],{"class":169,"line":6850},[167,93816,1252],{"class":173},[167,93818,4301],{"class":177},[167,93820,4304],{"class":181},[167,93822,267],{"class":173},[167,93824,38948],{"class":201},[167,93826,185],{"class":173},[167,93828,93829,93831],{"class":169,"line":6857},[167,93830,1263],{"class":173},[167,93832,17477],{"class":177},[167,93834,93835,93837,93839],{"class":169,"line":6875},[167,93836,38961],{"class":181},[167,93838,267],{"class":173},[167,93840,38966],{"class":201},[167,93842,93843,93845,93847],{"class":169,"line":6880},[167,93844,38971],{"class":181},[167,93846,267],{"class":173},[167,93848,35279],{"class":201},[167,93850,93851,93853,93855],{"class":169,"line":6885},[167,93852,38980],{"class":181},[167,93854,267],{"class":173},[167,93856,38985],{"class":201},[167,93858,93859,93861,93863],{"class":169,"line":6894},[167,93860,38990],{"class":181},[167,93862,267],{"class":173},[167,93864,38995],{"class":201},[167,93866,93867],{"class":169,"line":6899},[167,93868,39000],{"class":173},[167,93870,93871,93873,93875,93877,93879,93881,93883,93885],{"class":169,"line":6908},[167,93872,1263],{"class":173},[167,93874,507],{"class":177},[167,93876,1169],{"class":181},[167,93878,267],{"class":173},[167,93880,4344],{"class":201},[167,93882,39015],{"class":173},[167,93884,507],{"class":177},[167,93886,185],{"class":173},[167,93888,93889,93891,93893],{"class":169,"line":6924},[167,93890,1287],{"class":173},[167,93892,4301],{"class":177},[167,93894,185],{"class":173},[167,93896,93897],{"class":169,"line":6945},[167,93898,209],{"emptyLinePlaceholder":208},[167,93900,93901,93903,93905],{"class":169,"line":6950},[167,93902,1252],{"class":173},[167,93904,33],{"class":177},[167,93906,185],{"class":173},[167,93908,93909,93911,93913,93915,93917,93919,93921,93923,93925],{"class":169,"line":6971},[167,93910,1263],{"class":173},[167,93912,36],{"class":177},[167,93914,18702],{"class":181},[167,93916,267],{"class":173},[167,93918,39052],{"class":201},[167,93920,10303],{"class":181},[167,93922,267],{"class":173},[167,93924,39059],{"class":201},[167,93926,185],{"class":173},[167,93928,93929,93931,93933,93935,93937,93939],{"class":169,"line":6985},[167,93930,32512],{"class":173},[167,93932,507],{"class":177},[167,93934,1177],{"class":181},[167,93936,267],{"class":173},[167,93938,39074],{"class":201},[167,93940,185],{"class":173},[167,93942,93943],{"class":169,"line":6999},[167,93944,39081],{"class":173},[167,93946,93947,93949,93951],{"class":169,"line":7013},[167,93948,32560],{"class":173},[167,93950,507],{"class":177},[167,93952,185],{"class":173},[167,93954,93955,93957,93959,93961,93963,93965],{"class":169,"line":7022},[167,93956,32512],{"class":173},[167,93958,167],{"class":177},[167,93960,39098],{"class":181},[167,93962,267],{"class":173},[167,93964,39103],{"class":201},[167,93966,185],{"class":173},[167,93968,93969],{"class":169,"line":7027},[167,93970,39110],{"class":173},[167,93972,93973,93975,93977],{"class":169,"line":7044},[167,93974,32560],{"class":173},[167,93976,167],{"class":177},[167,93978,185],{"class":173},[167,93980,93981,93983,93985],{"class":169,"line":7053},[167,93982,10166],{"class":173},[167,93984,36],{"class":177},[167,93986,185],{"class":173},[167,93988,93989,93991,93993],{"class":169,"line":7551},[167,93990,1287],{"class":173},[167,93992,33],{"class":177},[167,93994,185],{"class":173},[167,93996,93997,93999,94001],{"class":169,"line":7556},[167,93998,504],{"class":173},[167,94000,10113],{"class":177},[167,94002,185],{"class":173},[167,94004,94005,94007,94009],{"class":169,"line":7575},[167,94006,282],{"class":173},[167,94008,299],{"class":177},[167,94010,185],{"class":173},[154,94012,94013],{"className":156,"code":39153,"filename":3969,"language":162,"meta":163,"style":163},[87,94014,94015,94029,94037,94043,94049,94057,94061,94065,94069,94073,94079,94105,94109,94113,94117,94123,94139,94153,94157,94167,94175,94179,94187,94191,94203,94207,94217,94245,94259,94269,94273,94277,94281,94289,94293,94301,94309,94321,94333,94337,94351,94357,94365,94373,94381,94389,94393,94411,94419,94423,94431,94451,94465,94469,94477,94491,94495,94503,94511,94519,94527],{"__ignoreMap":163},[167,94016,94017,94019,94021,94023,94025,94027],{"class":169,"line":170},[167,94018,174],{"class":173},[167,94020,178],{"class":177},[167,94022,1045],{"class":181},[167,94024,267],{"class":173},[167,94026,1050],{"class":201},[167,94028,185],{"class":173},[167,94030,94031,94033,94035],{"class":169,"line":188},[167,94032,608],{"class":191},[167,94034,3987],{"class":191},[167,94036,1901],{"class":173},[167,94038,94039,94041],{"class":169,"line":205},[167,94040,7172],{"class":181},[167,94042,763],{"class":173},[167,94044,94045,94047],{"class":169,"line":160},[167,94046,1933],{"class":191},[167,94048,1901],{"class":173},[167,94050,94051,94053,94055],{"class":169,"line":238},[167,94052,39194],{"class":173},[167,94054,31157],{"class":201},[167,94056,393],{"class":173},[167,94058,94059],{"class":169,"line":243},[167,94060,12567],{"class":173},[167,94062,94063],{"class":169,"line":261},[167,94064,24366],{"class":173},[167,94066,94067],{"class":169,"line":273},[167,94068,398],{"class":173},[167,94070,94071],{"class":169,"line":279},[167,94072,8751],{"class":173},[167,94074,94075,94077],{"class":169,"line":289},[167,94076,39219],{"class":181},[167,94078,763],{"class":173},[167,94080,94081,94083,94085,94087,94089,94091,94093,94095,94097,94099,94101,94103],{"class":169,"line":294},[167,94082,8763],{"class":191},[167,94084,7347],{"class":219},[167,94086,8768],{"class":173},[167,94088,8248],{"class":181},[167,94090,1914],{"class":173},[167,94092,5071],{"class":254},[167,94094,693],{"class":173},[167,94096,639],{"class":191},[167,94098,5621],{"class":191},[167,94100,38697],{"class":173},[167,94102,15752],{"class":219},[167,94104,24040],{"class":173},[167,94106,94107],{"class":169,"line":304},[167,94108,755],{"class":173},[167,94110,94111],{"class":169,"line":313},[167,94112,398],{"class":173},[167,94114,94115],{"class":169,"line":161},[167,94116,4415],{"class":173},[167,94118,94119,94121],{"class":169,"line":335},[167,94120,39264],{"class":181},[167,94122,763],{"class":173},[167,94124,94125,94127,94129,94131,94133,94135,94137],{"class":169,"line":341},[167,94126,4431],{"class":191},[167,94128,38721],{"class":219},[167,94130,223],{"class":191},[167,94132,7347],{"class":219},[167,94134,39279],{"class":173},[167,94136,2496],{"class":181},[167,94138,25303],{"class":173},[167,94140,94141,94143,94145,94147,94149,94151],{"class":169,"line":489},[167,94142,7257],{"class":191},[167,94144,2522],{"class":173},[167,94146,6637],{"class":191},[167,94148,38741],{"class":173},[167,94150,24234],{"class":191},[167,94152,24040],{"class":173},[167,94154,94155],{"class":169,"line":495},[167,94156,209],{"emptyLinePlaceholder":208},[167,94158,94159,94161,94163,94165],{"class":169,"line":501},[167,94160,741],{"class":219},[167,94162,8768],{"class":173},[167,94164,15719],{"class":181},[167,94166,372],{"class":173},[167,94168,94169,94171,94173],{"class":169,"line":512},[167,94170,16156],{"class":173},[167,94172,15729],{"class":181},[167,94174,15732],{"class":173},[167,94176,94177],{"class":169,"line":781},[167,94178,39324],{"class":173},[167,94180,94181,94183,94185],{"class":169,"line":786},[167,94182,39329],{"class":173},[167,94184,3388],{"class":219},[167,94186,393],{"class":173},[167,94188,94189],{"class":169,"line":2674},[167,94190,36404],{"class":173},[167,94192,94193,94195,94197,94199,94201],{"class":169,"line":2688},[167,94194,741],{"class":219},[167,94196,39344],{"class":173},[167,94198,267],{"class":191},[167,94200,38795],{"class":201},[167,94202,24040],{"class":173},[167,94204,94205],{"class":169,"line":3571},[167,94206,755],{"class":173},[167,94208,94209,94211,94213,94215],{"class":169,"line":5024},[167,94210,8996],{"class":181},[167,94212,229],{"class":173},[167,94214,580],{"class":254},[167,94216,258],{"class":173},[167,94218,94219,94221,94223,94225,94227,94229,94231,94233,94235,94237,94239,94241,94243],{"class":169,"line":5033},[167,94220,4431],{"class":191},[167,94222,3442],{"class":219},[167,94224,223],{"class":191},[167,94226,7347],{"class":219},[167,94228,8768],{"class":173},[167,94230,3450],{"class":181},[167,94232,1914],{"class":173},[167,94234,1922],{"class":254},[167,94236,693],{"class":173},[167,94238,639],{"class":191},[167,94240,3461],{"class":173},[167,94242,2546],{"class":191},[167,94244,38848],{"class":173},[167,94246,94247,94249,94251,94253,94255,94257],{"class":169,"line":5042},[167,94248,7257],{"class":191},[167,94250,2522],{"class":173},[167,94252,6637],{"class":191},[167,94254,8530],{"class":173},[167,94256,24234],{"class":191},[167,94258,24040],{"class":173},[167,94260,94261,94263,94265,94267],{"class":169,"line":6752},[167,94262,9053],{"class":173},[167,94264,267],{"class":191},[167,94266,5621],{"class":191},[167,94268,38873],{"class":173},[167,94270,94271],{"class":169,"line":6774},[167,94272,755],{"class":173},[167,94274,94275],{"class":169,"line":6779},[167,94276,398],{"class":173},[167,94278,94279],{"class":169,"line":6784},[167,94280,24144],{"class":173},[167,94282,94283,94285,94287],{"class":169,"line":6789},[167,94284,282],{"class":173},[167,94286,178],{"class":177},[167,94288,185],{"class":173},[167,94290,94291],{"class":169,"line":6805},[167,94292,209],{"emptyLinePlaceholder":208},[167,94294,94295,94297,94299],{"class":169,"line":6820},[167,94296,174],{"class":173},[167,94298,299],{"class":177},[167,94300,185],{"class":173},[167,94302,94303,94305,94307],{"class":169,"line":6825},[167,94304,307],{"class":173},[167,94306,10113],{"class":177},[167,94308,185],{"class":173},[167,94310,94311,94313,94315,94317,94319],{"class":169,"line":6832},[167,94312,1252],{"class":173},[167,94314,22],{"class":177},[167,94316,38914],{"class":173},[167,94318,22],{"class":177},[167,94320,185],{"class":173},[167,94322,94323,94325,94327,94329,94331],{"class":169,"line":6841},[167,94324,1252],{"class":173},[167,94326,15],{"class":177},[167,94328,38927],{"class":173},[167,94330,15],{"class":177},[167,94332,185],{"class":173},[167,94334,94335],{"class":169,"line":6850},[167,94336,209],{"emptyLinePlaceholder":208},[167,94338,94339,94341,94343,94345,94347,94349],{"class":169,"line":6857},[167,94340,1252],{"class":173},[167,94342,4301],{"class":177},[167,94344,4304],{"class":181},[167,94346,267],{"class":173},[167,94348,38948],{"class":201},[167,94350,185],{"class":173},[167,94352,94353,94355],{"class":169,"line":6875},[167,94354,1263],{"class":173},[167,94356,17477],{"class":177},[167,94358,94359,94361,94363],{"class":169,"line":6880},[167,94360,38961],{"class":181},[167,94362,267],{"class":173},[167,94364,38966],{"class":201},[167,94366,94367,94369,94371],{"class":169,"line":6885},[167,94368,38971],{"class":181},[167,94370,267],{"class":173},[167,94372,35279],{"class":201},[167,94374,94375,94377,94379],{"class":169,"line":6894},[167,94376,38980],{"class":181},[167,94378,267],{"class":173},[167,94380,38985],{"class":201},[167,94382,94383,94385,94387],{"class":169,"line":6899},[167,94384,38990],{"class":181},[167,94386,267],{"class":173},[167,94388,38995],{"class":201},[167,94390,94391],{"class":169,"line":6908},[167,94392,39000],{"class":173},[167,94394,94395,94397,94399,94401,94403,94405,94407,94409],{"class":169,"line":6924},[167,94396,1263],{"class":173},[167,94398,507],{"class":177},[167,94400,1169],{"class":181},[167,94402,267],{"class":173},[167,94404,4344],{"class":201},[167,94406,39015],{"class":173},[167,94408,507],{"class":177},[167,94410,185],{"class":173},[167,94412,94413,94415,94417],{"class":169,"line":6945},[167,94414,1287],{"class":173},[167,94416,4301],{"class":177},[167,94418,185],{"class":173},[167,94420,94421],{"class":169,"line":6950},[167,94422,209],{"emptyLinePlaceholder":208},[167,94424,94425,94427,94429],{"class":169,"line":6971},[167,94426,1252],{"class":173},[167,94428,33],{"class":177},[167,94430,185],{"class":173},[167,94432,94433,94435,94437,94439,94441,94443,94445,94447,94449],{"class":169,"line":6985},[167,94434,1263],{"class":173},[167,94436,36],{"class":177},[167,94438,18702],{"class":181},[167,94440,267],{"class":173},[167,94442,39052],{"class":201},[167,94444,10303],{"class":181},[167,94446,267],{"class":173},[167,94448,39059],{"class":201},[167,94450,185],{"class":173},[167,94452,94453,94455,94457,94459,94461,94463],{"class":169,"line":6999},[167,94454,32512],{"class":173},[167,94456,507],{"class":177},[167,94458,1177],{"class":181},[167,94460,267],{"class":173},[167,94462,39074],{"class":201},[167,94464,185],{"class":173},[167,94466,94467],{"class":169,"line":7013},[167,94468,39081],{"class":173},[167,94470,94471,94473,94475],{"class":169,"line":7022},[167,94472,32560],{"class":173},[167,94474,507],{"class":177},[167,94476,185],{"class":173},[167,94478,94479,94481,94483,94485,94487,94489],{"class":169,"line":7027},[167,94480,32512],{"class":173},[167,94482,167],{"class":177},[167,94484,39098],{"class":181},[167,94486,267],{"class":173},[167,94488,39103],{"class":201},[167,94490,185],{"class":173},[167,94492,94493],{"class":169,"line":7044},[167,94494,39110],{"class":173},[167,94496,94497,94499,94501],{"class":169,"line":7053},[167,94498,32560],{"class":173},[167,94500,167],{"class":177},[167,94502,185],{"class":173},[167,94504,94505,94507,94509],{"class":169,"line":7551},[167,94506,10166],{"class":173},[167,94508,36],{"class":177},[167,94510,185],{"class":173},[167,94512,94513,94515,94517],{"class":169,"line":7556},[167,94514,1287],{"class":173},[167,94516,33],{"class":177},[167,94518,185],{"class":173},[167,94520,94521,94523,94525],{"class":169,"line":7575},[167,94522,504],{"class":173},[167,94524,10113],{"class":177},[167,94526,185],{"class":173},[167,94528,94529,94531,94533],{"class":169,"line":7588},[167,94530,282],{"class":173},[167,94532,299],{"class":177},[167,94534,185],{"class":173},[22,94536,7674],{"id":7673},[15,94538,94539,39689],{},[87,94540,23867],{},[15,94542,39692],{},[33,94544,94545,94551,94553,94561],{},[36,94546,1577,94547,39700,94549,1675],{},[87,94548,39699],{},[87,94550,23867],{},[36,94552,39705],{},[36,94554,39708,94555,1020,94557,1020,94559,39715],{},[87,94556,36901],{},[87,94558,36904],{},[87,94560,36907],{},[36,94562,39718],{},[924,94564,39721],{},{"title":163,"searchDepth":188,"depth":188,"links":94566},[94567,94568,94569,94570,94571,94577,94583,94584],{"id":26498,"depth":188,"text":26499},{"id":30495,"depth":188,"text":30496},{"id":6317,"depth":188,"text":6318},{"id":6344,"depth":188,"text":6345},{"id":3080,"depth":188,"text":3081,"children":94572},[94573,94574,94575,94576],{"id":36996,"depth":205,"text":36997},{"id":37071,"depth":205,"text":39732},{"id":37145,"depth":205,"text":37146},{"id":37254,"depth":205,"text":39735},{"id":7992,"depth":188,"text":7993,"children":94578},[94579,94580,94581,94582],{"id":37330,"depth":205,"text":37331},{"id":37546,"depth":205,"text":39740},{"id":37969,"depth":205,"text":37970},{"id":38262,"depth":205,"text":38263},{"id":8022,"depth":188,"text":8023},{"id":7673,"depth":188,"text":7674},{"updatedAt":39750,"coverCaption":23652,"author":945,"keywords":94586},[3254,23867,39752,39753,3256,3969],[94588],{"headline":39757,"author":94589,"datePublished":39750,"@type":959},{"name":945,"@type":958},{"title":36750,"description":39748},[94592,94593,94594],{"tag":26462,"color":26463},{"tag":1640,"color":1641},{"tag":5420,"color":5421},{"id":39767,"title":39768,"body":94596,"cover":42722,"coverAlt":42723,"date":42724,"description":42725,"draft":1617,"extension":940,"lab":941,"locale":942,"meta":97328,"navigation":208,"path":42732,"schemaOrg":97330,"seo":97333,"series":26456,"seriesDescription":26457,"seriesOrder":160,"seriesTitle":26458,"slug":941,"stem":42738,"tags":97334,"__hash__":42744},{"type":8,"value":94597,"toc":97306},[94598,94602,94606,94610,94612,94616,94626,94630,94632,94634,94664,94666,94694,94698,94730,94732,94736,94750,94752,94754,94766,94768,94772,94774,94804,94806,94848,94852,94858,94860,94920,94924,94926,94930,94954,94960,94964,94968,94970,94974,95081,95194,95198,95301,95410,95414,95557,95698,95702,95822,95940,95944,95946,96058,96168,96172,96309,96452,96458,96460,96464,96862,97270,97272,97276,97278,97300,97304],[11,94599,26479,94600],{"id":39773},[87,94601,23864],{},[15,94603,94604,39780],{},[87,94605,23864],{},[15,94607,30436,94608,39785],{},[87,94609,23864],{},[22,94611,26499],{"id":26498},[15,94613,21840,94614,39792],{},[87,94615,23864],{},[33,94617,94618,94620,94622,94624],{},[36,94619,39797],{},[36,94621,39800],{},[36,94623,39803],{},[36,94625,39806],{},[15,94627,3806,94628,39811],{},[87,94629,23864],{},[22,94631,30496],{"id":30495},[15,94633,39816],{},[154,94635,94636],{"className":156,"code":39819,"filename":15280,"language":162,"meta":163,"style":163},[87,94637,94638],{"__ignoreMap":163},[167,94639,94640,94642,94644,94646,94648,94650,94652,94654,94656,94658,94660,94662],{"class":169,"line":170},[167,94641,174],{"class":173},[167,94643,19088],{"class":177},[167,94645,39830],{"class":181},[167,94647,583],{"class":173},[167,94649,39835],{"class":181},[167,94651,267],{"class":173},[167,94653,5076],{"class":201},[167,94655,39842],{"class":173},[167,94657,5076],{"class":201},[167,94659,39847],{"class":173},[167,94661,19088],{"class":177},[167,94663,185],{"class":173},[15,94665,39854],{},[154,94667,94668],{"className":156,"code":39857,"filename":15280,"language":162,"meta":163,"style":163},[87,94669,94670],{"__ignoreMap":163},[167,94671,94672,94674,94676,94678,94680,94682,94684,94686,94688,94690,94692],{"class":169,"line":170},[167,94673,174],{"class":173},[167,94675,19088],{"class":177},[167,94677,5308],{"class":173},[167,94679,39835],{"class":181},[167,94681,267],{"class":173},[167,94683,5076],{"class":201},[167,94685,39842],{"class":173},[167,94687,5076],{"class":201},[167,94689,39847],{"class":173},[167,94691,19088],{"class":177},[167,94693,185],{"class":173},[15,94695,94696,39888],{},[87,94697,23864],{},[33,94699,94700,94712,94716,94722,94726],{},[36,94701,39893,94702,1020,94704,1020,94706,1020,94708,1020,94710,39906],{},[87,94703,39835],{},[87,94705,39898],{},[87,94707,39901],{},[87,94709,580],{},[87,94711,29268],{},[36,94713,39909,94714,39906],{},[87,94715,39912],{},[36,94717,39915,94718,1023,94720,39921],{},[87,94719,39918],{},[87,94721,924],{},[36,94723,39924,94724,39906],{},[87,94725,39927],{},[36,94727,39930,94728,4266],{},[87,94729,39933],{},[22,94731,6318],{"id":6317},[15,94733,1577,94734,39940],{},[87,94735,23864],{},[33,94737,94738,94740,94746,94748],{},[36,94739,39945],{},[36,94741,39948,94742,11223,94744,4266],{},[87,94743,39918],{},[87,94745,924],{},[36,94747,39955],{},[36,94749,39958],{},[22,94751,6345],{"id":6344},[15,94753,6351],{},[33,94755,94756,94758,94762],{},[36,94757,39967],{},[36,94759,39970,94760,4266],{},[87,94761,1657],{},[36,94763,39975,94764,39978],{},[87,94765,23864],{},[22,94767,3081],{"id":3080},[3083,94769,39984,94770,39987],{"id":39983},[87,94771,23864],{},[15,94773,30734],{},[154,94775,94776],{"className":156,"code":39992,"filename":39993,"language":162,"meta":163,"style":163},[87,94777,94778],{"__ignoreMap":163},[167,94779,94780,94782,94784,94786,94788,94790,94792,94794,94796,94798,94800,94802],{"class":169,"line":170},[167,94781,174],{"class":173},[167,94783,40002],{"class":177},[167,94785,5308],{"class":173},[167,94787,39898],{"class":181},[167,94789,267],{"class":173},[167,94791,5076],{"class":201},[167,94793,21853],{"class":191},[167,94795,40015],{"class":173},[167,94797,21853],{"class":191},[167,94799,40020],{"class":173},[167,94801,5076],{"class":201},[167,94803,5321],{"class":173},[15,94805,34277],{},[154,94807,94808],{"className":156,"code":40029,"filename":40030,"language":162,"meta":163,"style":163},[87,94809,94810,94824,94828],{"__ignoreMap":163},[167,94811,94812,94814,94816,94818,94820,94822],{"class":169,"line":170},[167,94813,174],{"class":173},[167,94815,40002],{"class":177},[167,94817,40041],{"class":181},[167,94819,267],{"class":173},[167,94821,40046],{"class":201},[167,94823,5321],{"class":173},[167,94825,94826],{"class":169,"line":188},[167,94827,40053],{"class":18658},[167,94829,94830,94832,94834,94836,94838,94840,94842,94844,94846],{"class":169,"line":205},[167,94831,174],{"class":173},[167,94833,40002],{"class":177},[167,94835,5308],{"class":173},[167,94837,39898],{"class":181},[167,94839,267],{"class":173},[167,94841,5076],{"class":201},[167,94843,40070],{"class":173},[167,94845,5076],{"class":201},[167,94847,5321],{"class":173},[15,94849,40077,94850,40081],{},[87,94851,40080],{},[3083,94853,40085,94854,90,94856],{"id":40084},[87,94855,40088],{},[87,94857,40091],{},[15,94859,30734],{},[154,94861,94862],{"className":156,"code":40096,"filename":34158,"language":162,"meta":163,"style":163},[87,94863,94864,94908,94912],{"__ignoreMap":163},[167,94865,94866,94868,94870,94872,94874,94876,94878,94880,94882,94884,94886,94888,94890,94892,94894,94896,94898,94900,94902,94904,94906],{"class":169,"line":170},[167,94867,174],{"class":173},[167,94869,507],{"class":177},[167,94871,5308],{"class":173},[167,94873,39918],{"class":181},[167,94875,267],{"class":173},[167,94877,5076],{"class":201},[167,94879,37171],{"class":173},[167,94881,8335],{"class":191},[167,94883,40119],{"class":173},[167,94885,8335],{"class":191},[167,94887,5621],{"class":191},[167,94889,37183],{"class":173},[167,94891,8312],{"class":191},[167,94893,40130],{"class":201},[167,94895,5308],{"class":191},[167,94897,40135],{"class":173},[167,94899,8312],{"class":191},[167,94901,40140],{"class":201},[167,94903,5308],{"class":191},[167,94905,40145],{"class":201},[167,94907,185],{"class":173},[167,94909,94910],{"class":169,"line":188},[167,94911,40152],{"class":173},[167,94913,94914,94916,94918],{"class":169,"line":205},[167,94915,282],{"class":173},[167,94917,507],{"class":177},[167,94919,185],{"class":173},[15,94921,40163,94922,1675],{},[87,94923,1657],{},[3083,94925,40169],{"id":40168},[15,94927,94928,40174],{},[87,94929,23864],{},[154,94931,94932],{"className":156,"code":5296,"filename":40177,"language":162,"meta":163,"style":163},[87,94933,94934],{"__ignoreMap":163},[167,94935,94936,94938,94940,94942,94944,94946,94948,94950,94952],{"class":169,"line":170},[167,94937,174],{"class":173},[167,94939,5305],{"class":177},[167,94941,5308],{"class":173},[167,94943,729],{"class":181},[167,94945,267],{"class":173},[167,94947,5076],{"class":201},[167,94949,729],{"class":173},[167,94951,5076],{"class":201},[167,94953,5321],{"class":173},[15,94955,40202,94956,40206,94958,40209],{},[87,94957,40205],{},[87,94959,729],{},[3083,94961,40213,94962,40216],{"id":40212},[87,94963,23864],{},[15,94965,94966,40221],{},[87,94967,23864],{},[22,94969,7993],{"id":7992},[3083,94971,40227,94972,6215],{"id":40226},[87,94973,39835],{},[154,94975,94977],{"className":156,"code":40232,"filename":3256,"highlights":94976,"language":162,"meta":163,"style":163},[160,273],[87,94978,94979,94989,95001,95005,95022,95030,95034,95042,95073],{"__ignoreMap":163},[167,94980,94981,94983,94985,94987],{"class":169,"line":170},[167,94982,174],{"class":173},[167,94984,178],{"class":177},[167,94986,182],{"class":181},[167,94988,185],{"class":173},[167,94990,94991,94993,94995,94997,94999],{"class":169,"line":188},[167,94992,192],{"class":191},[167,94994,195],{"class":173},[167,94996,198],{"class":191},[167,94998,24037],{"class":201},[167,95000,24040],{"class":173},[167,95002,95003],{"class":169,"line":205},[167,95004,209],{"emptyLinePlaceholder":208},[167,95006,95008,95010,95012,95014,95016,95018,95020],{"class":95007,"line":160},[169,213],[167,95009,216],{"class":191},[167,95011,40269],{"class":219},[167,95013,223],{"class":191},[167,95015,226],{"class":181},[167,95017,229],{"class":173},[167,95019,40278],{"class":201},[167,95021,24165],{"class":173},[167,95023,95024,95026,95028],{"class":169,"line":238},[167,95025,282],{"class":173},[167,95027,178],{"class":177},[167,95029,185],{"class":173},[167,95031,95032],{"class":169,"line":243},[167,95033,209],{"emptyLinePlaceholder":208},[167,95035,95036,95038,95040],{"class":169,"line":261},[167,95037,174],{"class":173},[167,95039,299],{"class":177},[167,95041,185],{"class":173},[167,95043,95045,95047,95049,95051,95053,95055,95057,95059,95061,95063,95065,95067,95069,95071],{"class":95044,"line":273},[169,213],[167,95046,307],{"class":173},[167,95048,19088],{"class":177},[167,95050,40310],{"class":181},[167,95052,267],{"class":173},[167,95054,40315],{"class":201},[167,95056,24289],{"class":181},[167,95058,267],{"class":173},[167,95060,40322],{"class":201},[167,95062,40325],{"class":181},[167,95064,267],{"class":173},[167,95066,40330],{"class":201},[167,95068,40333],{"class":173},[167,95070,19088],{"class":177},[167,95072,185],{"class":173},[167,95074,95075,95077,95079],{"class":169,"line":279},[167,95076,282],{"class":173},[167,95078,299],{"class":177},[167,95080,185],{"class":173},[154,95082,95084],{"className":156,"code":40348,"filename":3969,"highlights":95083,"language":162,"meta":163,"style":163},[238,304],[87,95085,95086,95094,95102,95108,95114,95123,95127,95131,95135,95143,95147,95155,95186],{"__ignoreMap":163},[167,95087,95088,95090,95092],{"class":169,"line":170},[167,95089,174],{"class":173},[167,95091,178],{"class":177},[167,95093,185],{"class":173},[167,95095,95096,95098,95100],{"class":169,"line":188},[167,95097,608],{"class":191},[167,95099,3987],{"class":191},[167,95101,1901],{"class":173},[167,95103,95104,95106],{"class":169,"line":205},[167,95105,7172],{"class":181},[167,95107,763],{"class":173},[167,95109,95110,95112],{"class":169,"line":160},[167,95111,1933],{"class":191},[167,95113,1901],{"class":173},[167,95115,95117,95119,95121],{"class":95116,"line":238},[169,213],[167,95118,40385],{"class":173},[167,95120,40278],{"class":201},[167,95122,393],{"class":173},[167,95124,95125],{"class":169,"line":243},[167,95126,24366],{"class":173},[167,95128,95129],{"class":169,"line":261},[167,95130,398],{"class":173},[167,95132,95133],{"class":169,"line":273},[167,95134,24144],{"class":173},[167,95136,95137,95139,95141],{"class":169,"line":279},[167,95138,282],{"class":173},[167,95140,178],{"class":177},[167,95142,185],{"class":173},[167,95144,95145],{"class":169,"line":289},[167,95146,209],{"emptyLinePlaceholder":208},[167,95148,95149,95151,95153],{"class":169,"line":294},[167,95150,174],{"class":173},[167,95152,299],{"class":177},[167,95154,185],{"class":173},[167,95156,95158,95160,95162,95164,95166,95168,95170,95172,95174,95176,95178,95180,95182,95184],{"class":95157,"line":304},[169,213],[167,95159,307],{"class":173},[167,95161,19088],{"class":177},[167,95163,40310],{"class":181},[167,95165,267],{"class":173},[167,95167,40315],{"class":201},[167,95169,24289],{"class":181},[167,95171,267],{"class":173},[167,95173,40322],{"class":201},[167,95175,40325],{"class":181},[167,95177,267],{"class":173},[167,95179,40330],{"class":201},[167,95181,40333],{"class":173},[167,95183,19088],{"class":177},[167,95185,185],{"class":173},[167,95187,95188,95190,95192],{"class":169,"line":313},[167,95189,282],{"class":173},[167,95191,299],{"class":177},[167,95193,185],{"class":173},[3083,95195,40464,95196,6215],{"id":40463},[87,95197,39901],{},[154,95199,95201],{"className":156,"code":40469,"filename":3256,"highlights":95200,"language":162,"meta":163,"style":163},[160,273],[87,95202,95203,95213,95225,95229,95246,95254,95258,95266,95281,95285,95293],{"__ignoreMap":163},[167,95204,95205,95207,95209,95211],{"class":169,"line":170},[167,95206,174],{"class":173},[167,95208,178],{"class":177},[167,95210,182],{"class":181},[167,95212,185],{"class":173},[167,95214,95215,95217,95219,95221,95223],{"class":169,"line":188},[167,95216,192],{"class":191},[167,95218,195],{"class":173},[167,95220,198],{"class":191},[167,95222,24037],{"class":201},[167,95224,24040],{"class":173},[167,95226,95227],{"class":169,"line":205},[167,95228,209],{"emptyLinePlaceholder":208},[167,95230,95232,95234,95236,95238,95240,95242,95244],{"class":95231,"line":160},[169,213],[167,95233,216],{"class":191},[167,95235,40506],{"class":219},[167,95237,223],{"class":191},[167,95239,226],{"class":181},[167,95241,229],{"class":173},[167,95243,3388],{"class":219},[167,95245,24165],{"class":173},[167,95247,95248,95250,95252],{"class":169,"line":238},[167,95249,282],{"class":173},[167,95251,178],{"class":177},[167,95253,185],{"class":173},[167,95255,95256],{"class":169,"line":243},[167,95257,209],{"emptyLinePlaceholder":208},[167,95259,95260,95262,95264],{"class":169,"line":261},[167,95261,174],{"class":173},[167,95263,299],{"class":177},[167,95265,185],{"class":173},[167,95267,95269,95271,95273,95275,95277,95279],{"class":95268,"line":273},[169,213],[167,95270,307],{"class":173},[167,95272,507],{"class":177},[167,95274,40546],{"class":181},[167,95276,267],{"class":173},[167,95278,40551],{"class":201},[167,95280,185],{"class":173},[167,95282,95283],{"class":169,"line":279},[167,95284,40558],{"class":173},[167,95286,95287,95289,95291],{"class":169,"line":289},[167,95288,504],{"class":173},[167,95290,507],{"class":177},[167,95292,185],{"class":173},[167,95294,95295,95297,95299],{"class":169,"line":294},[167,95296,282],{"class":173},[167,95298,299],{"class":177},[167,95300,185],{"class":173},[154,95302,95304],{"className":156,"code":40577,"filename":3969,"highlights":95303,"language":162,"meta":163,"style":163},[238,304],[87,95305,95306,95314,95322,95328,95334,95343,95347,95351,95355,95363,95367,95375,95390,95394,95402],{"__ignoreMap":163},[167,95307,95308,95310,95312],{"class":169,"line":170},[167,95309,174],{"class":173},[167,95311,178],{"class":177},[167,95313,185],{"class":173},[167,95315,95316,95318,95320],{"class":169,"line":188},[167,95317,608],{"class":191},[167,95319,3987],{"class":191},[167,95321,1901],{"class":173},[167,95323,95324,95326],{"class":169,"line":205},[167,95325,7172],{"class":181},[167,95327,763],{"class":173},[167,95329,95330,95332],{"class":169,"line":160},[167,95331,1933],{"class":191},[167,95333,1901],{"class":173},[167,95335,95337,95339,95341],{"class":95336,"line":238},[169,213],[167,95338,40614],{"class":173},[167,95340,3388],{"class":219},[167,95342,393],{"class":173},[167,95344,95345],{"class":169,"line":243},[167,95346,24366],{"class":173},[167,95348,95349],{"class":169,"line":261},[167,95350,398],{"class":173},[167,95352,95353],{"class":169,"line":273},[167,95354,24144],{"class":173},[167,95356,95357,95359,95361],{"class":169,"line":279},[167,95358,282],{"class":173},[167,95360,178],{"class":177},[167,95362,185],{"class":173},[167,95364,95365],{"class":169,"line":289},[167,95366,209],{"emptyLinePlaceholder":208},[167,95368,95369,95371,95373],{"class":169,"line":294},[167,95370,174],{"class":173},[167,95372,299],{"class":177},[167,95374,185],{"class":173},[167,95376,95378,95380,95382,95384,95386,95388],{"class":95377,"line":304},[169,213],[167,95379,307],{"class":173},[167,95381,507],{"class":177},[167,95383,40546],{"class":181},[167,95385,267],{"class":173},[167,95387,40551],{"class":201},[167,95389,185],{"class":173},[167,95391,95392],{"class":169,"line":313},[167,95393,40558],{"class":173},[167,95395,95396,95398,95400],{"class":169,"line":161},[167,95397,504],{"class":173},[167,95399,507],{"class":177},[167,95401,185],{"class":173},[167,95403,95404,95406,95408],{"class":169,"line":335},[167,95405,282],{"class":173},[167,95407,299],{"class":177},[167,95409,185],{"class":173},[3083,95411,40689,95412,40693],{"id":40688},[87,95413,40692],{},[154,95415,95417],{"className":156,"code":40696,"filename":3256,"highlights":95416,"language":162,"meta":163,"style":163},[160,289,294,304,313,161],[87,95418,95419,95429,95441,95445,95462,95478,95486,95490,95498,95504,95513,95518,95523,95528,95533,95537,95541,95549],{"__ignoreMap":163},[167,95420,95421,95423,95425,95427],{"class":169,"line":170},[167,95422,174],{"class":173},[167,95424,178],{"class":177},[167,95426,182],{"class":181},[167,95428,185],{"class":173},[167,95430,95431,95433,95435,95437,95439],{"class":169,"line":188},[167,95432,192],{"class":191},[167,95434,195],{"class":173},[167,95436,198],{"class":191},[167,95438,24037],{"class":201},[167,95440,24040],{"class":173},[167,95442,95443],{"class":169,"line":205},[167,95444,209],{"emptyLinePlaceholder":208},[167,95446,95448,95450,95452,95454,95456,95458,95460],{"class":95447,"line":160},[169,213],[167,95449,216],{"class":191},[167,95451,5782],{"class":219},[167,95453,223],{"class":191},[167,95455,226],{"class":181},[167,95457,229],{"class":173},[167,95459,390],{"class":219},[167,95461,24165],{"class":173},[167,95463,95464,95466,95468,95470,95472,95474,95476],{"class":169,"line":238},[167,95465,216],{"class":191},[167,95467,9482],{"class":219},[167,95469,223],{"class":191},[167,95471,226],{"class":181},[167,95473,229],{"class":173},[167,95475,3388],{"class":219},[167,95477,24165],{"class":173},[167,95479,95480,95482,95484],{"class":169,"line":243},[167,95481,282],{"class":173},[167,95483,178],{"class":177},[167,95485,185],{"class":173},[167,95487,95488],{"class":169,"line":261},[167,95489,209],{"emptyLinePlaceholder":208},[167,95491,95492,95494,95496],{"class":169,"line":273},[167,95493,174],{"class":173},[167,95495,299],{"class":177},[167,95497,185],{"class":173},[167,95499,95500,95502],{"class":169,"line":279},[167,95501,307],{"class":173},[167,95503,40785],{"class":177},[167,95505,95507,95509,95511],{"class":95506,"line":289},[169,213],[167,95508,40791],{"class":181},[167,95510,267],{"class":173},[167,95512,40796],{"class":201},[167,95514,95516],{"class":95515,"line":294},[169,213],[167,95517,40802],{"class":201},[167,95519,95521],{"class":95520,"line":304},[169,213],[167,95522,40808],{"class":201},[167,95524,95526],{"class":95525,"line":313},[169,213],[167,95527,40814],{"class":201},[167,95529,95531],{"class":95530,"line":161},[169,213],[167,95532,40820],{"class":201},[167,95534,95535],{"class":169,"line":335},[167,95536,492],{"class":173},[167,95538,95539],{"class":169,"line":341},[167,95540,40829],{"class":173},[167,95542,95543,95545,95547],{"class":169,"line":489},[167,95544,504],{"class":173},[167,95546,15],{"class":177},[167,95548,185],{"class":173},[167,95550,95551,95553,95555],{"class":169,"line":495},[167,95552,282],{"class":173},[167,95554,299],{"class":177},[167,95556,185],{"class":173},[154,95558,95560],{"className":156,"code":40848,"filename":3969,"highlights":95559,"language":162,"meta":163,"style":163},[238,313,161,335,341,489],[87,95561,95562,95570,95578,95584,95590,95599,95607,95611,95615,95619,95627,95631,95639,95646,95655,95660,95665,95670,95674,95678,95682,95690],{"__ignoreMap":163},[167,95563,95564,95566,95568],{"class":169,"line":170},[167,95565,174],{"class":173},[167,95567,178],{"class":177},[167,95569,185],{"class":173},[167,95571,95572,95574,95576],{"class":169,"line":188},[167,95573,608],{"class":191},[167,95575,3987],{"class":191},[167,95577,1901],{"class":173},[167,95579,95580,95582],{"class":169,"line":205},[167,95581,7172],{"class":181},[167,95583,763],{"class":173},[167,95585,95586,95588],{"class":169,"line":160},[167,95587,1933],{"class":191},[167,95589,1901],{"class":173},[167,95591,95593,95595,95597],{"class":95592,"line":238},[169,213],[167,95594,40885],{"class":173},[167,95596,390],{"class":219},[167,95598,393],{"class":173},[167,95600,95601,95603,95605],{"class":169,"line":243},[167,95602,10648],{"class":173},[167,95604,3388],{"class":219},[167,95606,393],{"class":173},[167,95608,95609],{"class":169,"line":261},[167,95610,24366],{"class":173},[167,95612,95613],{"class":169,"line":273},[167,95614,398],{"class":173},[167,95616,95617],{"class":169,"line":279},[167,95618,24144],{"class":173},[167,95620,95621,95623,95625],{"class":169,"line":289},[167,95622,282],{"class":173},[167,95624,178],{"class":177},[167,95626,185],{"class":173},[167,95628,95629],{"class":169,"line":294},[167,95630,209],{"emptyLinePlaceholder":208},[167,95632,95633,95635,95637],{"class":169,"line":304},[167,95634,174],{"class":173},[167,95636,299],{"class":177},[167,95638,185],{"class":173},[167,95640,95642,95644],{"class":95641,"line":313},[169,213],[167,95643,307],{"class":173},[167,95645,40785],{"class":177},[167,95647,95649,95651,95653],{"class":95648,"line":161},[169,213],[167,95650,40791],{"class":181},[167,95652,267],{"class":173},[167,95654,40796],{"class":201},[167,95656,95658],{"class":95657,"line":335},[169,213],[167,95659,40802],{"class":201},[167,95661,95663],{"class":95662,"line":341},[169,213],[167,95664,40808],{"class":201},[167,95666,95668],{"class":95667,"line":489},[169,213],[167,95669,40814],{"class":201},[167,95671,95672],{"class":169,"line":495},[167,95673,40820],{"class":201},[167,95675,95676],{"class":169,"line":501},[167,95677,492],{"class":173},[167,95679,95680],{"class":169,"line":512},[167,95681,40829],{"class":173},[167,95683,95684,95686,95688],{"class":169,"line":781},[167,95685,504],{"class":173},[167,95687,15],{"class":177},[167,95689,185],{"class":173},[167,95691,95692,95694,95696],{"class":169,"line":786},[167,95693,282],{"class":173},[167,95695,299],{"class":177},[167,95697,185],{"class":173},[3083,95699,32600,95700,40995],{"id":40991},[87,95701,40994],{},[154,95703,95705],{"className":156,"code":40998,"filename":3256,"highlights":95704,"language":162,"meta":163,"style":163},[160,238,279],[87,95706,95707,95717,95729,95733,95750,95767,95775,95779,95787,95802,95806,95814],{"__ignoreMap":163},[167,95708,95709,95711,95713,95715],{"class":169,"line":170},[167,95710,174],{"class":173},[167,95712,178],{"class":177},[167,95714,182],{"class":181},[167,95716,185],{"class":173},[167,95718,95719,95721,95723,95725,95727],{"class":169,"line":188},[167,95720,192],{"class":191},[167,95722,195],{"class":173},[167,95724,198],{"class":191},[167,95726,24037],{"class":201},[167,95728,24040],{"class":173},[167,95730,95731],{"class":169,"line":205},[167,95732,209],{"emptyLinePlaceholder":208},[167,95734,95736,95738,95740,95742,95744,95746,95748],{"class":95735,"line":160},[169,213],[167,95737,216],{"class":191},[167,95739,41035],{"class":219},[167,95741,223],{"class":191},[167,95743,226],{"class":181},[167,95745,229],{"class":173},[167,95747,41044],{"class":219},[167,95749,24165],{"class":173},[167,95751,95753,95755,95757,95759,95761,95763,95765],{"class":95752,"line":238},[169,213],[167,95754,216],{"class":191},[167,95756,41054],{"class":219},[167,95758,223],{"class":191},[167,95760,226],{"class":181},[167,95762,229],{"class":173},[167,95764,41063],{"class":201},[167,95766,24165],{"class":173},[167,95768,95769,95771,95773],{"class":169,"line":243},[167,95770,282],{"class":173},[167,95772,178],{"class":177},[167,95774,185],{"class":173},[167,95776,95777],{"class":169,"line":261},[167,95778,209],{"emptyLinePlaceholder":208},[167,95780,95781,95783,95785],{"class":169,"line":273},[167,95782,174],{"class":173},[167,95784,299],{"class":177},[167,95786,185],{"class":173},[167,95788,95790,95792,95794,95796,95798,95800],{"class":95789,"line":279},[169,213],[167,95791,307],{"class":173},[167,95793,15],{"class":177},[167,95795,39098],{"class":181},[167,95797,267],{"class":173},[167,95799,41099],{"class":201},[167,95801,185],{"class":173},[167,95803,95804],{"class":169,"line":289},[167,95805,41106],{"class":173},[167,95807,95808,95810,95812],{"class":169,"line":294},[167,95809,504],{"class":173},[167,95811,15],{"class":177},[167,95813,185],{"class":173},[167,95815,95816,95818,95820],{"class":169,"line":304},[167,95817,282],{"class":173},[167,95819,299],{"class":177},[167,95821,185],{"class":173},[154,95823,95825],{"className":156,"code":41125,"filename":3969,"highlights":95824,"language":162,"meta":163,"style":163},[238,243,313],[87,95826,95827,95835,95843,95849,95855,95864,95873,95877,95881,95885,95893,95897,95905,95920,95924,95932],{"__ignoreMap":163},[167,95828,95829,95831,95833],{"class":169,"line":170},[167,95830,174],{"class":173},[167,95832,178],{"class":177},[167,95834,185],{"class":173},[167,95836,95837,95839,95841],{"class":169,"line":188},[167,95838,608],{"class":191},[167,95840,3987],{"class":191},[167,95842,1901],{"class":173},[167,95844,95845,95847],{"class":169,"line":205},[167,95846,7172],{"class":181},[167,95848,763],{"class":173},[167,95850,95851,95853],{"class":169,"line":160},[167,95852,1933],{"class":191},[167,95854,1901],{"class":173},[167,95856,95858,95860,95862],{"class":95857,"line":238},[169,213],[167,95859,41162],{"class":173},[167,95861,41044],{"class":219},[167,95863,393],{"class":173},[167,95865,95867,95869,95871],{"class":95866,"line":243},[169,213],[167,95868,41172],{"class":173},[167,95870,41063],{"class":201},[167,95872,393],{"class":173},[167,95874,95875],{"class":169,"line":261},[167,95876,24366],{"class":173},[167,95878,95879],{"class":169,"line":273},[167,95880,398],{"class":173},[167,95882,95883],{"class":169,"line":279},[167,95884,24144],{"class":173},[167,95886,95887,95889,95891],{"class":169,"line":289},[167,95888,282],{"class":173},[167,95890,178],{"class":177},[167,95892,185],{"class":173},[167,95894,95895],{"class":169,"line":294},[167,95896,209],{"emptyLinePlaceholder":208},[167,95898,95899,95901,95903],{"class":169,"line":304},[167,95900,174],{"class":173},[167,95902,299],{"class":177},[167,95904,185],{"class":173},[167,95906,95908,95910,95912,95914,95916,95918],{"class":95907,"line":313},[169,213],[167,95909,307],{"class":173},[167,95911,15],{"class":177},[167,95913,39098],{"class":181},[167,95915,267],{"class":173},[167,95917,41099],{"class":201},[167,95919,185],{"class":173},[167,95921,95922],{"class":169,"line":161},[167,95923,41106],{"class":173},[167,95925,95926,95928,95930],{"class":169,"line":335},[167,95927,504],{"class":173},[167,95929,15],{"class":177},[167,95931,185],{"class":173},[167,95933,95934,95936,95938],{"class":169,"line":341},[167,95935,282],{"class":173},[167,95937,299],{"class":177},[167,95939,185],{"class":173},[3083,95941,41247,95942],{"id":41246},[87,95943,39927],{},[15,95945,41252],{},[154,95947,95949],{"className":156,"code":41255,"filename":3256,"highlights":95948,"language":162,"meta":163,"style":163},[160,238,279],[87,95950,95951,95961,95973,95977,95994,96011,96019,96023,96031,96050],{"__ignoreMap":163},[167,95952,95953,95955,95957,95959],{"class":169,"line":170},[167,95954,174],{"class":173},[167,95956,178],{"class":177},[167,95958,182],{"class":181},[167,95960,185],{"class":173},[167,95962,95963,95965,95967,95969,95971],{"class":169,"line":188},[167,95964,192],{"class":191},[167,95966,195],{"class":173},[167,95968,198],{"class":191},[167,95970,24037],{"class":201},[167,95972,24040],{"class":173},[167,95974,95975],{"class":169,"line":205},[167,95976,209],{"emptyLinePlaceholder":208},[167,95978,95980,95982,95984,95986,95988,95990,95992],{"class":95979,"line":160},[169,213],[167,95981,216],{"class":191},[167,95983,41292],{"class":219},[167,95985,223],{"class":191},[167,95987,226],{"class":181},[167,95989,229],{"class":173},[167,95991,41301],{"class":201},[167,95993,24165],{"class":173},[167,95995,95997,95999,96001,96003,96005,96007,96009],{"class":95996,"line":238},[169,213],[167,95998,216],{"class":191},[167,96000,41311],{"class":219},[167,96002,223],{"class":191},[167,96004,226],{"class":181},[167,96006,229],{"class":173},[167,96008,41320],{"class":201},[167,96010,24165],{"class":173},[167,96012,96013,96015,96017],{"class":169,"line":243},[167,96014,282],{"class":173},[167,96016,178],{"class":177},[167,96018,185],{"class":173},[167,96020,96021],{"class":169,"line":261},[167,96022,209],{"emptyLinePlaceholder":208},[167,96024,96025,96027,96029],{"class":169,"line":273},[167,96026,174],{"class":173},[167,96028,299],{"class":177},[167,96030,185],{"class":173},[167,96032,96034,96036,96038,96040,96042,96044,96046,96048],{"class":96033,"line":279},[169,213],[167,96035,307],{"class":173},[167,96037,507],{"class":177},[167,96039,41352],{"class":181},[167,96041,267],{"class":173},[167,96043,41357],{"class":201},[167,96045,41360],{"class":173},[167,96047,507],{"class":177},[167,96049,185],{"class":173},[167,96051,96052,96054,96056],{"class":169,"line":289},[167,96053,282],{"class":173},[167,96055,299],{"class":177},[167,96057,185],{"class":173},[154,96059,96061],{"className":156,"code":41375,"filename":3969,"highlights":96060,"language":162,"meta":163,"style":163},[238,243,313],[87,96062,96063,96071,96079,96085,96091,96100,96109,96113,96117,96121,96129,96133,96141,96160],{"__ignoreMap":163},[167,96064,96065,96067,96069],{"class":169,"line":170},[167,96066,174],{"class":173},[167,96068,178],{"class":177},[167,96070,185],{"class":173},[167,96072,96073,96075,96077],{"class":169,"line":188},[167,96074,608],{"class":191},[167,96076,3987],{"class":191},[167,96078,1901],{"class":173},[167,96080,96081,96083],{"class":169,"line":205},[167,96082,7172],{"class":181},[167,96084,763],{"class":173},[167,96086,96087,96089],{"class":169,"line":160},[167,96088,1933],{"class":191},[167,96090,1901],{"class":173},[167,96092,96094,96096,96098],{"class":96093,"line":238},[169,213],[167,96095,41412],{"class":173},[167,96097,41301],{"class":201},[167,96099,393],{"class":173},[167,96101,96103,96105,96107],{"class":96102,"line":243},[169,213],[167,96104,41422],{"class":173},[167,96106,41320],{"class":201},[167,96108,393],{"class":173},[167,96110,96111],{"class":169,"line":261},[167,96112,24366],{"class":173},[167,96114,96115],{"class":169,"line":273},[167,96116,398],{"class":173},[167,96118,96119],{"class":169,"line":279},[167,96120,24144],{"class":173},[167,96122,96123,96125,96127],{"class":169,"line":289},[167,96124,282],{"class":173},[167,96126,178],{"class":177},[167,96128,185],{"class":173},[167,96130,96131],{"class":169,"line":294},[167,96132,209],{"emptyLinePlaceholder":208},[167,96134,96135,96137,96139],{"class":169,"line":304},[167,96136,174],{"class":173},[167,96138,299],{"class":177},[167,96140,185],{"class":173},[167,96142,96144,96146,96148,96150,96152,96154,96156,96158],{"class":96143,"line":313},[169,213],[167,96145,307],{"class":173},[167,96147,507],{"class":177},[167,96149,41352],{"class":181},[167,96151,267],{"class":173},[167,96153,41357],{"class":201},[167,96155,41360],{"class":173},[167,96157,507],{"class":177},[167,96159,185],{"class":173},[167,96161,96162,96164,96166],{"class":169,"line":161},[167,96163,282],{"class":173},[167,96165,299],{"class":177},[167,96167,185],{"class":173},[3083,96169,41489,96170,41493],{"id":41488},[87,96171,41492],{},[154,96173,96175],{"className":156,"code":41496,"filename":3256,"highlights":96174,"language":162,"meta":163,"style":163},[160,238,243,261,273,279,289,161],[87,96176,96177,96187,96199,96203,96216,96225,96234,96243,96252,96261,96266,96274,96278,96286,96301],{"__ignoreMap":163},[167,96178,96179,96181,96183,96185],{"class":169,"line":170},[167,96180,174],{"class":173},[167,96182,178],{"class":177},[167,96184,182],{"class":181},[167,96186,185],{"class":173},[167,96188,96189,96191,96193,96195,96197],{"class":169,"line":188},[167,96190,192],{"class":191},[167,96192,195],{"class":173},[167,96194,198],{"class":191},[167,96196,24037],{"class":201},[167,96198,24040],{"class":173},[167,96200,96201],{"class":169,"line":205},[167,96202,209],{"emptyLinePlaceholder":208},[167,96204,96206,96208,96210,96212,96214],{"class":96205,"line":160},[169,213],[167,96207,216],{"class":191},[167,96209,41533],{"class":219},[167,96211,223],{"class":191},[167,96213,226],{"class":181},[167,96215,372],{"class":173},[167,96217,96219,96221,96223],{"class":96218,"line":238},[169,213],[167,96220,41545],{"class":173},[167,96222,37703],{"class":201},[167,96224,393],{"class":173},[167,96226,96228,96230,96232],{"class":96227,"line":243},[169,213],[167,96229,41555],{"class":173},[167,96231,37703],{"class":201},[167,96233,393],{"class":173},[167,96235,96237,96239,96241],{"class":96236,"line":261},[169,213],[167,96238,41565],{"class":173},[167,96240,37716],{"class":201},[167,96242,393],{"class":173},[167,96244,96246,96248,96250],{"class":96245,"line":273},[169,213],[167,96247,41575],{"class":173},[167,96249,37703],{"class":201},[167,96251,393],{"class":173},[167,96253,96255,96257,96259],{"class":96254,"line":279},[169,213],[167,96256,41585],{"class":173},[167,96258,390],{"class":219},[167,96260,393],{"class":173},[167,96262,96264],{"class":96263,"line":289},[169,213],[167,96265,27323],{"class":173},[167,96267,96268,96270,96272],{"class":169,"line":294},[167,96269,282],{"class":173},[167,96271,178],{"class":177},[167,96273,185],{"class":173},[167,96275,96276],{"class":169,"line":304},[167,96277,209],{"emptyLinePlaceholder":208},[167,96279,96280,96282,96284],{"class":169,"line":313},[167,96281,174],{"class":173},[167,96283,299],{"class":177},[167,96285,185],{"class":173},[167,96287,96289,96291,96293,96295,96297,96299],{"class":96288,"line":161},[169,213],[167,96290,307],{"class":173},[167,96292,2646],{"class":177},[167,96294,39830],{"class":181},[167,96296,267],{"class":173},[167,96298,41628],{"class":201},[167,96300,5321],{"class":173},[167,96302,96303,96305,96307],{"class":169,"line":335},[167,96304,282],{"class":173},[167,96306,299],{"class":177},[167,96308,185],{"class":173},[154,96310,96312],{"className":156,"code":41641,"filename":3969,"highlights":96311,"language":162,"meta":163,"style":163},[238,243,261,273,279,289,294,495],[87,96313,96314,96322,96330,96336,96342,96347,96356,96365,96374,96383,96392,96397,96401,96405,96409,96417,96421,96429,96444],{"__ignoreMap":163},[167,96315,96316,96318,96320],{"class":169,"line":170},[167,96317,174],{"class":173},[167,96319,178],{"class":177},[167,96321,185],{"class":173},[167,96323,96324,96326,96328],{"class":169,"line":188},[167,96325,608],{"class":191},[167,96327,3987],{"class":191},[167,96329,1901],{"class":173},[167,96331,96332,96334],{"class":169,"line":205},[167,96333,7172],{"class":181},[167,96335,763],{"class":173},[167,96337,96338,96340],{"class":169,"line":160},[167,96339,1933],{"class":191},[167,96341,1901],{"class":173},[167,96343,96345],{"class":96344,"line":238},[169,213],[167,96346,41678],{"class":173},[167,96348,96350,96352,96354],{"class":96349,"line":243},[169,213],[167,96351,41684],{"class":173},[167,96353,37703],{"class":201},[167,96355,393],{"class":173},[167,96357,96359,96361,96363],{"class":96358,"line":261},[169,213],[167,96360,41694],{"class":173},[167,96362,37703],{"class":201},[167,96364,393],{"class":173},[167,96366,96368,96370,96372],{"class":96367,"line":273},[169,213],[167,96369,41704],{"class":173},[167,96371,37716],{"class":201},[167,96373,393],{"class":173},[167,96375,96377,96379,96381],{"class":96376,"line":279},[169,213],[167,96378,41714],{"class":173},[167,96380,37703],{"class":201},[167,96382,393],{"class":173},[167,96384,96386,96388,96390],{"class":96385,"line":289},[169,213],[167,96387,41724],{"class":173},[167,96389,390],{"class":219},[167,96391,393],{"class":173},[167,96393,96395],{"class":96394,"line":294},[169,213],[167,96396,8638],{"class":173},[167,96398,96399],{"class":169,"line":304},[167,96400,24366],{"class":173},[167,96402,96403],{"class":169,"line":313},[167,96404,398],{"class":173},[167,96406,96407],{"class":169,"line":161},[167,96408,24144],{"class":173},[167,96410,96411,96413,96415],{"class":169,"line":335},[167,96412,282],{"class":173},[167,96414,178],{"class":177},[167,96416,185],{"class":173},[167,96418,96419],{"class":169,"line":341},[167,96420,209],{"emptyLinePlaceholder":208},[167,96422,96423,96425,96427],{"class":169,"line":489},[167,96424,174],{"class":173},[167,96426,299],{"class":177},[167,96428,185],{"class":173},[167,96430,96432,96434,96436,96438,96440,96442],{"class":96431,"line":495},[169,213],[167,96433,307],{"class":173},[167,96435,2646],{"class":177},[167,96437,39830],{"class":181},[167,96439,267],{"class":173},[167,96441,41628],{"class":201},[167,96443,5321],{"class":173},[167,96445,96446,96448,96450],{"class":169,"line":501},[167,96447,282],{"class":173},[167,96449,299],{"class":177},[167,96451,185],{"class":173},[5363,96453,96454],{},[15,96455,96456,41795],{},[87,96457,41492],{},[22,96459,41799],{"id":41798},[15,96461,41802,96462,41805],{},[87,96463,23864],{},[154,96465,96466],{"className":156,"code":41808,"filename":3256,"language":162,"meta":163,"style":163},[87,96467,96468,96478,96490,96494,96510,96526,96542,96546,96562,96570,96578,96586,96594,96598,96602,96618,96628,96634,96638,96642,96650,96668,96678,96688,96698,96708,96716,96720,96728,96732,96740,96754,96780,96784,96804,96808,96816,96820,96834,96838,96846,96854],{"__ignoreMap":163},[167,96469,96470,96472,96474,96476],{"class":169,"line":170},[167,96471,174],{"class":173},[167,96473,178],{"class":177},[167,96475,182],{"class":181},[167,96477,185],{"class":173},[167,96479,96480,96482,96484,96486,96488],{"class":169,"line":188},[167,96481,192],{"class":191},[167,96483,1801],{"class":173},[167,96485,198],{"class":191},[167,96487,24037],{"class":201},[167,96489,24040],{"class":173},[167,96491,96492],{"class":169,"line":205},[167,96493,209],{"emptyLinePlaceholder":208},[167,96495,96496,96498,96500,96502,96504,96506,96508],{"class":169,"line":160},[167,96497,216],{"class":191},[167,96499,37594],{"class":219},[167,96501,223],{"class":191},[167,96503,226],{"class":181},[167,96505,229],{"class":173},[167,96507,31157],{"class":201},[167,96509,24165],{"class":173},[167,96511,96512,96514,96516,96518,96520,96522,96524],{"class":169,"line":238},[167,96513,216],{"class":191},[167,96515,41859],{"class":219},[167,96517,223],{"class":191},[167,96519,226],{"class":181},[167,96521,229],{"class":173},[167,96523,3388],{"class":219},[167,96525,24165],{"class":173},[167,96527,96528,96530,96532,96534,96536,96538,96540],{"class":169,"line":243},[167,96529,216],{"class":191},[167,96531,9482],{"class":219},[167,96533,223],{"class":191},[167,96535,226],{"class":181},[167,96537,229],{"class":173},[167,96539,3388],{"class":219},[167,96541,24165],{"class":173},[167,96543,96544],{"class":169,"line":261},[167,96545,209],{"emptyLinePlaceholder":208},[167,96547,96548,96550,96552,96554,96556,96558,96560],{"class":169,"line":273},[167,96549,216],{"class":191},[167,96551,41533],{"class":219},[167,96553,223],{"class":191},[167,96555,1894],{"class":181},[167,96557,1488],{"class":173},[167,96559,639],{"class":191},[167,96561,642],{"class":173},[167,96563,96564,96566,96568],{"class":169,"line":279},[167,96565,41555],{"class":173},[167,96567,37703],{"class":201},[167,96569,393],{"class":173},[167,96571,96572,96574,96576],{"class":169,"line":289},[167,96573,41565],{"class":173},[167,96575,41920],{"class":201},[167,96577,393],{"class":173},[167,96579,96580,96582,96584],{"class":169,"line":294},[167,96581,41575],{"class":173},[167,96583,37703],{"class":201},[167,96585,393],{"class":173},[167,96587,96588,96590,96592],{"class":169,"line":304},[167,96589,41585],{"class":173},[167,96591,390],{"class":219},[167,96593,393],{"class":173},[167,96595,96596],{"class":169,"line":313},[167,96597,41943],{"class":173},[167,96599,96600],{"class":169,"line":161},[167,96601,209],{"emptyLinePlaceholder":208},[167,96603,96604,96606,96608,96610,96612,96614,96616],{"class":169,"line":335},[167,96605,216],{"class":191},[167,96607,41954],{"class":219},[167,96609,223],{"class":191},[167,96611,1894],{"class":181},[167,96613,1488],{"class":173},[167,96615,639],{"class":191},[167,96617,642],{"class":173},[167,96619,96620,96622,96624,96626],{"class":169,"line":341},[167,96621,41969],{"class":201},[167,96623,1103],{"class":173},[167,96625,6637],{"class":191},[167,96627,41976],{"class":173},[167,96629,96630,96632],{"class":169,"line":489},[167,96631,41981],{"class":201},[167,96633,41984],{"class":173},[167,96635,96636],{"class":169,"line":495},[167,96637,41943],{"class":173},[167,96639,96640],{"class":169,"line":501},[167,96641,209],{"emptyLinePlaceholder":208},[167,96643,96644,96646,96648],{"class":169,"line":512},[167,96645,246],{"class":191},[167,96647,41999],{"class":181},[167,96649,763],{"class":173},[167,96651,96652,96654,96656,96658,96660,96662,96664,96666],{"class":169,"line":781},[167,96653,9939],{"class":173},[167,96655,267],{"class":191},[167,96657,42010],{"class":173},[167,96659,2496],{"class":181},[167,96661,14083],{"class":173},[167,96663,2546],{"class":191},[167,96665,38795],{"class":201},[167,96667,24040],{"class":173},[167,96669,96670,96672,96674,96676],{"class":169,"line":786},[167,96671,2540],{"class":191},[167,96673,42027],{"class":173},[167,96675,24234],{"class":191},[167,96677,24040],{"class":173},[167,96679,96680,96682,96684,96686],{"class":169,"line":2674},[167,96681,42036],{"class":173},[167,96683,267],{"class":191},[167,96685,26314],{"class":219},[167,96687,24040],{"class":173},[167,96689,96690,96692,96694,96696],{"class":169,"line":2688},[167,96691,42047],{"class":181},[167,96693,1488],{"class":173},[167,96695,639],{"class":191},[167,96697,1901],{"class":173},[167,96699,96700,96702,96704,96706],{"class":169,"line":3571},[167,96701,42058],{"class":173},[167,96703,267],{"class":191},[167,96705,5773],{"class":219},[167,96707,24040],{"class":173},[167,96709,96710,96712,96714],{"class":169,"line":5024},[167,96711,1953],{"class":173},[167,96713,17176],{"class":219},[167,96715,24165],{"class":173},[167,96717,96718],{"class":169,"line":5033},[167,96719,276],{"class":173},[167,96721,96722,96724,96726],{"class":169,"line":5042},[167,96723,282],{"class":173},[167,96725,178],{"class":177},[167,96727,185],{"class":173},[167,96729,96730],{"class":169,"line":6752},[167,96731,209],{"emptyLinePlaceholder":208},[167,96733,96734,96736,96738],{"class":169,"line":6774},[167,96735,174],{"class":173},[167,96737,299],{"class":177},[167,96739,185],{"class":173},[167,96741,96742,96744,96746,96748,96750,96752],{"class":169,"line":6779},[167,96743,307],{"class":173},[167,96745,4301],{"class":177},[167,96747,4304],{"class":181},[167,96749,267],{"class":173},[167,96751,4344],{"class":201},[167,96753,185],{"class":173},[167,96755,96756,96758,96760,96762,96764,96766,96768,96770,96772,96774,96776,96778],{"class":169,"line":6784},[167,96757,1252],{"class":173},[167,96759,2646],{"class":177},[167,96761,39830],{"class":181},[167,96763,267],{"class":173},[167,96765,41628],{"class":201},[167,96767,2649],{"class":181},[167,96769,267],{"class":173},[167,96771,37703],{"class":201},[167,96773,42131],{"class":181},[167,96775,267],{"class":173},[167,96777,42136],{"class":201},[167,96779,5321],{"class":173},[167,96781,96782],{"class":169,"line":6789},[167,96783,209],{"emptyLinePlaceholder":208},[167,96785,96786,96788,96790,96792,96794,96796,96798,96800,96802],{"class":169,"line":6805},[167,96787,1252],{"class":173},[167,96789,507],{"class":177},[167,96791,40546],{"class":181},[167,96793,267],{"class":173},[167,96795,42155],{"class":201},[167,96797,42131],{"class":181},[167,96799,267],{"class":173},[167,96801,42162],{"class":201},[167,96803,185],{"class":173},[167,96805,96806],{"class":169,"line":6820},[167,96807,42169],{"class":173},[167,96809,96810,96812,96814],{"class":169,"line":6825},[167,96811,1287],{"class":173},[167,96813,507],{"class":177},[167,96815,185],{"class":173},[167,96817,96818],{"class":169,"line":6832},[167,96819,209],{"emptyLinePlaceholder":208},[167,96821,96822,96824,96826,96828,96830,96832],{"class":169,"line":6841},[167,96823,1252],{"class":173},[167,96825,15],{"class":177},[167,96827,39098],{"class":181},[167,96829,267],{"class":173},[167,96831,42194],{"class":201},[167,96833,185],{"class":173},[167,96835,96836],{"class":169,"line":6850},[167,96837,42201],{"class":173},[167,96839,96840,96842,96844],{"class":169,"line":6857},[167,96841,1287],{"class":173},[167,96843,15],{"class":177},[167,96845,185],{"class":173},[167,96847,96848,96850,96852],{"class":169,"line":6875},[167,96849,504],{"class":173},[167,96851,4301],{"class":177},[167,96853,185],{"class":173},[167,96855,96856,96858,96860],{"class":169,"line":6880},[167,96857,282],{"class":173},[167,96859,299],{"class":177},[167,96861,185],{"class":173},[154,96863,96864],{"className":156,"code":42228,"filename":3969,"language":162,"meta":163,"style":163},[87,96865,96866,96874,96882,96888,96894,96902,96910,96918,96922,96926,96930,96936,96942,96950,96958,96966,96974,96978,96982,96988,96994,97006,97016,97020,97024,97028,97032,97038,97060,97074,97086,97096,97108,97116,97120,97124,97128,97136,97140,97148,97162,97188,97192,97212,97216,97224,97228,97242,97246,97254,97262],{"__ignoreMap":163},[167,96867,96868,96870,96872],{"class":169,"line":170},[167,96869,174],{"class":173},[167,96871,178],{"class":177},[167,96873,185],{"class":173},[167,96875,96876,96878,96880],{"class":169,"line":188},[167,96877,608],{"class":191},[167,96879,3987],{"class":191},[167,96881,1901],{"class":173},[167,96883,96884,96886],{"class":169,"line":205},[167,96885,7172],{"class":181},[167,96887,763],{"class":173},[167,96889,96890,96892],{"class":169,"line":160},[167,96891,1933],{"class":191},[167,96893,1901],{"class":173},[167,96895,96896,96898,96900],{"class":169,"line":238},[167,96897,37798],{"class":173},[167,96899,31157],{"class":201},[167,96901,393],{"class":173},[167,96903,96904,96906,96908],{"class":169,"line":243},[167,96905,42271],{"class":173},[167,96907,3388],{"class":219},[167,96909,393],{"class":173},[167,96911,96912,96914,96916],{"class":169,"line":261},[167,96913,10648],{"class":173},[167,96915,3388],{"class":219},[167,96917,393],{"class":173},[167,96919,96920],{"class":169,"line":273},[167,96921,24366],{"class":173},[167,96923,96924],{"class":169,"line":279},[167,96925,398],{"class":173},[167,96927,96928],{"class":169,"line":289},[167,96929,8751],{"class":173},[167,96931,96932,96934],{"class":169,"line":294},[167,96933,42300],{"class":181},[167,96935,763],{"class":173},[167,96937,96938,96940],{"class":169,"line":304},[167,96939,8763],{"class":191},[167,96941,1901],{"class":173},[167,96943,96944,96946,96948],{"class":169,"line":313},[167,96945,41694],{"class":173},[167,96947,37703],{"class":201},[167,96949,393],{"class":173},[167,96951,96952,96954,96956],{"class":169,"line":161},[167,96953,41704],{"class":173},[167,96955,41920],{"class":201},[167,96957,393],{"class":173},[167,96959,96960,96962,96964],{"class":169,"line":335},[167,96961,41714],{"class":173},[167,96963,37703],{"class":201},[167,96965,393],{"class":173},[167,96967,96968,96970,96972],{"class":169,"line":341},[167,96969,41724],{"class":173},[167,96971,390],{"class":219},[167,96973,393],{"class":173},[167,96975,96976],{"class":169,"line":489},[167,96977,42345],{"class":173},[167,96979,96980],{"class":169,"line":495},[167,96981,755],{"class":173},[167,96983,96984,96986],{"class":169,"line":501},[167,96985,42354],{"class":181},[167,96987,763],{"class":173},[167,96989,96990,96992],{"class":169,"line":512},[167,96991,8763],{"class":191},[167,96993,1901],{"class":173},[167,96995,96996,96998,97000,97002,97004],{"class":169,"line":781},[167,96997,42367],{"class":201},[167,96999,1103],{"class":173},[167,97001,6637],{"class":191},[167,97003,4923],{"class":219},[167,97005,42376],{"class":173},[167,97007,97008,97010,97012,97014],{"class":169,"line":786},[167,97009,42381],{"class":201},[167,97011,1103],{"class":173},[167,97013,4923],{"class":219},[167,97015,42376],{"class":173},[167,97017,97018],{"class":169,"line":2674},[167,97019,42345],{"class":173},[167,97021,97022],{"class":169,"line":2688},[167,97023,755],{"class":173},[167,97025,97026],{"class":169,"line":3571},[167,97027,398],{"class":173},[167,97029,97030],{"class":169,"line":5024},[167,97031,4415],{"class":173},[167,97033,97034,97036],{"class":169,"line":5033},[167,97035,42408],{"class":181},[167,97037,763],{"class":173},[167,97039,97040,97042,97044,97046,97048,97050,97052,97054,97056,97058],{"class":169,"line":5042},[167,97041,741],{"class":219},[167,97043,10711],{"class":173},[167,97045,267],{"class":191},[167,97047,7347],{"class":219},[167,97049,37834],{"class":173},[167,97051,2496],{"class":181},[167,97053,14083],{"class":173},[167,97055,2546],{"class":191},[167,97057,38795],{"class":201},[167,97059,24040],{"class":173},[167,97061,97062,97064,97066,97068,97070,97072],{"class":169,"line":6752},[167,97063,7257],{"class":191},[167,97065,2522],{"class":173},[167,97067,4923],{"class":219},[167,97069,42443],{"class":173},[167,97071,24234],{"class":191},[167,97073,24040],{"class":173},[167,97075,97076,97078,97080,97082,97084],{"class":169,"line":6774},[167,97077,741],{"class":219},[167,97079,42454],{"class":173},[167,97081,267],{"class":191},[167,97083,26314],{"class":219},[167,97085,24040],{"class":173},[167,97087,97088,97090,97092,97094],{"class":169,"line":6779},[167,97089,42465],{"class":181},[167,97091,1488],{"class":173},[167,97093,639],{"class":191},[167,97095,1901],{"class":173},[167,97097,97098,97100,97102,97104,97106],{"class":169,"line":6784},[167,97099,14769],{"class":219},[167,97101,42454],{"class":173},[167,97103,267],{"class":191},[167,97105,5773],{"class":219},[167,97107,24040],{"class":173},[167,97109,97110,97112,97114],{"class":169,"line":6789},[167,97111,13044],{"class":173},[167,97113,17176],{"class":219},[167,97115,24165],{"class":173},[167,97117,97118],{"class":169,"line":6805},[167,97119,755],{"class":173},[167,97121,97122],{"class":169,"line":6820},[167,97123,398],{"class":173},[167,97125,97126],{"class":169,"line":6825},[167,97127,24144],{"class":173},[167,97129,97130,97132,97134],{"class":169,"line":6832},[167,97131,282],{"class":173},[167,97133,178],{"class":177},[167,97135,185],{"class":173},[167,97137,97138],{"class":169,"line":6841},[167,97139,209],{"emptyLinePlaceholder":208},[167,97141,97142,97144,97146],{"class":169,"line":6850},[167,97143,174],{"class":173},[167,97145,299],{"class":177},[167,97147,185],{"class":173},[167,97149,97150,97152,97154,97156,97158,97160],{"class":169,"line":6857},[167,97151,307],{"class":173},[167,97153,4301],{"class":177},[167,97155,4304],{"class":181},[167,97157,267],{"class":173},[167,97159,4344],{"class":201},[167,97161,185],{"class":173},[167,97163,97164,97166,97168,97170,97172,97174,97176,97178,97180,97182,97184,97186],{"class":169,"line":6875},[167,97165,1252],{"class":173},[167,97167,2646],{"class":177},[167,97169,39830],{"class":181},[167,97171,267],{"class":173},[167,97173,41628],{"class":201},[167,97175,2649],{"class":181},[167,97177,267],{"class":173},[167,97179,37703],{"class":201},[167,97181,42131],{"class":181},[167,97183,267],{"class":173},[167,97185,42136],{"class":201},[167,97187,5321],{"class":173},[167,97189,97190],{"class":169,"line":6880},[167,97191,209],{"emptyLinePlaceholder":208},[167,97193,97194,97196,97198,97200,97202,97204,97206,97208,97210],{"class":169,"line":6885},[167,97195,1252],{"class":173},[167,97197,507],{"class":177},[167,97199,40546],{"class":181},[167,97201,267],{"class":173},[167,97203,42155],{"class":201},[167,97205,42131],{"class":181},[167,97207,267],{"class":173},[167,97209,42162],{"class":201},[167,97211,185],{"class":173},[167,97213,97214],{"class":169,"line":6894},[167,97215,42169],{"class":173},[167,97217,97218,97220,97222],{"class":169,"line":6899},[167,97219,1287],{"class":173},[167,97221,507],{"class":177},[167,97223,185],{"class":173},[167,97225,97226],{"class":169,"line":6908},[167,97227,209],{"emptyLinePlaceholder":208},[167,97229,97230,97232,97234,97236,97238,97240],{"class":169,"line":6924},[167,97231,1252],{"class":173},[167,97233,15],{"class":177},[167,97235,39098],{"class":181},[167,97237,267],{"class":173},[167,97239,42194],{"class":201},[167,97241,185],{"class":173},[167,97243,97244],{"class":169,"line":6945},[167,97245,42201],{"class":173},[167,97247,97248,97250,97252],{"class":169,"line":6950},[167,97249,1287],{"class":173},[167,97251,15],{"class":177},[167,97253,185],{"class":173},[167,97255,97256,97258,97260],{"class":169,"line":6971},[167,97257,504],{"class":173},[167,97259,4301],{"class":177},[167,97261,185],{"class":173},[167,97263,97264,97266,97268],{"class":169,"line":6985},[167,97265,282],{"class":173},[167,97267,299],{"class":177},[167,97269,185],{"class":173},[22,97271,7674],{"id":7673},[15,97273,97274,42652],{},[87,97275,23864],{},[15,97277,42655],{},[33,97279,97280,97286,97292,97296],{},[36,97281,97282,42662,97284,1675],{},[87,97283,583],{},[87,97285,23864],{},[36,97287,42667,97288,1023,97290,1675],{},[87,97289,39918],{},[87,97291,924],{},[36,97293,42674,97294,1675],{},[87,97295,1657],{},[36,97297,97298,42681],{},[87,97299,41492],{},[15,97301,42684,97302,42687],{},[87,97303,23864],{},[924,97305,42690],{},{"title":163,"searchDepth":188,"depth":188,"links":97307},[97308,97309,97310,97311,97312,97318,97326,97327],{"id":26498,"depth":188,"text":26499},{"id":30495,"depth":188,"text":30496},{"id":6317,"depth":188,"text":6318},{"id":6344,"depth":188,"text":6345},{"id":3080,"depth":188,"text":3081,"children":97313},[97314,97315,97316,97317],{"id":39983,"depth":205,"text":42700},{"id":40084,"depth":205,"text":42702},{"id":40168,"depth":205,"text":40169},{"id":40212,"depth":205,"text":42705},{"id":7992,"depth":188,"text":7993,"children":97319},[97320,97321,97322,97323,97324,97325],{"id":40226,"depth":205,"text":42709},{"id":40463,"depth":205,"text":42711},{"id":40688,"depth":205,"text":42713},{"id":40991,"depth":205,"text":42715},{"id":41246,"depth":205,"text":42717},{"id":41488,"depth":205,"text":42719},{"id":41798,"depth":188,"text":41799},{"id":7673,"depth":188,"text":7674},{"updatedAt":42727,"coverCaption":23652,"author":945,"keywords":97329},[3254,23864,42729,42730,42731,3256,3969],[97331],{"headline":42735,"author":97332,"datePublished":42727,"@type":959},{"name":945,"@type":958},{"title":39768,"description":42725},[97335,97336,97337,97338],{"tag":26462,"color":26463},{"tag":27753,"color":27754},{"tag":3265,"color":3266},{"tag":5420,"color":5421},{"id":42746,"title":42747,"body":97340,"cover":46070,"coverAlt":46071,"date":46072,"description":46073,"draft":1617,"extension":940,"lab":941,"locale":942,"meta":100433,"navigation":208,"path":46078,"schemaOrg":100435,"seo":100438,"series":26456,"seriesDescription":26457,"seriesOrder":205,"seriesTitle":26458,"slug":941,"stem":46084,"tags":100439,"__hash__":46091},{"type":8,"value":97341,"toc":100408},[97342,97346,97350,97352,97362,97364,97366,97368,97380,97384,97392,97396,97398,97406,97408,97412,97430,97432,97546,97668,97670,97672,97869,98074,98078,98082,98084,98198,98320,98322,98450,98586,98590,98770,98958,98960,98964,98970,99224,99484,99488,99630,99788,99790,99993,100204,100208,100214,100266,100268,100274,100280,100342,100348,100352,100354,100358,100362,100364,100384,100386,100390,100392,100404,100406],[11,97343,42753,97344,42756],{"id":42752},[87,97345,30722],{},[15,97347,97348,42761],{},[87,97349,30722],{},[15,97351,42764],{},[33,97353,97354,97358],{},[36,97355,97356,42771],{},[87,97357,30722],{},[36,97359,97360,42777],{},[87,97361,42776],{},[15,97363,42780],{},[22,97365,26499],{"id":26498},[15,97367,42785],{},[33,97369,97370,97372,97374,97376,97378],{},[36,97371,42790],{},[36,97373,42793],{},[36,97375,42796],{},[36,97377,42799],{},[36,97379,42802],{},[15,97381,42805,97382,42808],{},[87,97383,7841],{},[33,97385,97386,97388,97390],{},[36,97387,42813],{},[36,97389,42816],{},[36,97391,42819],{},[22,97393,42823,97394],{"id":42822},[87,97395,30722],{},[15,97397,42828],{},[33,97399,97400,97402,97404],{},[36,97401,42833],{},[36,97403,42836],{},[36,97405,42839],{},[22,97407,6345],{"id":6344},[15,97409,42844,97410,42847],{},[87,97411,30722],{},[33,97413,97414,97416,97424],{},[36,97415,42852],{},[36,97417,42855,97418,1023,97420,42860,97422],{},[87,97419,13492],{},[87,97421,30722],{},[87,97423,1657],{},[36,97425,3176,97426,42868,97428,42871],{},[87,97427,42867],{},[87,97429,7841],{},[22,97431,42875],{"id":42874},[154,97433,97435],{"className":156,"code":42878,"filename":3256,"highlights":97434,"language":162,"meta":163,"style":163},[273],[87,97436,97437,97447,97457,97461,97485,97493,97497,97505,97526,97530,97538],{"__ignoreMap":163},[167,97438,97439,97441,97443,97445],{"class":169,"line":170},[167,97440,174],{"class":173},[167,97442,178],{"class":177},[167,97444,182],{"class":181},[167,97446,185],{"class":173},[167,97448,97449,97451,97453,97455],{"class":169,"line":188},[167,97450,192],{"class":191},[167,97452,195],{"class":173},[167,97454,198],{"class":191},[167,97456,202],{"class":201},[167,97458,97459],{"class":169,"line":205},[167,97460,209],{"emptyLinePlaceholder":208},[167,97462,97463,97465,97467,97469,97471,97473,97475,97477,97479,97481,97483],{"class":169,"line":160},[167,97464,216],{"class":191},[167,97466,42912],{"class":219},[167,97468,223],{"class":191},[167,97470,226],{"class":181},[167,97472,423],{"class":173},[167,97474,42921],{"class":201},[167,97476,1020],{"class":173},[167,97478,42926],{"class":201},[167,97480,1020],{"class":173},[167,97482,42931],{"class":201},[167,97484,429],{"class":173},[167,97486,97487,97489,97491],{"class":169,"line":238},[167,97488,282],{"class":173},[167,97490,178],{"class":177},[167,97492,185],{"class":173},[167,97494,97495],{"class":169,"line":243},[167,97496,209],{"emptyLinePlaceholder":208},[167,97498,97499,97501,97503],{"class":169,"line":261},[167,97500,174],{"class":173},[167,97502,299],{"class":177},[167,97504,185],{"class":173},[167,97506,97508,97510,97512,97514,97516,97518,97520,97522,97524],{"class":97507,"line":273},[169,213],[167,97509,307],{"class":173},[167,97511,36],{"class":177},[167,97513,18702],{"class":181},[167,97515,267],{"class":173},[167,97517,42967],{"class":201},[167,97519,10303],{"class":181},[167,97521,267],{"class":173},[167,97523,42974],{"class":201},[167,97525,185],{"class":173},[167,97527,97528],{"class":169,"line":279},[167,97529,42981],{"class":173},[167,97531,97532,97534,97536],{"class":169,"line":289},[167,97533,504],{"class":173},[167,97535,36],{"class":177},[167,97537,185],{"class":173},[167,97539,97540,97542,97544],{"class":169,"line":294},[167,97541,282],{"class":173},[167,97543,299],{"class":177},[167,97545,185],{"class":173},[154,97547,97549],{"className":156,"code":43000,"filename":3969,"highlights":97548,"language":162,"meta":163,"style":163},[304],[87,97550,97551,97559,97567,97573,97579,97595,97599,97603,97607,97615,97619,97627,97648,97652,97660],{"__ignoreMap":163},[167,97552,97553,97555,97557],{"class":169,"line":170},[167,97554,174],{"class":173},[167,97556,178],{"class":177},[167,97558,185],{"class":173},[167,97560,97561,97563,97565],{"class":169,"line":188},[167,97562,608],{"class":191},[167,97564,3987],{"class":191},[167,97566,1901],{"class":173},[167,97568,97569,97571],{"class":169,"line":205},[167,97570,7172],{"class":181},[167,97572,763],{"class":173},[167,97574,97575,97577],{"class":169,"line":160},[167,97576,1933],{"class":191},[167,97578,1901],{"class":173},[167,97580,97581,97583,97585,97587,97589,97591,97593],{"class":169,"line":238},[167,97582,43036],{"class":173},[167,97584,42921],{"class":201},[167,97586,1020],{"class":173},[167,97588,42926],{"class":201},[167,97590,1020],{"class":173},[167,97592,42931],{"class":201},[167,97594,43049],{"class":173},[167,97596,97597],{"class":169,"line":243},[167,97598,4045],{"class":173},[167,97600,97601],{"class":169,"line":261},[167,97602,3488],{"class":173},[167,97604,97605],{"class":169,"line":273},[167,97606,276],{"class":173},[167,97608,97609,97611,97613],{"class":169,"line":279},[167,97610,282],{"class":173},[167,97612,178],{"class":177},[167,97614,185],{"class":173},[167,97616,97617],{"class":169,"line":289},[167,97618,209],{"emptyLinePlaceholder":208},[167,97620,97621,97623,97625],{"class":169,"line":294},[167,97622,174],{"class":173},[167,97624,299],{"class":177},[167,97626,185],{"class":173},[167,97628,97630,97632,97634,97636,97638,97640,97642,97644,97646],{"class":97629,"line":304},[169,213],[167,97631,307],{"class":173},[167,97633,36],{"class":177},[167,97635,18702],{"class":181},[167,97637,267],{"class":173},[167,97639,42967],{"class":201},[167,97641,10303],{"class":181},[167,97643,267],{"class":173},[167,97645,42974],{"class":201},[167,97647,185],{"class":173},[167,97649,97650],{"class":169,"line":313},[167,97651,42981],{"class":173},[167,97653,97654,97656,97658],{"class":169,"line":161},[167,97655,504],{"class":173},[167,97657,36],{"class":177},[167,97659,185],{"class":173},[167,97661,97662,97664,97666],{"class":169,"line":335},[167,97663,282],{"class":173},[167,97665,299],{"class":177},[167,97667,185],{"class":173},[22,97669,43126],{"id":43125},[15,97671,43129],{},[154,97673,97675],{"className":156,"code":43132,"filename":3256,"highlights":97674,"language":162,"meta":163,"style":163},[160,238,243,261,273,313],[87,97676,97677,97687,97697,97701,97714,97731,97748,97765,97770,97778,97782,97790,97798,97819,97833,97837,97845,97853,97861],{"__ignoreMap":163},[167,97678,97679,97681,97683,97685],{"class":169,"line":170},[167,97680,174],{"class":173},[167,97682,178],{"class":177},[167,97684,182],{"class":181},[167,97686,185],{"class":173},[167,97688,97689,97691,97693,97695],{"class":169,"line":188},[167,97690,192],{"class":191},[167,97692,195],{"class":173},[167,97694,198],{"class":191},[167,97696,202],{"class":201},[167,97698,97699],{"class":169,"line":205},[167,97700,209],{"emptyLinePlaceholder":208},[167,97702,97704,97706,97708,97710,97712],{"class":97703,"line":160},[169,213],[167,97705,216],{"class":191},[167,97707,43167],{"class":219},[167,97709,223],{"class":191},[167,97711,226],{"class":181},[167,97713,1823],{"class":173},[167,97715,97717,97719,97721,97723,97725,97727,97729],{"class":97716,"line":238},[169,213],[167,97718,1828],{"class":173},[167,97720,1831],{"class":219},[167,97722,15629],{"class":173},[167,97724,43185],{"class":201},[167,97726,8160],{"class":173},[167,97728,390],{"class":219},[167,97730,1852],{"class":173},[167,97732,97734,97736,97738,97740,97742,97744,97746],{"class":97733,"line":243},[169,213],[167,97735,1828],{"class":173},[167,97737,1849],{"class":219},[167,97739,15629],{"class":173},[167,97741,43203],{"class":201},[167,97743,8160],{"class":173},[167,97745,3388],{"class":219},[167,97747,1852],{"class":173},[167,97749,97751,97753,97755,97757,97759,97761,97763],{"class":97750,"line":261},[169,213],[167,97752,1828],{"class":173},[167,97754,8199],{"class":219},[167,97756,15629],{"class":173},[167,97758,43221],{"class":201},[167,97760,8160],{"class":173},[167,97762,3388],{"class":219},[167,97764,599],{"class":173},[167,97766,97768],{"class":97767,"line":273},[169,213],[167,97769,429],{"class":173},[167,97771,97772,97774,97776],{"class":169,"line":279},[167,97773,282],{"class":173},[167,97775,178],{"class":177},[167,97777,185],{"class":173},[167,97779,97780],{"class":169,"line":289},[167,97781,209],{"emptyLinePlaceholder":208},[167,97783,97784,97786,97788],{"class":169,"line":294},[167,97785,174],{"class":173},[167,97787,299],{"class":177},[167,97789,185],{"class":173},[167,97791,97792,97794,97796],{"class":169,"line":304},[167,97793,307],{"class":173},[167,97795,33],{"class":177},[167,97797,185],{"class":173},[167,97799,97801,97803,97805,97807,97809,97811,97813,97815,97817],{"class":97800,"line":313},[169,213],[167,97802,1252],{"class":173},[167,97804,36],{"class":177},[167,97806,18702],{"class":181},[167,97808,267],{"class":173},[167,97810,43274],{"class":201},[167,97812,10303],{"class":181},[167,97814,267],{"class":173},[167,97816,43281],{"class":201},[167,97818,185],{"class":173},[167,97820,97821,97823,97825,97827,97829,97831],{"class":169,"line":161},[167,97822,1263],{"class":173},[167,97824,167],{"class":177},[167,97826,39098],{"class":181},[167,97828,267],{"class":173},[167,97830,43296],{"class":201},[167,97832,185],{"class":173},[167,97834,97835],{"class":169,"line":335},[167,97836,43303],{"class":173},[167,97838,97839,97841,97843],{"class":169,"line":341},[167,97840,10166],{"class":173},[167,97842,167],{"class":177},[167,97844,185],{"class":173},[167,97846,97847,97849,97851],{"class":169,"line":489},[167,97848,1287],{"class":173},[167,97850,36],{"class":177},[167,97852,185],{"class":173},[167,97854,97855,97857,97859],{"class":169,"line":495},[167,97856,504],{"class":173},[167,97858,33],{"class":177},[167,97860,185],{"class":173},[167,97862,97863,97865,97867],{"class":169,"line":501},[167,97864,282],{"class":173},[167,97866,299],{"class":177},[167,97868,185],{"class":173},[154,97870,97872],{"className":156,"code":43338,"filename":3969,"highlights":97871,"language":162,"meta":163,"style":163},[238,243,261,273,279,489],[87,97873,97874,97882,97890,97896,97902,97907,97924,97941,97958,97963,97967,97971,97975,97983,97987,97995,98003,98024,98038,98042,98050,98058,98066],{"__ignoreMap":163},[167,97875,97876,97878,97880],{"class":169,"line":170},[167,97877,174],{"class":173},[167,97879,178],{"class":177},[167,97881,185],{"class":173},[167,97883,97884,97886,97888],{"class":169,"line":188},[167,97885,608],{"class":191},[167,97887,3987],{"class":191},[167,97889,1901],{"class":173},[167,97891,97892,97894],{"class":169,"line":205},[167,97893,7172],{"class":181},[167,97895,763],{"class":173},[167,97897,97898,97900],{"class":169,"line":160},[167,97899,1933],{"class":191},[167,97901,1901],{"class":173},[167,97903,97905],{"class":97904,"line":238},[169,213],[167,97906,43375],{"class":173},[167,97908,97910,97912,97914,97916,97918,97920,97922],{"class":97909,"line":243},[169,213],[167,97911,8673],{"class":173},[167,97913,1831],{"class":219},[167,97915,15629],{"class":173},[167,97917,43185],{"class":201},[167,97919,8160],{"class":173},[167,97921,390],{"class":219},[167,97923,1852],{"class":173},[167,97925,97927,97929,97931,97933,97935,97937,97939],{"class":97926,"line":261},[169,213],[167,97928,8673],{"class":173},[167,97930,1849],{"class":219},[167,97932,15629],{"class":173},[167,97934,43203],{"class":201},[167,97936,8160],{"class":173},[167,97938,3388],{"class":219},[167,97940,1852],{"class":173},[167,97942,97944,97946,97948,97950,97952,97954,97956],{"class":97943,"line":273},[169,213],[167,97945,8673],{"class":173},[167,97947,8199],{"class":219},[167,97949,15629],{"class":173},[167,97951,43221],{"class":201},[167,97953,8160],{"class":173},[167,97955,3388],{"class":219},[167,97957,599],{"class":173},[167,97959,97961],{"class":97960,"line":279},[169,213],[167,97962,8734],{"class":173},[167,97964,97965],{"class":169,"line":289},[167,97966,4045],{"class":173},[167,97968,97969],{"class":169,"line":294},[167,97970,3488],{"class":173},[167,97972,97973],{"class":169,"line":304},[167,97974,276],{"class":173},[167,97976,97977,97979,97981],{"class":169,"line":313},[167,97978,282],{"class":173},[167,97980,178],{"class":177},[167,97982,185],{"class":173},[167,97984,97985],{"class":169,"line":161},[167,97986,209],{"emptyLinePlaceholder":208},[167,97988,97989,97991,97993],{"class":169,"line":335},[167,97990,174],{"class":173},[167,97992,299],{"class":177},[167,97994,185],{"class":173},[167,97996,97997,97999,98001],{"class":169,"line":341},[167,97998,307],{"class":173},[167,98000,33],{"class":177},[167,98002,185],{"class":173},[167,98004,98006,98008,98010,98012,98014,98016,98018,98020,98022],{"class":98005,"line":489},[169,213],[167,98007,1252],{"class":173},[167,98009,36],{"class":177},[167,98011,18702],{"class":181},[167,98013,267],{"class":173},[167,98015,43274],{"class":201},[167,98017,10303],{"class":181},[167,98019,267],{"class":173},[167,98021,43281],{"class":201},[167,98023,185],{"class":173},[167,98025,98026,98028,98030,98032,98034,98036],{"class":169,"line":495},[167,98027,1263],{"class":173},[167,98029,167],{"class":177},[167,98031,39098],{"class":181},[167,98033,267],{"class":173},[167,98035,43296],{"class":201},[167,98037,185],{"class":173},[167,98039,98040],{"class":169,"line":501},[167,98041,43303],{"class":173},[167,98043,98044,98046,98048],{"class":169,"line":512},[167,98045,10166],{"class":173},[167,98047,167],{"class":177},[167,98049,185],{"class":173},[167,98051,98052,98054,98056],{"class":169,"line":781},[167,98053,1287],{"class":173},[167,98055,36],{"class":177},[167,98057,185],{"class":173},[167,98059,98060,98062,98064],{"class":169,"line":786},[167,98061,504],{"class":173},[167,98063,33],{"class":177},[167,98065,185],{"class":173},[167,98067,98068,98070,98072],{"class":169,"line":2674},[167,98069,282],{"class":173},[167,98071,299],{"class":177},[167,98073,185],{"class":173},[22,98075,43546,98076],{"id":43545},[87,98077,43549],{},[3083,98079,43553,98080],{"id":43552},[87,98081,30722],{},[15,98083,43558],{},[154,98085,98087],{"className":156,"code":43561,"filename":3256,"highlights":98086,"language":162,"meta":163,"style":163},[273],[87,98088,98089,98099,98109,98113,98137,98145,98149,98157,98178,98182,98190],{"__ignoreMap":163},[167,98090,98091,98093,98095,98097],{"class":169,"line":170},[167,98092,174],{"class":173},[167,98094,178],{"class":177},[167,98096,182],{"class":181},[167,98098,185],{"class":173},[167,98100,98101,98103,98105,98107],{"class":169,"line":188},[167,98102,192],{"class":191},[167,98104,195],{"class":173},[167,98106,198],{"class":191},[167,98108,202],{"class":201},[167,98110,98111],{"class":169,"line":205},[167,98112,209],{"emptyLinePlaceholder":208},[167,98114,98115,98117,98119,98121,98123,98125,98127,98129,98131,98133,98135],{"class":169,"line":160},[167,98116,216],{"class":191},[167,98118,16950],{"class":219},[167,98120,223],{"class":191},[167,98122,226],{"class":181},[167,98124,423],{"class":173},[167,98126,8168],{"class":201},[167,98128,1020],{"class":173},[167,98130,8190],{"class":201},[167,98132,1020],{"class":173},[167,98134,43611],{"class":201},[167,98136,429],{"class":173},[167,98138,98139,98141,98143],{"class":169,"line":238},[167,98140,282],{"class":173},[167,98142,178],{"class":177},[167,98144,185],{"class":173},[167,98146,98147],{"class":169,"line":243},[167,98148,209],{"emptyLinePlaceholder":208},[167,98150,98151,98153,98155],{"class":169,"line":261},[167,98152,174],{"class":173},[167,98154,299],{"class":177},[167,98156,185],{"class":173},[167,98158,98160,98162,98164,98166,98168,98170,98172,98174,98176],{"class":98159,"line":273},[169,213],[167,98161,307],{"class":173},[167,98163,15],{"class":177},[167,98165,18702],{"class":181},[167,98167,267],{"class":173},[167,98169,43647],{"class":201},[167,98171,10303],{"class":181},[167,98173,267],{"class":173},[167,98175,27387],{"class":201},[167,98177,185],{"class":173},[167,98179,98180],{"class":169,"line":279},[167,98181,43660],{"class":173},[167,98183,98184,98186,98188],{"class":169,"line":289},[167,98185,504],{"class":173},[167,98187,15],{"class":177},[167,98189,185],{"class":173},[167,98191,98192,98194,98196],{"class":169,"line":294},[167,98193,282],{"class":173},[167,98195,299],{"class":177},[167,98197,185],{"class":173},[154,98199,98201],{"className":156,"code":43679,"filename":3969,"highlights":98200,"language":162,"meta":163,"style":163},[304],[87,98202,98203,98211,98219,98225,98231,98247,98251,98255,98259,98267,98271,98279,98300,98304,98312],{"__ignoreMap":163},[167,98204,98205,98207,98209],{"class":169,"line":170},[167,98206,174],{"class":173},[167,98208,178],{"class":177},[167,98210,185],{"class":173},[167,98212,98213,98215,98217],{"class":169,"line":188},[167,98214,608],{"class":191},[167,98216,3987],{"class":191},[167,98218,1901],{"class":173},[167,98220,98221,98223],{"class":169,"line":205},[167,98222,7172],{"class":181},[167,98224,763],{"class":173},[167,98226,98227,98229],{"class":169,"line":160},[167,98228,1933],{"class":191},[167,98230,1901],{"class":173},[167,98232,98233,98235,98237,98239,98241,98243,98245],{"class":169,"line":238},[167,98234,43715],{"class":173},[167,98236,8168],{"class":201},[167,98238,1020],{"class":173},[167,98240,8190],{"class":201},[167,98242,1020],{"class":173},[167,98244,43611],{"class":201},[167,98246,43049],{"class":173},[167,98248,98249],{"class":169,"line":243},[167,98250,4045],{"class":173},[167,98252,98253],{"class":169,"line":261},[167,98254,3488],{"class":173},[167,98256,98257],{"class":169,"line":273},[167,98258,276],{"class":173},[167,98260,98261,98263,98265],{"class":169,"line":279},[167,98262,282],{"class":173},[167,98264,178],{"class":177},[167,98266,185],{"class":173},[167,98268,98269],{"class":169,"line":289},[167,98270,209],{"emptyLinePlaceholder":208},[167,98272,98273,98275,98277],{"class":169,"line":294},[167,98274,174],{"class":173},[167,98276,299],{"class":177},[167,98278,185],{"class":173},[167,98280,98282,98284,98286,98288,98290,98292,98294,98296,98298],{"class":98281,"line":304},[169,213],[167,98283,307],{"class":173},[167,98285,15],{"class":177},[167,98287,18702],{"class":181},[167,98289,267],{"class":173},[167,98291,43647],{"class":201},[167,98293,10303],{"class":181},[167,98295,267],{"class":173},[167,98297,27387],{"class":201},[167,98299,185],{"class":173},[167,98301,98302],{"class":169,"line":313},[167,98303,43660],{"class":173},[167,98305,98306,98308,98310],{"class":169,"line":161},[167,98307,504],{"class":173},[167,98309,15],{"class":177},[167,98311,185],{"class":173},[167,98313,98314,98316,98318],{"class":169,"line":335},[167,98315,282],{"class":173},[167,98317,299],{"class":177},[167,98319,185],{"class":173},[3083,98321,43804],{"id":43803},[154,98323,98325],{"className":156,"code":43807,"filename":3256,"highlights":98324,"language":162,"meta":163,"style":163},[304],[87,98326,98327,98337,98347,98351,98363,98371,98379,98385,98389,98397,98401,98409,98430,98434,98442],{"__ignoreMap":163},[167,98328,98329,98331,98333,98335],{"class":169,"line":170},[167,98330,174],{"class":173},[167,98332,178],{"class":177},[167,98334,182],{"class":181},[167,98336,185],{"class":173},[167,98338,98339,98341,98343,98345],{"class":169,"line":188},[167,98340,192],{"class":191},[167,98342,195],{"class":173},[167,98344,198],{"class":191},[167,98346,202],{"class":201},[167,98348,98349],{"class":169,"line":205},[167,98350,209],{"emptyLinePlaceholder":208},[167,98352,98353,98355,98357,98359,98361],{"class":169,"line":160},[167,98354,216],{"class":191},[167,98356,43841],{"class":219},[167,98358,223],{"class":191},[167,98360,226],{"class":181},[167,98362,372],{"class":173},[167,98364,98365,98367,98369],{"class":169,"line":238},[167,98366,4394],{"class":173},[167,98368,43854],{"class":201},[167,98370,393],{"class":173},[167,98372,98373,98375,98377],{"class":169,"line":243},[167,98374,43861],{"class":173},[167,98376,43864],{"class":201},[167,98378,393],{"class":173},[167,98380,98381,98383],{"class":169,"line":261},[167,98382,43871],{"class":173},[167,98384,43874],{"class":201},[167,98386,98387],{"class":169,"line":273},[167,98388,403],{"class":173},[167,98390,98391,98393,98395],{"class":169,"line":279},[167,98392,282],{"class":173},[167,98394,178],{"class":177},[167,98396,185],{"class":173},[167,98398,98399],{"class":169,"line":289},[167,98400,209],{"emptyLinePlaceholder":208},[167,98402,98403,98405,98407],{"class":169,"line":294},[167,98404,174],{"class":173},[167,98406,299],{"class":177},[167,98408,185],{"class":173},[167,98410,98412,98414,98416,98418,98420,98422,98424,98426,98428],{"class":98411,"line":304},[169,213],[167,98413,307],{"class":173},[167,98415,36],{"class":177},[167,98417,18702],{"class":181},[167,98419,267],{"class":173},[167,98421,43912],{"class":201},[167,98423,10303],{"class":181},[167,98425,267],{"class":173},[167,98427,43919],{"class":201},[167,98429,185],{"class":173},[167,98431,98432],{"class":169,"line":313},[167,98433,43926],{"class":173},[167,98435,98436,98438,98440],{"class":169,"line":161},[167,98437,504],{"class":173},[167,98439,36],{"class":177},[167,98441,185],{"class":173},[167,98443,98444,98446,98448],{"class":169,"line":335},[167,98445,282],{"class":173},[167,98447,299],{"class":177},[167,98449,185],{"class":173},[154,98451,98453],{"className":156,"code":43945,"filename":3969,"highlights":98452,"language":162,"meta":163,"style":163},[341],[87,98454,98455,98463,98471,98477,98483,98487,98495,98503,98509,98513,98517,98521,98525,98533,98537,98545,98566,98570,98578],{"__ignoreMap":163},[167,98456,98457,98459,98461],{"class":169,"line":170},[167,98458,174],{"class":173},[167,98460,178],{"class":177},[167,98462,185],{"class":173},[167,98464,98465,98467,98469],{"class":169,"line":188},[167,98466,608],{"class":191},[167,98468,3987],{"class":191},[167,98470,1901],{"class":173},[167,98472,98473,98475],{"class":169,"line":205},[167,98474,7172],{"class":181},[167,98476,763],{"class":173},[167,98478,98479,98481],{"class":169,"line":160},[167,98480,1933],{"class":191},[167,98482,1901],{"class":173},[167,98484,98485],{"class":169,"line":238},[167,98486,43981],{"class":173},[167,98488,98489,98491,98493],{"class":169,"line":243},[167,98490,43986],{"class":173},[167,98492,43854],{"class":201},[167,98494,393],{"class":173},[167,98496,98497,98499,98501],{"class":169,"line":261},[167,98498,43995],{"class":173},[167,98500,43864],{"class":201},[167,98502,393],{"class":173},[167,98504,98505,98507],{"class":169,"line":273},[167,98506,44004],{"class":173},[167,98508,43874],{"class":201},[167,98510,98511],{"class":169,"line":279},[167,98512,7283],{"class":173},[167,98514,98515],{"class":169,"line":289},[167,98516,4045],{"class":173},[167,98518,98519],{"class":169,"line":294},[167,98520,3488],{"class":173},[167,98522,98523],{"class":169,"line":304},[167,98524,276],{"class":173},[167,98526,98527,98529,98531],{"class":169,"line":313},[167,98528,282],{"class":173},[167,98530,178],{"class":177},[167,98532,185],{"class":173},[167,98534,98535],{"class":169,"line":161},[167,98536,209],{"emptyLinePlaceholder":208},[167,98538,98539,98541,98543],{"class":169,"line":335},[167,98540,174],{"class":173},[167,98542,299],{"class":177},[167,98544,185],{"class":173},[167,98546,98548,98550,98552,98554,98556,98558,98560,98562,98564],{"class":98547,"line":341},[169,213],[167,98549,307],{"class":173},[167,98551,36],{"class":177},[167,98553,18702],{"class":181},[167,98555,267],{"class":173},[167,98557,43912],{"class":201},[167,98559,10303],{"class":181},[167,98561,267],{"class":173},[167,98563,43919],{"class":201},[167,98565,185],{"class":173},[167,98567,98568],{"class":169,"line":489},[167,98569,43926],{"class":173},[167,98571,98572,98574,98576],{"class":169,"line":495},[167,98573,504],{"class":173},[167,98575,36],{"class":177},[167,98577,185],{"class":173},[167,98579,98580,98582,98584],{"class":169,"line":501},[167,98581,282],{"class":173},[167,98583,299],{"class":177},[167,98585,185],{"class":173},[3083,98587,44087,98588],{"id":44086},[87,98589,299],{},[154,98591,98593],{"className":156,"code":44092,"filename":3256,"highlights":98592,"language":162,"meta":163,"style":163},[294],[87,98594,98595,98605,98615,98619,98631,98647,98663,98667,98675,98679,98687,98722,98734,98746,98754,98762],{"__ignoreMap":163},[167,98596,98597,98599,98601,98603],{"class":169,"line":170},[167,98598,174],{"class":173},[167,98600,178],{"class":177},[167,98602,182],{"class":181},[167,98604,185],{"class":173},[167,98606,98607,98609,98611,98613],{"class":169,"line":188},[167,98608,192],{"class":191},[167,98610,195],{"class":173},[167,98612,198],{"class":191},[167,98614,202],{"class":201},[167,98616,98617],{"class":169,"line":205},[167,98618,209],{"emptyLinePlaceholder":208},[167,98620,98621,98623,98625,98627,98629],{"class":169,"line":160},[167,98622,216],{"class":191},[167,98624,1816],{"class":219},[167,98626,223],{"class":191},[167,98628,226],{"class":181},[167,98630,1823],{"class":173},[167,98632,98633,98635,98637,98639,98641,98643,98645],{"class":169,"line":238},[167,98634,1828],{"class":173},[167,98636,1831],{"class":219},[167,98638,3379],{"class":173},[167,98640,44142],{"class":201},[167,98642,44145],{"class":173},[167,98644,44148],{"class":201},[167,98646,1852],{"class":173},[167,98648,98649,98651,98653,98655,98657,98659,98661],{"class":169,"line":243},[167,98650,1828],{"class":173},[167,98652,1849],{"class":219},[167,98654,3379],{"class":173},[167,98656,44161],{"class":201},[167,98658,44145],{"class":173},[167,98660,44166],{"class":201},[167,98662,599],{"class":173},[167,98664,98665],{"class":169,"line":261},[167,98666,429],{"class":173},[167,98668,98669,98671,98673],{"class":169,"line":273},[167,98670,282],{"class":173},[167,98672,178],{"class":177},[167,98674,185],{"class":173},[167,98676,98677],{"class":169,"line":279},[167,98678,209],{"emptyLinePlaceholder":208},[167,98680,98681,98683,98685],{"class":169,"line":289},[167,98682,174],{"class":173},[167,98684,299],{"class":177},[167,98686,185],{"class":173},[167,98688,98690,98692,98694,98696,98698,98700,98702,98704,98706,98708,98710,98712,98714,98716,98718,98720],{"class":98689,"line":294},[169,213],[167,98691,307],{"class":173},[167,98693,299],{"class":177},[167,98695,18702],{"class":191},[167,98697,267],{"class":173},[167,98699,5076],{"class":201},[167,98701,44208],{"class":173},[167,98703,44211],{"class":191},[167,98705,1816],{"class":173},[167,98707,5076],{"class":201},[167,98709,5308],{"class":173},[167,98711,7841],{"class":181},[167,98713,267],{"class":173},[167,98715,5076],{"class":201},[167,98717,44226],{"class":173},[167,98719,5076],{"class":201},[167,98721,185],{"class":173},[167,98723,98724,98726,98728,98730,98732],{"class":169,"line":304},[167,98725,1252],{"class":173},[167,98727,3083],{"class":177},[167,98729,44239],{"class":173},[167,98731,3083],{"class":177},[167,98733,185],{"class":173},[167,98735,98736,98738,98740,98742,98744],{"class":169,"line":313},[167,98737,1252],{"class":173},[167,98739,15],{"class":177},[167,98741,44252],{"class":173},[167,98743,15],{"class":177},[167,98745,185],{"class":173},[167,98747,98748,98750,98752],{"class":169,"line":161},[167,98749,1252],{"class":173},[167,98751,44263],{"class":177},[167,98753,5321],{"class":173},[167,98755,98756,98758,98760],{"class":169,"line":335},[167,98757,504],{"class":173},[167,98759,299],{"class":177},[167,98761,185],{"class":173},[167,98763,98764,98766,98768],{"class":169,"line":341},[167,98765,282],{"class":173},[167,98767,299],{"class":177},[167,98769,185],{"class":173},[154,98771,98773],{"className":156,"code":44284,"filename":3969,"highlights":98772,"language":162,"meta":163,"style":163},[335],[87,98774,98775,98783,98791,98797,98803,98807,98823,98839,98843,98847,98851,98855,98863,98867,98875,98910,98922,98934,98942,98950],{"__ignoreMap":163},[167,98776,98777,98779,98781],{"class":169,"line":170},[167,98778,174],{"class":173},[167,98780,178],{"class":177},[167,98782,185],{"class":173},[167,98784,98785,98787,98789],{"class":169,"line":188},[167,98786,608],{"class":191},[167,98788,3987],{"class":191},[167,98790,1901],{"class":173},[167,98792,98793,98795],{"class":169,"line":205},[167,98794,7172],{"class":181},[167,98796,763],{"class":173},[167,98798,98799,98801],{"class":169,"line":160},[167,98800,1933],{"class":191},[167,98802,1901],{"class":173},[167,98804,98805],{"class":169,"line":238},[167,98806,44320],{"class":173},[167,98808,98809,98811,98813,98815,98817,98819,98821],{"class":169,"line":243},[167,98810,8673],{"class":173},[167,98812,1831],{"class":219},[167,98814,3379],{"class":173},[167,98816,44142],{"class":201},[167,98818,44145],{"class":173},[167,98820,44148],{"class":201},[167,98822,1852],{"class":173},[167,98824,98825,98827,98829,98831,98833,98835,98837],{"class":169,"line":261},[167,98826,8673],{"class":173},[167,98828,1849],{"class":219},[167,98830,3379],{"class":173},[167,98832,44161],{"class":201},[167,98834,44145],{"class":173},[167,98836,44166],{"class":201},[167,98838,599],{"class":173},[167,98840,98841],{"class":169,"line":273},[167,98842,8734],{"class":173},[167,98844,98845],{"class":169,"line":279},[167,98846,4045],{"class":173},[167,98848,98849],{"class":169,"line":289},[167,98850,3488],{"class":173},[167,98852,98853],{"class":169,"line":294},[167,98854,276],{"class":173},[167,98856,98857,98859,98861],{"class":169,"line":304},[167,98858,282],{"class":173},[167,98860,178],{"class":177},[167,98862,185],{"class":173},[167,98864,98865],{"class":169,"line":313},[167,98866,209],{"emptyLinePlaceholder":208},[167,98868,98869,98871,98873],{"class":169,"line":161},[167,98870,174],{"class":173},[167,98872,299],{"class":177},[167,98874,185],{"class":173},[167,98876,98878,98880,98882,98884,98886,98888,98890,98892,98894,98896,98898,98900,98902,98904,98906,98908],{"class":98877,"line":335},[169,213],[167,98879,307],{"class":173},[167,98881,299],{"class":177},[167,98883,18702],{"class":191},[167,98885,267],{"class":173},[167,98887,5076],{"class":201},[167,98889,44208],{"class":173},[167,98891,44211],{"class":191},[167,98893,1816],{"class":173},[167,98895,5076],{"class":201},[167,98897,5308],{"class":173},[167,98899,7841],{"class":181},[167,98901,267],{"class":173},[167,98903,5076],{"class":201},[167,98905,44226],{"class":173},[167,98907,5076],{"class":201},[167,98909,185],{"class":173},[167,98911,98912,98914,98916,98918,98920],{"class":169,"line":341},[167,98913,1252],{"class":173},[167,98915,3083],{"class":177},[167,98917,44239],{"class":173},[167,98919,3083],{"class":177},[167,98921,185],{"class":173},[167,98923,98924,98926,98928,98930,98932],{"class":169,"line":489},[167,98925,1252],{"class":173},[167,98927,15],{"class":177},[167,98929,44252],{"class":173},[167,98931,15],{"class":177},[167,98933,185],{"class":173},[167,98935,98936,98938,98940],{"class":169,"line":495},[167,98937,1252],{"class":173},[167,98939,44263],{"class":177},[167,98941,5321],{"class":173},[167,98943,98944,98946,98948],{"class":169,"line":501},[167,98945,504],{"class":173},[167,98947,299],{"class":177},[167,98949,185],{"class":173},[167,98951,98952,98954,98956],{"class":169,"line":512},[167,98953,282],{"class":173},[167,98955,299],{"class":177},[167,98957,185],{"class":173},[22,98959,44475],{"id":44474},[3083,98961,44479,98962],{"id":44478},[87,98963,1657],{},[15,98965,44484,98966,44487,98968,1675],{},[87,98967,30722],{},[87,98969,1657],{},[154,98971,98973],{"className":156,"code":44492,"filename":3256,"highlights":98972,"language":162,"meta":163,"style":163},[289,294,304,313,161,335,501],[87,98974,98975,98985,98995,98999,99011,99031,99051,99071,99075,99079,99096,99103,99124,99133,99158,99163,99171,99175,99183,99204,99208,99216],{"__ignoreMap":163},[167,98976,98977,98979,98981,98983],{"class":169,"line":170},[167,98978,174],{"class":173},[167,98980,178],{"class":177},[167,98982,182],{"class":181},[167,98984,185],{"class":173},[167,98986,98987,98989,98991,98993],{"class":169,"line":188},[167,98988,192],{"class":191},[167,98990,1801],{"class":173},[167,98992,198],{"class":191},[167,98994,202],{"class":201},[167,98996,98997],{"class":169,"line":205},[167,98998,209],{"emptyLinePlaceholder":208},[167,99000,99001,99003,99005,99007,99009],{"class":169,"line":160},[167,99002,216],{"class":191},[167,99004,35430],{"class":219},[167,99006,223],{"class":191},[167,99008,226],{"class":181},[167,99010,1823],{"class":173},[167,99012,99013,99015,99017,99019,99021,99023,99025,99027,99029],{"class":169,"line":238},[167,99014,1828],{"class":173},[167,99016,1831],{"class":219},[167,99018,1834],{"class":173},[167,99020,44542],{"class":201},[167,99022,1840],{"class":173},[167,99024,44547],{"class":219},[167,99026,35455],{"class":173},[167,99028,44552],{"class":219},[167,99030,1852],{"class":173},[167,99032,99033,99035,99037,99039,99041,99043,99045,99047,99049],{"class":169,"line":243},[167,99034,1828],{"class":173},[167,99036,1849],{"class":219},[167,99038,1834],{"class":173},[167,99040,44565],{"class":201},[167,99042,1840],{"class":173},[167,99044,44570],{"class":219},[167,99046,35455],{"class":173},[167,99048,1956],{"class":219},[167,99050,1852],{"class":173},[167,99052,99053,99055,99057,99059,99061,99063,99065,99067,99069],{"class":169,"line":261},[167,99054,1828],{"class":173},[167,99056,8199],{"class":219},[167,99058,1834],{"class":173},[167,99060,44587],{"class":201},[167,99062,1840],{"class":173},[167,99064,44592],{"class":219},[167,99066,35455],{"class":173},[167,99068,44597],{"class":219},[167,99070,599],{"class":173},[167,99072,99073],{"class":169,"line":273},[167,99074,429],{"class":173},[167,99076,99077],{"class":169,"line":279},[167,99078,209],{"emptyLinePlaceholder":208},[167,99080,99082,99084,99086,99088,99090,99092,99094],{"class":99081,"line":289},[169,213],[167,99083,216],{"class":191},[167,99085,44615],{"class":219},[167,99087,223],{"class":191},[167,99089,1894],{"class":181},[167,99091,1488],{"class":173},[167,99093,639],{"class":191},[167,99095,1901],{"class":173},[167,99097,99099,99101],{"class":99098,"line":294},[169,213],[167,99100,1534],{"class":191},[167,99102,44633],{"class":173},[167,99104,99106,99108,99110,99112,99114,99116,99118,99120,99122],{"class":99105,"line":304},[169,213],[167,99107,44639],{"class":173},[167,99109,8248],{"class":181},[167,99111,229],{"class":173},[167,99113,6964],{"class":254},[167,99115,8255],{"class":191},[167,99117,44650],{"class":173},[167,99119,15859],{"class":191},[167,99121,44655],{"class":219},[167,99123,235],{"class":173},[167,99125,99127,99129,99131],{"class":99126,"line":313},[169,213],[167,99128,44639],{"class":173},[167,99130,44665],{"class":181},[167,99132,2913],{"class":173},[167,99134,99136,99138,99140,99142,99144,99146,99148,99150,99152,99154,99156],{"class":99135,"line":161},[169,213],[167,99137,44639],{"class":173},[167,99139,44675],{"class":181},[167,99141,1914],{"class":173},[167,99143,19088],{"class":254},[167,99145,1020],{"class":173},[167,99147,44684],{"class":254},[167,99149,693],{"class":173},[167,99151,639],{"class":191},[167,99153,44691],{"class":173},[167,99155,44694],{"class":191},[167,99157,44697],{"class":173},[167,99159,99161],{"class":99160,"line":335},[169,213],[167,99162,403],{"class":173},[167,99164,99165,99167,99169],{"class":169,"line":341},[167,99166,282],{"class":173},[167,99168,178],{"class":177},[167,99170,185],{"class":173},[167,99172,99173],{"class":169,"line":489},[167,99174,209],{"emptyLinePlaceholder":208},[167,99176,99177,99179,99181],{"class":169,"line":495},[167,99178,174],{"class":173},[167,99180,299],{"class":177},[167,99182,185],{"class":173},[167,99184,99186,99188,99190,99192,99194,99196,99198,99200,99202],{"class":99185,"line":501},[169,213],[167,99187,307],{"class":173},[167,99189,36],{"class":177},[167,99191,18702],{"class":181},[167,99193,267],{"class":173},[167,99195,44736],{"class":201},[167,99197,10303],{"class":181},[167,99199,267],{"class":173},[167,99201,44743],{"class":201},[167,99203,185],{"class":173},[167,99205,99206],{"class":169,"line":512},[167,99207,44750],{"class":173},[167,99209,99210,99212,99214],{"class":169,"line":781},[167,99211,504],{"class":173},[167,99213,36],{"class":177},[167,99215,185],{"class":173},[167,99217,99218,99220,99222],{"class":169,"line":786},[167,99219,282],{"class":173},[167,99221,299],{"class":177},[167,99223,185],{"class":173},[154,99225,99227],{"className":156,"code":44769,"filename":3969,"highlights":99226,"language":162,"meta":163,"style":163},[304,313,161,335,341,489,495,501,2688],[87,99228,99229,99237,99245,99251,99257,99261,99281,99301,99321,99325,99329,99333,99338,99345,99354,99375,99384,99409,99414,99419,99423,99431,99435,99443,99464,99468,99476],{"__ignoreMap":163},[167,99230,99231,99233,99235],{"class":169,"line":170},[167,99232,174],{"class":173},[167,99234,178],{"class":177},[167,99236,185],{"class":173},[167,99238,99239,99241,99243],{"class":169,"line":188},[167,99240,608],{"class":191},[167,99242,3987],{"class":191},[167,99244,1901],{"class":173},[167,99246,99247,99249],{"class":169,"line":205},[167,99248,7172],{"class":181},[167,99250,763],{"class":173},[167,99252,99253,99255],{"class":169,"line":160},[167,99254,1933],{"class":191},[167,99256,1901],{"class":173},[167,99258,99259],{"class":169,"line":238},[167,99260,36186],{"class":173},[167,99262,99263,99265,99267,99269,99271,99273,99275,99277,99279],{"class":169,"line":243},[167,99264,8673],{"class":173},[167,99266,1831],{"class":219},[167,99268,1834],{"class":173},[167,99270,44542],{"class":201},[167,99272,1840],{"class":173},[167,99274,44547],{"class":219},[167,99276,35455],{"class":173},[167,99278,44552],{"class":219},[167,99280,1852],{"class":173},[167,99282,99283,99285,99287,99289,99291,99293,99295,99297,99299],{"class":169,"line":261},[167,99284,8673],{"class":173},[167,99286,1849],{"class":219},[167,99288,1834],{"class":173},[167,99290,44565],{"class":201},[167,99292,1840],{"class":173},[167,99294,44570],{"class":219},[167,99296,35455],{"class":173},[167,99298,1956],{"class":219},[167,99300,1852],{"class":173},[167,99302,99303,99305,99307,99309,99311,99313,99315,99317,99319],{"class":169,"line":273},[167,99304,8673],{"class":173},[167,99306,8199],{"class":219},[167,99308,1834],{"class":173},[167,99310,44587],{"class":201},[167,99312,1840],{"class":173},[167,99314,44592],{"class":219},[167,99316,35455],{"class":173},[167,99318,44597],{"class":219},[167,99320,599],{"class":173},[167,99322,99323],{"class":169,"line":279},[167,99324,8734],{"class":173},[167,99326,99327],{"class":169,"line":289},[167,99328,4045],{"class":173},[167,99330,99331],{"class":169,"line":294},[167,99332,398],{"class":173},[167,99334,99336],{"class":99335,"line":304},[169,213],[167,99337,8751],{"class":173},[167,99339,99341,99343],{"class":99340,"line":313},[169,213],[167,99342,44887],{"class":181},[167,99344,763],{"class":173},[167,99346,99348,99350,99352],{"class":99347,"line":161},[169,213],[167,99349,8763],{"class":191},[167,99351,7347],{"class":219},[167,99353,44899],{"class":173},[167,99355,99357,99359,99361,99363,99365,99367,99369,99371,99373],{"class":99356,"line":335},[169,213],[167,99358,44905],{"class":173},[167,99360,8248],{"class":181},[167,99362,229],{"class":173},[167,99364,6964],{"class":254},[167,99366,8255],{"class":191},[167,99368,44650],{"class":173},[167,99370,15859],{"class":191},[167,99372,44655],{"class":219},[167,99374,235],{"class":173},[167,99376,99378,99380,99382],{"class":99377,"line":341},[169,213],[167,99379,44905],{"class":173},[167,99381,44665],{"class":181},[167,99383,2913],{"class":173},[167,99385,99387,99389,99391,99393,99395,99397,99399,99401,99403,99405,99407],{"class":99386,"line":489},[169,213],[167,99388,44905],{"class":173},[167,99390,44675],{"class":181},[167,99392,1914],{"class":173},[167,99394,19088],{"class":254},[167,99396,1020],{"class":173},[167,99398,44684],{"class":254},[167,99400,693],{"class":173},[167,99402,639],{"class":191},[167,99404,44691],{"class":173},[167,99406,44694],{"class":191},[167,99408,44697],{"class":173},[167,99410,99412],{"class":99411,"line":495},[169,213],[167,99413,4045],{"class":173},[167,99415,99417],{"class":99416,"line":501},[169,213],[167,99418,3488],{"class":173},[167,99420,99421],{"class":169,"line":512},[167,99422,276],{"class":173},[167,99424,99425,99427,99429],{"class":169,"line":781},[167,99426,282],{"class":173},[167,99428,178],{"class":177},[167,99430,185],{"class":173},[167,99432,99433],{"class":169,"line":786},[167,99434,209],{"emptyLinePlaceholder":208},[167,99436,99437,99439,99441],{"class":169,"line":2674},[167,99438,174],{"class":173},[167,99440,299],{"class":177},[167,99442,185],{"class":173},[167,99444,99446,99448,99450,99452,99454,99456,99458,99460,99462],{"class":99445,"line":2688},[169,213],[167,99447,307],{"class":173},[167,99449,36],{"class":177},[167,99451,18702],{"class":181},[167,99453,267],{"class":173},[167,99455,44736],{"class":201},[167,99457,10303],{"class":181},[167,99459,267],{"class":173},[167,99461,44743],{"class":201},[167,99463,185],{"class":173},[167,99465,99466],{"class":169,"line":3571},[167,99467,44750],{"class":173},[167,99469,99470,99472,99474],{"class":169,"line":5024},[167,99471,504],{"class":173},[167,99473,36],{"class":177},[167,99475,185],{"class":173},[167,99477,99478,99480,99482],{"class":169,"line":5033},[167,99479,282],{"class":173},[167,99481,299],{"class":177},[167,99483,185],{"class":173},[3083,99485,45034,99486],{"id":45033},[87,99487,30722],{},[154,99489,99491],{"className":156,"code":45039,"filename":3256,"highlights":99490,"language":162,"meta":163,"style":163},[304],[87,99492,99493,99503,99513,99523,99527,99539,99555,99571,99575,99583,99587,99595,99622],{"__ignoreMap":163},[167,99494,99495,99497,99499,99501],{"class":169,"line":170},[167,99496,174],{"class":173},[167,99498,178],{"class":177},[167,99500,182],{"class":181},[167,99502,185],{"class":173},[167,99504,99505,99507,99509,99511],{"class":169,"line":188},[167,99506,192],{"class":191},[167,99508,195],{"class":173},[167,99510,198],{"class":191},[167,99512,202],{"class":201},[167,99514,99515,99517,99519,99521],{"class":169,"line":205},[167,99516,192],{"class":191},[167,99518,45069],{"class":173},[167,99520,198],{"class":191},[167,99522,45074],{"class":201},[167,99524,99525],{"class":169,"line":160},[167,99526,209],{"emptyLinePlaceholder":208},[167,99528,99529,99531,99533,99535,99537],{"class":169,"line":238},[167,99530,216],{"class":191},[167,99532,16950],{"class":219},[167,99534,223],{"class":191},[167,99536,226],{"class":181},[167,99538,1823],{"class":173},[167,99540,99541,99543,99545,99547,99549,99551,99553],{"class":169,"line":243},[167,99542,1828],{"class":173},[167,99544,45097],{"class":201},[167,99546,1834],{"class":173},[167,99548,8168],{"class":201},[167,99550,33086],{"class":173},[167,99552,45106],{"class":201},[167,99554,1852],{"class":173},[167,99556,99557,99559,99561,99563,99565,99567,99569],{"class":169,"line":261},[167,99558,1828],{"class":173},[167,99560,45115],{"class":201},[167,99562,1834],{"class":173},[167,99564,8190],{"class":201},[167,99566,33086],{"class":173},[167,99568,45124],{"class":201},[167,99570,599],{"class":173},[167,99572,99573],{"class":169,"line":273},[167,99574,429],{"class":173},[167,99576,99577,99579,99581],{"class":169,"line":279},[167,99578,282],{"class":173},[167,99580,178],{"class":177},[167,99582,185],{"class":173},[167,99584,99585],{"class":169,"line":289},[167,99586,209],{"emptyLinePlaceholder":208},[167,99588,99589,99591,99593],{"class":169,"line":294},[167,99590,174],{"class":173},[167,99592,299],{"class":177},[167,99594,185],{"class":173},[167,99596,99598,99600,99602,99604,99606,99608,99610,99612,99614,99616,99618,99620],{"class":99597,"line":304},[169,213],[167,99599,307],{"class":173},[167,99601,5305],{"class":177},[167,99603,18702],{"class":181},[167,99605,267],{"class":173},[167,99607,18707],{"class":201},[167,99609,10303],{"class":181},[167,99611,267],{"class":173},[167,99613,18714],{"class":201},[167,99615,32941],{"class":181},[167,99617,267],{"class":173},[167,99619,27387],{"class":201},[167,99621,5321],{"class":173},[167,99623,99624,99626,99628],{"class":169,"line":313},[167,99625,282],{"class":173},[167,99627,299],{"class":177},[167,99629,185],{"class":173},[154,99631,99633],{"className":156,"code":45188,"filename":3969,"highlights":99632,"language":162,"meta":163,"style":163},[495],[87,99634,99635,99643,99653,99657,99665,99669,99675,99681,99685,99701,99717,99721,99725,99729,99733,99741,99745,99753,99780],{"__ignoreMap":163},[167,99636,99637,99639,99641],{"class":169,"line":170},[167,99638,174],{"class":173},[167,99640,178],{"class":177},[167,99642,185],{"class":173},[167,99644,99645,99647,99649,99651],{"class":169,"line":188},[167,99646,192],{"class":191},[167,99648,45069],{"class":173},[167,99650,198],{"class":191},[167,99652,45074],{"class":201},[167,99654,99655],{"class":169,"line":205},[167,99656,209],{"emptyLinePlaceholder":208},[167,99658,99659,99661,99663],{"class":169,"line":160},[167,99660,608],{"class":191},[167,99662,3987],{"class":191},[167,99664,1901],{"class":173},[167,99666,99667],{"class":169,"line":238},[167,99668,45226],{"class":173},[167,99670,99671,99673],{"class":169,"line":243},[167,99672,7172],{"class":181},[167,99674,763],{"class":173},[167,99676,99677,99679],{"class":169,"line":261},[167,99678,1933],{"class":191},[167,99680,1901],{"class":173},[167,99682,99683],{"class":169,"line":273},[167,99684,28748],{"class":173},[167,99686,99687,99689,99691,99693,99695,99697,99699],{"class":169,"line":279},[167,99688,8673],{"class":173},[167,99690,45097],{"class":201},[167,99692,1834],{"class":173},[167,99694,8168],{"class":201},[167,99696,33086],{"class":173},[167,99698,45106],{"class":201},[167,99700,1852],{"class":173},[167,99702,99703,99705,99707,99709,99711,99713,99715],{"class":169,"line":289},[167,99704,8673],{"class":173},[167,99706,45115],{"class":201},[167,99708,1834],{"class":173},[167,99710,8190],{"class":201},[167,99712,33086],{"class":173},[167,99714,45124],{"class":201},[167,99716,599],{"class":173},[167,99718,99719],{"class":169,"line":294},[167,99720,8734],{"class":173},[167,99722,99723],{"class":169,"line":304},[167,99724,4045],{"class":173},[167,99726,99727],{"class":169,"line":313},[167,99728,3488],{"class":173},[167,99730,99731],{"class":169,"line":161},[167,99732,276],{"class":173},[167,99734,99735,99737,99739],{"class":169,"line":335},[167,99736,282],{"class":173},[167,99738,178],{"class":177},[167,99740,185],{"class":173},[167,99742,99743],{"class":169,"line":341},[167,99744,209],{"emptyLinePlaceholder":208},[167,99746,99747,99749,99751],{"class":169,"line":489},[167,99748,174],{"class":173},[167,99750,299],{"class":177},[167,99752,185],{"class":173},[167,99754,99756,99758,99760,99762,99764,99766,99768,99770,99772,99774,99776,99778],{"class":99755,"line":495},[169,213],[167,99757,307],{"class":173},[167,99759,5305],{"class":177},[167,99761,18702],{"class":181},[167,99763,267],{"class":173},[167,99765,18707],{"class":201},[167,99767,10303],{"class":181},[167,99769,267],{"class":173},[167,99771,18714],{"class":201},[167,99773,32941],{"class":181},[167,99775,267],{"class":173},[167,99777,27387],{"class":201},[167,99779,5321],{"class":173},[167,99781,99782,99784,99786],{"class":169,"line":501},[167,99783,282],{"class":173},[167,99785,299],{"class":177},[167,99787,185],{"class":173},[3083,99789,45349],{"id":45348},[154,99791,99793],{"className":156,"code":45352,"filename":3256,"highlights":99792,"language":162,"meta":163,"style":163},[489,501],[87,99794,99795,99805,99815,99819,99831,99835,99843,99851,99855,99867,99879,99883,99887,99891,99899,99903,99911,99932,99944,99965,99969,99977,99985],{"__ignoreMap":163},[167,99796,99797,99799,99801,99803],{"class":169,"line":170},[167,99798,174],{"class":173},[167,99800,178],{"class":177},[167,99802,182],{"class":181},[167,99804,185],{"class":173},[167,99806,99807,99809,99811,99813],{"class":169,"line":188},[167,99808,192],{"class":191},[167,99810,195],{"class":173},[167,99812,198],{"class":191},[167,99814,202],{"class":201},[167,99816,99817],{"class":169,"line":205},[167,99818,209],{"emptyLinePlaceholder":208},[167,99820,99821,99823,99825,99827,99829],{"class":169,"line":160},[167,99822,216],{"class":191},[167,99824,45386],{"class":219},[167,99826,223],{"class":191},[167,99828,226],{"class":181},[167,99830,1823],{"class":173},[167,99832,99833],{"class":169,"line":238},[167,99834,45397],{"class":173},[167,99836,99837,99839,99841],{"class":169,"line":243},[167,99838,45402],{"class":173},[167,99840,45405],{"class":201},[167,99842,393],{"class":173},[167,99844,99845,99847,99849],{"class":169,"line":261},[167,99846,45412],{"class":173},[167,99848,45415],{"class":201},[167,99850,393],{"class":173},[167,99852,99853],{"class":169,"line":273},[167,99854,45422],{"class":173},[167,99856,99857,99859,99861,99863,99865],{"class":169,"line":279},[167,99858,45427],{"class":173},[167,99860,45430],{"class":201},[167,99862,1834],{"class":173},[167,99864,44565],{"class":201},[167,99866,1852],{"class":173},[167,99868,99869,99871,99873,99875,99877],{"class":169,"line":289},[167,99870,45427],{"class":173},[167,99872,45443],{"class":201},[167,99874,1834],{"class":173},[167,99876,45448],{"class":201},[167,99878,599],{"class":173},[167,99880,99881],{"class":169,"line":294},[167,99882,45455],{"class":173},[167,99884,99885],{"class":169,"line":304},[167,99886,3488],{"class":173},[167,99888,99889],{"class":169,"line":313},[167,99890,429],{"class":173},[167,99892,99893,99895,99897],{"class":169,"line":161},[167,99894,282],{"class":173},[167,99896,178],{"class":177},[167,99898,185],{"class":173},[167,99900,99901],{"class":169,"line":335},[167,99902,209],{"emptyLinePlaceholder":208},[167,99904,99905,99907,99909],{"class":169,"line":341},[167,99906,174],{"class":173},[167,99908,299],{"class":177},[167,99910,185],{"class":173},[167,99912,99914,99916,99918,99920,99922,99924,99926,99928,99930],{"class":99913,"line":489},[169,213],[167,99915,307],{"class":173},[167,99917,10113],{"class":177},[167,99919,18702],{"class":181},[167,99921,267],{"class":173},[167,99923,45497],{"class":201},[167,99925,10303],{"class":181},[167,99927,267],{"class":173},[167,99929,45504],{"class":201},[167,99931,185],{"class":173},[167,99933,99934,99936,99938,99940,99942],{"class":169,"line":495},[167,99935,1252],{"class":173},[167,99937,3083],{"class":177},[167,99939,45515],{"class":173},[167,99941,3083],{"class":177},[167,99943,185],{"class":173},[167,99945,99947,99949,99951,99953,99955,99957,99959,99961,99963],{"class":99946,"line":501},[169,213],[167,99948,1252],{"class":173},[167,99950,36],{"class":177},[167,99952,18702],{"class":181},[167,99954,267],{"class":173},[167,99956,45533],{"class":201},[167,99958,10303],{"class":181},[167,99960,267],{"class":173},[167,99962,44743],{"class":201},[167,99964,185],{"class":173},[167,99966,99967],{"class":169,"line":512},[167,99968,45546],{"class":173},[167,99970,99971,99973,99975],{"class":169,"line":781},[167,99972,1287],{"class":173},[167,99974,36],{"class":177},[167,99976,185],{"class":173},[167,99978,99979,99981,99983],{"class":169,"line":786},[167,99980,504],{"class":173},[167,99982,10113],{"class":177},[167,99984,185],{"class":173},[167,99986,99987,99989,99991],{"class":169,"line":2674},[167,99988,282],{"class":173},[167,99990,299],{"class":177},[167,99992,185],{"class":173},[154,99994,99996],{"className":156,"code":45573,"filename":3969,"highlights":99995,"language":162,"meta":163,"style":163},[781,2674],[87,99997,99998,100006,100014,100020,100026,100030,100034,100042,100050,100054,100066,100078,100082,100086,100090,100094,100098,100102,100110,100114,100122,100143,100155,100176,100180,100188,100196],{"__ignoreMap":163},[167,99999,100000,100002,100004],{"class":169,"line":170},[167,100001,174],{"class":173},[167,100003,178],{"class":177},[167,100005,185],{"class":173},[167,100007,100008,100010,100012],{"class":169,"line":188},[167,100009,608],{"class":191},[167,100011,3987],{"class":191},[167,100013,1901],{"class":173},[167,100015,100016,100018],{"class":169,"line":205},[167,100017,7172],{"class":181},[167,100019,763],{"class":173},[167,100021,100022,100024],{"class":169,"line":160},[167,100023,1933],{"class":191},[167,100025,1901],{"class":173},[167,100027,100028],{"class":169,"line":238},[167,100029,45609],{"class":173},[167,100031,100032],{"class":169,"line":243},[167,100033,45614],{"class":173},[167,100035,100036,100038,100040],{"class":169,"line":261},[167,100037,45619],{"class":173},[167,100039,45405],{"class":201},[167,100041,393],{"class":173},[167,100043,100044,100046,100048],{"class":169,"line":273},[167,100045,45628],{"class":173},[167,100047,45415],{"class":201},[167,100049,393],{"class":173},[167,100051,100052],{"class":169,"line":279},[167,100053,45637],{"class":173},[167,100055,100056,100058,100060,100062,100064],{"class":169,"line":289},[167,100057,45642],{"class":173},[167,100059,45430],{"class":201},[167,100061,1834],{"class":173},[167,100063,44565],{"class":201},[167,100065,1852],{"class":173},[167,100067,100068,100070,100072,100074,100076],{"class":169,"line":294},[167,100069,45642],{"class":173},[167,100071,45443],{"class":201},[167,100073,1834],{"class":173},[167,100075,45448],{"class":201},[167,100077,599],{"class":173},[167,100079,100080],{"class":169,"line":304},[167,100081,45667],{"class":173},[167,100083,100084],{"class":169,"line":313},[167,100085,14818],{"class":173},[167,100087,100088],{"class":169,"line":161},[167,100089,8734],{"class":173},[167,100091,100092],{"class":169,"line":335},[167,100093,4045],{"class":173},[167,100095,100096],{"class":169,"line":341},[167,100097,3488],{"class":173},[167,100099,100100],{"class":169,"line":489},[167,100101,276],{"class":173},[167,100103,100104,100106,100108],{"class":169,"line":495},[167,100105,282],{"class":173},[167,100107,178],{"class":177},[167,100109,185],{"class":173},[167,100111,100112],{"class":169,"line":501},[167,100113,209],{"emptyLinePlaceholder":208},[167,100115,100116,100118,100120],{"class":169,"line":512},[167,100117,174],{"class":173},[167,100119,299],{"class":177},[167,100121,185],{"class":173},[167,100123,100125,100127,100129,100131,100133,100135,100137,100139,100141],{"class":100124,"line":781},[169,213],[167,100126,307],{"class":173},[167,100128,10113],{"class":177},[167,100130,18702],{"class":181},[167,100132,267],{"class":173},[167,100134,45497],{"class":201},[167,100136,10303],{"class":181},[167,100138,267],{"class":173},[167,100140,45504],{"class":201},[167,100142,185],{"class":173},[167,100144,100145,100147,100149,100151,100153],{"class":169,"line":786},[167,100146,1252],{"class":173},[167,100148,3083],{"class":177},[167,100150,45515],{"class":173},[167,100152,3083],{"class":177},[167,100154,185],{"class":173},[167,100156,100158,100160,100162,100164,100166,100168,100170,100172,100174],{"class":100157,"line":2674},[169,213],[167,100159,1252],{"class":173},[167,100161,36],{"class":177},[167,100163,18702],{"class":181},[167,100165,267],{"class":173},[167,100167,45533],{"class":201},[167,100169,10303],{"class":181},[167,100171,267],{"class":173},[167,100173,44743],{"class":201},[167,100175,185],{"class":173},[167,100177,100178],{"class":169,"line":2688},[167,100179,45546],{"class":173},[167,100181,100182,100184,100186],{"class":169,"line":3571},[167,100183,1287],{"class":173},[167,100185,36],{"class":177},[167,100187,185],{"class":173},[167,100189,100190,100192,100194],{"class":169,"line":5024},[167,100191,504],{"class":173},[167,100193,10113],{"class":177},[167,100195,185],{"class":173},[167,100197,100198,100200,100202],{"class":169,"line":5033},[167,100199,282],{"class":173},[167,100201,299],{"class":177},[167,100203,185],{"class":173},[22,100205,45793,100206],{"id":45792},[87,100207,30722],{},[3083,100209,26693,100210,42868,100212,45803],{"id":45798},[87,100211,42867],{},[87,100213,7841],{},[154,100215,100217],{"className":156,"code":45806,"filename":39993,"highlights":100216,"language":162,"meta":163,"style":163},[170],[87,100218,100219,100254,100258],{"__ignoreMap":163},[167,100220,100222,100224,100226,100228,100230,100232,100234,100236,100238,100240,100242,100244,100246,100248,100250,100252],{"class":100221,"line":170},[169,213],[167,100223,174],{"class":173},[167,100225,36],{"class":177},[167,100227,18702],{"class":191},[167,100229,267],{"class":173},[167,100231,5076],{"class":201},[167,100233,45825],{"class":173},[167,100235,44211],{"class":191},[167,100237,1816],{"class":173},[167,100239,5076],{"class":201},[167,100241,5308],{"class":173},[167,100243,7841],{"class":181},[167,100245,267],{"class":173},[167,100247,5076],{"class":201},[167,100249,42867],{"class":173},[167,100251,5076],{"class":201},[167,100253,185],{"class":173},[167,100255,100256],{"class":169,"line":188},[167,100257,45850],{"class":173},[167,100259,100260,100262,100264],{"class":169,"line":205},[167,100261,282],{"class":173},[167,100263,36],{"class":177},[167,100265,185],{"class":173},[15,100267,45861],{},[5363,100269,100270],{},[15,100271,45866,100272,45869],{},[87,100273,44226],{},[3083,100275,45873,100276,1023,100278,45878],{"id":45872},[87,100277,13492],{},[87,100279,30722],{},[154,100281,100283],{"className":156,"code":45881,"filename":34158,"highlights":100282,"language":162,"meta":163,"style":163},[170],[87,100284,100285,100330,100334],{"__ignoreMap":163},[167,100286,100288,100290,100292,100294,100296,100298,100300,100302,100304,100306,100308,100310,100312,100314,100316,100318,100320,100322,100324,100326,100328],{"class":100287,"line":170},[169,213],[167,100289,174],{"class":173},[167,100291,36],{"class":177},[167,100293,18702],{"class":191},[167,100295,267],{"class":173},[167,100297,5076],{"class":201},[167,100299,45900],{"class":173},[167,100301,44211],{"class":191},[167,100303,16950],{"class":173},[167,100305,5076],{"class":201},[167,100307,5690],{"class":191},[167,100309,267],{"class":173},[167,100311,5076],{"class":201},[167,100313,45915],{"class":173},[167,100315,5076],{"class":201},[167,100317,5308],{"class":173},[167,100319,7841],{"class":181},[167,100321,267],{"class":173},[167,100323,5076],{"class":201},[167,100325,5186],{"class":173},[167,100327,5076],{"class":201},[167,100329,185],{"class":173},[167,100331,100332],{"class":169,"line":188},[167,100333,45936],{"class":173},[167,100335,100336,100338,100340],{"class":169,"line":205},[167,100337,282],{"class":173},[167,100339,36],{"class":177},[167,100341,185],{"class":173},[5363,100343,100344],{},[15,100345,45949,100346,45952],{},[87,100347,1657],{},[3083,100349,45956,100350],{"id":45955},[87,100351,1657],{},[15,100353,45961],{},[3083,100355,32600,100356,45967],{"id":45964},[87,100357,7841],{},[15,100359,45970,100360,45973],{},[87,100361,7841],{},[22,100363,45977],{"id":45976},[33,100365,100366,100372,100376,100378,100382],{},[36,100367,1577,100368,45984,100370,1675],{},[87,100369,580],{},[87,100371,42776],{},[36,100373,45989,100374,1675],{},[87,100375,1657],{},[36,100377,45994],{},[36,100379,45997,100380,46000],{},[87,100381,30722],{},[36,100383,46003],{},[22,100385,23570],{"id":23569},[15,100387,100388,46010],{},[87,100389,30722],{},[15,100391,46013],{},[33,100393,100394,100398,100402],{},[36,100395,100396,46020],{},[87,100397,7841],{},[36,100399,46023,100400],{},[87,100401,1657],{},[36,100403,46028],{},[15,100405,46031],{},[924,100407,6161],{},{"title":163,"searchDepth":188,"depth":188,"links":100409},[100410,100411,100412,100413,100414,100415,100420,100425,100431,100432],{"id":26498,"depth":188,"text":26499},{"id":42822,"depth":188,"text":46038},{"id":6344,"depth":188,"text":6345},{"id":42874,"depth":188,"text":42875},{"id":43125,"depth":188,"text":43126},{"id":43545,"depth":188,"text":46043,"children":100416},[100417,100418,100419],{"id":43552,"depth":205,"text":46046},{"id":43803,"depth":205,"text":43804},{"id":44086,"depth":205,"text":46049},{"id":44474,"depth":188,"text":44475,"children":100421},[100422,100423,100424],{"id":44478,"depth":205,"text":46053},{"id":45033,"depth":205,"text":46055},{"id":45348,"depth":205,"text":45349},{"id":45792,"depth":188,"text":46058,"children":100426},[100427,100428,100429,100430],{"id":45798,"depth":205,"text":46061},{"id":45872,"depth":205,"text":46063},{"id":45955,"depth":205,"text":46065},{"id":45964,"depth":205,"text":46067},{"id":45976,"depth":188,"text":45977},{"id":23569,"depth":188,"text":23570},{"updatedAt":46075,"coverCaption":23652,"author":945,"keywords":100434},[3254,30722,46077,7841,3256,3969,16575],[100436],{"headline":46081,"author":100437,"datePublished":46075,"@type":959},{"name":945,"@type":958},{"title":42747,"description":46073},[100440,100441,100442,100443],{"tag":26462,"color":26463},{"tag":46088,"color":3266},{"tag":27753,"color":27754},{"tag":5420,"color":5421},{"id":46093,"title":46094,"body":100445,"cover":47934,"coverAlt":47935,"date":47936,"description":47937,"draft":1617,"extension":940,"lab":941,"locale":942,"meta":102112,"navigation":208,"path":47944,"schemaOrg":102114,"seo":102117,"series":26456,"seriesDescription":26457,"seriesOrder":188,"seriesTitle":26458,"slug":941,"stem":47950,"tags":102118,"__hash__":47958},{"type":8,"value":100446,"toc":102093},[100447,100455,100465,100487,100493,100495,100499,100509,100513,100521,100529,100535,100543,100545,100555,100559,100563,100567,100573,100583,100585,100613,100619,100621,100847,101085,101099,101103,101109,101290,101477,101479,101483,101491,101497,101503,101511,101737,101969,101971,101977,101979,102025,102035,102039,102049,102053,102061,102063,102085,102091],[11,100448,100449,1020,100451,1023,100453,46107],{"id":46099},[87,100450,13492],{},[87,100452,46104],{},[87,100454,13655],{},[15,100456,46110,100457,1020,100459,1023,100461,46117,100463,46121],{},[87,100458,13492],{},[87,100460,46104],{},[87,100462,13655],{},[3929,100464,46120],{},[33,100466,100467,100477],{},[36,100468,100469,1103,100475,46135],{},[3929,100470,100471,11223,100473],{},[87,100472,13492],{},[87,100474,46104],{},[9291,100476,46134],{},[36,100478,100479,1103,100483,46145,100485,1675],{},[3929,100480,100481],{},[87,100482,13655],{},[9291,100484,46144],{},[87,100486,46148],{},[15,100488,46151,100489,1658,100491,46158],{},[3929,100490,46154],{},[3929,100492,46157],{},[22,100494,46162],{"id":46161},[3083,100496,100497],{"id":13492},[87,100498,13492],{},[15,100500,46169,100501,46173,100503,46176,100505,46179,100507,1675],{},[3929,100502,46172],{},[87,100504,390],{},[87,100506,3388],{},[3929,100508,46182],{},[15,100510,100511],{},[3929,100512,46187],{},[33,100514,100515,100517,100519],{},[36,100516,46192],{},[36,100518,46195],{},[36,100520,46198],{},[5363,100522,100523],{},[15,100524,100525,46205,100527,46209],{},[87,100526,13492],{},[3929,100528,46208],{},[3083,100530,100531,1023,100533],{"id":46212},[87,100532,46104],{},[87,100534,46217],{},[15,100536,46220,100537,46224,100539,90,100541,1675],{},[3929,100538,46223],{},[87,100540,13492],{},[87,100542,46217],{},[15,100544,46231],{},[33,100546,100547,100551],{},[36,100548,46236,100549,46240],{},[3929,100550,46239],{},[36,100552,46243,100553,1675],{},[3929,100554,46246],{},[3083,100556,100557],{"id":13655},[87,100558,13655],{},[15,100560,46253,100561,46257],{},[3929,100562,46256],{},[15,100564,100565],{},[3929,100566,46187],{},[33,100568,100569,100571],{},[36,100570,46266],{},[36,100572,46269],{},[5363,100574,100575],{},[15,100576,100577,16899,100579,46281],{},[87,100578,13655],{},[3929,100580,46278,100581],{},[87,100582,31993],{},[22,100584,46285],{"id":46284},[33,100586,100587,100595,100605],{},[36,100588,1577,100589,46294,100593,46298],{},[3929,100590,100591],{},[87,100592,13492],{},[3929,100594,46297],{},[36,100596,1577,100597,46294,100601,46308,100603,1675],{},[3929,100598,100599],{},[87,100600,13655],{},[3929,100602,46307],{},[3929,100604,46311],{},[36,100606,1577,100607,46318,100611,1675],{},[3929,100608,100609],{},[87,100610,46104],{},[87,100612,13492],{},[22,100614,46324,100615,33969,100617,6215],{"id":46323},[87,100616,13492],{},[87,100618,46104],{},[15,100620,46331],{},[154,100622,100624],{"className":156,"code":46334,"filename":3256,"highlights":100623,"language":162,"meta":163,"style":163},[261,341,781],[87,100625,100626,100636,100648,100652,100668,100672,100680,100691,100695,100703,100707,100715,100729,100733,100741,100745,100760,100772,100784,100792,100796,100807,100819,100831,100839],{"__ignoreMap":163},[167,100627,100628,100630,100632,100634],{"class":169,"line":170},[167,100629,174],{"class":173},[167,100631,178],{"class":177},[167,100633,182],{"class":181},[167,100635,185],{"class":173},[167,100637,100638,100640,100642,100644,100646],{"class":169,"line":188},[167,100639,192],{"class":191},[167,100641,195],{"class":173},[167,100643,198],{"class":191},[167,100645,24037],{"class":201},[167,100647,24040],{"class":173},[167,100649,100650],{"class":169,"line":205},[167,100651,209],{"emptyLinePlaceholder":208},[167,100653,100654,100656,100658,100660,100662,100664,100666],{"class":169,"line":160},[167,100655,216],{"class":191},[167,100657,46370],{"class":219},[167,100659,223],{"class":191},[167,100661,226],{"class":181},[167,100663,229],{"class":173},[167,100665,3388],{"class":219},[167,100667,24165],{"class":173},[167,100669,100670],{"class":169,"line":238},[167,100671,209],{"emptyLinePlaceholder":208},[167,100673,100674,100676,100678],{"class":169,"line":243},[167,100675,246],{"class":191},[167,100677,46391],{"class":181},[167,100679,763],{"class":173},[167,100681,100683,100685,100687,100689],{"class":100682,"line":261},[169,213],[167,100684,46399],{"class":173},[167,100686,267],{"class":191},[167,100688,5621],{"class":191},[167,100690,46406],{"class":173},[167,100692,100693],{"class":169,"line":273},[167,100694,276],{"class":173},[167,100696,100697,100699,100701],{"class":169,"line":279},[167,100698,282],{"class":173},[167,100700,178],{"class":177},[167,100702,185],{"class":173},[167,100704,100705],{"class":169,"line":289},[167,100706,209],{"emptyLinePlaceholder":208},[167,100708,100709,100711,100713],{"class":169,"line":294},[167,100710,174],{"class":173},[167,100712,299],{"class":177},[167,100714,185],{"class":173},[167,100716,100717,100719,100721,100723,100725,100727],{"class":169,"line":304},[167,100718,307],{"class":173},[167,100720,507],{"class":177},[167,100722,1177],{"class":181},[167,100724,267],{"class":173},[167,100726,46443],{"class":201},[167,100728,185],{"class":173},[167,100730,100731],{"class":169,"line":313},[167,100732,46450],{"class":173},[167,100734,100735,100737,100739],{"class":169,"line":161},[167,100736,504],{"class":173},[167,100738,507],{"class":177},[167,100740,185],{"class":173},[167,100742,100743],{"class":169,"line":335},[167,100744,209],{"emptyLinePlaceholder":208},[167,100746,100748,100750,100752,100754,100756,100758],{"class":100747,"line":341},[169,213],[167,100749,307],{"class":173},[167,100751,10113],{"class":177},[167,100753,5690],{"class":181},[167,100755,267],{"class":173},[167,100757,46476],{"class":201},[167,100759,185],{"class":173},[167,100761,100762,100764,100766,100768,100770],{"class":169,"line":489},[167,100763,1252],{"class":173},[167,100765,22],{"class":177},[167,100767,46487],{"class":173},[167,100769,22],{"class":177},[167,100771,185],{"class":173},[167,100773,100774,100776,100778,100780,100782],{"class":169,"line":495},[167,100775,1252],{"class":173},[167,100777,15],{"class":177},[167,100779,46500],{"class":173},[167,100781,15],{"class":177},[167,100783,185],{"class":173},[167,100785,100786,100788,100790],{"class":169,"line":501},[167,100787,504],{"class":173},[167,100789,10113],{"class":177},[167,100791,185],{"class":173},[167,100793,100794],{"class":169,"line":512},[167,100795,209],{"emptyLinePlaceholder":208},[167,100797,100799,100801,100803,100805],{"class":100798,"line":781},[169,213],[167,100800,307],{"class":173},[167,100802,10113],{"class":177},[167,100804,7034],{"class":181},[167,100806,185],{"class":173},[167,100808,100809,100811,100813,100815,100817],{"class":169,"line":786},[167,100810,1252],{"class":173},[167,100812,22],{"class":177},[167,100814,46536],{"class":173},[167,100816,22],{"class":177},[167,100818,185],{"class":173},[167,100820,100821,100823,100825,100827,100829],{"class":169,"line":2674},[167,100822,1252],{"class":173},[167,100824,15],{"class":177},[167,100826,46549],{"class":173},[167,100828,15],{"class":177},[167,100830,185],{"class":173},[167,100832,100833,100835,100837],{"class":169,"line":2688},[167,100834,504],{"class":173},[167,100836,10113],{"class":177},[167,100838,185],{"class":173},[167,100840,100841,100843,100845],{"class":169,"line":3571},[167,100842,282],{"class":173},[167,100844,299],{"class":177},[167,100846,185],{"class":173},[154,100848,100850],{"className":156,"code":46572,"filename":3969,"highlights":100849,"language":162,"meta":163,"style":163},[289,781,5024],[87,100851,100852,100860,100868,100874,100880,100888,100892,100896,100900,100906,100921,100925,100929,100933,100941,100945,100953,100967,100971,100979,100983,100998,101010,101022,101030,101034,101045,101057,101069,101077],{"__ignoreMap":163},[167,100853,100854,100856,100858],{"class":169,"line":170},[167,100855,174],{"class":173},[167,100857,178],{"class":177},[167,100859,185],{"class":173},[167,100861,100862,100864,100866],{"class":169,"line":188},[167,100863,608],{"class":191},[167,100865,3987],{"class":191},[167,100867,1901],{"class":173},[167,100869,100870,100872],{"class":169,"line":205},[167,100871,7172],{"class":181},[167,100873,763],{"class":173},[167,100875,100876,100878],{"class":169,"line":160},[167,100877,1933],{"class":191},[167,100879,1901],{"class":173},[167,100881,100882,100884,100886],{"class":169,"line":238},[167,100883,46608],{"class":173},[167,100885,3388],{"class":219},[167,100887,393],{"class":173},[167,100889,100890],{"class":169,"line":243},[167,100891,24366],{"class":173},[167,100893,100894],{"class":169,"line":261},[167,100895,398],{"class":173},[167,100897,100898],{"class":169,"line":273},[167,100899,4415],{"class":173},[167,100901,100902,100904],{"class":169,"line":279},[167,100903,46629],{"class":181},[167,100905,763],{"class":173},[167,100907,100909,100911,100913,100915,100917,100919],{"class":100908,"line":289},[169,213],[167,100910,741],{"class":219},[167,100912,46639],{"class":173},[167,100914,267],{"class":191},[167,100916,5621],{"class":191},[167,100918,4923],{"class":219},[167,100920,46648],{"class":173},[167,100922,100923],{"class":169,"line":294},[167,100924,755],{"class":173},[167,100926,100927],{"class":169,"line":304},[167,100928,398],{"class":173},[167,100930,100931],{"class":169,"line":313},[167,100932,24144],{"class":173},[167,100934,100935,100937,100939],{"class":169,"line":161},[167,100936,282],{"class":173},[167,100938,178],{"class":177},[167,100940,185],{"class":173},[167,100942,100943],{"class":169,"line":335},[167,100944,209],{"emptyLinePlaceholder":208},[167,100946,100947,100949,100951],{"class":169,"line":341},[167,100948,174],{"class":173},[167,100950,299],{"class":177},[167,100952,185],{"class":173},[167,100954,100955,100957,100959,100961,100963,100965],{"class":169,"line":489},[167,100956,307],{"class":173},[167,100958,507],{"class":177},[167,100960,1177],{"class":181},[167,100962,267],{"class":173},[167,100964,46443],{"class":201},[167,100966,185],{"class":173},[167,100968,100969],{"class":169,"line":495},[167,100970,46450],{"class":173},[167,100972,100973,100975,100977],{"class":169,"line":501},[167,100974,504],{"class":173},[167,100976,507],{"class":177},[167,100978,185],{"class":173},[167,100980,100981],{"class":169,"line":512},[167,100982,209],{"emptyLinePlaceholder":208},[167,100984,100986,100988,100990,100992,100994,100996],{"class":100985,"line":781},[169,213],[167,100987,307],{"class":173},[167,100989,10113],{"class":177},[167,100991,5690],{"class":181},[167,100993,267],{"class":173},[167,100995,46476],{"class":201},[167,100997,185],{"class":173},[167,100999,101000,101002,101004,101006,101008],{"class":169,"line":786},[167,101001,1252],{"class":173},[167,101003,22],{"class":177},[167,101005,46487],{"class":173},[167,101007,22],{"class":177},[167,101009,185],{"class":173},[167,101011,101012,101014,101016,101018,101020],{"class":169,"line":2674},[167,101013,1252],{"class":173},[167,101015,15],{"class":177},[167,101017,46500],{"class":173},[167,101019,15],{"class":177},[167,101021,185],{"class":173},[167,101023,101024,101026,101028],{"class":169,"line":2688},[167,101025,504],{"class":173},[167,101027,10113],{"class":177},[167,101029,185],{"class":173},[167,101031,101032],{"class":169,"line":3571},[167,101033,209],{"emptyLinePlaceholder":208},[167,101035,101037,101039,101041,101043],{"class":101036,"line":5024},[169,213],[167,101038,307],{"class":173},[167,101040,10113],{"class":177},[167,101042,7034],{"class":181},[167,101044,185],{"class":173},[167,101046,101047,101049,101051,101053,101055],{"class":169,"line":5033},[167,101048,1252],{"class":173},[167,101050,22],{"class":177},[167,101052,46536],{"class":173},[167,101054,22],{"class":177},[167,101056,185],{"class":173},[167,101058,101059,101061,101063,101065,101067],{"class":169,"line":5042},[167,101060,1252],{"class":173},[167,101062,15],{"class":177},[167,101064,46549],{"class":173},[167,101066,15],{"class":177},[167,101068,185],{"class":173},[167,101070,101071,101073,101075],{"class":169,"line":6752},[167,101072,504],{"class":173},[167,101074,10113],{"class":177},[167,101076,185],{"class":173},[167,101078,101079,101081,101083],{"class":169,"line":6774},[167,101080,282],{"class":173},[167,101082,299],{"class":177},[167,101084,185],{"class":173},[5363,101086,101087],{},[15,101088,23769,101089,46820,101091,22873,101093,46826,101095,46830,101097,1675],{},[87,101090,46819],{},[3929,101092,46823],{},[87,101094,13492],{},[87,101096,46829],{},[87,101098,22566],{},[22,101100,46836,101101,6215],{"id":46835},[87,101102,13655],{},[15,101104,46841,101105,46846],{},[3929,101106,101107],{},[87,101108,13655],{},[154,101110,101112],{"className":156,"code":46849,"filename":3256,"highlights":101111,"language":162,"meta":163,"style":163},[160,304],[87,101113,101114,101124,101136,101140,101157,101165,101169,101177,101191,101195,101203,101207,101228,101240,101248,101262,101266,101274,101282],{"__ignoreMap":163},[167,101115,101116,101118,101120,101122],{"class":169,"line":170},[167,101117,174],{"class":173},[167,101119,178],{"class":177},[167,101121,182],{"class":181},[167,101123,185],{"class":173},[167,101125,101126,101128,101130,101132,101134],{"class":169,"line":188},[167,101127,192],{"class":191},[167,101129,195],{"class":173},[167,101131,198],{"class":191},[167,101133,24037],{"class":201},[167,101135,24040],{"class":173},[167,101137,101138],{"class":169,"line":205},[167,101139,209],{"emptyLinePlaceholder":208},[167,101141,101143,101145,101147,101149,101151,101153,101155],{"class":101142,"line":160},[169,213],[167,101144,216],{"class":191},[167,101146,5519],{"class":219},[167,101148,223],{"class":191},[167,101150,226],{"class":181},[167,101152,229],{"class":173},[167,101154,3388],{"class":219},[167,101156,24165],{"class":173},[167,101158,101159,101161,101163],{"class":169,"line":238},[167,101160,282],{"class":173},[167,101162,178],{"class":177},[167,101164,185],{"class":173},[167,101166,101167],{"class":169,"line":243},[167,101168,209],{"emptyLinePlaceholder":208},[167,101170,101171,101173,101175],{"class":169,"line":261},[167,101172,174],{"class":173},[167,101174,299],{"class":177},[167,101176,185],{"class":173},[167,101178,101179,101181,101183,101185,101187,101189],{"class":169,"line":273},[167,101180,307],{"class":173},[167,101182,507],{"class":177},[167,101184,1177],{"class":181},[167,101186,267],{"class":173},[167,101188,24588],{"class":201},[167,101190,185],{"class":173},[167,101192,101193],{"class":169,"line":279},[167,101194,46934],{"class":173},[167,101196,101197,101199,101201],{"class":169,"line":289},[167,101198,504],{"class":173},[167,101200,507],{"class":177},[167,101202,185],{"class":173},[167,101204,101205],{"class":169,"line":294},[167,101206,209],{"emptyLinePlaceholder":208},[167,101208,101210,101212,101214,101216,101218,101220,101222,101224,101226],{"class":101209,"line":304},[169,213],[167,101211,307],{"class":173},[167,101213,27350],{"class":177},[167,101215,46956],{"class":181},[167,101217,267],{"class":173},[167,101219,5695],{"class":201},[167,101221,1240],{"class":181},[167,101223,267],{"class":173},[167,101225,12379],{"class":201},[167,101227,185],{"class":173},[167,101229,101230,101232,101234,101236,101238],{"class":169,"line":313},[167,101231,1252],{"class":173},[167,101233,3083],{"class":177},[167,101235,46977],{"class":173},[167,101237,3083],{"class":177},[167,101239,185],{"class":173},[167,101241,101242,101244,101246],{"class":169,"line":161},[167,101243,1252],{"class":173},[167,101245,9871],{"class":177},[167,101247,185],{"class":173},[167,101249,101250,101252,101254,101256,101258,101260],{"class":169,"line":335},[167,101251,1263],{"class":173},[167,101253,2646],{"class":177},[167,101255,1169],{"class":181},[167,101257,267],{"class":173},[167,101259,34998],{"class":201},[167,101261,5321],{"class":173},[167,101263,101264],{"class":169,"line":341},[167,101265,47008],{"class":173},[167,101267,101268,101270,101272],{"class":169,"line":489},[167,101269,1287],{"class":173},[167,101271,9871],{"class":177},[167,101273,185],{"class":173},[167,101275,101276,101278,101280],{"class":169,"line":495},[167,101277,504],{"class":173},[167,101279,27350],{"class":177},[167,101281,185],{"class":173},[167,101283,101284,101286,101288],{"class":169,"line":501},[167,101285,282],{"class":173},[167,101287,299],{"class":177},[167,101289,185],{"class":173},[154,101291,101293],{"className":156,"code":47035,"filename":3969,"highlights":101292,"language":162,"meta":163,"style":163},[238,341],[87,101294,101295,101303,101311,101317,101323,101332,101336,101340,101344,101352,101356,101364,101378,101382,101390,101394,101415,101427,101435,101449,101453,101461,101469],{"__ignoreMap":163},[167,101296,101297,101299,101301],{"class":169,"line":170},[167,101298,174],{"class":173},[167,101300,178],{"class":177},[167,101302,185],{"class":173},[167,101304,101305,101307,101309],{"class":169,"line":188},[167,101306,608],{"class":191},[167,101308,3987],{"class":191},[167,101310,1901],{"class":173},[167,101312,101313,101315],{"class":169,"line":205},[167,101314,7172],{"class":181},[167,101316,763],{"class":173},[167,101318,101319,101321],{"class":169,"line":160},[167,101320,1933],{"class":191},[167,101322,1901],{"class":173},[167,101324,101326,101328,101330],{"class":101325,"line":238},[169,213],[167,101327,24718],{"class":173},[167,101329,3388],{"class":219},[167,101331,393],{"class":173},[167,101333,101334],{"class":169,"line":243},[167,101335,24366],{"class":173},[167,101337,101338],{"class":169,"line":261},[167,101339,398],{"class":173},[167,101341,101342],{"class":169,"line":273},[167,101343,24144],{"class":173},[167,101345,101346,101348,101350],{"class":169,"line":279},[167,101347,282],{"class":173},[167,101349,178],{"class":177},[167,101351,185],{"class":173},[167,101353,101354],{"class":169,"line":289},[167,101355,209],{"emptyLinePlaceholder":208},[167,101357,101358,101360,101362],{"class":169,"line":294},[167,101359,174],{"class":173},[167,101361,299],{"class":177},[167,101363,185],{"class":173},[167,101365,101366,101368,101370,101372,101374,101376],{"class":169,"line":304},[167,101367,307],{"class":173},[167,101369,507],{"class":177},[167,101371,1177],{"class":181},[167,101373,267],{"class":173},[167,101375,24588],{"class":201},[167,101377,185],{"class":173},[167,101379,101380],{"class":169,"line":313},[167,101381,46934],{"class":173},[167,101383,101384,101386,101388],{"class":169,"line":161},[167,101385,504],{"class":173},[167,101387,507],{"class":177},[167,101389,185],{"class":173},[167,101391,101392],{"class":169,"line":335},[167,101393,209],{"emptyLinePlaceholder":208},[167,101395,101397,101399,101401,101403,101405,101407,101409,101411,101413],{"class":101396,"line":341},[169,213],[167,101398,307],{"class":173},[167,101400,27350],{"class":177},[167,101402,46956],{"class":181},[167,101404,267],{"class":173},[167,101406,5695],{"class":201},[167,101408,1240],{"class":181},[167,101410,267],{"class":173},[167,101412,12379],{"class":201},[167,101414,185],{"class":173},[167,101416,101417,101419,101421,101423,101425],{"class":169,"line":489},[167,101418,1252],{"class":173},[167,101420,3083],{"class":177},[167,101422,46977],{"class":173},[167,101424,3083],{"class":177},[167,101426,185],{"class":173},[167,101428,101429,101431,101433],{"class":169,"line":495},[167,101430,1252],{"class":173},[167,101432,9871],{"class":177},[167,101434,185],{"class":173},[167,101436,101437,101439,101441,101443,101445,101447],{"class":169,"line":501},[167,101438,1263],{"class":173},[167,101440,2646],{"class":177},[167,101442,1169],{"class":181},[167,101444,267],{"class":173},[167,101446,34998],{"class":201},[167,101448,5321],{"class":173},[167,101450,101451],{"class":169,"line":512},[167,101452,47008],{"class":173},[167,101454,101455,101457,101459],{"class":169,"line":781},[167,101456,1287],{"class":173},[167,101458,9871],{"class":177},[167,101460,185],{"class":173},[167,101462,101463,101465,101467],{"class":169,"line":786},[167,101464,504],{"class":173},[167,101466,27350],{"class":177},[167,101468,185],{"class":173},[167,101470,101471,101473,101475],{"class":169,"line":2674},[167,101472,282],{"class":173},[167,101474,299],{"class":177},[167,101476,185],{"class":173},[3083,101478,47224],{"id":47223},[15,101480,47227,101481,47231],{},[3929,101482,47230],{},[33,101484,101485,101487,101489],{},[36,101486,47236],{},[36,101488,47239],{},[36,101490,47242],{},[15,101492,47245,101493,47249,101495,1675],{},[3929,101494,47248],{},[87,101496,13492],{},[22,101498,101499,47257,101501,47261],{"id":47254},[87,101500,46217],{},[87,101502,47260],{},[15,101504,47264,101505,1020,101507,1023,101509,1675],{},[9291,101506,9342],{},[9291,101508,9348],{},[9291,101510,47271],{},[154,101512,101514],{"className":156,"code":47274,"filename":3256,"highlights":101513,"language":162,"meta":163,"style":163},[160,313,161,335,341],[87,101515,101516,101526,101538,101542,101561,101569,101573,101581,101599,101617,101635,101653,101657,101676,101695,101714,101729],{"__ignoreMap":163},[167,101517,101518,101520,101522,101524],{"class":169,"line":170},[167,101519,174],{"class":173},[167,101521,178],{"class":177},[167,101523,182],{"class":181},[167,101525,185],{"class":173},[167,101527,101528,101530,101532,101534,101536],{"class":169,"line":188},[167,101529,192],{"class":191},[167,101531,195],{"class":173},[167,101533,198],{"class":191},[167,101535,24037],{"class":201},[167,101537,24040],{"class":173},[167,101539,101540],{"class":169,"line":205},[167,101541,209],{"emptyLinePlaceholder":208},[167,101543,101545,101547,101549,101551,101553,101555,101557,101559],{"class":101544,"line":160},[169,213],[167,101546,216],{"class":191},[167,101548,11696],{"class":219},[167,101550,223],{"class":191},[167,101552,226],{"class":181},[167,101554,229],{"class":173},[167,101556,47319],{"class":201},[167,101558,47322],{"class":173},[167,101560,47325],{"class":18658},[167,101562,101563,101565,101567],{"class":169,"line":238},[167,101564,282],{"class":173},[167,101566,178],{"class":177},[167,101568,185],{"class":173},[167,101570,101571],{"class":169,"line":243},[167,101572,209],{"emptyLinePlaceholder":208},[167,101574,101575,101577,101579],{"class":169,"line":261},[167,101576,174],{"class":173},[167,101578,299],{"class":177},[167,101580,185],{"class":173},[167,101582,101583,101585,101587,101589,101591,101593,101595,101597],{"class":169,"line":273},[167,101584,307],{"class":173},[167,101586,507],{"class":177},[167,101588,1177],{"class":181},[167,101590,267],{"class":173},[167,101592,47358],{"class":201},[167,101594,47361],{"class":173},[167,101596,507],{"class":177},[167,101598,185],{"class":173},[167,101600,101601,101603,101605,101607,101609,101611,101613,101615],{"class":169,"line":279},[167,101602,307],{"class":173},[167,101604,507],{"class":177},[167,101606,1177],{"class":181},[167,101608,267],{"class":173},[167,101610,47378],{"class":201},[167,101612,47381],{"class":173},[167,101614,507],{"class":177},[167,101616,185],{"class":173},[167,101618,101619,101621,101623,101625,101627,101629,101631,101633],{"class":169,"line":289},[167,101620,307],{"class":173},[167,101622,507],{"class":177},[167,101624,1177],{"class":181},[167,101626,267],{"class":173},[167,101628,47398],{"class":201},[167,101630,47401],{"class":173},[167,101632,507],{"class":177},[167,101634,185],{"class":173},[167,101636,101637,101639,101641,101643,101645,101647,101649,101651],{"class":169,"line":294},[167,101638,307],{"class":173},[167,101640,507],{"class":177},[167,101642,1177],{"class":181},[167,101644,267],{"class":173},[167,101646,47418],{"class":201},[167,101648,47421],{"class":173},[167,101650,507],{"class":177},[167,101652,185],{"class":173},[167,101654,101655],{"class":169,"line":304},[167,101656,209],{"emptyLinePlaceholder":208},[167,101658,101660,101662,101664,101666,101668,101670,101672,101674],{"class":101659,"line":313},[169,213],[167,101661,307],{"class":173},[167,101663,15],{"class":177},[167,101665,5690],{"class":181},[167,101667,267],{"class":173},[167,101669,47443],{"class":201},[167,101671,47446],{"class":173},[167,101673,15],{"class":177},[167,101675,185],{"class":173},[167,101677,101679,101681,101683,101685,101687,101689,101691,101693],{"class":101678,"line":161},[169,213],[167,101680,307],{"class":173},[167,101682,15],{"class":177},[167,101684,6957],{"class":181},[167,101686,267],{"class":173},[167,101688,47464],{"class":201},[167,101690,47467],{"class":173},[167,101692,15],{"class":177},[167,101694,185],{"class":173},[167,101696,101698,101700,101702,101704,101706,101708,101710,101712],{"class":101697,"line":335},[169,213],[167,101699,307],{"class":173},[167,101701,15],{"class":177},[167,101703,6957],{"class":181},[167,101705,267],{"class":173},[167,101707,47485],{"class":201},[167,101709,47488],{"class":173},[167,101711,15],{"class":177},[167,101713,185],{"class":173},[167,101715,101717,101719,101721,101723,101725,101727],{"class":101716,"line":341},[169,213],[167,101718,307],{"class":173},[167,101720,15],{"class":177},[167,101722,7034],{"class":181},[167,101724,47504],{"class":173},[167,101726,15],{"class":177},[167,101728,185],{"class":173},[167,101730,101731,101733,101735],{"class":169,"line":489},[167,101732,282],{"class":173},[167,101734,299],{"class":177},[167,101736,185],{"class":173},[154,101738,101740],{"className":156,"code":47519,"filename":3969,"highlights":101739,"language":162,"meta":163,"style":163},[238,489,495,501,512],[87,101741,101742,101750,101758,101764,101770,101781,101785,101789,101793,101801,101805,101813,101831,101849,101867,101885,101889,101908,101927,101946,101961],{"__ignoreMap":163},[167,101743,101744,101746,101748],{"class":169,"line":170},[167,101745,174],{"class":173},[167,101747,178],{"class":177},[167,101749,185],{"class":173},[167,101751,101752,101754,101756],{"class":169,"line":188},[167,101753,608],{"class":191},[167,101755,3987],{"class":191},[167,101757,1901],{"class":173},[167,101759,101760,101762],{"class":169,"line":205},[167,101761,7172],{"class":181},[167,101763,763],{"class":173},[167,101765,101766,101768],{"class":169,"line":160},[167,101767,1933],{"class":191},[167,101769,1901],{"class":173},[167,101771,101773,101775,101777,101779],{"class":101772,"line":238},[169,213],[167,101774,12581],{"class":173},[167,101776,47319],{"class":201},[167,101778,1020],{"class":173},[167,101780,47325],{"class":18658},[167,101782,101783],{"class":169,"line":243},[167,101784,24366],{"class":173},[167,101786,101787],{"class":169,"line":261},[167,101788,398],{"class":173},[167,101790,101791],{"class":169,"line":273},[167,101792,24144],{"class":173},[167,101794,101795,101797,101799],{"class":169,"line":279},[167,101796,282],{"class":173},[167,101798,178],{"class":177},[167,101800,185],{"class":173},[167,101802,101803],{"class":169,"line":289},[167,101804,209],{"emptyLinePlaceholder":208},[167,101806,101807,101809,101811],{"class":169,"line":294},[167,101808,174],{"class":173},[167,101810,299],{"class":177},[167,101812,185],{"class":173},[167,101814,101815,101817,101819,101821,101823,101825,101827,101829],{"class":169,"line":304},[167,101816,307],{"class":173},[167,101818,507],{"class":177},[167,101820,1177],{"class":181},[167,101822,267],{"class":173},[167,101824,47358],{"class":201},[167,101826,47361],{"class":173},[167,101828,507],{"class":177},[167,101830,185],{"class":173},[167,101832,101833,101835,101837,101839,101841,101843,101845,101847],{"class":169,"line":313},[167,101834,307],{"class":173},[167,101836,507],{"class":177},[167,101838,1177],{"class":181},[167,101840,267],{"class":173},[167,101842,47378],{"class":201},[167,101844,47381],{"class":173},[167,101846,507],{"class":177},[167,101848,185],{"class":173},[167,101850,101851,101853,101855,101857,101859,101861,101863,101865],{"class":169,"line":161},[167,101852,307],{"class":173},[167,101854,507],{"class":177},[167,101856,1177],{"class":181},[167,101858,267],{"class":173},[167,101860,47398],{"class":201},[167,101862,47401],{"class":173},[167,101864,507],{"class":177},[167,101866,185],{"class":173},[167,101868,101869,101871,101873,101875,101877,101879,101881,101883],{"class":169,"line":335},[167,101870,307],{"class":173},[167,101872,507],{"class":177},[167,101874,1177],{"class":181},[167,101876,267],{"class":173},[167,101878,47418],{"class":201},[167,101880,47421],{"class":173},[167,101882,507],{"class":177},[167,101884,185],{"class":173},[167,101886,101887],{"class":169,"line":341},[167,101888,209],{"emptyLinePlaceholder":208},[167,101890,101892,101894,101896,101898,101900,101902,101904,101906],{"class":101891,"line":489},[169,213],[167,101893,307],{"class":173},[167,101895,15],{"class":177},[167,101897,5690],{"class":181},[167,101899,267],{"class":173},[167,101901,47443],{"class":201},[167,101903,47446],{"class":173},[167,101905,15],{"class":177},[167,101907,185],{"class":173},[167,101909,101911,101913,101915,101917,101919,101921,101923,101925],{"class":101910,"line":495},[169,213],[167,101912,307],{"class":173},[167,101914,15],{"class":177},[167,101916,6957],{"class":181},[167,101918,267],{"class":173},[167,101920,47464],{"class":201},[167,101922,47467],{"class":173},[167,101924,15],{"class":177},[167,101926,185],{"class":173},[167,101928,101930,101932,101934,101936,101938,101940,101942,101944],{"class":101929,"line":501},[169,213],[167,101931,307],{"class":173},[167,101933,15],{"class":177},[167,101935,6957],{"class":181},[167,101937,267],{"class":173},[167,101939,47485],{"class":201},[167,101941,47488],{"class":173},[167,101943,15],{"class":177},[167,101945,185],{"class":173},[167,101947,101949,101951,101953,101955,101957,101959],{"class":101948,"line":512},[169,213],[167,101950,307],{"class":173},[167,101952,15],{"class":177},[167,101954,7034],{"class":181},[167,101956,47504],{"class":173},[167,101958,15],{"class":177},[167,101960,185],{"class":173},[167,101962,101963,101965,101967],{"class":169,"line":781},[167,101964,282],{"class":173},[167,101966,299],{"class":177},[167,101968,185],{"class":173},[22,101970,3081],{"id":3080},[3083,101972,47755,101973,47758,101975],{"id":47754},[87,101974,46104],{},[87,101976,13492],{},[15,101978,30734],{},[154,101980,101982],{"className":156,"code":47765,"filename":15280,"highlights":101981,"language":162,"meta":163,"style":163},[188],[87,101983,101984,102006,102011],{"__ignoreMap":163},[167,101985,101986,101988,101990,101992,101994,101996,101998,102000,102002,102004],{"class":169,"line":170},[167,101987,174],{"class":173},[167,101989,1237],{"class":177},[167,101991,5690],{"class":191},[167,101993,267],{"class":173},[167,101995,5076],{"class":201},[167,101997,47783],{"class":173},[167,101999,5076],{"class":201},[167,102001,47788],{"class":173},[167,102003,1237],{"class":177},[167,102005,185],{"class":173},[167,102007,102009],{"class":102008,"line":188},[169,213],[167,102010,47798],{"class":18658},[167,102012,102013,102015,102017,102019,102021,102023],{"class":169,"line":205},[167,102014,174],{"class":173},[167,102016,1237],{"class":177},[167,102018,7034],{"class":191},[167,102020,47809],{"class":173},[167,102022,1237],{"class":177},[167,102024,185],{"class":173},[5363,102026,102027],{},[15,102028,23769,102029,46820,102031,47823,102033,1675],{},[87,102030,46104],{},[3929,102032,47822],{},[87,102034,13492],{},[3083,102036,18520,102037,47831],{"id":47828},[87,102038,13655],{},[15,102040,47834,102041,47837,102043,1020,102045,47844,102047,1675],{},[87,102042,13655],{},[9291,102044,47840],{},[3929,102046,47843],{},[87,102048,13492],{},[3083,102050,47850,102051,47853],{"id":47849},[87,102052,13492],{},[15,102054,47856,102055,47859,102057,47863,102059,47866],{},[87,102056,13492],{},[3929,102058,47862],{},[87,102060,13655],{},[22,102062,23570],{"id":23569},[33,102064,102065,102073,102079],{},[36,102066,102067,47877,102071,47881],{},[3929,102068,102069],{},[87,102070,13492],{},[3929,102072,47880],{},[36,102074,102075,47889],{},[3929,102076,102077],{},[87,102078,47888],{},[36,102080,102081,47896],{},[3929,102082,102083],{},[87,102084,13655],{},[5363,102086,102087],{},[15,102088,47901,102089],{},[3929,102090,47904],{},[924,102092,47907],{},{"title":163,"searchDepth":188,"depth":188,"links":102094},[102095,102100,102101,102102,102105,102106,102111],{"id":46161,"depth":188,"text":46162,"children":102096},[102097,102098,102099],{"id":13492,"depth":205,"text":13492},{"id":46212,"depth":205,"text":47914},{"id":13655,"depth":205,"text":13655},{"id":46284,"depth":188,"text":46285},{"id":46323,"depth":188,"text":47918},{"id":46835,"depth":188,"text":47920,"children":102103},[102104],{"id":47223,"depth":205,"text":47224},{"id":47254,"depth":188,"text":47924},{"id":3080,"depth":188,"text":3081,"children":102107},[102108,102109,102110],{"id":47754,"depth":205,"text":47928},{"id":47828,"depth":205,"text":47930},{"id":47849,"depth":205,"text":47932},{"id":23569,"depth":188,"text":23570},{"updatedAt":47939,"coverCaption":47940,"author":945,"keywords":102113},[3254,13492,46104,13655,47942,47943,3256,3969],[102115],{"headline":47947,"author":102116,"datePublished":47939,"@type":959},{"name":945,"@type":958},{"title":46094,"description":47937},[102119,102120,102121,102122],{"tag":26462,"color":26463},{"tag":47954,"color":47955},{"tag":27753,"color":27754},{"tag":5420,"color":5421},{"id":47960,"title":47961,"body":102124,"cover":51327,"coverAlt":47961,"date":51328,"description":51329,"draft":1617,"extension":940,"lab":941,"locale":942,"meta":105294,"navigation":208,"path":51334,"schemaOrg":105296,"seo":105299,"series":26456,"seriesDescription":26457,"seriesOrder":170,"seriesTitle":26458,"slug":941,"stem":51340,"tags":105300,"__hash__":51348},{"type":8,"value":102125,"toc":105276},[102126,102128,102136,102142,102144,102146,102188,102196,102202,102204,102212,102319,102432,102436,102442,102444,102450,102542,102640,102644,102646,102648,102656,102788,102928,102934,102938,102940,102944,102948,103042,103150,103154,103158,103160,103168,103274,103386,103392,103396,103398,103514,103650,103660,103664,103666,103758,103856,103858,103862,103864,103956,104054,104060,104064,104066,104207,104362,104366,104370,104374,104480,104592,104594,104598,104600,104726,104840,104844,104848,104850,104916,104988,104990,104994,104996,105062,105134,105136,105138,105140,105220,105252,105254,105256,105260,105262,105270,105274],[11,102127,47967],{"id":47966},[15,102129,47970,102130,47974,102132,47978,102134,47982],{},[3929,102131,47973],{},[87,102133,47977],{},[3929,102135,47981],{},[15,102137,47985,102138,47989,102140,47993],{},[3929,102139,47988],{},[3929,102141,47992],{},[22,102143,19079],{"id":19078},[15,102145,47998],{},[33,102147,102148,102152,102156,102160,102164,102168,102172,102176,102180,102184],{},[36,102149,102150],{},[19088,102151,46094],{"href":48005},[36,102153,102154],{},[19088,102155,42747],{"href":48010},[36,102157,102158],{},[19088,102159,39768],{"href":48015},[36,102161,102162],{},[19088,102163,33935],{"href":48020},[36,102165,102166],{},[19088,102167,36750],{"href":48025},[36,102169,102170],{},[19088,102171,30422],{"href":48030},[36,102173,102174],{},[19088,102175,31696],{"href":48035},[36,102177,102178],{},[19088,102179,27760],{"href":48040},[36,102181,102182],{},[19088,102183,26473],{"href":48045},[36,102185,102186],{},[19088,102187,23670],{"href":48050},[22,102189,102190,1020,102192,1020,102194],{"id":48053},[87,102191,13492],{},[87,102193,46217],{},[87,102195,46104],{},[15,102197,48062,102198,48066,102200,1675],{},[3929,102199,48065],{},[3929,102201,46182],{},[15,102203,48071],{},[33,102205,102206,102208,102210],{},[36,102207,48076],{},[36,102209,48079],{},[36,102211,48082],{},[154,102213,102215],{"className":156,"code":48085,"filename":3256,"highlights":102214,"language":162,"meta":163,"style":163},[273,279],[87,102216,102217,102227,102237,102241,102257,102265,102269,102277,102296,102311],{"__ignoreMap":163},[167,102218,102219,102221,102223,102225],{"class":169,"line":170},[167,102220,174],{"class":173},[167,102222,178],{"class":177},[167,102224,182],{"class":181},[167,102226,185],{"class":173},[167,102228,102229,102231,102233,102235],{"class":169,"line":188},[167,102230,192],{"class":191},[167,102232,195],{"class":173},[167,102234,198],{"class":191},[167,102236,202],{"class":201},[167,102238,102239],{"class":169,"line":205},[167,102240,209],{"emptyLinePlaceholder":208},[167,102242,102243,102245,102247,102249,102251,102253,102255],{"class":169,"line":160},[167,102244,216],{"class":191},[167,102246,48119],{"class":219},[167,102248,223],{"class":191},[167,102250,226],{"class":181},[167,102252,229],{"class":173},[167,102254,390],{"class":219},[167,102256,235],{"class":173},[167,102258,102259,102261,102263],{"class":169,"line":238},[167,102260,282],{"class":173},[167,102262,178],{"class":177},[167,102264,185],{"class":173},[167,102266,102267],{"class":169,"line":243},[167,102268,209],{"emptyLinePlaceholder":208},[167,102270,102271,102273,102275],{"class":169,"line":261},[167,102272,174],{"class":173},[167,102274,299],{"class":177},[167,102276,185],{"class":173},[167,102278,102280,102282,102284,102286,102288,102290,102292,102294],{"class":102279,"line":273},[169,213],[167,102281,307],{"class":173},[167,102283,15],{"class":177},[167,102285,5690],{"class":181},[167,102287,267],{"class":173},[167,102289,48163],{"class":201},[167,102291,48166],{"class":173},[167,102293,15],{"class":177},[167,102295,185],{"class":173},[167,102297,102299,102301,102303,102305,102307,102309],{"class":102298,"line":279},[169,213],[167,102300,307],{"class":173},[167,102302,15],{"class":177},[167,102304,7034],{"class":181},[167,102306,48182],{"class":173},[167,102308,15],{"class":177},[167,102310,185],{"class":173},[167,102312,102313,102315,102317],{"class":169,"line":289},[167,102314,282],{"class":173},[167,102316,299],{"class":177},[167,102318,185],{"class":173},[154,102320,102322],{"className":156,"code":48197,"filename":3969,"highlights":102321,"language":162,"meta":163,"style":163},[304,313],[87,102323,102324,102332,102340,102346,102352,102358,102362,102366,102370,102378,102382,102390,102409,102424],{"__ignoreMap":163},[167,102325,102326,102328,102330],{"class":169,"line":170},[167,102327,174],{"class":173},[167,102329,178],{"class":177},[167,102331,185],{"class":173},[167,102333,102334,102336,102338],{"class":169,"line":188},[167,102335,608],{"class":191},[167,102337,3987],{"class":191},[167,102339,1901],{"class":173},[167,102341,102342,102344],{"class":169,"line":205},[167,102343,7172],{"class":181},[167,102345,763],{"class":173},[167,102347,102348,102350],{"class":169,"line":160},[167,102349,1933],{"class":191},[167,102351,1901],{"class":173},[167,102353,102354,102356],{"class":169,"line":238},[167,102355,48233],{"class":173},[167,102357,3633],{"class":219},[167,102359,102360],{"class":169,"line":243},[167,102361,4045],{"class":173},[167,102363,102364],{"class":169,"line":261},[167,102365,3488],{"class":173},[167,102367,102368],{"class":169,"line":273},[167,102369,276],{"class":173},[167,102371,102372,102374,102376],{"class":169,"line":279},[167,102373,282],{"class":173},[167,102375,178],{"class":177},[167,102377,185],{"class":173},[167,102379,102380],{"class":169,"line":289},[167,102381,209],{"emptyLinePlaceholder":208},[167,102383,102384,102386,102388],{"class":169,"line":294},[167,102385,174],{"class":173},[167,102387,299],{"class":177},[167,102389,185],{"class":173},[167,102391,102393,102395,102397,102399,102401,102403,102405,102407],{"class":102392,"line":304},[169,213],[167,102394,307],{"class":173},[167,102396,15],{"class":177},[167,102398,5690],{"class":181},[167,102400,267],{"class":173},[167,102402,48163],{"class":201},[167,102404,48166],{"class":173},[167,102406,15],{"class":177},[167,102408,185],{"class":173},[167,102410,102412,102414,102416,102418,102420,102422],{"class":102411,"line":313},[169,213],[167,102413,307],{"class":173},[167,102415,15],{"class":177},[167,102417,7034],{"class":181},[167,102419,48182],{"class":173},[167,102421,15],{"class":177},[167,102423,185],{"class":173},[167,102425,102426,102428,102430],{"class":169,"line":161},[167,102427,282],{"class":173},[167,102429,299],{"class":177},[167,102431,185],{"class":173},[22,102433,102434],{"id":13655},[87,102435,13655],{},[15,102437,48316,102438,48319,102440,1675],{},[87,102439,46148],{},[3929,102441,48322],{},[15,102443,48071],{},[33,102445,102446,102448],{},[36,102447,48329],{},[36,102449,48332],{},[154,102451,102453],{"className":156,"code":48335,"filename":3256,"highlights":102452,"language":162,"meta":163,"style":163},[273],[87,102454,102455,102465,102475,102479,102495,102503,102507,102515,102534],{"__ignoreMap":163},[167,102456,102457,102459,102461,102463],{"class":169,"line":170},[167,102458,174],{"class":173},[167,102460,178],{"class":177},[167,102462,182],{"class":181},[167,102464,185],{"class":173},[167,102466,102467,102469,102471,102473],{"class":169,"line":188},[167,102468,192],{"class":191},[167,102470,195],{"class":173},[167,102472,198],{"class":191},[167,102474,202],{"class":201},[167,102476,102477],{"class":169,"line":205},[167,102478,48363],{"class":173},[167,102480,102481,102483,102485,102487,102489,102491,102493],{"class":169,"line":160},[167,102482,216],{"class":191},[167,102484,48370],{"class":219},[167,102486,223],{"class":191},[167,102488,226],{"class":181},[167,102490,229],{"class":173},[167,102492,390],{"class":219},[167,102494,235],{"class":173},[167,102496,102497,102499,102501],{"class":169,"line":238},[167,102498,282],{"class":173},[167,102500,178],{"class":177},[167,102502,185],{"class":173},[167,102504,102505],{"class":169,"line":243},[167,102506,209],{"emptyLinePlaceholder":208},[167,102508,102509,102511,102513],{"class":169,"line":261},[167,102510,174],{"class":173},[167,102512,299],{"class":177},[167,102514,185],{"class":173},[167,102516,102518,102520,102522,102524,102526,102528,102530,102532],{"class":102517,"line":273},[169,213],[167,102519,307],{"class":173},[167,102521,15],{"class":177},[167,102523,46956],{"class":181},[167,102525,267],{"class":173},[167,102527,48414],{"class":201},[167,102529,48417],{"class":173},[167,102531,15],{"class":177},[167,102533,185],{"class":173},[167,102535,102536,102538,102540],{"class":169,"line":279},[167,102537,282],{"class":173},[167,102539,299],{"class":177},[167,102541,185],{"class":173},[154,102543,102545],{"className":156,"code":48432,"filename":3969,"highlights":102544,"language":162,"meta":163,"style":163},[304],[87,102546,102547,102555,102563,102569,102575,102581,102585,102589,102593,102601,102605,102613,102632],{"__ignoreMap":163},[167,102548,102549,102551,102553],{"class":169,"line":170},[167,102550,174],{"class":173},[167,102552,178],{"class":177},[167,102554,185],{"class":173},[167,102556,102557,102559,102561],{"class":169,"line":188},[167,102558,608],{"class":191},[167,102560,3987],{"class":191},[167,102562,1901],{"class":173},[167,102564,102565,102567],{"class":169,"line":205},[167,102566,7172],{"class":181},[167,102568,763],{"class":173},[167,102570,102571,102573],{"class":169,"line":160},[167,102572,1933],{"class":191},[167,102574,1901],{"class":173},[167,102576,102577,102579],{"class":169,"line":238},[167,102578,48468],{"class":173},[167,102580,3633],{"class":219},[167,102582,102583],{"class":169,"line":243},[167,102584,4045],{"class":173},[167,102586,102587],{"class":169,"line":261},[167,102588,3488],{"class":173},[167,102590,102591],{"class":169,"line":273},[167,102592,276],{"class":173},[167,102594,102595,102597,102599],{"class":169,"line":279},[167,102596,282],{"class":173},[167,102598,178],{"class":177},[167,102600,185],{"class":173},[167,102602,102603],{"class":169,"line":289},[167,102604,209],{"emptyLinePlaceholder":208},[167,102606,102607,102609,102611],{"class":169,"line":294},[167,102608,174],{"class":173},[167,102610,299],{"class":177},[167,102612,185],{"class":173},[167,102614,102616,102618,102620,102622,102624,102626,102628,102630],{"class":102615,"line":304},[169,213],[167,102617,307],{"class":173},[167,102619,15],{"class":177},[167,102621,46956],{"class":181},[167,102623,267],{"class":173},[167,102625,48414],{"class":201},[167,102627,48417],{"class":173},[167,102629,15],{"class":177},[167,102631,185],{"class":173},[167,102633,102634,102636,102638],{"class":169,"line":313},[167,102635,282],{"class":173},[167,102637,299],{"class":177},[167,102639,185],{"class":173},[22,102641,102642],{"id":30722},[87,102643,30722],{},[15,102645,48536],{},[15,102647,48539],{},[5363,102649,102650],{},[15,102651,102652,48546,102654,48550],{},[87,102653,30722],{},[3929,102655,48549],{},[154,102657,102659],{"className":156,"code":48553,"filename":3256,"highlights":102658,"language":162,"meta":163,"style":163},[294,304,313],[87,102660,102661,102671,102681,102685,102697,102709,102721,102725,102733,102737,102745,102766,102771,102780],{"__ignoreMap":163},[167,102662,102663,102665,102667,102669],{"class":169,"line":170},[167,102664,174],{"class":173},[167,102666,178],{"class":177},[167,102668,182],{"class":181},[167,102670,185],{"class":173},[167,102672,102673,102675,102677,102679],{"class":169,"line":188},[167,102674,192],{"class":191},[167,102676,195],{"class":173},[167,102678,198],{"class":191},[167,102680,202],{"class":201},[167,102682,102683],{"class":169,"line":205},[167,102684,48363],{"class":173},[167,102686,102687,102689,102691,102693,102695],{"class":169,"line":160},[167,102688,216],{"class":191},[167,102690,1816],{"class":219},[167,102692,223],{"class":191},[167,102694,226],{"class":181},[167,102696,1823],{"class":173},[167,102698,102699,102701,102703,102705,102707],{"class":169,"line":238},[167,102700,1828],{"class":173},[167,102702,1831],{"class":219},[167,102704,1834],{"class":173},[167,102706,42921],{"class":201},[167,102708,1852],{"class":173},[167,102710,102711,102713,102715,102717,102719],{"class":169,"line":243},[167,102712,1828],{"class":173},[167,102714,1849],{"class":219},[167,102716,1834],{"class":173},[167,102718,42926],{"class":201},[167,102720,599],{"class":173},[167,102722,102723],{"class":169,"line":261},[167,102724,429],{"class":173},[167,102726,102727,102729,102731],{"class":169,"line":273},[167,102728,282],{"class":173},[167,102730,178],{"class":177},[167,102732,185],{"class":173},[167,102734,102735],{"class":169,"line":279},[167,102736,209],{"emptyLinePlaceholder":208},[167,102738,102739,102741,102743],{"class":169,"line":289},[167,102740,174],{"class":173},[167,102742,299],{"class":177},[167,102744,185],{"class":173},[167,102746,102748,102750,102752,102754,102756,102758,102760,102762,102764],{"class":102747,"line":294},[169,213],[167,102749,307],{"class":173},[167,102751,36],{"class":177},[167,102753,18702],{"class":181},[167,102755,267],{"class":173},[167,102757,48654],{"class":201},[167,102759,10303],{"class":181},[167,102761,267],{"class":173},[167,102763,35839],{"class":201},[167,102765,185],{"class":173},[167,102767,102769],{"class":102768,"line":304},[169,213],[167,102770,48668],{"class":173},[167,102772,102774,102776,102778],{"class":102773,"line":313},[169,213],[167,102775,504],{"class":173},[167,102777,36],{"class":177},[167,102779,185],{"class":173},[167,102781,102782,102784,102786],{"class":169,"line":161},[167,102783,282],{"class":173},[167,102785,299],{"class":177},[167,102787,185],{"class":173},[154,102789,102791],{"className":156,"code":48688,"filename":3969,"highlights":102790,"language":162,"meta":163,"style":163},[335,341,489],[87,102792,102793,102801,102809,102815,102821,102825,102837,102849,102853,102857,102861,102865,102873,102877,102885,102906,102911,102920],{"__ignoreMap":163},[167,102794,102795,102797,102799],{"class":169,"line":170},[167,102796,174],{"class":173},[167,102798,178],{"class":177},[167,102800,185],{"class":173},[167,102802,102803,102805,102807],{"class":169,"line":188},[167,102804,608],{"class":191},[167,102806,3987],{"class":191},[167,102808,1901],{"class":173},[167,102810,102811,102813],{"class":169,"line":205},[167,102812,7172],{"class":181},[167,102814,763],{"class":173},[167,102816,102817,102819],{"class":169,"line":160},[167,102818,1933],{"class":191},[167,102820,1901],{"class":173},[167,102822,102823],{"class":169,"line":238},[167,102824,44320],{"class":173},[167,102826,102827,102829,102831,102833,102835],{"class":169,"line":243},[167,102828,8673],{"class":173},[167,102830,1831],{"class":219},[167,102832,1834],{"class":173},[167,102834,42921],{"class":201},[167,102836,1852],{"class":173},[167,102838,102839,102841,102843,102845,102847],{"class":169,"line":261},[167,102840,8673],{"class":173},[167,102842,1849],{"class":219},[167,102844,1834],{"class":173},[167,102846,42926],{"class":201},[167,102848,599],{"class":173},[167,102850,102851],{"class":169,"line":273},[167,102852,8734],{"class":173},[167,102854,102855],{"class":169,"line":279},[167,102856,4045],{"class":173},[167,102858,102859],{"class":169,"line":289},[167,102860,3488],{"class":173},[167,102862,102863],{"class":169,"line":294},[167,102864,276],{"class":173},[167,102866,102867,102869,102871],{"class":169,"line":304},[167,102868,282],{"class":173},[167,102870,178],{"class":177},[167,102872,185],{"class":173},[167,102874,102875],{"class":169,"line":313},[167,102876,209],{"emptyLinePlaceholder":208},[167,102878,102879,102881,102883],{"class":169,"line":161},[167,102880,174],{"class":173},[167,102882,299],{"class":177},[167,102884,185],{"class":173},[167,102886,102888,102890,102892,102894,102896,102898,102900,102902,102904],{"class":102887,"line":335},[169,213],[167,102889,307],{"class":173},[167,102891,36],{"class":177},[167,102893,18702],{"class":181},[167,102895,267],{"class":173},[167,102897,48654],{"class":201},[167,102899,10303],{"class":181},[167,102901,267],{"class":173},[167,102903,35839],{"class":201},[167,102905,185],{"class":173},[167,102907,102909],{"class":102908,"line":341},[169,213],[167,102910,48668],{"class":173},[167,102912,102914,102916,102918],{"class":102913,"line":489},[169,213],[167,102915,504],{"class":173},[167,102917,36],{"class":177},[167,102919,185],{"class":173},[167,102921,102922,102924,102926],{"class":169,"line":495},[167,102923,282],{"class":173},[167,102925,299],{"class":177},[167,102927,185],{"class":173},[15,102929,102930,16899,102932,48834],{},[87,102931,7841],{},[3929,102933,48833],{},[22,102935,102936],{"id":23864},[87,102937,23864],{},[15,102939,48841],{},[15,102941,13784,102942,48846],{},[87,102943,23864],{},[5363,102945,102946],{},[15,102947,48851],{},[154,102949,102951],{"className":156,"code":48854,"filename":3256,"highlights":102950,"language":162,"meta":163,"style":163},[273],[87,102952,102953,102963,102973,102977,102993,103001,103005,103013,103034],{"__ignoreMap":163},[167,102954,102955,102957,102959,102961],{"class":169,"line":170},[167,102956,174],{"class":173},[167,102958,178],{"class":177},[167,102960,182],{"class":181},[167,102962,185],{"class":173},[167,102964,102965,102967,102969,102971],{"class":169,"line":188},[167,102966,192],{"class":191},[167,102968,195],{"class":173},[167,102970,198],{"class":191},[167,102972,202],{"class":201},[167,102974,102975],{"class":169,"line":205},[167,102976,209],{"emptyLinePlaceholder":208},[167,102978,102979,102981,102983,102985,102987,102989,102991],{"class":169,"line":160},[167,102980,216],{"class":191},[167,102982,48888],{"class":219},[167,102984,223],{"class":191},[167,102986,226],{"class":181},[167,102988,229],{"class":173},[167,102990,48897],{"class":201},[167,102992,235],{"class":173},[167,102994,102995,102997,102999],{"class":169,"line":238},[167,102996,282],{"class":173},[167,102998,178],{"class":177},[167,103000,185],{"class":173},[167,103002,103003],{"class":169,"line":243},[167,103004,209],{"emptyLinePlaceholder":208},[167,103006,103007,103009,103011],{"class":169,"line":261},[167,103008,174],{"class":173},[167,103010,299],{"class":177},[167,103012,185],{"class":173},[167,103014,103016,103018,103020,103022,103024,103026,103028,103030,103032],{"class":103015,"line":273},[169,213],[167,103017,307],{"class":173},[167,103019,40002],{"class":177},[167,103021,48929],{"class":181},[167,103023,267],{"class":173},[167,103025,48934],{"class":201},[167,103027,48937],{"class":181},[167,103029,267],{"class":173},[167,103031,48942],{"class":201},[167,103033,5321],{"class":173},[167,103035,103036,103038,103040],{"class":169,"line":279},[167,103037,282],{"class":173},[167,103039,299],{"class":177},[167,103041,185],{"class":173},[154,103043,103045],{"className":156,"code":48955,"filename":3969,"highlights":103044,"language":162,"meta":163,"style":163},[313],[87,103046,103047,103055,103063,103069,103075,103083,103089,103093,103097,103101,103109,103113,103121,103142],{"__ignoreMap":163},[167,103048,103049,103051,103053],{"class":169,"line":170},[167,103050,174],{"class":173},[167,103052,178],{"class":177},[167,103054,185],{"class":173},[167,103056,103057,103059,103061],{"class":169,"line":188},[167,103058,608],{"class":191},[167,103060,3987],{"class":191},[167,103062,1901],{"class":173},[167,103064,103065,103067],{"class":169,"line":205},[167,103066,7172],{"class":181},[167,103068,763],{"class":173},[167,103070,103071,103073],{"class":169,"line":160},[167,103072,1933],{"class":191},[167,103074,1901],{"class":173},[167,103076,103077,103079,103081],{"class":169,"line":238},[167,103078,48991],{"class":173},[167,103080,48994],{"class":201},[167,103082,393],{"class":173},[167,103084,103085,103087],{"class":169,"line":243},[167,103086,49001],{"class":173},[167,103088,49004],{"class":201},[167,103090,103091],{"class":169,"line":261},[167,103092,4045],{"class":173},[167,103094,103095],{"class":169,"line":273},[167,103096,3488],{"class":173},[167,103098,103099],{"class":169,"line":279},[167,103100,276],{"class":173},[167,103102,103103,103105,103107],{"class":169,"line":289},[167,103104,282],{"class":173},[167,103106,178],{"class":177},[167,103108,185],{"class":173},[167,103110,103111],{"class":169,"line":294},[167,103112,209],{"emptyLinePlaceholder":208},[167,103114,103115,103117,103119],{"class":169,"line":304},[167,103116,174],{"class":173},[167,103118,299],{"class":177},[167,103120,185],{"class":173},[167,103122,103124,103126,103128,103130,103132,103134,103136,103138,103140],{"class":103123,"line":313},[169,213],[167,103125,307],{"class":173},[167,103127,40002],{"class":177},[167,103129,49046],{"class":181},[167,103131,267],{"class":173},[167,103133,48934],{"class":201},[167,103135,49053],{"class":181},[167,103137,267],{"class":173},[167,103139,49058],{"class":201},[167,103141,5321],{"class":173},[167,103143,103144,103146,103148],{"class":169,"line":161},[167,103145,282],{"class":173},[167,103147,299],{"class":177},[167,103149,185],{"class":173},[22,103151,103152],{"id":23861},[87,103153,23861],{},[15,103155,49075,103156,49079],{},[3929,103157,49078],{},[15,103159,49082],{},[33,103161,103162,103164,103166],{},[36,103163,36743],{},[36,103165,49089],{},[36,103167,49092],{},[154,103169,103171],{"className":156,"code":49095,"filename":3256,"highlights":103170,"language":162,"meta":163,"style":163},[273],[87,103172,103173,103183,103193,103197,103213,103221,103225,103233,103254,103266],{"__ignoreMap":163},[167,103174,103175,103177,103179,103181],{"class":169,"line":170},[167,103176,174],{"class":173},[167,103178,178],{"class":177},[167,103180,182],{"class":181},[167,103182,185],{"class":173},[167,103184,103185,103187,103189,103191],{"class":169,"line":188},[167,103186,192],{"class":191},[167,103188,195],{"class":173},[167,103190,198],{"class":191},[167,103192,202],{"class":201},[167,103194,103195],{"class":169,"line":205},[167,103196,209],{"emptyLinePlaceholder":208},[167,103198,103199,103201,103203,103205,103207,103209,103211],{"class":169,"line":160},[167,103200,216],{"class":191},[167,103202,49129],{"class":219},[167,103204,223],{"class":191},[167,103206,226],{"class":181},[167,103208,229],{"class":173},[167,103210,2180],{"class":201},[167,103212,235],{"class":173},[167,103214,103215,103217,103219],{"class":169,"line":238},[167,103216,282],{"class":173},[167,103218,178],{"class":177},[167,103220,185],{"class":173},[167,103222,103223],{"class":169,"line":243},[167,103224,209],{"emptyLinePlaceholder":208},[167,103226,103227,103229,103231],{"class":169,"line":261},[167,103228,174],{"class":173},[167,103230,299],{"class":177},[167,103232,185],{"class":173},[167,103234,103236,103238,103240,103242,103244,103246,103248,103250,103252],{"class":103235,"line":273},[169,213],[167,103237,307],{"class":173},[167,103239,2646],{"class":177},[167,103241,2649],{"class":181},[167,103243,267],{"class":173},[167,103245,49173],{"class":201},[167,103247,2664],{"class":181},[167,103249,267],{"class":173},[167,103251,49180],{"class":201},[167,103253,5321],{"class":173},[167,103255,103256,103258,103260,103262,103264],{"class":169,"line":279},[167,103257,307],{"class":173},[167,103259,15],{"class":177},[167,103261,49191],{"class":173},[167,103263,15],{"class":177},[167,103265,185],{"class":173},[167,103267,103268,103270,103272],{"class":169,"line":289},[167,103269,282],{"class":173},[167,103271,299],{"class":177},[167,103273,185],{"class":173},[154,103275,103277],{"className":156,"code":49206,"filename":3969,"highlights":103276,"language":162,"meta":163,"style":163},[304],[87,103278,103279,103287,103295,103301,103307,103313,103317,103321,103325,103333,103337,103345,103366,103378],{"__ignoreMap":163},[167,103280,103281,103283,103285],{"class":169,"line":170},[167,103282,174],{"class":173},[167,103284,178],{"class":177},[167,103286,185],{"class":173},[167,103288,103289,103291,103293],{"class":169,"line":188},[167,103290,608],{"class":191},[167,103292,3987],{"class":191},[167,103294,1901],{"class":173},[167,103296,103297,103299],{"class":169,"line":205},[167,103298,7172],{"class":181},[167,103300,763],{"class":173},[167,103302,103303,103305],{"class":169,"line":160},[167,103304,1933],{"class":191},[167,103306,1901],{"class":173},[167,103308,103309,103311],{"class":169,"line":238},[167,103310,49242],{"class":173},[167,103312,7205],{"class":201},[167,103314,103315],{"class":169,"line":243},[167,103316,4045],{"class":173},[167,103318,103319],{"class":169,"line":261},[167,103320,3488],{"class":173},[167,103322,103323],{"class":169,"line":273},[167,103324,276],{"class":173},[167,103326,103327,103329,103331],{"class":169,"line":279},[167,103328,282],{"class":173},[167,103330,178],{"class":177},[167,103332,185],{"class":173},[167,103334,103335],{"class":169,"line":289},[167,103336,209],{"emptyLinePlaceholder":208},[167,103338,103339,103341,103343],{"class":169,"line":294},[167,103340,174],{"class":173},[167,103342,299],{"class":177},[167,103344,185],{"class":173},[167,103346,103348,103350,103352,103354,103356,103358,103360,103362,103364],{"class":103347,"line":304},[169,213],[167,103349,307],{"class":173},[167,103351,2646],{"class":177},[167,103353,2649],{"class":181},[167,103355,267],{"class":173},[167,103357,49173],{"class":201},[167,103359,2664],{"class":181},[167,103361,267],{"class":173},[167,103363,49180],{"class":201},[167,103365,5321],{"class":173},[167,103367,103368,103370,103372,103374,103376],{"class":169,"line":313},[167,103369,307],{"class":173},[167,103371,15],{"class":177},[167,103373,49191],{"class":173},[167,103375,15],{"class":177},[167,103377,185],{"class":173},[167,103379,103380,103382,103384],{"class":169,"line":161},[167,103381,282],{"class":173},[167,103383,299],{"class":177},[167,103385,185],{"class":173},[15,103387,49320,103388,33969,103390,49325],{},[87,103389,34045],{},[87,103391,34051],{},[22,103393,103394],{"id":23867},[87,103395,23867],{},[15,103397,49332],{},[154,103399,103401],{"className":156,"code":49335,"filename":3256,"highlights":103400,"language":162,"meta":163,"style":163},[294],[87,103402,103403,103413,103423,103427,103443,103457,103463,103467,103475,103479,103487,103506],{"__ignoreMap":163},[167,103404,103405,103407,103409,103411],{"class":169,"line":170},[167,103406,174],{"class":173},[167,103408,178],{"class":177},[167,103410,182],{"class":181},[167,103412,185],{"class":173},[167,103414,103415,103417,103419,103421],{"class":169,"line":188},[167,103416,192],{"class":191},[167,103418,195],{"class":173},[167,103420,198],{"class":191},[167,103422,202],{"class":201},[167,103424,103425],{"class":169,"line":205},[167,103426,209],{"emptyLinePlaceholder":208},[167,103428,103429,103431,103433,103435,103437,103439,103441],{"class":169,"line":160},[167,103430,216],{"class":191},[167,103432,15321],{"class":219},[167,103434,223],{"class":191},[167,103436,226],{"class":181},[167,103438,229],{"class":173},[167,103440,1956],{"class":219},[167,103442,235],{"class":173},[167,103444,103445,103447,103449,103451,103453,103455],{"class":169,"line":238},[167,103446,216],{"class":191},[167,103448,49385],{"class":181},[167,103450,223],{"class":191},[167,103452,1464],{"class":173},[167,103454,639],{"class":191},[167,103456,1901],{"class":173},[167,103458,103459,103461],{"class":169,"line":243},[167,103460,15352],{"class":173},[167,103462,3122],{"class":191},[167,103464,103465],{"class":169,"line":261},[167,103466,276],{"class":173},[167,103468,103469,103471,103473],{"class":169,"line":273},[167,103470,282],{"class":173},[167,103472,178],{"class":177},[167,103474,185],{"class":173},[167,103476,103477],{"class":169,"line":279},[167,103478,209],{"emptyLinePlaceholder":208},[167,103480,103481,103483,103485],{"class":169,"line":289},[167,103482,174],{"class":173},[167,103484,299],{"class":177},[167,103486,185],{"class":173},[167,103488,103490,103492,103494,103496,103498,103500,103502,103504],{"class":103489,"line":294},[169,213],[167,103491,307],{"class":173},[167,103493,507],{"class":177},[167,103495,49433],{"class":181},[167,103497,267],{"class":173},[167,103499,49438],{"class":201},[167,103501,49441],{"class":173},[167,103503,507],{"class":177},[167,103505,185],{"class":173},[167,103507,103508,103510,103512],{"class":169,"line":304},[167,103509,282],{"class":173},[167,103511,299],{"class":177},[167,103513,185],{"class":173},[154,103515,103517],{"className":156,"code":49456,"filename":3969,"highlights":103516,"language":162,"meta":163,"style":163},[489],[87,103518,103519,103527,103535,103541,103547,103553,103557,103561,103565,103571,103579,103583,103587,103591,103599,103603,103611,103630,103642],{"__ignoreMap":163},[167,103520,103521,103523,103525],{"class":169,"line":170},[167,103522,174],{"class":173},[167,103524,178],{"class":177},[167,103526,185],{"class":173},[167,103528,103529,103531,103533],{"class":169,"line":188},[167,103530,608],{"class":191},[167,103532,3987],{"class":191},[167,103534,1901],{"class":173},[167,103536,103537,103539],{"class":169,"line":205},[167,103538,7172],{"class":181},[167,103540,763],{"class":173},[167,103542,103543,103545],{"class":169,"line":160},[167,103544,1933],{"class":191},[167,103546,1901],{"class":173},[167,103548,103549,103551],{"class":169,"line":238},[167,103550,37480],{"class":173},[167,103552,10677],{"class":219},[167,103554,103555],{"class":169,"line":243},[167,103556,4045],{"class":173},[167,103558,103559],{"class":169,"line":261},[167,103560,398],{"class":173},[167,103562,103563],{"class":169,"line":273},[167,103564,4415],{"class":173},[167,103566,103567,103569],{"class":169,"line":279},[167,103568,49510],{"class":181},[167,103570,763],{"class":173},[167,103572,103573,103575,103577],{"class":169,"line":289},[167,103574,741],{"class":219},[167,103576,49519],{"class":173},[167,103578,3122],{"class":191},[167,103580,103581],{"class":169,"line":294},[167,103582,4045],{"class":173},[167,103584,103585],{"class":169,"line":304},[167,103586,3488],{"class":173},[167,103588,103589],{"class":169,"line":313},[167,103590,276],{"class":173},[167,103592,103593,103595,103597],{"class":169,"line":161},[167,103594,282],{"class":173},[167,103596,178],{"class":177},[167,103598,185],{"class":173},[167,103600,103601],{"class":169,"line":335},[167,103602,209],{"emptyLinePlaceholder":208},[167,103604,103605,103607,103609],{"class":169,"line":341},[167,103606,174],{"class":173},[167,103608,299],{"class":177},[167,103610,185],{"class":173},[167,103612,103614,103616,103618,103620,103622,103624,103626,103628],{"class":103613,"line":489},[169,213],[167,103615,307],{"class":173},[167,103617,507],{"class":177},[167,103619,49433],{"class":181},[167,103621,267],{"class":173},[167,103623,49438],{"class":201},[167,103625,49569],{"class":173},[167,103627,507],{"class":177},[167,103629,185],{"class":173},[167,103631,103632,103634,103636,103638,103640],{"class":169,"line":495},[167,103633,307],{"class":173},[167,103635,15],{"class":177},[167,103637,49582],{"class":173},[167,103639,15],{"class":177},[167,103641,185],{"class":173},[167,103643,103644,103646,103648],{"class":169,"line":501},[167,103645,282],{"class":173},[167,103647,299],{"class":177},[167,103649,185],{"class":173},[15,103651,49597,103652,2522,103654,1020,103656,1020,103658,49607],{},[3929,103653,49600],{},[87,103655,36904],{},[87,103657,36901],{},[87,103659,36907],{},[22,103661,103662],{"id":30430},[87,103663,30430],{},[15,103665,49614],{},[154,103667,103669],{"className":156,"code":49617,"filename":3256,"highlights":103668,"language":162,"meta":163,"style":163},[273],[87,103670,103671,103681,103691,103695,103711,103719,103723,103731,103750],{"__ignoreMap":163},[167,103672,103673,103675,103677,103679],{"class":169,"line":170},[167,103674,174],{"class":173},[167,103676,178],{"class":177},[167,103678,182],{"class":181},[167,103680,185],{"class":173},[167,103682,103683,103685,103687,103689],{"class":169,"line":188},[167,103684,192],{"class":191},[167,103686,195],{"class":173},[167,103688,198],{"class":191},[167,103690,202],{"class":201},[167,103692,103693],{"class":169,"line":205},[167,103694,209],{"emptyLinePlaceholder":208},[167,103696,103697,103699,103701,103703,103705,103707,103709],{"class":169,"line":160},[167,103698,216],{"class":191},[167,103700,29008],{"class":219},[167,103702,223],{"class":191},[167,103704,226],{"class":181},[167,103706,229],{"class":173},[167,103708,49659],{"class":201},[167,103710,235],{"class":173},[167,103712,103713,103715,103717],{"class":169,"line":238},[167,103714,282],{"class":173},[167,103716,178],{"class":177},[167,103718,185],{"class":173},[167,103720,103721],{"class":169,"line":243},[167,103722,209],{"emptyLinePlaceholder":208},[167,103724,103725,103727,103729],{"class":169,"line":261},[167,103726,174],{"class":173},[167,103728,299],{"class":177},[167,103730,185],{"class":173},[167,103732,103734,103736,103738,103740,103742,103744,103746,103748],{"class":103733,"line":273},[169,213],[167,103735,307],{"class":173},[167,103737,1237],{"class":177},[167,103739,30521],{"class":181},[167,103741,267],{"class":173},[167,103743,49695],{"class":201},[167,103745,1277],{"class":173},[167,103747,1237],{"class":177},[167,103749,185],{"class":173},[167,103751,103752,103754,103756],{"class":169,"line":279},[167,103753,282],{"class":173},[167,103755,299],{"class":177},[167,103757,185],{"class":173},[154,103759,103761],{"className":156,"code":49712,"filename":3969,"highlights":103760,"language":162,"meta":163,"style":163},[304],[87,103762,103763,103771,103779,103785,103791,103797,103801,103805,103809,103817,103821,103829,103848],{"__ignoreMap":163},[167,103764,103765,103767,103769],{"class":169,"line":170},[167,103766,174],{"class":173},[167,103768,178],{"class":177},[167,103770,185],{"class":173},[167,103772,103773,103775,103777],{"class":169,"line":188},[167,103774,608],{"class":191},[167,103776,3987],{"class":191},[167,103778,1901],{"class":173},[167,103780,103781,103783],{"class":169,"line":205},[167,103782,7172],{"class":181},[167,103784,763],{"class":173},[167,103786,103787,103789],{"class":169,"line":160},[167,103788,1933],{"class":191},[167,103790,1901],{"class":173},[167,103792,103793,103795],{"class":169,"line":238},[167,103794,29122],{"class":173},[167,103796,49750],{"class":201},[167,103798,103799],{"class":169,"line":243},[167,103800,4045],{"class":173},[167,103802,103803],{"class":169,"line":261},[167,103804,3488],{"class":173},[167,103806,103807],{"class":169,"line":273},[167,103808,276],{"class":173},[167,103810,103811,103813,103815],{"class":169,"line":279},[167,103812,282],{"class":173},[167,103814,178],{"class":177},[167,103816,185],{"class":173},[167,103818,103819],{"class":169,"line":289},[167,103820,209],{"emptyLinePlaceholder":208},[167,103822,103823,103825,103827],{"class":169,"line":294},[167,103824,174],{"class":173},[167,103826,299],{"class":177},[167,103828,185],{"class":173},[167,103830,103832,103834,103836,103838,103840,103842,103844,103846],{"class":103831,"line":304},[169,213],[167,103833,307],{"class":173},[167,103835,1237],{"class":177},[167,103837,30521],{"class":181},[167,103839,267],{"class":173},[167,103841,49695],{"class":201},[167,103843,1277],{"class":173},[167,103845,1237],{"class":177},[167,103847,185],{"class":173},[167,103849,103850,103852,103854],{"class":169,"line":313},[167,103851,282],{"class":173},[167,103853,299],{"class":177},[167,103855,185],{"class":173},[15,103857,49812],{},[22,103859,103860],{"id":30433},[87,103861,30433],{},[15,103863,49819],{},[154,103865,103867],{"className":156,"code":49822,"filename":3256,"highlights":103866,"language":162,"meta":163,"style":163},[273],[87,103868,103869,103879,103889,103893,103909,103917,103921,103929,103948],{"__ignoreMap":163},[167,103870,103871,103873,103875,103877],{"class":169,"line":170},[167,103872,174],{"class":173},[167,103874,178],{"class":177},[167,103876,182],{"class":181},[167,103878,185],{"class":173},[167,103880,103881,103883,103885,103887],{"class":169,"line":188},[167,103882,192],{"class":191},[167,103884,195],{"class":173},[167,103886,198],{"class":191},[167,103888,202],{"class":201},[167,103890,103891],{"class":169,"line":205},[167,103892,209],{"emptyLinePlaceholder":208},[167,103894,103895,103897,103899,103901,103903,103905,103907],{"class":169,"line":160},[167,103896,216],{"class":191},[167,103898,49856],{"class":219},[167,103900,223],{"class":191},[167,103902,226],{"class":181},[167,103904,229],{"class":173},[167,103906,49865],{"class":201},[167,103908,235],{"class":173},[167,103910,103911,103913,103915],{"class":169,"line":238},[167,103912,282],{"class":173},[167,103914,178],{"class":177},[167,103916,185],{"class":173},[167,103918,103919],{"class":169,"line":243},[167,103920,209],{"emptyLinePlaceholder":208},[167,103922,103923,103925,103927],{"class":169,"line":261},[167,103924,174],{"class":173},[167,103926,299],{"class":177},[167,103928,185],{"class":173},[167,103930,103932,103934,103936,103938,103940,103942,103944,103946],{"class":103931,"line":273},[169,213],[167,103933,307],{"class":173},[167,103935,1237],{"class":177},[167,103937,30590],{"class":181},[167,103939,267],{"class":173},[167,103941,49901],{"class":201},[167,103943,1277],{"class":173},[167,103945,1237],{"class":177},[167,103947,185],{"class":173},[167,103949,103950,103952,103954],{"class":169,"line":279},[167,103951,282],{"class":173},[167,103953,299],{"class":177},[167,103955,185],{"class":173},[154,103957,103959],{"className":156,"code":49918,"filename":3969,"highlights":103958,"language":162,"meta":163,"style":163},[304],[87,103960,103961,103969,103977,103983,103989,103995,103999,104003,104007,104015,104019,104027,104046],{"__ignoreMap":163},[167,103962,103963,103965,103967],{"class":169,"line":170},[167,103964,174],{"class":173},[167,103966,178],{"class":177},[167,103968,185],{"class":173},[167,103970,103971,103973,103975],{"class":169,"line":188},[167,103972,608],{"class":191},[167,103974,3987],{"class":191},[167,103976,1901],{"class":173},[167,103978,103979,103981],{"class":169,"line":205},[167,103980,7172],{"class":181},[167,103982,763],{"class":173},[167,103984,103985,103987],{"class":169,"line":160},[167,103986,1933],{"class":191},[167,103988,1901],{"class":173},[167,103990,103991,103993],{"class":169,"line":238},[167,103992,49954],{"class":173},[167,103994,49957],{"class":201},[167,103996,103997],{"class":169,"line":243},[167,103998,4045],{"class":173},[167,104000,104001],{"class":169,"line":261},[167,104002,3488],{"class":173},[167,104004,104005],{"class":169,"line":273},[167,104006,276],{"class":173},[167,104008,104009,104011,104013],{"class":169,"line":279},[167,104010,282],{"class":173},[167,104012,178],{"class":177},[167,104014,185],{"class":173},[167,104016,104017],{"class":169,"line":289},[167,104018,209],{"emptyLinePlaceholder":208},[167,104020,104021,104023,104025],{"class":169,"line":294},[167,104022,174],{"class":173},[167,104024,299],{"class":177},[167,104026,185],{"class":173},[167,104028,104030,104032,104034,104036,104038,104040,104042,104044],{"class":104029,"line":304},[169,213],[167,104031,307],{"class":173},[167,104033,1237],{"class":177},[167,104035,30590],{"class":181},[167,104037,267],{"class":173},[167,104039,49901],{"class":201},[167,104041,1277],{"class":173},[167,104043,1237],{"class":177},[167,104045,185],{"class":173},[167,104047,104048,104050,104052],{"class":169,"line":313},[167,104049,282],{"class":173},[167,104051,299],{"class":177},[167,104053,185],{"class":173},[5363,104055,104056],{},[15,104057,50021,104058,50025],{},[3929,104059,50024],{},[22,104061,104062],{"id":31704},[87,104063,31704],{},[15,104065,50032],{},[154,104067,104069],{"className":156,"code":50035,"filename":3256,"highlights":104068,"language":162,"meta":163,"style":163},[243,289],[87,104070,104071,104081,104089,104093,104101,104109,104124,104136,104144,104156,104171,104183,104191,104199],{"__ignoreMap":163},[167,104072,104073,104075,104077,104079],{"class":169,"line":170},[167,104074,174],{"class":173},[167,104076,178],{"class":177},[167,104078,182],{"class":181},[167,104080,185],{"class":173},[167,104082,104083,104085,104087],{"class":169,"line":188},[167,104084,282],{"class":173},[167,104086,178],{"class":177},[167,104088,185],{"class":173},[167,104090,104091],{"class":169,"line":205},[167,104092,209],{"emptyLinePlaceholder":208},[167,104094,104095,104097,104099],{"class":169,"line":160},[167,104096,174],{"class":173},[167,104098,299],{"class":177},[167,104100,185],{"class":173},[167,104102,104103,104105,104107],{"class":169,"line":238},[167,104104,307],{"class":173},[167,104106,50075],{"class":177},[167,104108,185],{"class":173},[167,104110,104112,104114,104116,104118,104120,104122],{"class":104111,"line":243},[169,213],[167,104113,1252],{"class":173},[167,104115,299],{"class":177},[167,104117,32025],{"class":181},[167,104119,583],{"class":173},[167,104121,1255],{"class":181},[167,104123,185],{"class":173},[167,104125,104126,104128,104130,104132,104134],{"class":169,"line":261},[167,104127,1263],{"class":173},[167,104129,11],{"class":177},[167,104131,50101],{"class":173},[167,104133,11],{"class":177},[167,104135,185],{"class":173},[167,104137,104138,104140,104142],{"class":169,"line":273},[167,104139,1287],{"class":173},[167,104141,299],{"class":177},[167,104143,185],{"class":173},[167,104145,104146,104148,104150,104152,104154],{"class":169,"line":279},[167,104147,1252],{"class":173},[167,104149,15],{"class":177},[167,104151,50122],{"class":173},[167,104153,15],{"class":177},[167,104155,185],{"class":173},[167,104157,104159,104161,104163,104165,104167,104169],{"class":104158,"line":289},[169,213],[167,104160,1252],{"class":173},[167,104162,299],{"class":177},[167,104164,32025],{"class":181},[167,104166,583],{"class":173},[167,104168,1329],{"class":181},[167,104170,185],{"class":173},[167,104172,104173,104175,104177,104179,104181],{"class":169,"line":294},[167,104174,1263],{"class":173},[167,104176,507],{"class":177},[167,104178,50150],{"class":173},[167,104180,507],{"class":177},[167,104182,185],{"class":173},[167,104184,104185,104187,104189],{"class":169,"line":304},[167,104186,1287],{"class":173},[167,104188,299],{"class":177},[167,104190,185],{"class":173},[167,104192,104193,104195,104197],{"class":169,"line":313},[167,104194,504],{"class":173},[167,104196,50075],{"class":177},[167,104198,185],{"class":173},[167,104200,104201,104203,104205],{"class":169,"line":161},[167,104202,282],{"class":173},[167,104204,299],{"class":177},[167,104206,185],{"class":173},[154,104208,104210],{"className":156,"code":50181,"filename":3969,"highlights":104209,"language":162,"meta":163,"style":163},[279,313],[87,104211,104212,104220,104228,104232,104236,104244,104248,104256,104264,104279,104291,104299,104311,104326,104338,104346,104354],{"__ignoreMap":163},[167,104213,104214,104216,104218],{"class":169,"line":170},[167,104215,174],{"class":173},[167,104217,178],{"class":177},[167,104219,185],{"class":173},[167,104221,104222,104224,104226],{"class":169,"line":188},[167,104223,608],{"class":191},[167,104225,3987],{"class":191},[167,104227,1901],{"class":173},[167,104229,104230],{"class":169,"line":205},[167,104231,50205],{"class":173},[167,104233,104234],{"class":169,"line":160},[167,104235,276],{"class":173},[167,104237,104238,104240,104242],{"class":169,"line":238},[167,104239,282],{"class":173},[167,104241,178],{"class":177},[167,104243,185],{"class":173},[167,104245,104246],{"class":169,"line":243},[167,104247,209],{"emptyLinePlaceholder":208},[167,104249,104250,104252,104254],{"class":169,"line":261},[167,104251,174],{"class":173},[167,104253,299],{"class":177},[167,104255,185],{"class":173},[167,104257,104258,104260,104262],{"class":169,"line":273},[167,104259,307],{"class":173},[167,104261,50075],{"class":177},[167,104263,185],{"class":173},[167,104265,104267,104269,104271,104273,104275,104277],{"class":104266,"line":279},[169,213],[167,104268,1252],{"class":173},[167,104270,299],{"class":177},[167,104272,32025],{"class":181},[167,104274,583],{"class":173},[167,104276,1255],{"class":181},[167,104278,185],{"class":173},[167,104280,104281,104283,104285,104287,104289],{"class":169,"line":289},[167,104282,1263],{"class":173},[167,104284,11],{"class":177},[167,104286,50101],{"class":173},[167,104288,11],{"class":177},[167,104290,185],{"class":173},[167,104292,104293,104295,104297],{"class":169,"line":294},[167,104294,1287],{"class":173},[167,104296,299],{"class":177},[167,104298,185],{"class":173},[167,104300,104301,104303,104305,104307,104309],{"class":169,"line":304},[167,104302,1252],{"class":173},[167,104304,15],{"class":177},[167,104306,50122],{"class":173},[167,104308,15],{"class":177},[167,104310,185],{"class":173},[167,104312,104314,104316,104318,104320,104322,104324],{"class":104313,"line":313},[169,213],[167,104315,1252],{"class":173},[167,104317,299],{"class":177},[167,104319,32025],{"class":181},[167,104321,583],{"class":173},[167,104323,1329],{"class":181},[167,104325,185],{"class":173},[167,104327,104328,104330,104332,104334,104336],{"class":169,"line":161},[167,104329,1263],{"class":173},[167,104331,507],{"class":177},[167,104333,50150],{"class":173},[167,104335,507],{"class":177},[167,104337,185],{"class":173},[167,104339,104340,104342,104344],{"class":169,"line":335},[167,104341,1287],{"class":173},[167,104343,299],{"class":177},[167,104345,185],{"class":173},[167,104347,104348,104350,104352],{"class":169,"line":341},[167,104349,504],{"class":173},[167,104351,50075],{"class":177},[167,104353,185],{"class":173},[167,104355,104356,104358,104360],{"class":169,"line":489},[167,104357,282],{"class":173},[167,104359,299],{"class":177},[167,104361,185],{"class":173},[15,104363,50338,104364,1675],{},[3929,104365,50341],{},[22,104367,104368],{"id":27768},[87,104369,27768],{},[15,104371,50348,104372,50352],{},[3929,104373,50351],{},[154,104375,104377],{"className":156,"code":50355,"filename":3256,"highlights":104376,"language":162,"meta":163,"style":163},[273],[87,104378,104379,104389,104399,104403,104419,104427,104431,104439,104454,104472],{"__ignoreMap":163},[167,104380,104381,104383,104385,104387],{"class":169,"line":170},[167,104382,174],{"class":173},[167,104384,178],{"class":177},[167,104386,182],{"class":181},[167,104388,185],{"class":173},[167,104390,104391,104393,104395,104397],{"class":169,"line":188},[167,104392,192],{"class":191},[167,104394,195],{"class":173},[167,104396,198],{"class":191},[167,104398,202],{"class":201},[167,104400,104401],{"class":169,"line":205},[167,104402,48363],{"class":173},[167,104404,104405,104407,104409,104411,104413,104415,104417],{"class":169,"line":160},[167,104406,216],{"class":191},[167,104408,15321],{"class":219},[167,104410,223],{"class":191},[167,104412,226],{"class":181},[167,104414,229],{"class":173},[167,104416,1956],{"class":219},[167,104418,235],{"class":173},[167,104420,104421,104423,104425],{"class":169,"line":238},[167,104422,282],{"class":173},[167,104424,178],{"class":177},[167,104426,185],{"class":173},[167,104428,104429],{"class":169,"line":243},[167,104430,209],{"emptyLinePlaceholder":208},[167,104432,104433,104435,104437],{"class":169,"line":261},[167,104434,174],{"class":173},[167,104436,299],{"class":177},[167,104438,185],{"class":173},[167,104440,104442,104444,104446,104448,104450,104452],{"class":104441,"line":273},[169,213],[167,104443,307],{"class":173},[167,104445,15],{"class":177},[167,104447,28174],{"class":181},[167,104449,50430],{"class":173},[167,104451,15],{"class":177},[167,104453,185],{"class":173},[167,104455,104456,104458,104460,104462,104464,104466,104468,104470],{"class":169,"line":279},[167,104457,307],{"class":173},[167,104459,507],{"class":177},[167,104461,1177],{"class":181},[167,104463,267],{"class":173},[167,104465,18382],{"class":201},[167,104467,50449],{"class":173},[167,104469,507],{"class":177},[167,104471,185],{"class":173},[167,104473,104474,104476,104478],{"class":169,"line":289},[167,104475,282],{"class":173},[167,104477,299],{"class":177},[167,104479,185],{"class":173},[154,104481,104483],{"className":156,"code":50464,"filename":3969,"highlights":104482,"language":162,"meta":163,"style":163},[304],[87,104484,104485,104493,104501,104507,104513,104519,104523,104527,104531,104539,104543,104551,104566,104584],{"__ignoreMap":163},[167,104486,104487,104489,104491],{"class":169,"line":170},[167,104488,174],{"class":173},[167,104490,178],{"class":177},[167,104492,185],{"class":173},[167,104494,104495,104497,104499],{"class":169,"line":188},[167,104496,608],{"class":191},[167,104498,3987],{"class":191},[167,104500,1901],{"class":173},[167,104502,104503,104505],{"class":169,"line":205},[167,104504,7172],{"class":181},[167,104506,763],{"class":173},[167,104508,104509,104511],{"class":169,"line":160},[167,104510,1933],{"class":191},[167,104512,1901],{"class":173},[167,104514,104515,104517],{"class":169,"line":238},[167,104516,37480],{"class":173},[167,104518,10677],{"class":219},[167,104520,104521],{"class":169,"line":243},[167,104522,4045],{"class":173},[167,104524,104525],{"class":169,"line":261},[167,104526,3488],{"class":173},[167,104528,104529],{"class":169,"line":273},[167,104530,276],{"class":173},[167,104532,104533,104535,104537],{"class":169,"line":279},[167,104534,282],{"class":173},[167,104536,178],{"class":177},[167,104538,185],{"class":173},[167,104540,104541],{"class":169,"line":289},[167,104542,209],{"emptyLinePlaceholder":208},[167,104544,104545,104547,104549],{"class":169,"line":294},[167,104546,174],{"class":173},[167,104548,299],{"class":177},[167,104550,185],{"class":173},[167,104552,104554,104556,104558,104560,104562,104564],{"class":104553,"line":304},[169,213],[167,104555,307],{"class":173},[167,104557,15],{"class":177},[167,104559,28174],{"class":181},[167,104561,50430],{"class":173},[167,104563,15],{"class":177},[167,104565,185],{"class":173},[167,104567,104568,104570,104572,104574,104576,104578,104580,104582],{"class":169,"line":313},[167,104569,307],{"class":173},[167,104571,507],{"class":177},[167,104573,1177],{"class":181},[167,104575,267],{"class":173},[167,104577,18382],{"class":201},[167,104579,50449],{"class":173},[167,104581,507],{"class":177},[167,104583,185],{"class":173},[167,104585,104586,104588,104590],{"class":169,"line":161},[167,104587,282],{"class":173},[167,104589,299],{"class":177},[167,104591,185],{"class":173},[15,104593,50577],{},[22,104595,104596],{"id":27771},[87,104597,27771],{},[15,104599,50584],{},[154,104601,104603],{"className":156,"code":50587,"filename":3256,"highlights":104602,"language":162,"meta":163,"style":163},[273],[87,104604,104605,104615,104625,104629,104645,104653,104657,104665,104680,104692,104700,104718],{"__ignoreMap":163},[167,104606,104607,104609,104611,104613],{"class":169,"line":170},[167,104608,174],{"class":173},[167,104610,178],{"class":177},[167,104612,182],{"class":181},[167,104614,185],{"class":173},[167,104616,104617,104619,104621,104623],{"class":169,"line":188},[167,104618,192],{"class":191},[167,104620,195],{"class":173},[167,104622,198],{"class":191},[167,104624,202],{"class":201},[167,104626,104627],{"class":169,"line":205},[167,104628,209],{"emptyLinePlaceholder":208},[167,104630,104631,104633,104635,104637,104639,104641,104643],{"class":169,"line":160},[167,104632,216],{"class":191},[167,104634,15321],{"class":219},[167,104636,223],{"class":191},[167,104638,226],{"class":181},[167,104640,229],{"class":173},[167,104642,1956],{"class":219},[167,104644,235],{"class":173},[167,104646,104647,104649,104651],{"class":169,"line":238},[167,104648,282],{"class":173},[167,104650,178],{"class":177},[167,104652,185],{"class":173},[167,104654,104655],{"class":169,"line":243},[167,104656,209],{"emptyLinePlaceholder":208},[167,104658,104659,104661,104663],{"class":169,"line":261},[167,104660,174],{"class":173},[167,104662,299],{"class":177},[167,104664,185],{"class":173},[167,104666,104668,104670,104672,104674,104676,104678],{"class":104667,"line":273},[169,213],[167,104669,307],{"class":173},[167,104671,1237],{"class":177},[167,104673,50660],{"class":181},[167,104675,267],{"class":173},[167,104677,50665],{"class":201},[167,104679,185],{"class":173},[167,104681,104682,104684,104686,104688,104690],{"class":169,"line":279},[167,104683,1252],{"class":173},[167,104685,15],{"class":177},[167,104687,50676],{"class":173},[167,104689,15],{"class":177},[167,104691,185],{"class":173},[167,104693,104694,104696,104698],{"class":169,"line":289},[167,104695,504],{"class":173},[167,104697,1237],{"class":177},[167,104699,185],{"class":173},[167,104701,104702,104704,104706,104708,104710,104712,104714,104716],{"class":169,"line":294},[167,104703,307],{"class":173},[167,104705,507],{"class":177},[167,104707,1177],{"class":181},[167,104709,267],{"class":173},[167,104711,18382],{"class":201},[167,104713,50449],{"class":173},[167,104715,507],{"class":177},[167,104717,185],{"class":173},[167,104719,104720,104722,104724],{"class":169,"line":304},[167,104721,282],{"class":173},[167,104723,299],{"class":177},[167,104725,185],{"class":173},[154,104727,104729],{"className":156,"code":50717,"filename":3969,"highlights":104728,"language":162,"meta":163,"style":163},[304],[87,104730,104731,104739,104747,104753,104759,104765,104769,104773,104777,104785,104789,104797,104812,104824,104832],{"__ignoreMap":163},[167,104732,104733,104735,104737],{"class":169,"line":170},[167,104734,174],{"class":173},[167,104736,178],{"class":177},[167,104738,185],{"class":173},[167,104740,104741,104743,104745],{"class":169,"line":188},[167,104742,608],{"class":191},[167,104744,3987],{"class":191},[167,104746,1901],{"class":173},[167,104748,104749,104751],{"class":169,"line":205},[167,104750,7172],{"class":181},[167,104752,763],{"class":173},[167,104754,104755,104757],{"class":169,"line":160},[167,104756,1933],{"class":191},[167,104758,1901],{"class":173},[167,104760,104761,104763],{"class":169,"line":238},[167,104762,50753],{"class":173},[167,104764,50756],{"class":219},[167,104766,104767],{"class":169,"line":243},[167,104768,4045],{"class":173},[167,104770,104771],{"class":169,"line":261},[167,104772,3488],{"class":173},[167,104774,104775],{"class":169,"line":273},[167,104776,276],{"class":173},[167,104778,104779,104781,104783],{"class":169,"line":279},[167,104780,282],{"class":173},[167,104782,178],{"class":177},[167,104784,185],{"class":173},[167,104786,104787],{"class":169,"line":289},[167,104788,209],{"emptyLinePlaceholder":208},[167,104790,104791,104793,104795],{"class":169,"line":294},[167,104792,174],{"class":173},[167,104794,299],{"class":177},[167,104796,185],{"class":173},[167,104798,104800,104802,104804,104806,104808,104810],{"class":104799,"line":304},[169,213],[167,104801,307],{"class":173},[167,104803,1237],{"class":177},[167,104805,50660],{"class":181},[167,104807,267],{"class":173},[167,104809,50802],{"class":201},[167,104811,185],{"class":173},[167,104813,104814,104816,104818,104820,104822],{"class":169,"line":313},[167,104815,1252],{"class":173},[167,104817,15],{"class":177},[167,104819,50813],{"class":173},[167,104821,15],{"class":177},[167,104823,185],{"class":173},[167,104825,104826,104828,104830],{"class":169,"line":161},[167,104827,504],{"class":173},[167,104829,1237],{"class":177},[167,104831,185],{"class":173},[167,104833,104834,104836,104838],{"class":169,"line":335},[167,104835,282],{"class":173},[167,104837,299],{"class":177},[167,104839,185],{"class":173},[15,104841,50836,104842,50840],{},[3929,104843,50839],{},[22,104845,104846],{"id":27774},[87,104847,27774],{},[15,104849,50847],{},[154,104851,104853],{"className":156,"code":50850,"filename":3256,"highlights":104852,"language":162,"meta":163,"style":163},[238],[87,104854,104855,104865,104873,104877,104885,104896,104900,104908],{"__ignoreMap":163},[167,104856,104857,104859,104861,104863],{"class":169,"line":170},[167,104858,174],{"class":173},[167,104860,178],{"class":177},[167,104862,182],{"class":181},[167,104864,185],{"class":173},[167,104866,104867,104869,104871],{"class":169,"line":188},[167,104868,282],{"class":173},[167,104870,178],{"class":177},[167,104872,185],{"class":173},[167,104874,104875],{"class":169,"line":205},[167,104876,209],{"emptyLinePlaceholder":208},[167,104878,104879,104881,104883],{"class":169,"line":160},[167,104880,174],{"class":173},[167,104882,299],{"class":177},[167,104884,185],{"class":173},[167,104886,104888,104890,104892,104894],{"class":104887,"line":238},[169,213],[167,104889,307],{"class":173},[167,104891,1237],{"class":177},[167,104893,29062],{"class":181},[167,104895,185],{"class":173},[167,104897,104898],{"class":169,"line":243},[167,104899,50899],{"class":173},[167,104901,104902,104904,104906],{"class":169,"line":261},[167,104903,504],{"class":173},[167,104905,1237],{"class":177},[167,104907,185],{"class":173},[167,104909,104910,104912,104914],{"class":169,"line":273},[167,104911,282],{"class":173},[167,104913,299],{"class":177},[167,104915,185],{"class":173},[154,104917,104919],{"className":156,"code":50918,"filename":3969,"highlights":104918,"language":162,"meta":163,"style":163},[243],[87,104920,104921,104929,104937,104945,104949,104957,104968,104972,104980],{"__ignoreMap":163},[167,104922,104923,104925,104927],{"class":169,"line":170},[167,104924,174],{"class":173},[167,104926,178],{"class":177},[167,104928,185],{"class":173},[167,104930,104931,104933,104935],{"class":169,"line":188},[167,104932,608],{"class":191},[167,104934,3987],{"class":191},[167,104936,50938],{"class":173},[167,104938,104939,104941,104943],{"class":169,"line":205},[167,104940,282],{"class":173},[167,104942,178],{"class":177},[167,104944,185],{"class":173},[167,104946,104947],{"class":169,"line":160},[167,104948,209],{"emptyLinePlaceholder":208},[167,104950,104951,104953,104955],{"class":169,"line":238},[167,104952,174],{"class":173},[167,104954,299],{"class":177},[167,104956,185],{"class":173},[167,104958,104960,104962,104964,104966],{"class":104959,"line":243},[169,213],[167,104961,307],{"class":173},[167,104963,1237],{"class":177},[167,104965,29062],{"class":181},[167,104967,185],{"class":173},[167,104969,104970],{"class":169,"line":261},[167,104971,50899],{"class":173},[167,104973,104974,104976,104978],{"class":169,"line":273},[167,104975,504],{"class":173},[167,104977,1237],{"class":177},[167,104979,185],{"class":173},[167,104981,104982,104984,104986],{"class":169,"line":279},[167,104983,282],{"class":173},[167,104985,299],{"class":177},[167,104987,185],{"class":173},[15,104989,50992],{},[22,104991,104992],{"id":26482},[87,104993,26482],{},[15,104995,50999],{},[154,104997,104999],{"className":156,"code":51002,"filename":3256,"highlights":104998,"language":162,"meta":163,"style":163},[238],[87,105000,105001,105011,105019,105023,105031,105042,105046,105054],{"__ignoreMap":163},[167,105002,105003,105005,105007,105009],{"class":169,"line":170},[167,105004,174],{"class":173},[167,105006,178],{"class":177},[167,105008,182],{"class":181},[167,105010,185],{"class":173},[167,105012,105013,105015,105017],{"class":169,"line":188},[167,105014,282],{"class":173},[167,105016,178],{"class":177},[167,105018,185],{"class":173},[167,105020,105021],{"class":169,"line":205},[167,105022,209],{"emptyLinePlaceholder":208},[167,105024,105025,105027,105029],{"class":169,"line":160},[167,105026,174],{"class":173},[167,105028,299],{"class":177},[167,105030,185],{"class":173},[167,105032,105034,105036,105038,105040],{"class":105033,"line":238},[169,213],[167,105035,307],{"class":173},[167,105037,1237],{"class":177},[167,105039,26871],{"class":181},[167,105041,185],{"class":173},[167,105043,105044],{"class":169,"line":243},[167,105045,51051],{"class":173},[167,105047,105048,105050,105052],{"class":169,"line":261},[167,105049,504],{"class":173},[167,105051,1237],{"class":177},[167,105053,185],{"class":173},[167,105055,105056,105058,105060],{"class":169,"line":273},[167,105057,282],{"class":173},[167,105059,299],{"class":177},[167,105061,185],{"class":173},[154,105063,105065],{"className":156,"code":51070,"filename":3969,"highlights":105064,"language":162,"meta":163,"style":163},[243],[87,105066,105067,105075,105083,105091,105095,105103,105114,105118,105126],{"__ignoreMap":163},[167,105068,105069,105071,105073],{"class":169,"line":170},[167,105070,174],{"class":173},[167,105072,178],{"class":177},[167,105074,185],{"class":173},[167,105076,105077,105079,105081],{"class":169,"line":188},[167,105078,608],{"class":191},[167,105080,3987],{"class":191},[167,105082,50938],{"class":173},[167,105084,105085,105087,105089],{"class":169,"line":205},[167,105086,282],{"class":173},[167,105088,178],{"class":177},[167,105090,185],{"class":173},[167,105092,105093],{"class":169,"line":160},[167,105094,209],{"emptyLinePlaceholder":208},[167,105096,105097,105099,105101],{"class":169,"line":238},[167,105098,174],{"class":173},[167,105100,299],{"class":177},[167,105102,185],{"class":173},[167,105104,105106,105108,105110,105112],{"class":105105,"line":243},[169,213],[167,105107,307],{"class":173},[167,105109,1237],{"class":177},[167,105111,26871],{"class":181},[167,105113,185],{"class":173},[167,105115,105116],{"class":169,"line":261},[167,105117,51051],{"class":173},[167,105119,105120,105122,105124],{"class":169,"line":273},[167,105121,504],{"class":173},[167,105123,1237],{"class":177},[167,105125,185],{"class":173},[167,105127,105128,105130,105132],{"class":169,"line":279},[167,105129,282],{"class":173},[167,105131,299],{"class":177},[167,105133,185],{"class":173},[15,105135,51143],{},[22,105137,9240],{"id":51146},[15,105139,51149],{},[154,105141,105143],{"className":2875,"code":51152,"filename":25319,"highlights":105142,"language":2878,"meta":163,"style":163},[160,238,243,261,273],[87,105144,105145,105155,105165,105177,105190,105201,105210,105215],{"__ignoreMap":163},[167,105146,105147,105149,105151,105153],{"class":169,"line":170},[167,105148,192],{"class":191},[167,105150,51162],{"class":173},[167,105152,198],{"class":191},[167,105154,202],{"class":201},[167,105156,105157,105159,105161,105163],{"class":169,"line":188},[167,105158,192],{"class":191},[167,105160,51173],{"class":173},[167,105162,198],{"class":191},[167,105164,51178],{"class":201},[167,105166,105167,105169,105171,105173,105175],{"class":169,"line":205},[167,105168,216],{"class":191},[167,105170,51185],{"class":219},[167,105172,223],{"class":191},[167,105174,51190],{"class":181},[167,105176,51193],{"class":173},[167,105178,105180,105182,105184,105186,105188],{"class":105179,"line":160},[169,213],[167,105181,51199],{"class":173},[167,105183,51202],{"class":181},[167,105185,229],{"class":173},[167,105187,51207],{"class":201},[167,105189,627],{"class":173},[167,105191,105193,105195,105197,105199],{"class":105192,"line":238},[169,213],[167,105194,12745],{"class":181},[167,105196,229],{"class":173},[167,105198,24207],{"class":254},[167,105200,258],{"class":173},[167,105202,105204,105206,105208],{"class":105203,"line":243},[169,213],[167,105205,51226],{"class":173},[167,105207,17404],{"class":181},[167,105209,2913],{"class":173},[167,105211,105213],{"class":105212,"line":261},[169,213],[167,105214,3488],{"class":173},[167,105216,105218],{"class":105217,"line":273},[169,213],[167,105219,403],{"class":173},[154,105221,105223],{"className":156,"code":51243,"filename":15280,"highlights":105222,"language":162,"meta":163,"style":163},[188],[87,105224,105225,105233,105244],{"__ignoreMap":163},[167,105226,105227,105229,105231],{"class":169,"line":170},[167,105228,174],{"class":173},[167,105230,299],{"class":177},[167,105232,185],{"class":173},[167,105234,105236,105238,105240,105242],{"class":105235,"line":188},[169,213],[167,105237,307],{"class":173},[167,105239,2646],{"class":177},[167,105241,51264],{"class":181},[167,105243,5321],{"class":173},[167,105245,105246,105248,105250],{"class":169,"line":205},[167,105247,282],{"class":173},[167,105249,299],{"class":177},[167,105251,185],{"class":173},[15,105253,51277],{},[22,105255,23570],{"id":23569},[15,105257,51282,105258,1675],{},[3929,105259,51285],{},[15,105261,51288],{},[33,105263,105264,105266,105268],{},[36,105265,51293],{},[36,105267,3081],{},[36,105269,51298],{},[15,105271,51301,105272,51305],{},[3929,105273,51304],{},[924,105275,6161],{},{"title":163,"searchDepth":188,"depth":188,"links":105277},[105278,105279,105280,105281,105282,105283,105284,105285,105286,105287,105288,105289,105290,105291,105292,105293],{"id":19078,"depth":188,"text":19079},{"id":48053,"depth":188,"text":51312},{"id":13655,"depth":188,"text":13655},{"id":30722,"depth":188,"text":30722},{"id":23864,"depth":188,"text":23864},{"id":23861,"depth":188,"text":23861},{"id":23867,"depth":188,"text":23867},{"id":30430,"depth":188,"text":30430},{"id":30433,"depth":188,"text":30433},{"id":31704,"depth":188,"text":31704},{"id":27768,"depth":188,"text":27768},{"id":27771,"depth":188,"text":27771},{"id":27774,"depth":188,"text":27774},{"id":26482,"depth":188,"text":26482},{"id":51146,"depth":188,"text":9240},{"id":23569,"depth":188,"text":23570},{"updatedAt":33915,"readingTime":243,"coverCaption":51331,"author":945,"keywords":105295},[3254,26462,51333,968],[105297],{"headline":47961,"author":105298,"datePublished":51338,"@type":959},{"name":945,"@type":958},{"title":47961,"description":51329},[105301,105302,105303,105304,105305,105306],{"tag":26462,"color":26463},{"tag":27753,"color":27754},{"tag":47954,"color":47955},{"tag":46088,"color":3266},{"tag":3265,"color":3266},{"tag":5420,"color":5421},{"id":51350,"title":51351,"body":105308,"cover":52111,"coverAlt":51351,"date":52112,"description":52113,"draft":1617,"extension":940,"lab":941,"locale":942,"meta":105947,"navigation":208,"path":52120,"schemaOrg":105949,"seo":105952,"series":941,"seriesDescription":941,"seriesOrder":941,"seriesTitle":941,"slug":941,"stem":52126,"tags":105953,"__hash__":52135},{"type":8,"value":105309,"toc":105937},[105310,105312,105318,105320,105324,105328,105330,105338,105340,105342,105482,105626,105630,105735,105739,105751,105827,105829,105831,105837,105901,105909,105911,105927,105929,105935],[11,105311,51357],{"id":51356},[15,105313,51360,105314,51364,105316,51368],{},[3929,105315,51363],{},[3929,105317,51367],{},[22,105319,51372],{"id":51371},[15,105321,51375,105322,51379],{},[9291,105323,51378],{},[15,105325,51382,105326,51386],{},[3929,105327,51385],{},[22,105329,51390],{"id":51389},[15,105331,51393,105332,51397,105334,51400,105336,51404],{},[3929,105333,51396],{},[9291,105335,1266],{},[9291,105337,51403],{},[3083,105339,51408],{"id":51407},[15,105341,51411],{},[154,105343,105345],{"className":156,"code":51414,"filename":51415,"highlights":105344,"language":162,"meta":163,"style":163},[160,238,243,261,313],[87,105346,105347,105357,105369,105373,105390,105405,105416,105421,105425,105429,105437,105441,105449,105474],{"__ignoreMap":163},[167,105348,105349,105351,105353,105355],{"class":169,"line":170},[167,105350,174],{"class":173},[167,105352,178],{"class":177},[167,105354,182],{"class":181},[167,105356,185],{"class":173},[167,105358,105359,105361,105363,105365,105367],{"class":169,"line":188},[167,105360,51433],{"class":191},[167,105362,195],{"class":173},[167,105364,198],{"class":191},[167,105366,51440],{"class":201},[167,105368,24040],{"class":173},[167,105370,105371],{"class":169,"line":205},[167,105372,209],{"emptyLinePlaceholder":208},[167,105374,105376,105378,105380,105382,105384,105386,105388],{"class":105375,"line":160},[169,213],[167,105377,1438],{"class":191},[167,105379,5519],{"class":219},[167,105381,223],{"class":191},[167,105383,226],{"class":181},[167,105385,229],{"class":173},[167,105387,3388],{"class":219},[167,105389,24165],{"class":173},[167,105391,105393,105395,105397,105399,105401,105403],{"class":105392,"line":238},[169,213],[167,105394,1438],{"class":191},[167,105396,5604],{"class":181},[167,105398,223],{"class":191},[167,105400,1464],{"class":173},[167,105402,639],{"class":191},[167,105404,1901],{"class":173},[167,105406,105408,105410,105412,105414],{"class":105407,"line":243},[169,213],[167,105409,51484],{"class":173},[167,105411,267],{"class":191},[167,105413,5621],{"class":191},[167,105415,51491],{"class":173},[167,105417,105419],{"class":105418,"line":261},[169,213],[167,105420,51497],{"class":173},[167,105422,105423],{"class":169,"line":273},[167,105424,209],{"emptyLinePlaceholder":208},[167,105426,105427],{"class":169,"line":279},[167,105428,51506],{"class":18658},[167,105430,105431,105433,105435],{"class":169,"line":289},[167,105432,282],{"class":173},[167,105434,178],{"class":177},[167,105436,185],{"class":173},[167,105438,105439],{"class":169,"line":294},[167,105440,209],{"emptyLinePlaceholder":208},[167,105442,105443,105445,105447],{"class":169,"line":304},[167,105444,174],{"class":173},[167,105446,299],{"class":177},[167,105448,185],{"class":173},[167,105450,105452,105454,105456,105458,105460,105462,105464,105466,105468,105470,105472],{"class":105451,"line":313},[169,213],[167,105453,307],{"class":173},[167,105455,1266],{"class":177},[167,105457,51536],{"class":181},[167,105459,267],{"class":173},[167,105461,5695],{"class":201},[167,105463,51543],{"class":181},[167,105465,267],{"class":173},[167,105467,5661],{"class":201},[167,105469,1277],{"class":173},[167,105471,1266],{"class":177},[167,105473,185],{"class":173},[167,105475,105476,105478,105480],{"class":169,"line":161},[167,105477,282],{"class":173},[167,105479,299],{"class":177},[167,105481,185],{"class":173},[154,105483,105485],{"className":156,"code":51564,"filename":51565,"highlights":105484,"language":162,"meta":163,"style":163},[238,279,289,294,495],[87,105486,105487,105495,105503,105509,105515,105522,105526,105530,105534,105541,105556,105561,105565,105569,105573,105581,105585,105593,105618],{"__ignoreMap":163},[167,105488,105489,105491,105493],{"class":169,"line":170},[167,105490,174],{"class":173},[167,105492,178],{"class":177},[167,105494,185],{"class":173},[167,105496,105497,105499,105501],{"class":169,"line":188},[167,105498,51581],{"class":191},[167,105500,3987],{"class":191},[167,105502,1901],{"class":173},[167,105504,105505,105507],{"class":169,"line":205},[167,105506,51590],{"class":181},[167,105508,763],{"class":173},[167,105510,105511,105513],{"class":169,"line":160},[167,105512,8763],{"class":191},[167,105514,1901],{"class":173},[167,105516,105518,105520],{"class":105517,"line":238},[169,213],[167,105519,51604],{"class":173},[167,105521,8089],{"class":219},[167,105523,105524],{"class":169,"line":243},[167,105525,42345],{"class":173},[167,105527,105528],{"class":169,"line":261},[167,105529,755],{"class":173},[167,105531,105532],{"class":169,"line":273},[167,105533,51619],{"class":173},[167,105535,105537,105539],{"class":105536,"line":279},[169,213],[167,105538,51625],{"class":181},[167,105540,763],{"class":173},[167,105542,105544,105546,105548,105550,105552,105554],{"class":105543,"line":289},[169,213],[167,105545,14769],{"class":219},[167,105547,51635],{"class":173},[167,105549,267],{"class":191},[167,105551,5621],{"class":191},[167,105553,4923],{"class":219},[167,105555,51644],{"class":173},[167,105557,105559],{"class":105558,"line":294},[169,213],[167,105560,7283],{"class":173},[167,105562,105563],{"class":169,"line":304},[167,105564,4045],{"class":173},[167,105566,105567],{"class":169,"line":313},[167,105568,51497],{"class":173},[167,105570,105571],{"class":169,"line":161},[167,105572,51506],{"class":18658},[167,105574,105575,105577,105579],{"class":169,"line":335},[167,105576,282],{"class":173},[167,105578,178],{"class":177},[167,105580,185],{"class":173},[167,105582,105583],{"class":169,"line":341},[167,105584,209],{"emptyLinePlaceholder":208},[167,105586,105587,105589,105591],{"class":169,"line":489},[167,105588,174],{"class":173},[167,105590,299],{"class":177},[167,105592,185],{"class":173},[167,105594,105596,105598,105600,105602,105604,105606,105608,105610,105612,105614,105616],{"class":105595,"line":495},[169,213],[167,105597,307],{"class":173},[167,105599,1266],{"class":177},[167,105601,51536],{"class":181},[167,105603,267],{"class":173},[167,105605,5695],{"class":201},[167,105607,51543],{"class":181},[167,105609,267],{"class":173},[167,105611,5661],{"class":201},[167,105613,1277],{"class":173},[167,105615,1266],{"class":177},[167,105617,185],{"class":173},[167,105619,105620,105622,105624],{"class":169,"line":501},[167,105621,282],{"class":173},[167,105623,299],{"class":177},[167,105625,185],{"class":173},[15,105627,105628,51720],{},[3929,105629,51719],{},[154,105631,105633],{"className":156,"code":51723,"filename":51724,"highlights":105632,"language":162,"meta":163,"style":163},[188,205,160,243],[87,105634,105635,105643,105658,105673,105678,105686,105707,105711,105719,105727],{"__ignoreMap":163},[167,105636,105637,105639,105641],{"class":169,"line":170},[167,105638,174],{"class":173},[167,105640,299],{"class":177},[167,105642,185],{"class":173},[167,105644,105646,105648,105650,105652,105654,105656],{"class":105645,"line":188},[169,213],[167,105647,307],{"class":173},[167,105649,51743],{"class":177},[167,105651,32025],{"class":181},[167,105653,267],{"class":173},[167,105655,51750],{"class":201},[167,105657,185],{"class":173},[167,105659,105661,105663,105665,105667,105669,105671],{"class":105660,"line":205},[169,213],[167,105662,1252],{"class":173},[167,105664,507],{"class":177},[167,105666,1177],{"class":181},[167,105668,267],{"class":173},[167,105670,5661],{"class":201},[167,105672,185],{"class":173},[167,105674,105676],{"class":105675,"line":160},[169,213],[167,105677,51773],{"class":173},[167,105679,105680,105682,105684],{"class":169,"line":238},[167,105681,1287],{"class":173},[167,105683,507],{"class":177},[167,105685,185],{"class":173},[167,105687,105689,105691,105693,105695,105697,105699,105701,105703,105705],{"class":105688,"line":243},[169,213],[167,105690,1252],{"class":173},[167,105692,1237],{"class":177},[167,105694,5690],{"class":181},[167,105696,267],{"class":173},[167,105698,5695],{"class":201},[167,105700,1240],{"class":181},[167,105702,267],{"class":173},[167,105704,51801],{"class":201},[167,105706,185],{"class":173},[167,105708,105709],{"class":169,"line":261},[167,105710,51808],{"class":173},[167,105712,105713,105715,105717],{"class":169,"line":273},[167,105714,1287],{"class":173},[167,105716,1237],{"class":177},[167,105718,185],{"class":173},[167,105720,105721,105723,105725],{"class":169,"line":279},[167,105722,504],{"class":173},[167,105724,51743],{"class":177},[167,105726,185],{"class":173},[167,105728,105729,105731,105733],{"class":169,"line":289},[167,105730,282],{"class":173},[167,105732,299],{"class":177},[167,105734,185],{"class":173},[22,105736,51836,105737,6215],{"id":51835},[87,105738,51839],{},[15,105740,51842,105741,51845,105743,51849,105745,2522,105747,51855,105749,51859],{},[87,105742,31993],{},[87,105744,51848],{},[87,105746,51839],{},[9291,105748,51854],{},[3929,105750,51858],{},[154,105752,105754],{"className":51862,"code":51863,"filename":51864,"highlights":105753,"language":51866,"meta":163,"style":163},[160,238,243,289,294,304,313],[87,105755,105756,105760,105764,105768,105773,105778,105783,105787,105791,105795,105800,105805,105810,105815,105819,105823],{"__ignoreMap":163},[167,105757,105758],{"class":169,"line":170},[167,105759,51873],{},[167,105761,105762],{"class":169,"line":188},[167,105763,209],{"emptyLinePlaceholder":208},[167,105765,105766],{"class":169,"line":205},[167,105767,51882],{},[167,105769,105771],{"class":105770,"line":160},[169,213],[167,105772,51888],{},[167,105774,105776],{"class":105775,"line":238},[169,213],[167,105777,51894],{},[167,105779,105781],{"class":105780,"line":243},[169,213],[167,105782,51900],{},[167,105784,105785],{"class":169,"line":261},[167,105786,209],{"emptyLinePlaceholder":208},[167,105788,105789],{"class":169,"line":273},[167,105790,51909],{},[167,105792,105793],{"class":169,"line":279},[167,105794,51914],{},[167,105796,105798],{"class":105797,"line":289},[169,213],[167,105799,51920],{},[167,105801,105803],{"class":105802,"line":294},[169,213],[167,105804,51926],{},[167,105806,105808],{"class":105807,"line":304},[169,213],[167,105809,51932],{},[167,105811,105813],{"class":105812,"line":313},[169,213],[167,105814,51938],{},[167,105816,105817],{"class":169,"line":161},[167,105818,24366],{},[167,105820,105821],{"class":169,"line":335},[167,105822,3488],{},[167,105824,105825],{"class":169,"line":341},[167,105826,24144],{},[15,105828,51953],{},[22,105830,51957],{"id":51956},[15,105832,51960,105833,2522,105835,51966],{},[9291,105834,51963],{},[87,105836,5731],{},[56,105838,105839,105849],{},[59,105840,105841],{},[62,105842,105843,105845,105847],{},[65,105844,51975],{},[65,105846,953],{},[65,105848,51367],{},[75,105850,105851,105861,105871,105881,105891],{},[62,105852,105853,105857,105859],{},[80,105854,105855],{},[3929,105856,51988],{},[80,105858,51991],{},[80,105860,51994],{},[62,105862,105863,105867,105869],{},[80,105864,105865],{},[3929,105866,52001],{},[80,105868,52004],{},[80,105870,52007],{},[62,105872,105873,105877,105879],{},[80,105874,105875],{},[3929,105876,52014],{},[80,105878,52017],{},[80,105880,52020],{},[62,105882,105883,105887,105889],{},[80,105884,105885],{},[3929,105886,1643],{},[80,105888,52029],{},[80,105890,52032],{},[62,105892,105893,105897,105899],{},[80,105894,105895],{},[3929,105896,52039],{},[80,105898,52042],{},[80,105900,52045],{},[15,105902,3300,105903,52050,105905,52053,105907,4266],{},[9291,105904,51367],{},[87,105906,6792],{},[9291,105908,52056],{},[22,105910,52060],{"id":52059},[3031,105912,105913,105919,105923],{},[36,105914,105915,52068,105917,52071],{},[3929,105916,52067],{},[9291,105918,51378],{},[36,105920,105921,52077],{},[3929,105922,52076],{},[36,105924,105925,52083],{},[3929,105926,52082],{},[22,105928,52087],{"id":52086},[15,105930,52090,105931,52093,105933,52096],{},[87,105932,31704],{},[3929,105934,51367],{},[924,105936,52099],{},{"title":163,"searchDepth":188,"depth":188,"links":105938},[105939,105940,105943,105944,105945,105946],{"id":51371,"depth":188,"text":51372},{"id":51389,"depth":188,"text":51390,"children":105941},[105942],{"id":51407,"depth":205,"text":51408},{"id":51835,"depth":188,"text":52107},{"id":51956,"depth":188,"text":51957},{"id":52059,"depth":188,"text":52060},{"id":52086,"depth":188,"text":52087},{"updatedAt":52115,"coverCaption":52116,"author":945,"keywords":105948},[950,51367,52118,52119,51333],[105950],{"headline":51351,"author":105951,"datePublished":52124,"@type":959},{"name":945,"@type":958},{"title":51351,"description":52113},[105954,105955,105956,105957,105958,105959],{"tag":952,"color":966},{"tag":52119,"color":52130},{"tag":1622,"color":1635},{"tag":3265,"color":3266},{"tag":7726,"color":7727},{"tag":968,"color":969},{"id":52137,"title":52138,"body":105961,"cover":54057,"coverAlt":52138,"date":54058,"description":54059,"draft":1617,"extension":940,"lab":941,"locale":942,"meta":107635,"navigation":208,"path":54063,"schemaOrg":107637,"seo":107640,"series":941,"seriesDescription":941,"seriesOrder":941,"seriesTitle":941,"slug":941,"stem":54069,"tags":107641,"__hash__":54079},{"type":8,"value":105962,"toc":107622},[105963,105965,105969,105975,105977,105995,105999,106001,106011,106013,106015,106019,106130,106206,106210,106301,106375,106377,106385,106401,106407,106419,106423,106427,106545,106719,106723,106851,107066,107068,107072,107106,107108,107110,107118,107122,107271,107275,107468,107470,107478,107486,107488,107494,107510,107512,107514,107572,107574,107588,107590,107598,107618,107620],[11,105964,52144],{"id":52143},[15,105966,52147,105967,52151],{},[3929,105968,52150],{},[15,105970,105971,52157,105973,52161],{},[87,105972,52156],{},[87,105974,52160],{},[22,105976,52165],{"id":52164},[3031,105978,105979,105985,105989],{},[36,105980,105981,52173,105983,52177],{},[3929,105982,52172],{},[87,105984,52176],{},[36,105986,105987,52183],{},[3929,105988,52182],{},[36,105990,105991,52189,105993,52192],{},[3929,105992,52188],{},[87,105994,3296],{},[22,105996,52196,105997],{"id":52195},[3929,105998,52199],{},[15,106000,52202],{},[33,106002,106003,106007],{},[36,106004,106005,52210],{},[3929,106006,52209],{},[36,106008,106009,52216],{},[3929,106010,52215],{},[22,106012,52220],{"id":52219},[15,106014,52223],{},[29773,106016,106017],{"id":52226},[3929,106018,52229],{},[154,106020,106022],{"className":156,"code":52232,"filename":3256,"highlights":106021,"language":162,"meta":163,"style":163},[188,273],[87,106023,106024,106034,106045,106055,106059,106075,106079,106083,106094,106102,106106,106114,106122],{"__ignoreMap":163},[167,106025,106026,106028,106030,106032],{"class":169,"line":170},[167,106027,174],{"class":173},[167,106029,178],{"class":177},[167,106031,182],{"class":181},[167,106033,185],{"class":173},[167,106035,106037,106039,106041,106043],{"class":106036,"line":188},[169,213],[167,106038,192],{"class":191},[167,106040,52253],{"class":173},[167,106042,198],{"class":191},[167,106044,202],{"class":201},[167,106046,106047,106049,106051,106053],{"class":169,"line":205},[167,106048,192],{"class":191},[167,106050,52264],{"class":173},[167,106052,198],{"class":191},[167,106054,52269],{"class":201},[167,106056,106057],{"class":169,"line":160},[167,106058,209],{"emptyLinePlaceholder":208},[167,106060,106061,106063,106065,106067,106069,106071,106073],{"class":169,"line":238},[167,106062,216],{"class":191},[167,106064,52280],{"class":219},[167,106066,223],{"class":191},[167,106068,226],{"class":181},[167,106070,229],{"class":173},[167,106072,52289],{"class":201},[167,106074,235],{"class":173},[167,106076,106077],{"class":169,"line":243},[167,106078,209],{"emptyLinePlaceholder":208},[167,106080,106081],{"class":169,"line":261},[167,106082,52300],{"class":18658},[167,106084,106086,106088,106090,106092],{"class":106085,"line":273},[169,213],[167,106087,52306],{"class":181},[167,106089,229],{"class":173},[167,106091,52311],{"class":201},[167,106093,52314],{"class":173},[167,106095,106096,106098,106100],{"class":169,"line":279},[167,106097,282],{"class":173},[167,106099,178],{"class":177},[167,106101,185],{"class":173},[167,106103,106104],{"class":169,"line":289},[167,106105,209],{"emptyLinePlaceholder":208},[167,106107,106108,106110,106112],{"class":169,"line":294},[167,106109,174],{"class":173},[167,106111,299],{"class":177},[167,106113,185],{"class":173},[167,106115,106116,106118,106120],{"class":169,"line":304},[167,106117,307],{"class":173},[167,106119,52341],{"class":177},[167,106121,5321],{"class":173},[167,106123,106124,106126,106128],{"class":169,"line":313},[167,106125,282],{"class":173},[167,106127,299],{"class":177},[167,106129,185],{"class":173},[154,106131,106133],{"className":156,"code":52354,"filename":3969,"highlights":106132,"language":162,"meta":163,"style":163},[205],[87,106134,106135,106143,106151,106156,106162,106166,106170,106178,106182,106190,106198],{"__ignoreMap":163},[167,106136,106137,106139,106141],{"class":169,"line":170},[167,106138,174],{"class":173},[167,106140,178],{"class":177},[167,106142,185],{"class":173},[167,106144,106145,106147,106149],{"class":169,"line":188},[167,106146,608],{"class":191},[167,106148,3987],{"class":191},[167,106150,1901],{"class":173},[167,106152,106154],{"class":106153,"line":205},[169,213],[167,106155,52379],{"class":173},[167,106157,106158,106160],{"class":169,"line":160},[167,106159,52384],{"class":173},[167,106161,52387],{"class":201},[167,106163,106164],{"class":169,"line":238},[167,106165,3488],{"class":173},[167,106167,106168],{"class":169,"line":243},[167,106169,276],{"class":173},[167,106171,106172,106174,106176],{"class":169,"line":261},[167,106173,282],{"class":173},[167,106175,178],{"class":177},[167,106177,185],{"class":173},[167,106179,106180],{"class":169,"line":273},[167,106181,209],{"emptyLinePlaceholder":208},[167,106183,106184,106186,106188],{"class":169,"line":279},[167,106185,174],{"class":173},[167,106187,299],{"class":177},[167,106189,185],{"class":173},[167,106191,106192,106194,106196],{"class":169,"line":289},[167,106193,307],{"class":173},[167,106195,52341],{"class":177},[167,106197,5321],{"class":173},[167,106199,106200,106202,106204],{"class":169,"line":294},[167,106201,282],{"class":173},[167,106203,299],{"class":177},[167,106205,185],{"class":173},[29773,106207,106208],{"id":52434},[3929,106209,52437],{},[154,106211,106213],{"className":156,"code":52440,"filename":3256,"highlights":106212,"language":162,"meta":163,"style":163},[188,238],[87,106214,106215,106225,106236,106240,106244,106261,106269,106273,106281,106293],{"__ignoreMap":163},[167,106216,106217,106219,106221,106223],{"class":169,"line":170},[167,106218,174],{"class":173},[167,106220,178],{"class":177},[167,106222,182],{"class":181},[167,106224,185],{"class":173},[167,106226,106228,106230,106232,106234],{"class":106227,"line":188},[169,213],[167,106229,192],{"class":191},[167,106231,52461],{"class":173},[167,106233,198],{"class":191},[167,106235,202],{"class":201},[167,106237,106238],{"class":169,"line":205},[167,106239,209],{"emptyLinePlaceholder":208},[167,106241,106242],{"class":169,"line":160},[167,106243,52474],{"class":18658},[167,106245,106247,106249,106251,106253,106255,106257,106259],{"class":106246,"line":238},[169,213],[167,106248,216],{"class":191},[167,106250,52280],{"class":219},[167,106252,223],{"class":191},[167,106254,52486],{"class":181},[167,106256,229],{"class":173},[167,106258,52311],{"class":201},[167,106260,235],{"class":173},[167,106262,106263,106265,106267],{"class":169,"line":243},[167,106264,282],{"class":173},[167,106266,178],{"class":177},[167,106268,185],{"class":173},[167,106270,106271],{"class":169,"line":261},[167,106272,209],{"emptyLinePlaceholder":208},[167,106274,106275,106277,106279],{"class":169,"line":273},[167,106276,174],{"class":173},[167,106278,299],{"class":177},[167,106280,185],{"class":173},[167,106282,106283,106285,106287,106289,106291],{"class":169,"line":279},[167,106284,307],{"class":173},[167,106286,11],{"class":177},[167,106288,52521],{"class":173},[167,106290,11],{"class":177},[167,106292,185],{"class":173},[167,106294,106295,106297,106299],{"class":169,"line":289},[167,106296,282],{"class":173},[167,106298,299],{"class":177},[167,106300,185],{"class":173},[154,106302,106304],{"className":156,"code":52536,"filename":3969,"highlights":106303,"language":162,"meta":163,"style":163},[205],[87,106305,106306,106314,106322,106331,106335,106343,106347,106355,106367],{"__ignoreMap":163},[167,106307,106308,106310,106312],{"class":169,"line":170},[167,106309,174],{"class":173},[167,106311,178],{"class":177},[167,106313,185],{"class":173},[167,106315,106316,106318,106320],{"class":169,"line":188},[167,106317,608],{"class":191},[167,106319,3987],{"class":191},[167,106321,1901],{"class":173},[167,106323,106325,106327,106329],{"class":106324,"line":205},[169,213],[167,106326,52561],{"class":173},[167,106328,52564],{"class":201},[167,106330,4410],{"class":173},[167,106332,106333],{"class":169,"line":160},[167,106334,276],{"class":173},[167,106336,106337,106339,106341],{"class":169,"line":238},[167,106338,282],{"class":173},[167,106340,178],{"class":177},[167,106342,185],{"class":173},[167,106344,106345],{"class":169,"line":243},[167,106346,209],{"emptyLinePlaceholder":208},[167,106348,106349,106351,106353],{"class":169,"line":261},[167,106350,174],{"class":173},[167,106352,299],{"class":177},[167,106354,185],{"class":173},[167,106356,106357,106359,106361,106363,106365],{"class":169,"line":273},[167,106358,307],{"class":173},[167,106360,11],{"class":177},[167,106362,52521],{"class":173},[167,106364,11],{"class":177},[167,106366,185],{"class":173},[167,106368,106369,106371,106373],{"class":169,"line":279},[167,106370,282],{"class":173},[167,106372,299],{"class":177},[167,106374,185],{"class":173},[22,106376,52614],{"id":52613},[15,106378,52617,106379,15120,106381,52622,106383,52627],{},[87,106380,2081],{},[87,106382,18239],{},[19088,106384,52626],{"href":52625},[154,106386,106387],{"className":51862,"code":52630,"filename":52631,"language":51866,"meta":163,"style":163},[87,106388,106389,106393],{"__ignoreMap":163},[167,106390,106391],{"class":169,"line":170},[167,106392,52638],{"class":18658},[167,106394,106395,106397,106399],{"class":169,"line":188},[167,106396,52643],{"class":173},[167,106398,267],{"class":191},[167,106400,52648],{"class":201},[15,106402,52651,106403,52655,106405,583],{},[3929,106404,52654],{},[3929,106406,52658],{},[3031,106408,106409,106415],{},[36,106410,106411,52666,106413,52670],{},[3929,106412,52665],{},[87,106414,52669],{},[36,106416,106417,52676],{},[3929,106418,52675],{},[22,106420,52680,106421],{"id":52679},[87,106422,52683],{},[29773,106424,106425],{"id":52686},[3929,106426,52229],{},[154,106428,106430],{"className":156,"code":52691,"filename":3256,"highlights":106429,"language":162,"meta":163,"style":163},[289],[87,106431,106432,106442,106452,106456,106472,106490,106498,106502,106506,106516,106527,106533,106537],{"__ignoreMap":163},[167,106433,106434,106436,106438,106440],{"class":169,"line":170},[167,106435,174],{"class":173},[167,106437,178],{"class":177},[167,106439,182],{"class":181},[167,106441,185],{"class":173},[167,106443,106444,106446,106448,106450],{"class":169,"line":188},[167,106445,192],{"class":191},[167,106447,52711],{"class":173},[167,106449,198],{"class":191},[167,106451,202],{"class":201},[167,106453,106454],{"class":169,"line":205},[167,106455,209],{"emptyLinePlaceholder":208},[167,106457,106458,106460,106462,106464,106466,106468,106470],{"class":169,"line":160},[167,106459,216],{"class":191},[167,106461,52726],{"class":219},[167,106463,223],{"class":191},[167,106465,226],{"class":181},[167,106467,229],{"class":173},[167,106469,2784],{"class":201},[167,106471,235],{"class":173},[167,106473,106474,106476,106478,106480,106482,106484,106486,106488],{"class":169,"line":238},[167,106475,216],{"class":191},[167,106477,52743],{"class":181},[167,106479,223],{"class":191},[167,106481,2522],{"class":173},[167,106483,52750],{"class":254},[167,106485,693],{"class":173},[167,106487,639],{"class":191},[167,106489,1901],{"class":173},[167,106491,106492,106494,106496],{"class":169,"line":243},[167,106493,52761],{"class":173},[167,106495,267],{"class":191},[167,106497,52766],{"class":173},[167,106499,106500],{"class":169,"line":261},[167,106501,276],{"class":173},[167,106503,106504],{"class":169,"line":273},[167,106505,209],{"emptyLinePlaceholder":208},[167,106507,106508,106510,106512,106514],{"class":169,"line":279},[167,106509,52306],{"class":181},[167,106511,229],{"class":173},[167,106513,52783],{"class":201},[167,106515,627],{"class":173},[167,106517,106519,106521,106523,106525],{"class":106518,"line":289},[169,213],[167,106520,52791],{"class":173},[167,106522,52683],{"class":181},[167,106524,52796],{"class":173},[167,106526,52799],{"class":18658},[167,106528,106529,106531],{"class":169,"line":294},[167,106530,52804],{"class":173},[167,106532,52807],{"class":18658},[167,106534,106535],{"class":169,"line":304},[167,106536,403],{"class":173},[167,106538,106539,106541,106543],{"class":169,"line":313},[167,106540,282],{"class":173},[167,106542,178],{"class":177},[167,106544,185],{"class":173},[154,106546,106548],{"className":156,"code":52822,"filename":3969,"highlights":106547,"language":162,"meta":163,"style":163},[2674],[87,106549,106550,106558,106568,106572,106580,106586,106592,106598,106602,106606,106610,106620,106630,106634,106638,106644,106650,106654,106658,106662,106668,106672,106686,106695,106699,106703,106707,106711],{"__ignoreMap":163},[167,106551,106552,106554,106556],{"class":169,"line":170},[167,106553,174],{"class":173},[167,106555,178],{"class":177},[167,106557,185],{"class":173},[167,106559,106560,106562,106564,106566],{"class":169,"line":188},[167,106561,192],{"class":191},[167,106563,52840],{"class":173},[167,106565,198],{"class":191},[167,106567,202],{"class":201},[167,106569,106570],{"class":169,"line":205},[167,106571,209],{"emptyLinePlaceholder":208},[167,106573,106574,106576,106578],{"class":169,"line":160},[167,106575,608],{"class":191},[167,106577,3987],{"class":191},[167,106579,1901],{"class":173},[167,106581,106582,106584],{"class":169,"line":238},[167,106583,7172],{"class":181},[167,106585,763],{"class":173},[167,106587,106588,106590],{"class":169,"line":243},[167,106589,1933],{"class":191},[167,106591,1901],{"class":173},[167,106593,106594,106596],{"class":169,"line":261},[167,106595,52873],{"class":173},[167,106597,52876],{"class":201},[167,106599,106600],{"class":169,"line":273},[167,106601,4045],{"class":173},[167,106603,106604],{"class":169,"line":279},[167,106605,398],{"class":173},[167,106607,106608],{"class":169,"line":289},[167,106609,51619],{"class":173},[167,106611,106612,106614,106616,106618],{"class":169,"line":294},[167,106613,52893],{"class":181},[167,106615,229],{"class":173},[167,106617,52750],{"class":254},[167,106619,258],{"class":173},[167,106621,106622,106624,106626,106628],{"class":169,"line":304},[167,106623,14769],{"class":219},[167,106625,52906],{"class":173},[167,106627,267],{"class":191},[167,106629,52766],{"class":173},[167,106631,106632],{"class":169,"line":313},[167,106633,7283],{"class":173},[167,106635,106636],{"class":169,"line":161},[167,106637,398],{"class":173},[167,106639,106640,106642],{"class":169,"line":335},[167,106641,52923],{"class":181},[167,106643,763],{"class":173},[167,106645,106646,106648],{"class":169,"line":341},[167,106647,1933],{"class":191},[167,106649,1901],{"class":173},[167,106651,106652],{"class":169,"line":489},[167,106653,52936],{"class":18658},[167,106655,106656],{"class":169,"line":495},[167,106657,52941],{"class":18658},[167,106659,106660],{"class":169,"line":501},[167,106661,52946],{"class":18658},[167,106663,106664,106666],{"class":169,"line":512},[167,106665,52951],{"class":201},[167,106667,52954],{"class":173},[167,106669,106670],{"class":169,"line":781},[167,106671,52959],{"class":18658},[167,106673,106674,106676,106678,106680,106682,106684],{"class":169,"line":786},[167,106675,52964],{"class":173},[167,106677,1657],{"class":181},[167,106679,1488],{"class":173},[167,106681,639],{"class":191},[167,106683,7347],{"class":219},[167,106685,52975],{"class":173},[167,106687,106689,106691,106693],{"class":106688,"line":2674},[169,213],[167,106690,52981],{"class":173},[167,106692,4923],{"class":219},[167,106694,52986],{"class":173},[167,106696,106697],{"class":169,"line":2688},[167,106698,7283],{"class":173},[167,106700,106701],{"class":169,"line":3571},[167,106702,4045],{"class":173},[167,106704,106705],{"class":169,"line":5024},[167,106706,3488],{"class":173},[167,106708,106709],{"class":169,"line":5033},[167,106710,276],{"class":173},[167,106712,106713,106715,106717],{"class":169,"line":5042},[167,106714,282],{"class":173},[167,106716,178],{"class":177},[167,106718,185],{"class":173},[29773,106720,106721],{"id":53013},[3929,106722,52437],{},[154,106724,106726],{"className":156,"code":53018,"filename":3256,"highlights":106725,"language":162,"meta":163,"style":163},[160],[87,106727,106728,106738,106748,106752,106777,106785,106789,106797,106805,106817,106835,106843],{"__ignoreMap":163},[167,106729,106730,106732,106734,106736],{"class":169,"line":170},[167,106731,174],{"class":173},[167,106733,178],{"class":177},[167,106735,182],{"class":181},[167,106737,185],{"class":173},[167,106739,106740,106742,106744,106746],{"class":169,"line":188},[167,106741,192],{"class":191},[167,106743,52461],{"class":173},[167,106745,198],{"class":191},[167,106747,202],{"class":201},[167,106749,106750],{"class":169,"line":205},[167,106751,209],{"emptyLinePlaceholder":208},[167,106753,106755,106757,106759,106761,106763,106765,106767,106769,106771,106773,106775],{"class":106754,"line":160},[169,213],[167,106756,216],{"class":191},[167,106758,577],{"class":173},[167,106760,53055],{"class":219},[167,106762,1020],{"class":173},[167,106764,53060],{"class":219},[167,106766,23405],{"class":173},[167,106768,267],{"class":191},[167,106770,52486],{"class":181},[167,106772,229],{"class":173},[167,106774,52783],{"class":201},[167,106776,235],{"class":173},[167,106778,106779,106781,106783],{"class":169,"line":238},[167,106780,282],{"class":173},[167,106782,178],{"class":177},[167,106784,185],{"class":173},[167,106786,106787],{"class":169,"line":243},[167,106788,209],{"emptyLinePlaceholder":208},[167,106790,106791,106793,106795],{"class":169,"line":261},[167,106792,174],{"class":173},[167,106794,299],{"class":177},[167,106796,185],{"class":173},[167,106798,106799,106801,106803],{"class":169,"line":273},[167,106800,307],{"class":173},[167,106802,1237],{"class":177},[167,106804,185],{"class":173},[167,106806,106807,106809,106811,106813,106815],{"class":169,"line":279},[167,106808,1252],{"class":173},[167,106810,15],{"class":177},[167,106812,53109],{"class":173},[167,106814,15],{"class":177},[167,106816,185],{"class":173},[167,106818,106819,106821,106823,106825,106827,106829,106831,106833],{"class":169,"line":289},[167,106820,1252],{"class":173},[167,106822,507],{"class":177},[167,106824,1177],{"class":181},[167,106826,267],{"class":173},[167,106828,53126],{"class":201},[167,106830,53129],{"class":173},[167,106832,507],{"class":177},[167,106834,185],{"class":173},[167,106836,106837,106839,106841],{"class":169,"line":294},[167,106838,504],{"class":173},[167,106840,1237],{"class":177},[167,106842,185],{"class":173},[167,106844,106845,106847,106849],{"class":169,"line":304},[167,106846,282],{"class":173},[167,106848,299],{"class":177},[167,106850,185],{"class":173},[154,106852,106854],{"className":156,"code":53152,"filename":3969,"highlights":106853,"language":162,"meta":163,"style":163},[261,161],[87,106855,106856,106864,106872,106876,106880,106888,106898,106907,106917,106921,106925,106929,106933,106939,106948,106952,106956,106960,106966,106980,106984,106988,106992,107000,107004,107012,107020,107032,107050,107058],{"__ignoreMap":163},[167,106857,106858,106860,106862],{"class":169,"line":170},[167,106859,174],{"class":173},[167,106861,178],{"class":177},[167,106863,185],{"class":173},[167,106865,106866,106868,106870],{"class":169,"line":188},[167,106867,608],{"class":191},[167,106869,3987],{"class":191},[167,106871,1901],{"class":173},[167,106873,106874],{"class":169,"line":205},[167,106875,53176],{"class":173},[167,106877,106878],{"class":169,"line":160},[167,106879,53181],{"class":173},[167,106881,106882,106884,106886],{"class":169,"line":238},[167,106883,53186],{"class":173},[167,106885,52783],{"class":201},[167,106887,393],{"class":173},[167,106889,106890,106892,106894,106896],{"class":169,"line":243},[167,106891,53195],{"class":181},[167,106893,636],{"class":173},[167,106895,639],{"class":191},[167,106897,642],{"class":173},[167,106899,106901,106903,106905],{"class":106900,"line":261},[169,213],[167,106902,53207],{"class":173},[167,106904,2784],{"class":201},[167,106906,1852],{"class":173},[167,106908,106909,106911,106913,106915],{"class":169,"line":273},[167,106910,53216],{"class":181},[167,106912,636],{"class":173},[167,106914,639],{"class":191},[167,106916,50938],{"class":173},[167,106918,106919],{"class":169,"line":279},[167,106920,8862],{"class":173},[167,106922,106923],{"class":169,"line":289},[167,106924,4045],{"class":173},[167,106926,106927],{"class":169,"line":294},[167,106928,398],{"class":173},[167,106930,106931],{"class":169,"line":304},[167,106932,8751],{"class":173},[167,106934,106935,106937],{"class":169,"line":313},[167,106936,53243],{"class":181},[167,106938,763],{"class":173},[167,106940,106942,106944,106946],{"class":106941,"line":161},[169,213],[167,106943,8763],{"class":191},[167,106945,7347],{"class":219},[167,106947,53255],{"class":173},[167,106949,106950],{"class":169,"line":335},[167,106951,4045],{"class":173},[167,106953,106954],{"class":169,"line":341},[167,106955,398],{"class":173},[167,106957,106958],{"class":169,"line":489},[167,106959,4415],{"class":173},[167,106961,106962,106964],{"class":169,"line":495},[167,106963,53272],{"class":181},[167,106965,763],{"class":173},[167,106967,106968,106970,106972,106974,106976,106978],{"class":169,"line":501},[167,106969,741],{"class":219},[167,106971,53281],{"class":173},[167,106973,53060],{"class":181},[167,106975,229],{"class":173},[167,106977,53288],{"class":201},[167,106979,235],{"class":173},[167,106981,106982],{"class":169,"line":512},[167,106983,4045],{"class":173},[167,106985,106986],{"class":169,"line":781},[167,106987,3488],{"class":173},[167,106989,106990],{"class":169,"line":786},[167,106991,276],{"class":173},[167,106993,106994,106996,106998],{"class":169,"line":2674},[167,106995,282],{"class":173},[167,106997,178],{"class":177},[167,106999,185],{"class":173},[167,107001,107002],{"class":169,"line":2688},[167,107003,209],{"emptyLinePlaceholder":208},[167,107005,107006,107008,107010],{"class":169,"line":3571},[167,107007,174],{"class":173},[167,107009,299],{"class":177},[167,107011,185],{"class":173},[167,107013,107014,107016,107018],{"class":169,"line":5024},[167,107015,307],{"class":173},[167,107017,1237],{"class":177},[167,107019,185],{"class":173},[167,107021,107022,107024,107026,107028,107030],{"class":169,"line":5033},[167,107023,1252],{"class":173},[167,107025,15],{"class":177},[167,107027,53339],{"class":173},[167,107029,15],{"class":177},[167,107031,185],{"class":173},[167,107033,107034,107036,107038,107040,107042,107044,107046,107048],{"class":169,"line":5042},[167,107035,1252],{"class":173},[167,107037,507],{"class":177},[167,107039,1177],{"class":181},[167,107041,267],{"class":173},[167,107043,53356],{"class":201},[167,107045,53129],{"class":173},[167,107047,507],{"class":177},[167,107049,185],{"class":173},[167,107051,107052,107054,107056],{"class":169,"line":6752},[167,107053,504],{"class":173},[167,107055,1237],{"class":177},[167,107057,185],{"class":173},[167,107059,107060,107062,107064],{"class":169,"line":6774},[167,107061,282],{"class":173},[167,107063,299],{"class":177},[167,107065,185],{"class":173},[22,107067,53382],{"id":53381},[15,107069,53385,107070,53389],{},[87,107071,53388],{},[154,107073,107075],{"className":51862,"code":53392,"filename":53393,"highlights":107074,"language":51866,"meta":163,"style":163},[188],[87,107076,107077,107081],{"__ignoreMap":163},[167,107078,107079],{"class":169,"line":170},[167,107080,53401],{"class":18658},[167,107082,107084,107086,107088,107090,107092,107094,107096,107098,107100,107102,107104],{"class":107083,"line":188},[169,213],[167,107085,216],{"class":191},[167,107087,53409],{"class":219},[167,107089,223],{"class":191},[167,107091,52486],{"class":181},[167,107093,229],{"class":173},[167,107095,53418],{"class":201},[167,107097,53421],{"class":173},[167,107099,53424],{"class":201},[167,107101,53427],{"class":173},[167,107103,3388],{"class":219},[167,107105,2238],{"class":173},[22,107107,53435],{"id":53434},[15,107109,53438],{},[33,107111,107112,107114,107116],{},[36,107113,53443],{},[36,107115,53446],{},[36,107117,53449],{},[29773,107119,107120],{"id":53452},[3929,107121,53455],{},[154,107123,107125],{"className":51862,"code":53458,"filename":25319,"highlights":107124,"language":51866,"meta":163,"style":163},[261,273],[87,107126,107127,107137,107147,107151,107163,107167,107171,107188,107205,107217,107231,107247,107251,107255,107259],{"__ignoreMap":163},[167,107128,107129,107131,107133,107135],{"class":169,"line":170},[167,107130,192],{"class":191},[167,107132,51162],{"class":173},[167,107134,198],{"class":191},[167,107136,202],{"class":201},[167,107138,107139,107141,107143,107145],{"class":169,"line":188},[167,107140,192],{"class":191},[167,107142,51173],{"class":173},[167,107144,198],{"class":191},[167,107146,51178],{"class":201},[167,107148,107149],{"class":169,"line":205},[167,107150,209],{"emptyLinePlaceholder":208},[167,107152,107153,107155,107157,107159,107161],{"class":169,"line":160},[167,107154,216],{"class":191},[167,107156,51185],{"class":219},[167,107158,223],{"class":191},[167,107160,51190],{"class":181},[167,107162,51193],{"class":173},[167,107164,107165],{"class":169,"line":238},[167,107166,209],{"emptyLinePlaceholder":208},[167,107168,107169],{"class":169,"line":243},[167,107170,53506],{"class":18658},[167,107172,107174,107176,107178,107180,107182,107184,107186],{"class":107173,"line":261},[169,213],[167,107175,51199],{"class":173},[167,107177,52306],{"class":181},[167,107179,229],{"class":173},[167,107181,53518],{"class":201},[167,107183,1020],{"class":173},[167,107185,53523],{"class":201},[167,107187,235],{"class":173},[167,107189,107191,107193,107195,107197,107199,107201,107203],{"class":107190,"line":273},[169,213],[167,107192,51199],{"class":173},[167,107194,52306],{"class":181},[167,107196,229],{"class":173},[167,107198,53537],{"class":201},[167,107200,1020],{"class":173},[167,107202,53542],{"class":201},[167,107204,235],{"class":173},[167,107206,107207,107209,107211,107213,107215],{"class":169,"line":279},[167,107208,51199],{"class":173},[167,107210,52306],{"class":181},[167,107212,229],{"class":173},[167,107214,53555],{"class":201},[167,107216,627],{"class":173},[167,107218,107219,107221,107223,107225,107227,107229],{"class":169,"line":289},[167,107220,53562],{"class":181},[167,107222,688],{"class":173},[167,107224,53567],{"class":254},[167,107226,693],{"class":173},[167,107228,639],{"class":191},[167,107230,1901],{"class":173},[167,107232,107233,107235,107237,107239,107241,107243,107245],{"class":169,"line":294},[167,107234,8890],{"class":173},[167,107236,2607],{"class":181},[167,107238,229],{"class":173},[167,107240,53584],{"class":201},[167,107242,53567],{"class":173},[167,107244,2356],{"class":201},[167,107246,235],{"class":173},[167,107248,107249],{"class":169,"line":304},[167,107250,3488],{"class":173},[167,107252,107253],{"class":169,"line":313},[167,107254,403],{"class":173},[167,107256,107257],{"class":169,"line":161},[167,107258,209],{"emptyLinePlaceholder":208},[167,107260,107261,107263,107265,107267,107269],{"class":169,"line":335},[167,107262,51199],{"class":173},[167,107264,53609],{"class":181},[167,107266,229],{"class":173},[167,107268,53614],{"class":201},[167,107270,235],{"class":173},[29773,107272,107273],{"id":53619},[3929,107274,53622],{},[154,107276,107278],{"className":156,"code":53625,"filename":53626,"highlights":107277,"language":162,"meta":163,"style":163},[160,238],[87,107279,107280,107290,107300,107304,107321,107338,107354,107358,107372,107384,107388,107396,107400,107408,107422,107434,107452,107460],{"__ignoreMap":163},[167,107281,107282,107284,107286,107288],{"class":169,"line":170},[167,107283,174],{"class":173},[167,107285,178],{"class":177},[167,107287,182],{"class":181},[167,107289,185],{"class":173},[167,107291,107292,107294,107296,107298],{"class":169,"line":188},[167,107293,192],{"class":191},[167,107295,52461],{"class":173},[167,107297,198],{"class":191},[167,107299,202],{"class":201},[167,107301,107302],{"class":169,"line":205},[167,107303,209],{"emptyLinePlaceholder":208},[167,107305,107307,107309,107311,107313,107315,107317,107319],{"class":107306,"line":160},[169,213],[167,107308,216],{"class":191},[167,107310,53661],{"class":219},[167,107312,223],{"class":191},[167,107314,52486],{"class":181},[167,107316,229],{"class":173},[167,107318,53518],{"class":201},[167,107320,235],{"class":173},[167,107322,107324,107326,107328,107330,107332,107334,107336],{"class":107323,"line":238},[169,213],[167,107325,216],{"class":191},[167,107327,53679],{"class":219},[167,107329,223],{"class":191},[167,107331,52486],{"class":181},[167,107333,229],{"class":173},[167,107335,53537],{"class":201},[167,107337,235],{"class":173},[167,107339,107340,107342,107344,107346,107348,107350,107352],{"class":169,"line":243},[167,107341,216],{"class":191},[167,107343,53696],{"class":219},[167,107345,223],{"class":191},[167,107347,52486],{"class":181},[167,107349,229],{"class":173},[167,107351,53555],{"class":201},[167,107353,235],{"class":173},[167,107355,107356],{"class":169,"line":261},[167,107357,209],{"emptyLinePlaceholder":208},[167,107359,107360,107362,107364,107366,107368,107370],{"class":169,"line":273},[167,107361,216],{"class":191},[167,107363,53717],{"class":181},[167,107365,223],{"class":191},[167,107367,1464],{"class":173},[167,107369,639],{"class":191},[167,107371,1901],{"class":173},[167,107373,107374,107376,107378,107380,107382],{"class":169,"line":279},[167,107375,53730],{"class":173},[167,107377,53733],{"class":181},[167,107379,229],{"class":173},[167,107381,53738],{"class":201},[167,107383,235],{"class":173},[167,107385,107386],{"class":169,"line":289},[167,107387,276],{"class":173},[167,107389,107390,107392,107394],{"class":169,"line":294},[167,107391,282],{"class":173},[167,107393,178],{"class":177},[167,107395,185],{"class":173},[167,107397,107398],{"class":169,"line":304},[167,107399,209],{"emptyLinePlaceholder":208},[167,107401,107402,107404,107406],{"class":169,"line":313},[167,107403,174],{"class":173},[167,107405,299],{"class":177},[167,107407,185],{"class":173},[167,107409,107410,107412,107414,107416,107418,107420],{"class":169,"line":161},[167,107411,307],{"class":173},[167,107413,1237],{"class":177},[167,107415,42131],{"class":181},[167,107417,267],{"class":173},[167,107419,53777],{"class":201},[167,107421,185],{"class":173},[167,107423,107424,107426,107428,107430,107432],{"class":169,"line":335},[167,107425,1252],{"class":173},[167,107427,15],{"class":177},[167,107429,53788],{"class":173},[167,107431,15],{"class":177},[167,107433,185],{"class":173},[167,107435,107436,107438,107440,107442,107444,107446,107448,107450],{"class":169,"line":341},[167,107437,1252],{"class":173},[167,107439,507],{"class":177},[167,107441,1177],{"class":181},[167,107443,267],{"class":173},[167,107445,53805],{"class":201},[167,107447,53808],{"class":173},[167,107449,507],{"class":177},[167,107451,185],{"class":173},[167,107453,107454,107456,107458],{"class":169,"line":489},[167,107455,504],{"class":173},[167,107457,1237],{"class":177},[167,107459,185],{"class":173},[167,107461,107462,107464,107466],{"class":169,"line":495},[167,107463,282],{"class":173},[167,107465,299],{"class":177},[167,107467,185],{"class":173},[29773,107469,53832],{"id":53831},[33,107471,107472,107474,107476],{},[36,107473,53837],{},[36,107475,53840],{},[36,107477,53843],{},[5363,107479,107480],{},[15,107481,107482,53851,107484,1675],{},[3929,107483,53850],{},[87,107485,53854],{},[22,107487,53858],{"id":53857},[15,107489,53861,107490,53864,107492,53868],{},[87,107491,992],{},[3929,107493,53867],{},[3031,107495,107496,107506],{},[36,107497,107498,53875,107500,53879,107502,53882,107504,1675],{},[3929,107499,52209],{},[87,107501,53878],{},[87,107503,53878],{},[87,107505,53885],{},[36,107507,107508,53890],{},[3929,107509,52215],{},[15,107511,53893],{},[22,107513,53897],{"id":53896},[56,107515,107516,107526],{},[59,107517,107518],{},[62,107519,107520,107522,107524],{},[65,107521,51975],{},[65,107523,53908],{},[65,107525,53911],{},[75,107527,107528,107538,107550,107560],{},[62,107529,107530,107534,107536],{},[80,107531,107532],{},[3929,107533,53920],{},[80,107535,53923],{},[80,107537,53926],{},[62,107539,107540,107544,107546],{},[80,107541,107542],{},[3929,107543,53933],{},[80,107545,53936],{},[80,107547,53939,107548,53942],{},[87,107549,52669],{},[62,107551,107552,107556,107558],{},[80,107553,107554],{},[3929,107555,53949],{},[80,107557,53952],{},[80,107559,53955],{},[62,107561,107562,107566,107568],{},[80,107563,107564],{},[3929,107565,53962],{},[80,107567,53965],{},[80,107569,53968,107570],{},[87,107571,53971],{},[22,107573,53975],{"id":53974},[33,107575,107576,107580,107584],{},[36,107577,107578,53983],{},[3929,107579,53982],{},[36,107581,107582,53989],{},[3929,107583,53988],{},[36,107585,107586,53995],{},[3929,107587,53994],{},[22,107589,23570],{"id":23569},[15,107591,107592,52157,107594,54004,107596,54007],{},[87,107593,52156],{},[87,107595,53388],{},[3929,107597,52150],{},[3031,107599,107600,107606,107610,107614],{},[36,107601,107602,54015,107604],{},[3929,107603,54014],{},[87,107605,52669],{},[36,107607,107608,54023],{},[3929,107609,54022],{},[36,107611,107612,54029],{},[3929,107613,54028],{},[36,107615,107616,54035],{},[3929,107617,54034],{},[15,107619,54038],{},[924,107621,54041],{},{"title":163,"searchDepth":188,"depth":188,"links":107623},[107624,107625,107626,107627,107628,107629,107630,107631,107632,107633,107634],{"id":52164,"depth":188,"text":52165},{"id":52195,"depth":188,"text":54046},{"id":52219,"depth":188,"text":52220},{"id":52613,"depth":188,"text":52614},{"id":52679,"depth":188,"text":54050},{"id":53381,"depth":188,"text":53382},{"id":53434,"depth":188,"text":53435},{"id":53857,"depth":188,"text":53858},{"id":53896,"depth":188,"text":53897},{"id":53974,"depth":188,"text":53975},{"id":23569,"depth":188,"text":23570},{"updatedAt":52115,"coverCaption":54061,"author":945,"keywords":107636},[3254,52156,52160,52150,3256,3255],[107638],{"headline":52138,"author":107639,"datePublished":54067,"@type":959},{"name":945,"@type":958},{"title":52138,"description":54059},[107642,107643,107644,107645,107646,107647],{"tag":54072,"color":54073},{"tag":951,"color":964},{"tag":952,"color":966},{"tag":52119,"color":52130},{"tag":1622,"color":1635},{"tag":968,"color":969},{"id":54081,"title":52626,"body":107649,"cover":54718,"coverAlt":54719,"date":54720,"description":54721,"draft":1617,"extension":940,"lab":108184,"locale":942,"meta":108186,"navigation":208,"path":54735,"schemaOrg":108188,"seo":108191,"series":941,"seriesDescription":941,"seriesOrder":941,"seriesTitle":941,"slug":941,"stem":54742,"tags":108192,"__hash__":54749},{"type":8,"value":107650,"toc":108173},[107651,107653,107655,107657,107659,107661,107673,107675,107681,107683,107685,107689,107697,107707,107711,107715,107717,107723,107729,107731,107785,107791,107793,107795,107809,107811,107813,107815,107829,107849,107851,107903,107905,108035,108169,108171],[11,107652,52626],{"id":54086},[15,107654,54089],{},[15,107656,54092],{},[22,107658,54096],{"id":54095},[15,107660,54099],{},[15,107662,54102,107663,54106,107665,54110,107667,54113,107669,90,107671,54120],{},[3929,107664,54105],{},[87,107666,54109],{},[3929,107668,54105],{},[3929,107670,54116],{},[3929,107672,54119],{},[15,107674,54123],{},[5363,107676,107677],{},[15,107678,107679,54131],{},[3929,107680,54130],{},[22,107682,54135],{"id":54134},[15,107684,54138],{},[3083,107686,54142,107687],{"id":54141},[87,107688,54145],{},[15,107690,54148,107691,1023,107693,54155,107695,1675],{},[9291,107692,54151],{},[9291,107694,54154],{},[87,107696,54145],{},[33,107698,107699],{},[36,107700,107701,54165,107703,54169,107705,1675],{},[3929,107702,54164],{},[87,107704,54168],{},[87,107706,54172],{},[3083,107708,54176,107709],{"id":54175},[87,107710,22876],{},[15,107712,54181,107713,53868],{},[3929,107714,54184],{},[15,107716,54187],{},[33,107718,107719],{},[36,107720,107721,54195],{},[3929,107722,54194],{},[22,107724,54199,107725,1658,107727],{"id":54198},[87,107726,89],{},[87,107728,93],{},[15,107730,54206],{},[56,107732,107733,107747],{},[59,107734,107735],{},[62,107736,107737,107739,107743],{},[65,107738,51975],{},[65,107740,107741],{},[87,107742,89],{},[65,107744,107745],{},[87,107746,93],{},[75,107748,107749,107757,107767,107777],{},[62,107750,107751,107753,107755],{},[80,107752,54229],{},[80,107754,54232],{},[80,107756,54235],{},[62,107758,107759,107761,107765],{},[80,107760,54240],{},[80,107762,107763],{},[87,107764,22975],{},[80,107766,54247],{},[62,107768,107769,107773,107775],{},[80,107770,6300,107771],{},[87,107772,31993],{},[80,107774,54256],{},[80,107776,54247],{},[62,107778,107779,107781,107783],{},[80,107780,54263],{},[80,107782,54266],{},[80,107784,54269],{},[15,107786,54272,107787,54275,107789,1675],{},[87,107788,2081],{},[87,107790,18239],{},[22,107792,54281],{"id":54280},[15,107794,54284],{},[3031,107796,107797,107801,107805],{},[36,107798,107799,54292],{},[3929,107800,54291],{},[36,107802,107803,54298],{},[3929,107804,54297],{},[36,107806,107807,54304],{},[3929,107808,54303],{},[15,107810,54307],{},[22,107812,54311],{"id":54310},[15,107814,54314],{},[33,107816,107817,107825],{},[36,107818,107819,54326],{},[3929,107820,107821,1023,107823,583],{},[87,107822,23449],{},[87,107824,54325],{},[36,107826,107827,54332],{},[3929,107828,54331],{},[154,107830,107831],{"className":51862,"code":54335,"filename":54336,"language":51866,"meta":163,"style":163},[87,107832,107833],{"__ignoreMap":163},[167,107834,107835,107837,107839,107841,107843,107845,107847],{"class":169,"line":170},[167,107836,216],{"class":191},[167,107838,577],{"class":173},[167,107840,54347],{"class":219},[167,107842,23405],{"class":173},[167,107844,267],{"class":191},[167,107846,54354],{"class":173},[167,107848,54357],{"class":18658},[15,107850,54360],{},[154,107852,107853],{"className":51862,"code":54363,"filename":54336,"language":51866,"meta":163,"style":163},[87,107854,107855,107867,107871,107887],{"__ignoreMap":163},[167,107856,107857,107859,107861,107863,107865],{"class":169,"line":170},[167,107858,192],{"class":191},[167,107860,54372],{"class":173},[167,107862,198],{"class":191},[167,107864,51440],{"class":201},[167,107866,24040],{"class":173},[167,107868,107869],{"class":169,"line":188},[167,107870,209],{"emptyLinePlaceholder":208},[167,107872,107873,107875,107877,107879,107881,107883,107885],{"class":169,"line":205},[167,107874,216],{"class":191},[167,107876,54389],{"class":219},[167,107878,223],{"class":191},[167,107880,846],{"class":181},[167,107882,54396],{"class":173},[167,107884,42921],{"class":201},[167,107886,35213],{"class":173},[167,107888,107889,107891,107893,107895,107897,107899,107901],{"class":169,"line":160},[167,107890,216],{"class":191},[167,107892,577],{"class":173},[167,107894,54347],{"class":219},[167,107896,23405],{"class":173},[167,107898,267],{"class":191},[167,107900,54415],{"class":181},[167,107902,54418],{"class":173},[22,107904,54422],{"id":54421},[154,107906,107907],{"className":156,"code":54425,"filename":3256,"language":162,"meta":163,"style":163},[87,107908,107909,107919,107931,107935,107951,107955,107969,107977,107981,107989,107993,108001,108015,108019,108027],{"__ignoreMap":163},[167,107910,107911,107913,107915,107917],{"class":169,"line":170},[167,107912,174],{"class":173},[167,107914,178],{"class":177},[167,107916,182],{"class":181},[167,107918,185],{"class":173},[167,107920,107921,107923,107925,107927,107929],{"class":169,"line":188},[167,107922,192],{"class":191},[167,107924,195],{"class":173},[167,107926,198],{"class":191},[167,107928,51440],{"class":201},[167,107930,24040],{"class":173},[167,107932,107933],{"class":169,"line":205},[167,107934,209],{"emptyLinePlaceholder":208},[167,107936,107937,107939,107941,107943,107945,107947,107949],{"class":169,"line":160},[167,107938,216],{"class":191},[167,107940,54460],{"class":219},[167,107942,223],{"class":191},[167,107944,226],{"class":181},[167,107946,229],{"class":173},[167,107948,1956],{"class":219},[167,107950,24165],{"class":173},[167,107952,107953],{"class":169,"line":238},[167,107954,209],{"emptyLinePlaceholder":208},[167,107956,107957,107959,107961,107963,107965,107967],{"class":169,"line":243},[167,107958,216],{"class":191},[167,107960,54481],{"class":181},[167,107962,223],{"class":191},[167,107964,1464],{"class":173},[167,107966,639],{"class":191},[167,107968,1901],{"class":173},[167,107970,107971,107973,107975],{"class":169,"line":261},[167,107972,54494],{"class":173},[167,107974,54497],{"class":191},[167,107976,24040],{"class":173},[167,107978,107979],{"class":169,"line":273},[167,107980,24144],{"class":173},[167,107982,107983,107985,107987],{"class":169,"line":279},[167,107984,282],{"class":173},[167,107986,178],{"class":177},[167,107988,185],{"class":173},[167,107990,107991],{"class":169,"line":289},[167,107992,209],{"emptyLinePlaceholder":208},[167,107994,107995,107997,107999],{"class":169,"line":294},[167,107996,174],{"class":173},[167,107998,299],{"class":177},[167,108000,185],{"class":173},[167,108002,108003,108005,108007,108009,108011,108013],{"class":169,"line":304},[167,108004,307],{"class":173},[167,108006,507],{"class":177},[167,108008,1177],{"class":181},[167,108010,267],{"class":173},[167,108012,54536],{"class":201},[167,108014,185],{"class":173},[167,108016,108017],{"class":169,"line":313},[167,108018,54543],{"class":173},[167,108020,108021,108023,108025],{"class":169,"line":161},[167,108022,504],{"class":173},[167,108024,507],{"class":177},[167,108026,185],{"class":173},[167,108028,108029,108031,108033],{"class":169,"line":335},[167,108030,282],{"class":173},[167,108032,299],{"class":177},[167,108034,185],{"class":173},[154,108036,108037],{"className":156,"code":54562,"filename":3969,"language":162,"meta":163,"style":163},[87,108038,108039,108047,108055,108061,108067,108075,108079,108083,108087,108093,108103,108107,108111,108115,108123,108127,108135,108149,108153,108161],{"__ignoreMap":163},[167,108040,108041,108043,108045],{"class":169,"line":170},[167,108042,174],{"class":173},[167,108044,178],{"class":177},[167,108046,185],{"class":173},[167,108048,108049,108051,108053],{"class":169,"line":188},[167,108050,608],{"class":191},[167,108052,3987],{"class":191},[167,108054,1901],{"class":173},[167,108056,108057,108059],{"class":169,"line":205},[167,108058,7172],{"class":181},[167,108060,763],{"class":173},[167,108062,108063,108065],{"class":169,"line":160},[167,108064,1933],{"class":191},[167,108066,1901],{"class":173},[167,108068,108069,108071,108073],{"class":169,"line":238},[167,108070,54597],{"class":173},[167,108072,1956],{"class":219},[167,108074,393],{"class":173},[167,108076,108077],{"class":169,"line":243},[167,108078,24366],{"class":173},[167,108080,108081],{"class":169,"line":261},[167,108082,398],{"class":173},[167,108084,108085],{"class":169,"line":273},[167,108086,4415],{"class":173},[167,108088,108089,108091],{"class":169,"line":279},[167,108090,54618],{"class":181},[167,108092,763],{"class":173},[167,108094,108095,108097,108099,108101],{"class":169,"line":289},[167,108096,741],{"class":219},[167,108098,54627],{"class":173},[167,108100,54497],{"class":191},[167,108102,24040],{"class":173},[167,108104,108105],{"class":169,"line":294},[167,108106,755],{"class":173},[167,108108,108109],{"class":169,"line":304},[167,108110,398],{"class":173},[167,108112,108113],{"class":169,"line":313},[167,108114,24144],{"class":173},[167,108116,108117,108119,108121],{"class":169,"line":161},[167,108118,282],{"class":173},[167,108120,178],{"class":177},[167,108122,185],{"class":173},[167,108124,108125],{"class":169,"line":335},[167,108126,209],{"emptyLinePlaceholder":208},[167,108128,108129,108131,108133],{"class":169,"line":341},[167,108130,174],{"class":173},[167,108132,299],{"class":177},[167,108134,185],{"class":173},[167,108136,108137,108139,108141,108143,108145,108147],{"class":169,"line":489},[167,108138,307],{"class":173},[167,108140,507],{"class":177},[167,108142,1177],{"class":181},[167,108144,267],{"class":173},[167,108146,54536],{"class":201},[167,108148,185],{"class":173},[167,108150,108151],{"class":169,"line":495},[167,108152,54543],{"class":173},[167,108154,108155,108157,108159],{"class":169,"line":501},[167,108156,504],{"class":173},[167,108158,507],{"class":177},[167,108160,185],{"class":173},[167,108162,108163,108165,108167],{"class":169,"line":512},[167,108164,282],{"class":173},[167,108166,299],{"class":177},[167,108168,185],{"class":173},[15,108170,54700],{},[924,108172,54703],{},{"title":163,"searchDepth":188,"depth":188,"links":108174},[108175,108176,108180,108181,108182,108183],{"id":54095,"depth":188,"text":54096},{"id":54134,"depth":188,"text":54135,"children":108177},[108178,108179],{"id":54141,"depth":205,"text":54710},{"id":54175,"depth":205,"text":54712},{"id":54198,"depth":188,"text":54714},{"id":54280,"depth":188,"text":54281},{"id":54310,"depth":188,"text":54311},{"id":54421,"depth":188,"text":54422},{"title":54723,"goal":54724,"tasks":108185,"starterCode":54730,"solutionHint":54731},[54726,54727,54728,54729],{"updatedAt":52115,"coverCaption":54733,"author":945,"keywords":108187},[3254,3265,54184,3256,2081,18239],[108189],{"headline":54738,"author":108190,"datePublished":54740,"@type":959},{"name":945,"@type":958},{"title":52626,"description":54721},[108193,108194,108195],{"tag":3265,"color":3266},{"tag":5420,"color":5421},{"tag":54747,"color":54748},{"id":54751,"title":54738,"body":108197,"cover":55590,"coverAlt":55591,"date":55592,"description":55593,"draft":1617,"extension":940,"lab":941,"locale":942,"meta":108857,"navigation":208,"path":55597,"schemaOrg":108858,"seo":108861,"series":941,"seriesDescription":941,"seriesOrder":941,"seriesTitle":941,"slug":941,"stem":55603,"tags":108862,"__hash__":55615},{"type":8,"value":108198,"toc":108837},[108199,108201,108207,108211,108213,108219,108221,108225,108227,108257,108263,108267,108271,108273,108279,108283,108287,108303,108307,108325,108327,108329,108331,108417,108425,108427,108435,108437,108439,108579,108583,108585,108661,108663,108665,108667,108679,108691,108703,108715,108717,108721,108791,108793,108797,108827,108829,108835],[11,108200,54738],{"id":54756},[15,108202,54759,108203,54763,108205,54767],{},[3929,108204,54762],{},[3929,108206,54766],{},[15,108208,54770,108209,1675],{},[87,108210,54773],{},[22,108212,54777],{"id":54776},[15,108214,54780,108215,54784,108217,1675],{},[3929,108216,54783],{},[3929,108218,54787],{},[3083,108220,54791],{"id":54790},[15,108222,54794,108223,54798],{},[3929,108224,54797],{},[15,108226,54801],{},[33,108228,108229,108239,108249],{},[36,108230,108231,54809,108233,1020,108235,54814,108237,1675],{},[3929,108232,54808],{},[87,108234,13492],{},[87,108236,30722],{},[87,108238,23861],{},[36,108240,108241,54822,108243,54825,108245,54829,108247,1675],{},[3929,108242,54821],{},[9291,108244,51396],{},[87,108246,54828],{},[87,108248,13442],{},[36,108250,108251,54837,108253,54841,108255,1675],{},[3929,108252,54836],{},[87,108254,54840],{},[87,108256,54844],{},[5363,108258,108259],{},[15,108260,108261,54852],{},[3929,108262,54851],{},[22,108264,54856,108265,54860],{"id":54855},[87,108266,54859],{},[15,108268,54863,108269,54866],{},[3929,108270,54773],{},[3083,108272,54870],{"id":54869},[15,108274,54873,108275,54876,108277,54879],{},[87,108276,22876],{},[87,108278,54773],{},[29773,108280,54883,108281,54886],{"id":54882},[87,108282,21726],{},[15,108284,54889,108285,1675],{},[87,108286,21726],{},[33,108288,108289,108297],{},[36,108290,108291,54899,108293,54902,108295,4266],{},[3929,108292,54898],{},[87,108294,21726],{},[9291,108296,54905],{},[36,108298,108299,54911,108301,54915],{},[3929,108300,54910],{},[3929,108302,54914],{},[15,108304,108305],{},[3929,108306,54920],{},[3031,108308,108309,108315,108319],{},[36,108310,108311,54928,108313,54932],{},[3929,108312,54927],{},[3929,108314,54931],{},[36,108316,108317,54938],{},[3929,108318,54937],{},[36,108320,108321,54944,108323,54947],{},[3929,108322,54943],{},[87,108324,1657],{},[22,108326,54951],{"id":54950},[15,108328,54954],{},[3083,108330,54958],{"id":54957},[154,108332,108333],{"className":156,"code":54961,"filename":3256,"language":162,"meta":163,"style":163},[87,108334,108335,108345,108355,108371,108379,108383,108391,108409],{"__ignoreMap":163},[167,108336,108337,108339,108341,108343],{"class":169,"line":170},[167,108338,174],{"class":173},[167,108340,178],{"class":177},[167,108342,182],{"class":181},[167,108344,185],{"class":173},[167,108346,108347,108349,108351,108353],{"class":169,"line":188},[167,108348,192],{"class":191},[167,108350,195],{"class":173},[167,108352,198],{"class":191},[167,108354,202],{"class":201},[167,108356,108357,108359,108361,108363,108365,108367,108369],{"class":169,"line":205},[167,108358,216],{"class":191},[167,108360,15321],{"class":219},[167,108362,223],{"class":191},[167,108364,226],{"class":181},[167,108366,229],{"class":173},[167,108368,1956],{"class":219},[167,108370,235],{"class":173},[167,108372,108373,108375,108377],{"class":169,"line":160},[167,108374,282],{"class":173},[167,108376,178],{"class":177},[167,108378,185],{"class":173},[167,108380,108381],{"class":169,"line":238},[167,108382,209],{"emptyLinePlaceholder":208},[167,108384,108385,108387,108389],{"class":169,"line":243},[167,108386,174],{"class":173},[167,108388,299],{"class":177},[167,108390,185],{"class":173},[167,108392,108393,108395,108397,108399,108401,108403,108405,108407],{"class":169,"line":261},[167,108394,307],{"class":173},[167,108396,507],{"class":177},[167,108398,1177],{"class":181},[167,108400,267],{"class":173},[167,108402,18382],{"class":201},[167,108404,55034],{"class":173},[167,108406,507],{"class":177},[167,108408,185],{"class":173},[167,108410,108411,108413,108415],{"class":169,"line":273},[167,108412,282],{"class":173},[167,108414,299],{"class":177},[167,108416,185],{"class":173},[154,108418,108419],{"className":156,"code":55049,"filename":3969,"language":162,"meta":163,"style":163},[87,108420,108421],{"__ignoreMap":163},[167,108422,108423],{"class":169,"line":170},[167,108424,55049],{"class":173},[3083,108426,55059],{"id":55058},[15,108428,55062,108429,55065,108431,55068,108433,55072],{},[87,108430,23402],{},[3929,108432,52750],{},[9291,108434,55071],{},[3083,108436,55076],{"id":55075},[15,108438,55079],{},[154,108440,108441],{"className":51862,"code":55082,"filename":55083,"language":51866,"meta":163,"style":163},[87,108442,108443,108453,108457,108475,108479,108493,108505,108523,108527,108531,108541,108561,108565,108569,108575],{"__ignoreMap":163},[167,108444,108445,108447,108449,108451],{"class":169,"line":170},[167,108446,192],{"class":191},[167,108448,55092],{"class":173},[167,108450,198],{"class":191},[167,108452,55097],{"class":201},[167,108454,108455],{"class":169,"line":188},[167,108456,209],{"emptyLinePlaceholder":208},[167,108458,108459,108461,108463,108465,108467,108469,108471,108473],{"class":169,"line":205},[167,108460,216],{"class":191},[167,108462,55108],{"class":219},[167,108464,223],{"class":191},[167,108466,55113],{"class":181},[167,108468,229],{"class":173},[167,108470,55118],{"class":201},[167,108472,693],{"class":173},[167,108474,55123],{"class":18658},[167,108476,108477],{"class":169,"line":160},[167,108478,209],{"emptyLinePlaceholder":208},[167,108480,108481,108483,108485,108487,108489,108491],{"class":169,"line":238},[167,108482,608],{"class":191},[167,108484,1427],{"class":191},[167,108486,55136],{"class":181},[167,108488,229],{"class":173},[167,108490,55141],{"class":254},[167,108492,258],{"class":173},[167,108494,108495,108497,108499,108501,108503],{"class":169,"line":243},[167,108496,1438],{"class":191},[167,108498,55150],{"class":219},[167,108500,223],{"class":191},[167,108502,55108],{"class":181},[167,108504,55157],{"class":173},[167,108506,108507,108509,108511,108513,108515,108517,108519,108521],{"class":169,"line":261},[167,108508,55162],{"class":181},[167,108510,55165],{"class":173},[167,108512,55168],{"class":201},[167,108514,55171],{"class":173},[167,108516,639],{"class":191},[167,108518,55176],{"class":173},[167,108520,54497],{"class":191},[167,108522,235],{"class":173},[167,108524,108525],{"class":169,"line":273},[167,108526,48363],{"class":173},[167,108528,108529],{"class":169,"line":279},[167,108530,55189],{"class":18658},[167,108532,108533,108535,108537,108539],{"class":169,"line":289},[167,108534,55194],{"class":181},[167,108536,1488],{"class":173},[167,108538,639],{"class":191},[167,108540,1901],{"class":173},[167,108542,108543,108545,108547,108549,108551,108553,108555,108557,108559],{"class":169,"line":294},[167,108544,55205],{"class":181},[167,108546,55208],{"class":173},[167,108548,639],{"class":191},[167,108550,55213],{"class":201},[167,108552,55141],{"class":173},[167,108554,1675],{"class":201},[167,108556,23402],{"class":173},[167,108558,2356],{"class":201},[167,108560,235],{"class":173},[167,108562,108563],{"class":169,"line":304},[167,108564,8343],{"class":173},[167,108566,108567],{"class":169,"line":313},[167,108568,48363],{"class":173},[167,108570,108571,108573],{"class":169,"line":161},[167,108572,1534],{"class":191},[167,108574,55238],{"class":173},[167,108576,108577],{"class":169,"line":335},[167,108578,276],{"class":173},[15,108580,108581,55248],{},[3929,108582,55247],{},[22,108584,55252],{"id":55251},[56,108586,108587,108597],{},[59,108588,108589],{},[62,108590,108591,108593,108595],{},[65,108592,51975],{},[65,108594,55263],{},[65,108596,55266],{},[75,108598,108599,108611,108625,108637,108649],{},[62,108600,108601,108605,108607],{},[80,108602,108603],{},[3929,108604,55275],{},[80,108606,54766],{},[80,108608,108609],{},[3929,108610,55282],{},[62,108612,108613,108617,108621],{},[80,108614,108615],{},[3929,108616,55289],{},[80,108618,55292,108619],{},[87,108620,21726],{},[80,108622,108623],{},[3929,108624,54914],{},[62,108626,108627,108631,108633],{},[80,108628,108629],{},[3929,108630,55305],{},[80,108632,55308],{},[80,108634,108635],{},[3929,108636,55313],{},[62,108638,108639,108643,108645],{},[80,108640,108641],{},[3929,108642,55320],{},[80,108644,55323],{},[80,108646,55326,108647,6215],{},[87,108648,55329],{},[62,108650,108651,108655,108657],{},[80,108652,108653],{},[3929,108654,55336],{},[80,108656,55339],{},[80,108658,108659],{},[3929,108660,55344],{},[22,108662,55348],{"id":55347},[15,108664,55351],{},[3083,108666,55355],{"id":55354},[154,108668,108669],{"className":55358,"code":55359,"filename":55360,"language":55361,"meta":163,"style":163},[87,108670,108671],{"__ignoreMap":163},[167,108672,108673,108675,108677],{"class":169,"line":170},[167,108674,55360],{"class":181},[167,108676,55370],{"class":201},[167,108678,55373],{"class":201},[154,108680,108681],{"className":55358,"code":55376,"filename":55377,"language":55361,"meta":163,"style":163},[87,108682,108683],{"__ignoreMap":163},[167,108684,108685,108687,108689],{"class":169,"line":170},[167,108686,55377],{"class":181},[167,108688,55386],{"class":201},[167,108690,55373],{"class":201},[154,108692,108693],{"className":55358,"code":55391,"filename":55392,"language":55361,"meta":163,"style":163},[87,108694,108695],{"__ignoreMap":163},[167,108696,108697,108699,108701],{"class":169,"line":170},[167,108698,55392],{"class":181},[167,108700,55386],{"class":201},[167,108702,55373],{"class":201},[154,108704,108705],{"className":55358,"code":55405,"filename":55406,"language":55361,"meta":163,"style":163},[87,108706,108707],{"__ignoreMap":163},[167,108708,108709,108711,108713],{"class":169,"line":170},[167,108710,55406],{"class":181},[167,108712,55386],{"class":201},[167,108714,55373],{"class":201},[3083,108716,55420],{"id":55419},[15,108718,55423,108719,55427],{},[87,108720,55426],{},[154,108722,108724],{"className":51862,"code":55430,"filename":55431,"highlights":108723,"language":51866,"meta":163,"style":163},[261],[87,108725,108726,108736,108746,108750,108760,108764,108770,108779,108783,108787],{"__ignoreMap":163},[167,108727,108728,108730,108732,108734],{"class":169,"line":170},[167,108729,192],{"class":191},[167,108731,55441],{"class":173},[167,108733,198],{"class":191},[167,108735,55446],{"class":201},[167,108737,108738,108740,108742,108744],{"class":169,"line":188},[167,108739,192],{"class":191},[167,108741,55453],{"class":173},[167,108743,198],{"class":191},[167,108745,55458],{"class":201},[167,108747,108748],{"class":169,"line":205},[167,108749,209],{"emptyLinePlaceholder":208},[167,108751,108752,108754,108756,108758],{"class":169,"line":160},[167,108753,608],{"class":191},[167,108755,3987],{"class":191},[167,108757,55471],{"class":181},[167,108759,372],{"class":173},[167,108761,108762],{"class":169,"line":238},[167,108763,55478],{"class":173},[167,108765,108766,108768],{"class":169,"line":243},[167,108767,55483],{"class":181},[167,108769,372],{"class":173},[167,108771,108773,108775,108777],{"class":108772,"line":261},[169,213],[167,108774,55491],{"class":173},[167,108776,390],{"class":219},[167,108778,55496],{"class":18658},[167,108780,108781],{"class":169,"line":273},[167,108782,8922],{"class":173},[167,108784,108785],{"class":169,"line":279},[167,108786,55505],{"class":173},[167,108788,108789],{"class":169,"line":289},[167,108790,403],{"class":173},[3083,108792,55513],{"id":55512},[15,108794,55516,108795,55519],{},[87,108796,55426],{},[154,108798,108800],{"className":156,"code":55522,"filename":55523,"highlights":108799,"language":162,"meta":163,"style":163},[170],[87,108801,108802,108815,108819],{"__ignoreMap":163},[167,108803,108805,108807,108809,108811,108813],{"class":108804,"line":170},[169,213],[167,108806,174],{"class":173},[167,108808,178],{"class":177},[167,108810,182],{"class":181},[167,108812,55538],{"class":181},[167,108814,185],{"class":173},[167,108816,108817],{"class":169,"line":188},[167,108818,55545],{"class":18658},[167,108820,108821,108823,108825],{"class":169,"line":205},[167,108822,282],{"class":173},[167,108824,178],{"class":177},[167,108826,185],{"class":173},[22,108828,23570],{"id":23569},[15,108830,55558,108831,55562,108833,55565],{},[3929,108832,55561],{},[87,108834,54773],{},[924,108836,55568],{},{"title":163,"searchDepth":188,"depth":188,"links":108838},[108839,108842,108845,108850,108851,108856],{"id":54776,"depth":188,"text":54777,"children":108840},[108841],{"id":54790,"depth":205,"text":54791},{"id":54855,"depth":188,"text":55575,"children":108843},[108844],{"id":54869,"depth":205,"text":54870},{"id":54950,"depth":188,"text":54951,"children":108846},[108847,108848,108849],{"id":54957,"depth":205,"text":54958},{"id":55058,"depth":205,"text":55059},{"id":55075,"depth":205,"text":55076},{"id":55251,"depth":188,"text":55252},{"id":55347,"depth":188,"text":55348,"children":108852},[108853,108854,108855],{"id":55354,"depth":205,"text":55355},{"id":55419,"depth":205,"text":55420},{"id":55512,"depth":205,"text":55513},{"id":23569,"depth":188,"text":23570},{"updatedAt":52115,"coverCaption":55595,"author":945,"keywords":55596},[108859],{"headline":54738,"author":108860,"datePublished":55601,"@type":959},{"name":945,"@type":958},{"title":54738,"description":55593},[108863,108864,108865,108866,108867],{"tag":55606,"color":55607},{"tag":54783,"color":55609},{"tag":3265,"color":3266},{"tag":55612,"color":55613},{"tag":7726,"color":7727},{"id":55617,"title":55618,"body":108869,"cover":56577,"coverAlt":56578,"date":56579,"description":56580,"draft":1617,"extension":940,"lab":941,"locale":942,"meta":109701,"navigation":208,"path":56583,"schemaOrg":109702,"seo":109705,"series":941,"seriesDescription":941,"seriesOrder":941,"seriesTitle":941,"slug":941,"stem":56589,"tags":109706,"__hash__":56595},{"type":8,"value":108870,"toc":109689},[108871,108873,108877,108879,108881,108905,108907,108911,108921,108923,108925,108939,108953,108967,108981,108989,108991,108993,109009,109011,109013,109015,109025,109027,109037,109047,109057,109067,109071,109073,109075,109087,109097,109107,109119,109123,109125,109127,109159,109161,109165,109413,109659,109661,109687],[11,108872,55624],{"id":55623},[15,108874,55627,108875,55631],{},[3929,108876,55630],{},[22,108878,55635],{"id":55634},[15,108880,55638],{},[3031,108882,108883,108887,108893,108897,108901],{},[36,108884,108885,55646],{},[3929,108886,55645],{},[36,108888,108889,55652,108891,55656],{},[3929,108890,55651],{},[87,108892,55655],{},[36,108894,108895,55662],{},[3929,108896,55661],{},[36,108898,108899,55668],{},[3929,108900,55667],{},[36,108902,108903,55674],{},[3929,108904,55673],{},[22,108906,55678],{"id":55677},[15,108908,55681,108909,55685],{},[3929,108910,55684],{},[154,108912,108913],{"className":55358,"code":55688,"filename":55361,"language":55361,"meta":163,"style":163},[87,108914,108915],{"__ignoreMap":163},[167,108916,108917,108919],{"class":169,"line":170},[167,108918,55695],{"class":181},[167,108920,55698],{"class":219},[22,108922,55702],{"id":55701},[15,108924,55705],{},[154,108926,108927],{"className":55358,"code":55708,"filename":55360,"language":55361,"meta":163,"style":163},[87,108928,108929],{"__ignoreMap":163},[167,108930,108931,108933,108935,108937],{"class":169,"line":170},[167,108932,55360],{"class":181},[167,108934,55717],{"class":201},[167,108936,55720],{"class":201},[167,108938,55723],{"class":201},[154,108940,108941],{"className":55358,"code":55726,"filename":55377,"language":55361,"meta":163,"style":163},[87,108942,108943],{"__ignoreMap":163},[167,108944,108945,108947,108949,108951],{"class":169,"line":170},[167,108946,55377],{"class":181},[167,108948,55717],{"class":201},[167,108950,55737],{"class":201},[167,108952,55723],{"class":201},[154,108954,108955],{"className":55358,"code":55742,"filename":55392,"language":55361,"meta":163,"style":163},[87,108956,108957],{"__ignoreMap":163},[167,108958,108959,108961,108963,108965],{"class":169,"line":170},[167,108960,55392],{"class":181},[167,108962,55717],{"class":201},[167,108964,55737],{"class":201},[167,108966,55723],{"class":201},[154,108968,108969],{"className":55358,"code":55757,"filename":55406,"language":55361,"meta":163,"style":163},[87,108970,108971],{"__ignoreMap":163},[167,108972,108973,108975,108977,108979],{"class":169,"line":170},[167,108974,55406],{"class":181},[167,108976,55717],{"class":201},[167,108978,55737],{"class":201},[167,108980,55723],{"class":201},[5363,108982,108983],{},[15,108984,108985,16899,108987,55779],{},[3929,108986,53850],{},[87,108988,55778],{},[22,108990,55783],{"id":55782},[15,108992,55786],{},[3031,108994,108995,109001],{},[36,108996,108997,55794,108999,1675],{},[3929,108998,55793],{},[87,109000,26490],{},[36,109002,109003,55802,109005,55806,109007,55810],{},[3929,109004,55801],{},[87,109006,55805],{},[87,109008,55809],{},[22,109010,55814],{"id":55813},[15,109012,55817],{},[15,109014,55820],{},[154,109016,109017],{"className":55358,"code":55823,"filename":55361,"language":55361,"meta":163,"style":163},[87,109018,109019],{"__ignoreMap":163},[167,109020,109021,109023],{"class":169,"line":170},[167,109022,55830],{"class":219},[167,109024,55723],{"class":201},[15,109026,55835],{},[154,109028,109029],{"className":55358,"code":55838,"filename":55360,"language":55361,"meta":163,"style":163},[87,109030,109031],{"__ignoreMap":163},[167,109032,109033,109035],{"class":169,"line":170},[167,109034,55360],{"class":181},[167,109036,55847],{"class":201},[154,109038,109039],{"className":55358,"code":55850,"filename":55377,"language":55361,"meta":163,"style":163},[87,109040,109041],{"__ignoreMap":163},[167,109042,109043,109045],{"class":169,"line":170},[167,109044,55377],{"class":181},[167,109046,55847],{"class":201},[154,109048,109049],{"className":55358,"code":55861,"filename":55392,"language":55361,"meta":163,"style":163},[87,109050,109051],{"__ignoreMap":163},[167,109052,109053,109055],{"class":169,"line":170},[167,109054,55392],{"class":181},[167,109056,55847],{"class":201},[154,109058,109059],{"className":55358,"code":55872,"filename":55406,"language":55361,"meta":163,"style":163},[87,109060,109061],{"__ignoreMap":163},[167,109062,109063,109065],{"class":169,"line":170},[167,109064,55406],{"class":181},[167,109066,55847],{"class":201},[15,109068,55883,109069,55887],{},[87,109070,55886],{},[22,109072,55891],{"id":55890},[15,109074,55894],{},[154,109076,109077],{"className":55358,"code":55897,"filename":55360,"language":55361,"meta":163,"style":163},[87,109078,109079],{"__ignoreMap":163},[167,109080,109081,109083,109085],{"class":169,"line":170},[167,109082,55360],{"class":181},[167,109084,55906],{"class":201},[167,109086,55909],{"class":201},[154,109088,109089],{"className":55358,"code":55912,"filename":55377,"language":55361,"meta":163,"style":163},[87,109090,109091],{"__ignoreMap":163},[167,109092,109093,109095],{"class":169,"line":170},[167,109094,55377],{"class":181},[167,109096,55909],{"class":201},[154,109098,109099],{"className":55358,"code":55923,"filename":55392,"language":55361,"meta":163,"style":163},[87,109100,109101],{"__ignoreMap":163},[167,109102,109103,109105],{"class":169,"line":170},[167,109104,55392],{"class":181},[167,109106,55909],{"class":201},[154,109108,109109],{"className":55358,"code":55934,"filename":55406,"language":55361,"meta":163,"style":163},[87,109110,109111],{"__ignoreMap":163},[167,109112,109113,109115,109117],{"class":169,"line":170},[167,109114,55406],{"class":181},[167,109116,55906],{"class":201},[167,109118,55909],{"class":201},[15,109120,55947,109121,55951],{},[87,109122,55950],{},[22,109124,55955],{"id":55954},[15,109126,55958],{},[33,109128,109129,109135,109141,109147,109153],{},[36,109130,109131,55968],{},[3929,109132,109133],{},[87,109134,55967],{},[36,109136,109137,55976],{},[3929,109138,109139],{},[87,109140,55975],{},[36,109142,109143,55984],{},[3929,109144,109145],{},[87,109146,55983],{},[36,109148,109149,55992],{},[3929,109150,109151],{},[87,109152,55991],{},[36,109154,109155,55999],{},[3929,109156,109157],{},[87,109158,55431],{},[22,109160,56003],{"id":56002},[15,109162,56006,109163,56009],{},[87,109164,55983],{},[154,109166,109167],{"className":156,"code":56012,"filename":3256,"language":162,"meta":163,"style":163},[87,109168,109169,109177,109185,109197,109215,109223,109231,109235,109245,109257,109261,109265,109277,109293,109297,109301,109315,109323,109327,109335,109339,109349,109355,109365,109369,109375,109391,109401,109405],{"__ignoreMap":163},[167,109170,109171,109173,109175],{"class":169,"line":170},[167,109172,174],{"class":173},[167,109174,299],{"class":177},[167,109176,185],{"class":173},[167,109178,109179,109181,109183],{"class":169,"line":188},[167,109180,307],{"class":173},[167,109182,1237],{"class":177},[167,109184,185],{"class":173},[167,109186,109187,109189,109191,109193,109195],{"class":169,"line":205},[167,109188,1252],{"class":173},[167,109190,11],{"class":177},[167,109192,56039],{"class":173},[167,109194,11],{"class":177},[167,109196,185],{"class":173},[167,109198,109199,109201,109203,109205,109207,109209,109211,109213],{"class":169,"line":160},[167,109200,1252],{"class":173},[167,109202,507],{"class":177},[167,109204,1177],{"class":181},[167,109206,267],{"class":173},[167,109208,54536],{"class":201},[167,109210,56058],{"class":173},[167,109212,507],{"class":177},[167,109214,185],{"class":173},[167,109216,109217,109219,109221],{"class":169,"line":238},[167,109218,504],{"class":173},[167,109220,1237],{"class":177},[167,109222,185],{"class":173},[167,109224,109225,109227,109229],{"class":169,"line":243},[167,109226,282],{"class":173},[167,109228,299],{"class":177},[167,109230,185],{"class":173},[167,109232,109233],{"class":169,"line":261},[167,109234,209],{"emptyLinePlaceholder":208},[167,109236,109237,109239,109241,109243],{"class":169,"line":273},[167,109238,174],{"class":173},[167,109240,178],{"class":177},[167,109242,182],{"class":181},[167,109244,185],{"class":173},[167,109246,109247,109249,109251,109253,109255],{"class":169,"line":279},[167,109248,192],{"class":191},[167,109250,195],{"class":173},[167,109252,198],{"class":191},[167,109254,51440],{"class":201},[167,109256,24040],{"class":173},[167,109258,109259],{"class":169,"line":289},[167,109260,209],{"emptyLinePlaceholder":208},[167,109262,109263],{"class":169,"line":294},[167,109264,56113],{"class":18658},[167,109266,109267,109269,109271,109273,109275],{"class":169,"line":304},[167,109268,216],{"class":191},[167,109270,56120],{"class":219},[167,109272,223],{"class":191},[167,109274,56125],{"class":201},[167,109276,24040],{"class":173},[167,109278,109279,109281,109283,109285,109287,109289,109291],{"class":169,"line":313},[167,109280,216],{"class":191},[167,109282,56134],{"class":219},[167,109284,223],{"class":191},[167,109286,226],{"class":181},[167,109288,229],{"class":173},[167,109290,1956],{"class":219},[167,109292,24165],{"class":173},[167,109294,109295],{"class":169,"line":161},[167,109296,209],{"emptyLinePlaceholder":208},[167,109298,109299],{"class":169,"line":335},[167,109300,56153],{"class":18658},[167,109302,109303,109305,109307,109309,109311,109313],{"class":169,"line":341},[167,109304,216],{"class":191},[167,109306,54481],{"class":181},[167,109308,223],{"class":191},[167,109310,1464],{"class":173},[167,109312,639],{"class":191},[167,109314,1901],{"class":173},[167,109316,109317,109319,109321],{"class":169,"line":489},[167,109318,56172],{"class":173},[167,109320,54497],{"class":191},[167,109322,24040],{"class":173},[167,109324,109325],{"class":169,"line":495},[167,109326,24144],{"class":173},[167,109328,109329,109331,109333],{"class":169,"line":501},[167,109330,282],{"class":173},[167,109332,178],{"class":177},[167,109334,185],{"class":173},[167,109336,109337],{"class":169,"line":512},[167,109338,209],{"emptyLinePlaceholder":208},[167,109340,109341,109343,109345,109347],{"class":169,"line":781},[167,109342,174],{"class":173},[167,109344,924],{"class":177},[167,109346,56201],{"class":181},[167,109348,185],{"class":173},[167,109350,109351,109353],{"class":169,"line":786},[167,109352,11],{"class":177},[167,109354,1901],{"class":173},[167,109356,109357,109359,109361,109363],{"class":169,"line":2674},[167,109358,27135],{"class":219},[167,109360,1103],{"class":173},[167,109362,56218],{"class":219},[167,109364,24040],{"class":173},[167,109366,109367],{"class":169,"line":2688},[167,109368,276],{"class":173},[167,109370,109371,109373],{"class":169,"line":3571},[167,109372,507],{"class":177},[167,109374,1901],{"class":173},[167,109376,109377,109379,109381,109383,109385,109387,109389],{"class":169,"line":5024},[167,109378,27147],{"class":219},[167,109380,1103],{"class":173},[167,109382,56239],{"class":219},[167,109384,27169],{"class":191},[167,109386,56244],{"class":219},[167,109388,27169],{"class":191},[167,109390,24040],{"class":173},[167,109392,109393,109395,109397,109399],{"class":169,"line":5033},[167,109394,56253],{"class":219},[167,109396,1103],{"class":173},[167,109398,56258],{"class":219},[167,109400,24040],{"class":173},[167,109402,109403],{"class":169,"line":5042},[167,109404,276],{"class":173},[167,109406,109407,109409,109411],{"class":169,"line":6752},[167,109408,282],{"class":173},[167,109410,924],{"class":177},[167,109412,185],{"class":173},[154,109414,109415],{"className":156,"code":56275,"filename":3969,"language":162,"meta":163,"style":163},[87,109416,109417,109425,109433,109445,109463,109471,109479,109483,109491,109499,109507,109513,109519,109527,109533,109537,109541,109545,109551,109561,109565,109569,109573,109581,109585,109595,109601,109611,109615,109621,109637,109647,109651],{"__ignoreMap":163},[167,109418,109419,109421,109423],{"class":169,"line":170},[167,109420,174],{"class":173},[167,109422,299],{"class":177},[167,109424,185],{"class":173},[167,109426,109427,109429,109431],{"class":169,"line":188},[167,109428,307],{"class":173},[167,109430,1237],{"class":177},[167,109432,185],{"class":173},[167,109434,109435,109437,109439,109441,109443],{"class":169,"line":205},[167,109436,1252],{"class":173},[167,109438,11],{"class":177},[167,109440,56039],{"class":173},[167,109442,11],{"class":177},[167,109444,185],{"class":173},[167,109446,109447,109449,109451,109453,109455,109457,109459,109461],{"class":169,"line":160},[167,109448,1252],{"class":173},[167,109450,507],{"class":177},[167,109452,1177],{"class":181},[167,109454,267],{"class":173},[167,109456,54536],{"class":201},[167,109458,56058],{"class":173},[167,109460,507],{"class":177},[167,109462,185],{"class":173},[167,109464,109465,109467,109469],{"class":169,"line":238},[167,109466,504],{"class":173},[167,109468,1237],{"class":177},[167,109470,185],{"class":173},[167,109472,109473,109475,109477],{"class":169,"line":243},[167,109474,282],{"class":173},[167,109476,299],{"class":177},[167,109478,185],{"class":173},[167,109480,109481],{"class":169,"line":261},[167,109482,209],{"emptyLinePlaceholder":208},[167,109484,109485,109487,109489],{"class":169,"line":273},[167,109486,174],{"class":173},[167,109488,178],{"class":177},[167,109490,185],{"class":173},[167,109492,109493,109495,109497],{"class":169,"line":279},[167,109494,608],{"class":191},[167,109496,3987],{"class":191},[167,109498,1901],{"class":173},[167,109500,109501,109503,109505],{"class":169,"line":289},[167,109502,4394],{"class":173},[167,109504,56366],{"class":201},[167,109506,393],{"class":173},[167,109508,109509,109511],{"class":169,"line":294},[167,109510,7172],{"class":181},[167,109512,763],{"class":173},[167,109514,109515,109517],{"class":169,"line":304},[167,109516,1933],{"class":191},[167,109518,1901],{"class":173},[167,109520,109521,109523,109525],{"class":169,"line":313},[167,109522,56385],{"class":173},[167,109524,56388],{"class":201},[167,109526,393],{"class":173},[167,109528,109529,109531],{"class":169,"line":161},[167,109530,56395],{"class":173},[167,109532,10677],{"class":219},[167,109534,109535],{"class":169,"line":335},[167,109536,24366],{"class":173},[167,109538,109539],{"class":169,"line":341},[167,109540,398],{"class":173},[167,109542,109543],{"class":169,"line":489},[167,109544,4415],{"class":173},[167,109546,109547,109549],{"class":169,"line":495},[167,109548,54618],{"class":181},[167,109550,763],{"class":173},[167,109552,109553,109555,109557,109559],{"class":169,"line":501},[167,109554,741],{"class":219},[167,109556,56422],{"class":173},[167,109558,54497],{"class":191},[167,109560,24040],{"class":173},[167,109562,109563],{"class":169,"line":512},[167,109564,4045],{"class":173},[167,109566,109567],{"class":169,"line":781},[167,109568,3488],{"class":173},[167,109570,109571],{"class":169,"line":786},[167,109572,24144],{"class":173},[167,109574,109575,109577,109579],{"class":169,"line":2674},[167,109576,282],{"class":173},[167,109578,178],{"class":177},[167,109580,185],{"class":173},[167,109582,109583],{"class":169,"line":2688},[167,109584,209],{"emptyLinePlaceholder":208},[167,109586,109587,109589,109591,109593],{"class":169,"line":3571},[167,109588,174],{"class":173},[167,109590,924],{"class":177},[167,109592,56201],{"class":181},[167,109594,185],{"class":173},[167,109596,109597,109599],{"class":169,"line":5024},[167,109598,11],{"class":177},[167,109600,1901],{"class":173},[167,109602,109603,109605,109607,109609],{"class":169,"line":5033},[167,109604,27135],{"class":219},[167,109606,1103],{"class":173},[167,109608,56218],{"class":219},[167,109610,24040],{"class":173},[167,109612,109613],{"class":169,"line":5042},[167,109614,276],{"class":173},[167,109616,109617,109619],{"class":169,"line":6752},[167,109618,507],{"class":177},[167,109620,1901],{"class":173},[167,109622,109623,109625,109627,109629,109631,109633,109635],{"class":169,"line":6774},[167,109624,27147],{"class":219},[167,109626,1103],{"class":173},[167,109628,56239],{"class":219},[167,109630,27169],{"class":191},[167,109632,56244],{"class":219},[167,109634,27169],{"class":191},[167,109636,24040],{"class":173},[167,109638,109639,109641,109643,109645],{"class":169,"line":6779},[167,109640,56253],{"class":219},[167,109642,1103],{"class":173},[167,109644,56258],{"class":219},[167,109646,24040],{"class":173},[167,109648,109649],{"class":169,"line":6784},[167,109650,276],{"class":173},[167,109652,109653,109655,109657],{"class":169,"line":6789},[167,109654,282],{"class":173},[167,109656,924],{"class":177},[167,109658,185],{"class":173},[3083,109660,56528],{"id":56527},[33,109662,109663,109671,109679],{},[36,109664,109665,56537,109669,56540],{},[3929,109666,109667],{},[87,109668,31993],{},[87,109670,30564],{},[36,109672,109673,56547,109677,56550],{},[3929,109674,109675],{},[87,109676,1003],{},[87,109678,2081],{},[36,109680,109681,56557,109685,56561],{},[3929,109682,109683],{},[87,109684,26710],{},[87,109686,56560],{},[924,109688,56564],{},{"title":163,"searchDepth":188,"depth":188,"links":109690},[109691,109692,109693,109694,109695,109696,109697,109698],{"id":55634,"depth":188,"text":55635},{"id":55677,"depth":188,"text":55678},{"id":55701,"depth":188,"text":55702},{"id":55782,"depth":188,"text":55783},{"id":55813,"depth":188,"text":55814},{"id":55890,"depth":188,"text":55891},{"id":55954,"depth":188,"text":55955},{"id":56002,"depth":188,"text":56003,"children":109699},[109700],{"id":56527,"depth":205,"text":56528},{"updatedAt":52115,"coverCaption":56582},[109703],{"headline":55618,"author":109704,"datePublished":56587,"@type":959},{"name":945,"@type":958},{"title":55618,"description":56580},[109707,109708,109709],{"tag":55630,"color":56592},{"tag":55612,"color":55613},{"tag":5420,"color":5421},{"id":56597,"title":56598,"body":109711,"cover":56772,"coverAlt":56773,"date":56774,"description":56775,"draft":1617,"extension":940,"lab":941,"locale":942,"meta":109824,"navigation":208,"path":56778,"schemaOrg":109825,"seo":109828,"series":941,"seriesDescription":941,"seriesOrder":941,"seriesTitle":941,"slug":941,"stem":56784,"tags":109829,"__hash__":56788},{"type":8,"value":109712,"toc":109815},[109713,109715,109719,109721,109727,109731,109733,109737,109765,109771,109773,109775,109783,109785,109787,109805,109807],[11,109714,56604],{"id":56603},[15,109716,56607,109717,56610],{},[3929,109718,3254],{},[22,109720,56614],{"id":56613},[15,109722,56617,109723,56621,109725,56625],{},[3929,109724,56620],{},[9291,109726,56624],{},[15,109728,6300,109729,56631],{},[3929,109730,56630],{},[22,109732,56635],{"id":56634},[15,109734,56638,109735,56642],{},[3929,109736,56641],{},[3031,109738,109739,109743,109747,109753,109759],{},[36,109740,109741,56650],{},[3929,109742,56649],{},[36,109744,109745,56656],{},[3929,109746,56655],{},[36,109748,109749,56662,109751,1675],{},[3929,109750,56661],{},[9291,109752,56665],{},[36,109754,109755,56662,109757,56673],{},[3929,109756,56670],{},[9291,109758,949],{},[36,109760,109761,56679,109763,1675],{},[3929,109762,56678],{},[9291,109764,55630],{},[15,109766,56684,109767,56687,109769,56691],{},[87,109768,1003],{},[3929,109770,56690],{},[22,109772,56695],{"id":56694},[3083,109774,56699],{"id":56698},[15,109776,56702,109777,56706,109779,56710,109781,56713],{},[3929,109778,56705],{},[3929,109780,56709],{},[87,109782,54145],{},[3083,109784,56717],{"id":56716},[15,109786,56720],{},[33,109788,109789,109797,109801],{},[36,109790,109791,56728,109793,56731,109795,4266],{},[3929,109792,56727],{},[9291,109794,3969],{},[9291,109796,1626],{},[36,109798,109799,56739],{},[3929,109800,56738],{},[36,109802,109803,56745],{},[3929,109804,56744],{},[22,109806,56749],{"id":56748},[15,109808,56752,109809,56755,109811,56759,109813,56762],{},[3929,109810,55630],{},[3929,109812,56758],{},[3929,109814,949],{},{"title":163,"searchDepth":188,"depth":188,"links":109816},[109817,109818,109819,109823],{"id":56613,"depth":188,"text":56614},{"id":56634,"depth":188,"text":56635},{"id":56694,"depth":188,"text":56695,"children":109820},[109821,109822],{"id":56698,"depth":205,"text":56699},{"id":56716,"depth":205,"text":56717},{"id":56748,"depth":188,"text":56749},{"updatedAt":52115,"coverCaption":56777},[109826],{"headline":56598,"author":109827,"datePublished":56782,"@type":959},{"name":945,"@type":958},{"title":56598,"description":56775},[109830,109831],{"tag":54747,"color":54748},{"tag":55612,"color":55613},{"id":56790,"title":56791,"body":109833,"cover":57423,"coverAlt":55591,"date":57424,"description":57425,"draft":1617,"extension":940,"lab":941,"locale":942,"meta":110393,"navigation":208,"path":57429,"schemaOrg":110394,"seo":110397,"series":941,"seriesDescription":941,"seriesOrder":941,"seriesTitle":941,"slug":941,"stem":57435,"tags":110398,"__hash__":57440},{"type":8,"value":109834,"toc":110375},[109835,109837,109841,109845,109847,109849,109853,109857,109861,109865,109873,109875,109879,110085,110291,110297,110299,110301,110305,110315,110319,110327,110329,110333,110337,110341,110351,110355,110359,110363,110367,110369,110371,110373],[11,109836,56797],{"id":56796},[15,109838,56800,109839,56803],{},[3929,109840,3254],{},[15,109842,109843,56809],{},[3929,109844,56808],{},[15,109846,56812],{},[22,109848,56816],{"id":56815},[15,109850,56819,109851,56822],{},[3929,109852,56641],{},[3083,109854,109855],{"id":56825},[3929,109856,56828],{},[33,109858,109859],{},[36,109860,56833],{},[3083,109862,109863],{"id":56836},[3929,109864,56839],{},[33,109866,109867],{},[36,109868,56844,109869,56847,109871,56850],{},[3929,109870,56665],{},[3929,109872,949],{},[22,109874,56854],{"id":56853},[15,109876,56857,109877,56860],{},[87,109878,22876],{},[154,109880,109881],{"className":156,"code":56863,"filename":3256,"language":162,"meta":163,"style":163},[87,109882,109883,109893,109905,109909,109913,109929,109933,109937,109963,109967,109981,109989,109993,110001,110005,110013,110027,110039,110051,110069,110077],{"__ignoreMap":163},[167,109884,109885,109887,109889,109891],{"class":169,"line":170},[167,109886,174],{"class":173},[167,109888,178],{"class":177},[167,109890,182],{"class":181},[167,109892,185],{"class":173},[167,109894,109895,109897,109899,109901,109903],{"class":169,"line":188},[167,109896,192],{"class":191},[167,109898,18281],{"class":173},[167,109900,198],{"class":191},[167,109902,51440],{"class":201},[167,109904,24040],{"class":173},[167,109906,109907],{"class":169,"line":205},[167,109908,209],{"emptyLinePlaceholder":208},[167,109910,109911],{"class":169,"line":160},[167,109912,56896],{"class":18658},[167,109914,109915,109917,109919,109921,109923,109925,109927],{"class":169,"line":238},[167,109916,216],{"class":191},[167,109918,56134],{"class":219},[167,109920,223],{"class":191},[167,109922,226],{"class":181},[167,109924,229],{"class":173},[167,109926,1956],{"class":219},[167,109928,24165],{"class":173},[167,109930,109931],{"class":169,"line":243},[167,109932,209],{"emptyLinePlaceholder":208},[167,109934,109935],{"class":169,"line":261},[167,109936,56921],{"class":18658},[167,109938,109939,109941,109943,109945,109947,109949,109951,109953,109955,109957,109959,109961],{"class":169,"line":273},[167,109940,216],{"class":191},[167,109942,56928],{"class":219},[167,109944,223],{"class":191},[167,109946,1894],{"class":181},[167,109948,1488],{"class":173},[167,109950,639],{"class":191},[167,109952,56939],{"class":173},[167,109954,56942],{"class":191},[167,109956,18328],{"class":219},[167,109958,56947],{"class":191},[167,109960,44655],{"class":219},[167,109962,24165],{"class":173},[167,109964,109965],{"class":169,"line":279},[167,109966,209],{"emptyLinePlaceholder":208},[167,109968,109969,109971,109973,109975,109977,109979],{"class":169,"line":289},[167,109970,216],{"class":191},[167,109972,54481],{"class":181},[167,109974,223],{"class":191},[167,109976,1464],{"class":173},[167,109978,639],{"class":191},[167,109980,1901],{"class":173},[167,109982,109983,109985,109987],{"class":169,"line":294},[167,109984,56172],{"class":173},[167,109986,54497],{"class":191},[167,109988,24040],{"class":173},[167,109990,109991],{"class":169,"line":304},[167,109992,24144],{"class":173},[167,109994,109995,109997,109999],{"class":169,"line":313},[167,109996,282],{"class":173},[167,109998,178],{"class":177},[167,110000,185],{"class":173},[167,110002,110003],{"class":169,"line":161},[167,110004,209],{"emptyLinePlaceholder":208},[167,110006,110007,110009,110011],{"class":169,"line":335},[167,110008,174],{"class":173},[167,110010,299],{"class":177},[167,110012,185],{"class":173},[167,110014,110015,110017,110019,110021,110023,110025],{"class":169,"line":341},[167,110016,307],{"class":173},[167,110018,1237],{"class":177},[167,110020,1240],{"class":181},[167,110022,267],{"class":173},[167,110024,57014],{"class":201},[167,110026,185],{"class":173},[167,110028,110029,110031,110033,110035,110037],{"class":169,"line":489},[167,110030,1252],{"class":173},[167,110032,3083],{"class":177},[167,110034,56058],{"class":173},[167,110036,3083],{"class":177},[167,110038,185],{"class":173},[167,110040,110041,110043,110045,110047,110049],{"class":169,"line":495},[167,110042,1252],{"class":173},[167,110044,15],{"class":177},[167,110046,57037],{"class":173},[167,110048,15],{"class":177},[167,110050,185],{"class":173},[167,110052,110053,110055,110057,110059,110061,110063,110065,110067],{"class":169,"line":501},[167,110054,1252],{"class":173},[167,110056,507],{"class":177},[167,110058,1177],{"class":181},[167,110060,267],{"class":173},[167,110062,54536],{"class":201},[167,110064,50449],{"class":173},[167,110066,507],{"class":177},[167,110068,185],{"class":173},[167,110070,110071,110073,110075],{"class":169,"line":512},[167,110072,504],{"class":173},[167,110074,1237],{"class":177},[167,110076,185],{"class":173},[167,110078,110079,110081,110083],{"class":169,"line":781},[167,110080,282],{"class":173},[167,110082,299],{"class":177},[167,110084,185],{"class":173},[154,110086,110087],{"className":156,"code":57078,"filename":3969,"language":162,"meta":163,"style":163},[87,110088,110089,110097,110105,110111,110117,110123,110127,110131,110135,110141,110159,110163,110167,110171,110177,110187,110191,110195,110199,110207,110211,110219,110233,110245,110257,110275,110283],{"__ignoreMap":163},[167,110090,110091,110093,110095],{"class":169,"line":170},[167,110092,174],{"class":173},[167,110094,178],{"class":177},[167,110096,185],{"class":173},[167,110098,110099,110101,110103],{"class":169,"line":188},[167,110100,608],{"class":191},[167,110102,3987],{"class":191},[167,110104,1901],{"class":173},[167,110106,110107,110109],{"class":169,"line":205},[167,110108,7172],{"class":181},[167,110110,763],{"class":173},[167,110112,110113,110115],{"class":169,"line":160},[167,110114,1933],{"class":191},[167,110116,1901],{"class":173},[167,110118,110119,110121],{"class":169,"line":238},[167,110120,56395],{"class":173},[167,110122,10677],{"class":219},[167,110124,110125],{"class":169,"line":243},[167,110126,24366],{"class":173},[167,110128,110129],{"class":169,"line":261},[167,110130,398],{"class":173},[167,110132,110133],{"class":169,"line":273},[167,110134,8751],{"class":173},[167,110136,110137,110139],{"class":169,"line":279},[167,110138,57131],{"class":181},[167,110140,763],{"class":173},[167,110142,110143,110145,110147,110149,110151,110153,110155,110157],{"class":169,"line":289},[167,110144,8763],{"class":191},[167,110146,7347],{"class":219},[167,110148,57142],{"class":173},[167,110150,56942],{"class":191},[167,110152,18328],{"class":219},[167,110154,56947],{"class":191},[167,110156,44655],{"class":219},[167,110158,24040],{"class":173},[167,110160,110161],{"class":169,"line":294},[167,110162,4045],{"class":173},[167,110164,110165],{"class":169,"line":304},[167,110166,398],{"class":173},[167,110168,110169],{"class":169,"line":313},[167,110170,4415],{"class":173},[167,110172,110173,110175],{"class":169,"line":161},[167,110174,54618],{"class":181},[167,110176,763],{"class":173},[167,110178,110179,110181,110183,110185],{"class":169,"line":335},[167,110180,741],{"class":219},[167,110182,56422],{"class":173},[167,110184,54497],{"class":191},[167,110186,24040],{"class":173},[167,110188,110189],{"class":169,"line":341},[167,110190,4045],{"class":173},[167,110192,110193],{"class":169,"line":489},[167,110194,3488],{"class":173},[167,110196,110197],{"class":169,"line":495},[167,110198,24144],{"class":173},[167,110200,110201,110203,110205],{"class":169,"line":501},[167,110202,282],{"class":173},[167,110204,178],{"class":177},[167,110206,185],{"class":173},[167,110208,110209],{"class":169,"line":512},[167,110210,209],{"emptyLinePlaceholder":208},[167,110212,110213,110215,110217],{"class":169,"line":781},[167,110214,174],{"class":173},[167,110216,299],{"class":177},[167,110218,185],{"class":173},[167,110220,110221,110223,110225,110227,110229,110231],{"class":169,"line":786},[167,110222,307],{"class":173},[167,110224,1237],{"class":177},[167,110226,1240],{"class":181},[167,110228,267],{"class":173},[167,110230,57014],{"class":201},[167,110232,185],{"class":173},[167,110234,110235,110237,110239,110241,110243],{"class":169,"line":2674},[167,110236,1252],{"class":173},[167,110238,3083],{"class":177},[167,110240,56058],{"class":173},[167,110242,3083],{"class":177},[167,110244,185],{"class":173},[167,110246,110247,110249,110251,110253,110255],{"class":169,"line":2688},[167,110248,1252],{"class":173},[167,110250,15],{"class":177},[167,110252,57037],{"class":173},[167,110254,15],{"class":177},[167,110256,185],{"class":173},[167,110258,110259,110261,110263,110265,110267,110269,110271,110273],{"class":169,"line":3571},[167,110260,1252],{"class":173},[167,110262,507],{"class":177},[167,110264,1177],{"class":181},[167,110266,267],{"class":173},[167,110268,54536],{"class":201},[167,110270,50449],{"class":173},[167,110272,507],{"class":177},[167,110274,185],{"class":173},[167,110276,110277,110279,110281],{"class":169,"line":5024},[167,110278,504],{"class":173},[167,110280,1237],{"class":177},[167,110282,185],{"class":173},[167,110284,110285,110287,110289],{"class":169,"line":5033},[167,110286,282],{"class":173},[167,110288,299],{"class":177},[167,110290,185],{"class":173},[15,110292,57287,110293,57291,110295,57295],{},[87,110294,57290],{},[87,110296,57294],{},[22,110298,57299],{"id":57298},[15,110300,57302],{},[3083,110302,110303],{"id":57305},[3929,110304,57308],{},[33,110306,110307],{},[36,110308,57313,110309,1020,110311,1020,110313,57320],{},[87,110310,17979],{},[87,110312,17988],{},[87,110314,1657],{},[3083,110316,110317],{"id":57323},[3929,110318,56727],{},[33,110320,110321],{},[36,110322,57330,110323,57333,110325,1675],{},[3929,110324,953],{},[3929,110326,55809],{},[22,110328,57339],{"id":57338},[3083,110330,110331],{"id":57342},[3929,110332,57345],{},[33,110334,110335],{},[36,110336,57350],{},[3083,110338,110339],{"id":57353},[3929,110340,57356],{},[33,110342,110343],{},[36,110344,57361,110345,57364,110347,57367,110349,57371],{},[3929,110346,55630],{},[3929,110348,949],{},[3929,110350,57370],{},[3083,110352,110353],{"id":57374},[3929,110354,57377],{},[33,110356,110357],{},[36,110358,57382],{},[3083,110360,110361],{"id":57385},[3929,110362,57388],{},[33,110364,110365],{},[36,110366,57393],{},[22,110368,23570],{"id":23569},[15,110370,57398],{},[15,110372,57401],{},[924,110374,57404],{},{"title":163,"searchDepth":188,"depth":188,"links":110376},[110377,110381,110382,110386,110392],{"id":56815,"depth":188,"text":56816,"children":110378},[110379,110380],{"id":56825,"depth":205,"text":56828},{"id":56836,"depth":205,"text":56839},{"id":56853,"depth":188,"text":56854},{"id":57298,"depth":188,"text":57299,"children":110383},[110384,110385],{"id":57305,"depth":205,"text":57308},{"id":57323,"depth":205,"text":56727},{"id":57338,"depth":188,"text":57339,"children":110387},[110388,110389,110390,110391],{"id":57342,"depth":205,"text":57345},{"id":57353,"depth":205,"text":57356},{"id":57374,"depth":205,"text":57377},{"id":57385,"depth":205,"text":57388},{"id":23569,"depth":188,"text":23570},{"updatedAt":52115,"coverCaption":57427,"author":945,"keywords":57428},[110395],{"headline":56791,"author":110396,"datePublished":57433,"@type":959},{"name":945,"@type":958},{"title":56791,"description":57425},[110399,110400,110401],{"tag":55612,"color":55613},{"tag":5420,"color":5421},{"tag":54747,"color":54748},{"id":57442,"title":57443,"body":110403,"cover":57599,"coverAlt":57600,"date":57601,"description":57602,"draft":1617,"extension":940,"lab":941,"locale":942,"meta":110507,"navigation":208,"path":57605,"schemaOrg":110508,"seo":110511,"series":941,"seriesDescription":941,"seriesOrder":941,"seriesTitle":941,"slug":941,"stem":57611,"tags":110512,"__hash__":57618},{"type":8,"value":110404,"toc":110501},[110405,110409,110413,110421,110423,110425,110461,110463,110467,110471,110475,110477,110485,110487,110491,110493,110495],[11,110406,57449,110407,6637],{"id":57448},[3929,110408,945],{},[15,110410,57454,110411,57457],{},[3929,110412,3254],{},[15,110414,110415,57462,110417,1020,110419,57467],{},[3929,110416,945],{},[3929,110418,950],{},[3929,110420,6303],{},[22,110422,57471],{"id":57470},[15,110424,57474],{},[33,110426,110427,110435,110445,110451],{},[36,110428,110429,57482,110431,57485,110433,1675],{},[3929,110430,57481],{},[3929,110432,3256],{},[9291,110434,1626],{},[36,110436,110437,57493,110439,1020,110441,1020,110443,57502],{},[3929,110438,57492],{},[3929,110440,973],{},[3929,110442,57498],{},[3929,110444,57501],{},[36,110446,110447,57508,110449,57512],{},[3929,110448,57507],{},[9291,110450,57511],{},[36,110452,110453,57518,110455,1020,110457,1020,110459,57525],{},[3929,110454,57517],{},[3929,110456,949],{},[3929,110458,56665],{},[3929,110460,55630],{},[22,110462,57529],{"id":57528},[15,110464,57532,110465,1675],{},[3929,110466,57535],{},[15,110468,57538,110469,57542],{},[3929,110470,57541],{},[15,110472,57545,110473,57549],{},[3929,110474,57548],{},[22,110476,57553],{"id":57552},[15,110478,57556,110479,57559,110481,57563,110483,57567],{},[87,110480,1003],{},[9291,110482,57562],{},[9291,110484,57566],{},[22,110486,57571],{"id":57570},[15,110488,57574,110489,57577],{},[3929,110490,945],{},[15,110492,57580],{},[44263,110494],{},[15,110496,110497,57588,110499],{},[3929,110498,57587],{},[19088,110500,57592],{"href":57591},{"title":163,"searchDepth":188,"depth":188,"links":110502},[110503,110504,110505,110506],{"id":57470,"depth":188,"text":57471},{"id":57528,"depth":188,"text":57529},{"id":57552,"depth":188,"text":57553},{"id":57570,"depth":188,"text":57571},{"updatedAt":52115,"coverCaption":57604},[110509],{"headline":57443,"author":110510,"datePublished":57609,"@type":959},{"name":945,"@type":958},{"title":57443,"description":57602},[110513,110514,110515],{"tag":945,"color":55607},{"tag":57615,"color":57616},{"tag":55612,"color":55613},1784942433269]