@yuktishaalaa/yuktai 5.3.8 → 5.3.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +70 -949
- package/dist/{agent-JGLAYQMX.mjs → agent-G67IA7MY.mjs} +1 -1
- package/dist/chunk-P2PBML6K.mjs +11 -0
- package/dist/chunk-UO7IGXCC.mjs +13 -0
- package/dist/icons.d.mts +2 -1
- package/dist/icons.d.ts +2 -1
- package/dist/index.d.mts +35 -21
- package/dist/index.d.ts +35 -21
- package/dist/index.js +73 -68
- package/dist/index.mjs +42 -48
- package/dist/rag-Q3LUXSSD.mjs +1 -0
- package/dist/renderer.global.js +19 -26
- package/dist/transformers-rag-MQZRMFTG.mjs +1 -0
- package/package.json +7 -6
- package/vanilla/index.js +30 -15
- package/vanilla/index.min.js +31 -38
- package/dist/chunk-3VGU4YGK.mjs +0 -6
- package/dist/chunk-XQMQZMAH.mjs +0 -7
- package/dist/rag-MKBAGH6J.mjs +0 -1
- package/dist/transformers-rag-HW4QKA5T.mjs +0 -1
package/vanilla/index.min.js
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
/*! yuktai vanilla 5.3.
|
|
1
|
+
/*! yuktai vanilla 5.3.9 — accessible data grid, page agents and WCAG tools for plain HTML.
|
|
2
2
|
* No framework, no API keys, runs in the browser. ISC © Sandeep Miriyala, Yuktishaalaa AI Lab.
|
|
3
3
|
* Built from github.com/sandeepmiriyala03/yuktai (vanilla/src + src/agentic, src/grid, src/core; Rust engines: rust/grid-core, rust/rag-core). */
|
|
4
|
-
"use strict";(()=>{var Ir=Object.defineProperty;var dr=(e,A)=>{for(var t in A)Ir(e,t,{get:A[t],enumerable:!0})};var fi={};dr(fi,{AUDIT_RULES:()=>nA,DEFAULT_A11Y_SETTINGS:()=>lA,FONT_MAX:()=>pi,FONT_MIN:()=>hi,FONT_STEP:()=>ct,accessibleName:()=>he,aggregate:()=>$e,analyzePage:()=>Zt,answerGridQuestion:()=>$A,applyGridFilters:()=>ve,askAboutPage:()=>ZA,askInsight:()=>zA,auditToJSON:()=>XA,auditToMarkdown:()=>EA,clearFilters:()=>Lt,clearSort:()=>Ut,comparePeriods:()=>Ot,contrastRatio:()=>iA,countGrid:()=>Nt,createA11yCopilot:()=>jA,createContextIndex:()=>tt,createGridTools:()=>tA,createVoiceA11yController:()=>It,detectAnomalies:()=>qe,detectPageIntent:()=>_t,executeGridQuery:()=>Se,filterGrid:()=>Tt,findMentionedColumn:()=>de,getColumns:()=>Ft,getRow:()=>Rt,getRowId:()=>ie,gridPassages:()=>ri,groupBy:()=>zt,highlightRows:()=>AA,moveGridRowFocus:()=>mi,openRow:()=>mA,pagePassages:()=>ni,parseAmount:()=>fA,parseColor:()=>Re,parseGridQuery:()=>Fe,parseVoiceA11yCommand:()=>yi,planTasks:()=>QA,readFormFields:()=>Xt,relativeLuminance:()=>WA,reviewDesign:()=>it,reviewForm:()=>jt,reviewForms:()=>rA,runGridQuery:()=>Ht,runQaAudit:()=>pe,runTasks:()=>OA,searchGrid:()=>Gt,selectRow:()=>yA,sortGrid:()=>Yt,summarizeRows:()=>He,toGridToolColumns:()=>Ne,tokenize:()=>aA,trend:()=>Wt,wcagPlugin:()=>ze});var ur={en:{found:e=>`${e} row(s) found.`,count:e=>`${e} row(s).`,columns:"Grid columns retrieved.",rowFound:"Row found.",notFound:e=>`Row "${e}" not found.`,noneFound:"None of the given rows were found.",highlighted:e=>`${e} row(s) highlighted.`,selected:e=>`Row "${e}" selected.`,opened:e=>`Row "${e}" opened.`,notSupported:e=>`This grid does not support "${e}".`,emptyQuery:"Please enter something to search.",noIds:"No row IDs were given.",unknownColumn:e=>`Unknown column "${e}".`,badOperator:e=>`Unknown filter operator "${e}".`,badValue:"The filter value is not valid for this column.",filtered:e=>`Filter applied: ${e} row(s) match.`,filtersCleared:"All filters cleared.",sorted:(e,A)=>`Sorted by ${e} (${A==="asc"?"ascending":"descending"}).`,sortCleared:"Sorting cleared.",internal:"Something went wrong while running this action."},te:{found:e=>`${e} \u0C35\u0C30\u0C41\u0C38(\u0C32\u0C41) \u0C26\u0C4A\u0C30\u0C3F\u0C15\u0C3E\u0C2F\u0C3F.`,count:e=>`\u0C2E\u0C4A\u0C24\u0C4D\u0C24\u0C02 ${e} \u0C35\u0C30\u0C41\u0C38\u0C32\u0C41.`,columns:"\u0C15\u0C3E\u0C32\u0C2E\u0C4D\u200C\u0C32 \u0C35\u0C3F\u0C35\u0C30\u0C3E\u0C32\u0C41.",rowFound:"\u0C35\u0C30\u0C41\u0C38 \u0C26\u0C4A\u0C30\u0C3F\u0C15\u0C3F\u0C02\u0C26\u0C3F.",notFound:e=>`"${e}" \u0C35\u0C30\u0C41\u0C38 \u0C26\u0C4A\u0C30\u0C15\u0C32\u0C47\u0C26\u0C41.`,noneFound:"\u0C07\u0C1A\u0C4D\u0C1A\u0C3F\u0C28 \u0C35\u0C30\u0C41\u0C38\u0C32\u0C47\u0C35\u0C40 \u0C26\u0C4A\u0C30\u0C15\u0C32\u0C47\u0C26\u0C41.",highlighted:e=>`${e} \u0C35\u0C30\u0C41\u0C38(\u0C32\u0C41) \u0C39\u0C48\u0C32\u0C48\u0C1F\u0C4D \u0C1A\u0C47\u0C36\u0C3E\u0C28\u0C41.`,selected:e=>`"${e}" \u0C0E\u0C02\u0C1A\u0C41\u0C15\u0C41\u0C28\u0C4D\u0C28\u0C3E\u0C28\u0C41.`,opened:e=>`"${e}" \u0C24\u0C46\u0C30\u0C3F\u0C1A\u0C3E\u0C28\u0C41.`,notSupported:e=>`\u0C08 \u0C2A\u0C1F\u0C4D\u0C1F\u0C3F\u0C15\u0C32\u0C4B "${e}" \u0C38\u0C4C\u0C15\u0C30\u0C4D\u0C2F\u0C02 \u0C32\u0C47\u0C26\u0C41.`,emptyQuery:"\u0C35\u0C46\u0C24\u0C15\u0C21\u0C3E\u0C28\u0C3F\u0C15\u0C3F \u0C0F\u0C26\u0C48\u0C28\u0C3E \u0C30\u0C3E\u0C2F\u0C02\u0C21\u0C3F.",noIds:"\u0C35\u0C30\u0C41\u0C38 ID\u0C32\u0C41 \u0C07\u0C35\u0C4D\u0C35\u0C32\u0C47\u0C26\u0C41.",unknownColumn:e=>`"${e}" \u0C05\u0C28\u0C47 \u0C15\u0C3E\u0C32\u0C2E\u0C4D \u0C32\u0C47\u0C26\u0C41.`,badOperator:e=>`"${e}" \u0C05\u0C28\u0C47 \u0C2B\u0C3F\u0C32\u0C4D\u0C1F\u0C30\u0C4D \u0C35\u0C3F\u0C27\u0C3E\u0C28\u0C02 \u0C32\u0C47\u0C26\u0C41.`,badValue:"\u0C08 \u0C15\u0C3E\u0C32\u0C2E\u0C4D\u200C\u0C15\u0C3F \u0C08 \u0C2B\u0C3F\u0C32\u0C4D\u0C1F\u0C30\u0C4D \u0C35\u0C3F\u0C32\u0C41\u0C35 \u0C38\u0C30\u0C3F\u0C2A\u0C4B\u0C26\u0C41.",filtered:e=>`\u0C2B\u0C3F\u0C32\u0C4D\u0C1F\u0C30\u0C4D \u0C35\u0C47\u0C36\u0C3E\u0C28\u0C41: ${e} \u0C35\u0C30\u0C41\u0C38\u0C32\u0C41 \u0C38\u0C30\u0C3F\u0C2A\u0C4B\u0C2F\u0C3E\u0C2F\u0C3F.`,filtersCleared:"\u0C2B\u0C3F\u0C32\u0C4D\u0C1F\u0C30\u0C4D\u0C32\u0C28\u0C4D\u0C28\u0C40 \u0C24\u0C40\u0C38\u0C47\u0C36\u0C3E\u0C28\u0C41.",sorted:(e,A)=>`${e} \u0C2A\u0C4D\u0C30\u0C15\u0C3E\u0C30\u0C02 \u0C15\u0C4D\u0C30\u0C2E\u0C02 (${A==="asc"?"\u0C06\u0C30\u0C4B\u0C39\u0C23":"\u0C05\u0C35\u0C30\u0C4B\u0C39\u0C23"}).`,sortCleared:"\u0C15\u0C4D\u0C30\u0C2E\u0C02 \u0C24\u0C40\u0C38\u0C47\u0C36\u0C3E\u0C28\u0C41.",internal:"\u0C08 \u0C2A\u0C28\u0C3F \u0C1A\u0C47\u0C38\u0C4D\u0C24\u0C41\u0C02\u0C21\u0C17\u0C3E \u0C38\u0C2E\u0C38\u0C4D\u0C2F \u0C35\u0C1A\u0C4D\u0C1A\u0C3F\u0C02\u0C26\u0C3F."}};function Ce(e){return ur[e.locale??"en"]}function Be(e,A){return{success:!0,message:e,data:A}}function Z(e,A){return{success:!1,message:A,error:{code:e}}}var Ki=["contains","equals","startsWith","endsWith","greaterThan","lessThan","between"];function ie(e,A="id"){let t=e==null?void 0:e[A];return t==null?"":String(t)}function Ke(e){return String(e??"").normalize("NFC").toLowerCase().trim()}function qi(e){if(typeof e=="number")return Number.isFinite(e)?e:null;let A=String(e??"").trim();if(A==="")return null;let t=Number(A);return Number.isFinite(t)?t:null}function Hi(e){if(e instanceof Date)return e.getTime();let A=new Date(String(e??"")).getTime();return Number.isFinite(A)?A:null}function $i(e){return(Array.isArray(e)?e:typeof e=="string"?e.split(","):[]).map(t=>String(t).trim()).filter(Boolean)}function St(e,A){let t=Ke(A);return e.columns.find(i=>Ke(i.key)===t||Ke(i.label)===t)}function qA(e,A){return e.data.find(t=>ie(t,e.rowKey)===A)}function Cr(e,A){return e[A]}function hr(e,A,t){let i=Cr(e,t.key),o=t.type??"text";if(o==="number"||o==="date"){let a=o==="number"?qi:Hi,s=a(i);if(s===null)return!1;if(A.operator==="between"){let[I,u]=A.value,m=a(I),c=a(u);return m!==null&&c!==null&&s>=Math.min(m,c)&&s<=Math.max(m,c)}let l=a(A.value);if(l===null)return!1;switch(A.operator){case"equals":return s===l;case"greaterThan":return s>l;case"lessThan":return s<l;default:break}}let r=Ke(i),n=Ke(A.value);switch(A.operator){case"equals":return r===n;case"startsWith":return r.startsWith(n);case"endsWith":return r.endsWith(n);case"contains":return r.includes(n);default:return!1}}function pr(e,A){let t=A.type??"text",i=t==="date"?Hi:qi;return e.operator==="between"?t==="text"||!Array.isArray(e.value)||e.value.length!==2?!1:i(e.value[0])!==null&&i(e.value[1])!==null:e.operator==="greaterThan"||e.operator==="lessThan"?t!=="text"&&i(e.value)!==null:!Array.isArray(e.value)&&String(e.value).trim()!==""}function ve(e,A,t){return t.length?Pi({data:e,columns:A},t):e}function Ne(e){return e.map(A=>({key:String(A.key),label:A.label,type:A.type==="number"?"number":A.type==="date"?"date":"text"}))}function Pi(e,A){return e.data.filter(t=>A.every(i=>{let o=St(e,i.key);return o?hr(t,i,o):!0}))}function Gt(e,A){var n;let t=Ce(e),i=Ke(A);if(!i)return Z("INVALID_INPUT",t.emptyQuery);let o=e.data.filter(a=>e.columns.some(s=>Ke(a[s.key]).includes(i))),r=o.map(a=>ie(a,e.rowKey)).filter(Boolean);return(n=e.onHighlightRows)==null||n.call(e,r),Be(t.found(o.length),o)}function Nt(e){return Be(Ce(e).count(e.data.length),e.data.length)}function Ft(e){return Be(Ce(e).columns,e.columns)}function Rt(e,A){let t=Ce(e),i=String(A??"").trim();if(!i)return Z("INVALID_INPUT",t.noIds);let o=qA(e,i);return o?Be(t.rowFound,o):Z("NOT_FOUND",t.notFound(i))}function AA(e,A){let t=Ce(e),i=$i(A);if(i.length===0)return Z("INVALID_INPUT",t.noIds);if(!e.onHighlightRows)return Z("NOT_SUPPORTED",t.notSupported("highlight"));let o=i.filter(r=>qA(e,r)!==void 0);return o.length===0?Z("NOT_FOUND",t.noneFound):(e.onHighlightRows(o),Be(t.highlighted(o.length),o))}function yA(e,A){let t=Ce(e),i=String(A??"").trim();return i?e.onSelectRow?qA(e,i)?(e.onSelectRow(i),Be(t.selected(i),i)):Z("NOT_FOUND",t.notFound(i)):Z("NOT_SUPPORTED",t.notSupported("select")):Z("INVALID_INPUT",t.noIds)}function mA(e,A){let t=Ce(e),i=String(A??"").trim();return i?e.onOpenRow?qA(e,i)?(e.onOpenRow(i),Be(t.opened(i),i)):Z("NOT_FOUND",t.notFound(i)):Z("NOT_SUPPORTED",t.notSupported("open")):Z("INVALID_INPUT",t.noIds)}function Tt(e,A){let t=Ce(e),i=St(e,(A==null?void 0:A.key)??"");if(!i)return Z("INVALID_INPUT",t.unknownColumn(String((A==null?void 0:A.key)??"")));if(!Ki.includes(A.operator))return Z("INVALID_INPUT",t.badOperator(String(A.operator)));let o={...A,key:i.key};if(!pr(o,i))return Z("INVALID_INPUT",t.badValue);if(!e.onFiltersChange)return Z("NOT_SUPPORTED",t.notSupported("filter"));let r=[...(e.filters??[]).filter(a=>a.key!==i.key),o],n=Pi(e,r).length;return e.onFiltersChange(r),Be(t.filtered(n),{filters:r,count:n})}function Lt(e){let A=Ce(e);return e.onFiltersChange?(e.onFiltersChange([]),Be(A.filtersCleared,[])):Z("NOT_SUPPORTED",A.notSupported("clear filters"))}function Yt(e,A,t="asc"){let i=Ce(e),o=St(e,A);if(!o)return Z("INVALID_INPUT",i.unknownColumn(String(A)));if(t!=="asc"&&t!=="desc")return Z("INVALID_INPUT",i.badValue);if(!e.onSortChange)return Z("NOT_SUPPORTED",i.notSupported("sort"));let r={key:o.key,direction:t};return e.onSortChange(r),Be(i.sorted(o.label,t),r)}function Ut(e){let A=Ce(e);return e.onSortChange?(e.onSortChange(null),Be(A.sortCleared,null)):Z("NOT_SUPPORTED",A.notSupported("clear sort"))}var yr={search:"Search all columns for text. Matching rows are highlighted.",count:"Count the rows currently in the grid.",columns:"List the grid's columns with their keys, labels and types.",get_row:"Get one row by its ID.",highlight:"Highlight one or more rows by ID without filtering the grid.",select:"Select one row by ID.",open:"Open one row by ID to show its full details.",filter:"Filter the grid by one column. Replaces any existing filter on that column.",clear_filters:"Remove all filters.",sort:"Sort the grid by one column, ascending or descending.",clear_sort:"Remove sorting."},Ji={en:{search:"Search",count:"Count",columns:"Columns",get_row:"Get row",highlight:"Highlight",select:"Select",open:"Open",filter:"Filter",clear_filters:"Clear filters",sort:"Sort",clear_sort:"Clear sort"},te:{search:"\u0C35\u0C46\u0C24\u0C41\u0C15\u0C41",count:"\u0C32\u0C46\u0C15\u0C4D\u0C15",columns:"\u0C15\u0C3E\u0C32\u0C2E\u0C4D\u200C\u0C32\u0C41",get_row:"\u0C35\u0C30\u0C41\u0C38 \u0C1A\u0C42\u0C2A\u0C41",highlight:"\u0C39\u0C48\u0C32\u0C48\u0C1F\u0C4D",select:"\u0C0E\u0C02\u0C1A\u0C41\u0C15\u0C4B",open:"\u0C24\u0C46\u0C30\u0C41\u0C35\u0C41",filter:"\u0C2B\u0C3F\u0C32\u0C4D\u0C1F\u0C30\u0C4D",clear_filters:"\u0C2B\u0C3F\u0C32\u0C4D\u0C1F\u0C30\u0C4D\u0C32\u0C41 \u0C24\u0C40\u0C38\u0C47\u0C2F\u0C3F",sort:"\u0C15\u0C4D\u0C30\u0C2E\u0C02",clear_sort:"\u0C15\u0C4D\u0C30\u0C2E\u0C02 \u0C24\u0C40\u0C38\u0C47\u0C2F\u0C3F"}};async function mr(e,A){try{return A()}catch{return Z("INTERNAL",Ce(e).internal)}}function tA(e,A={}){let t=A.name??"yuktai_grid",i=Ji[e.locale??"en"],o=s=>{var l;return((l=A.descriptions)==null?void 0:l[s])??yr[s]},r={id:{type:"string",description:"Row ID"}},n=e.columns.map(s=>s.key);return[{id:"search",available:!0,schema:{type:"object",properties:{query:{type:"string"}},required:["query"]},run:s=>Gt(e,String(s.query??""))},{id:"count",available:!0,schema:{type:"object",properties:{}},run:()=>Nt(e)},{id:"columns",available:!0,schema:{type:"object",properties:{}},run:()=>Ft(e)},{id:"get_row",available:!0,schema:{type:"object",properties:r,required:["id"]},run:s=>Rt(e,String(s.id??""))},{id:"highlight",available:!!e.onHighlightRows,schema:{type:"object",properties:{ids:{type:"array",items:{type:"string"},description:"Row IDs"}},required:["ids"]},run:s=>AA(e,$i(s.ids))},{id:"select",available:!!e.onSelectRow,schema:{type:"object",properties:r,required:["id"]},run:s=>yA(e,String(s.id??""))},{id:"open",available:!!e.onOpenRow,schema:{type:"object",properties:r,required:["id"]},run:s=>mA(e,String(s.id??""))},{id:"filter",available:!!e.onFiltersChange,schema:{type:"object",properties:{key:{type:"string",enum:n},operator:{type:"string",enum:Ki},value:{description:"Text or number; for 'between' an array of two numbers or dates"}},required:["key","operator","value"]},run:s=>Tt(e,{key:String(s.key??""),operator:String(s.operator??""),value:s.value})},{id:"clear_filters",available:!!e.onFiltersChange,schema:{type:"object",properties:{}},run:()=>Lt(e)},{id:"sort",available:!!e.onSortChange,schema:{type:"object",properties:{key:{type:"string",enum:n},direction:{type:"string",enum:["asc","desc"]}},required:["key"]},run:s=>Yt(e,String(s.key??""),s.direction==="desc"?"desc":"asc")},{id:"clear_sort",available:!!e.onSortChange,schema:{type:"object",properties:{}},run:()=>Ut(e)}].filter(s=>s.available).map(s=>({name:`${t}_${s.id}`,title:Ji.en[s.id],description:o(s.id),label:i[s.id],inputSchema:s.schema,execute:l=>mr(e,()=>s.run(l??{}))}))}var xe=e=>String(e??"").normalize("NFC").toLowerCase().replace(/\s+/g," ").trim(),fr=new Set("show me find list get give which who what all the a an rows row records record entries with where that are is have has having and or of for in on to please display only those whose any".split(" "));function fA(e){let A=xe(e).replace(/(₹|rs\.?|inr|\$|usd|€|£)/g," ").match(/(-?\d[\d,]*(?:\.\d+)?|-?\.\d+)\s*(k|thousand|lakhs?|lacs?|crores?|cr|mn|million|m|bn|billion)?(?![\p{L}])/u);if(!A)return null;let t=Number(A[1].replace(/,/g,""));if(!Number.isFinite(t))return null;let i=A[2]??"",o=/^k|thousand/.test(i)?1e3:/^la/.test(i)?1e5:/^(crore|cr)/.test(i)?1e7:/^(m|mn|million)$/.test(i)?1e6:/^(bn|billion)$/.test(i)?1e9:1;return t*o}function Wi(e){let A=new Set([xe(e.label),xe(e.key),xe(e.key.replace(/[_-]+/g," ").replace(/([a-z])([A-Z])/g,"$1 $2"))]);for(let t of Array.from(A))t.endsWith("s")?A.add(t.slice(0,-1)):A.add(`${t}s`);return Array.from(A).filter(t=>t.length>1)}function de(e,A,t){let i=` ${xe(e)} `,o;for(let r of A)if(!(t&&(r.type??"text")!==t))for(let n of Wi(r)){let a=n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");new RegExp(`(^|[^\\p{L}\\p{M}\\p{N}])${a}($|[^\\p{L}\\p{M}\\p{N}])`,"u").test(i)&&(!o||n.length>o.length)&&(o={column:r,length:n.length})}return o==null?void 0:o.column}var Qr=/amount|balance|total|price|salary|value|due|revenue|cost|fee|sales|outstanding|paid/i;function Jt(e){let A=e.filter(t=>t.type==="number");return A.find(t=>Qr.test(`${t.key} ${t.label}`))??A[0]}var HA=/(>=|=>|>|\bover\b|\babove\b|\bmore than\b|\bgreater than\b|\bexceeds?\b|\bexceeding\b|\bhigher than\b|\bat least\b|\bminimum\b|\bmin\b|కంటే ఎక్కువ)/,Kt=/(<=|=<|<|\bunder\b|\bbelow\b|\bless than\b|\blower than\b|\bat most\b|\bmaximum\b|\bmax\b|\bup to\b|కంటే తక్కువ)/,zi=/\b(after|since|from)\b/,Br=/\b(before|until|till)\b/,Er="(?:\\s*(?:k|thousand|lakhs?|lacs?|crores?|cr|mn|million|m|bn|billion))?",qt=`(?:\u20B9|rs\\.?\\s*|\\$)?\\s*-?\\d[\\d,]*(?:\\.\\d+)?${Er}`;function Fe(e,A,t={}){var k;let i={filters:[],search:[],sort:null,limit:null,notes:[],explanation:""},o=xe(e).replace(/[?!]+/g," ").replace(/\.(?!\d)/g," ").trim(),r=[],n=o.match(/\b(top|first|bottom|last|lowest|highest)\s+(\d+)\b/);n&&(i.limit=Number(n[2]),o=o.replace(n[0],` ${n[1]} `));let a=o.match(/\b(?:sort(?:ed)?|order(?:ed)?)\s+by\s+([\p{L}\p{M}\p{N} _]+?)(?:\s+(asc|ascending|desc|descending))?(?=$|,|\band\b|\bthen\b)/u),s=o.match(/\b(top|highest|largest|biggest|most|bottom|lowest|smallest|least)\b(?:\s+\d+)?\s+(?:by\s+)?([\p{L}\p{M}\p{N} _]+)/u);if(a){let f=de(a[1],A);f&&(i.sort={key:f.key,direction:/^desc/.test(a[2]??"")?"desc":"asc"},o=o.replace(a[0]," "))}else if(s){let f=de(s[2],A,"number")??de(s[2],A)??Jt(A);if(f){let C=/top|highest|largest|biggest|most/.test(s[1]);i.sort={key:f.key,direction:C?"desc":"asc"},o=o.replace(new RegExp(`\\b${s[1]}\\b`)," "),!n&&/top|bottom/.test(s[1])&&(i.limit=10)}}let l=new RegExp(`\\bbetween\\s+(${qt}|\\d{4}-\\d{2}-\\d{2})\\s+(?:and|to|-)\\s+(${qt}|\\d{4}-\\d{2}-\\d{2})`,"u"),I;for(;I=o.match(l);){let f=o.slice(Math.max(0,(I.index??0)-40),I.index??0),C=/\d{4}-\d{2}-\d{2}/.test(I[1]),B=C?de(f,A,"date")??A.find(h=>h.type==="date"):de(f,A,"number")??Jt(A),v=C?I[1]:fA(I[1]),E=C?I[2]:fA(I[2]);B&&v!==null&&E!==null&&(i.filters.push({key:B.key,operator:"between",value:[v,E]}),r.push(`${B.label} between ${I[1]} and ${I[2]}`)),o=o.replace(I[0]," ")}let u=o.split(new RegExp("\\s*(?:(?<!\\d),|,(?!\\d)|;|\\band\\b|(?<!(?:starts?|starting|ends?|ending|begins?|beginning)\\s)\\bwith\\b|\\bwhere\\b|\\bwho\\b|\\bthat\\b|&|\u0C2E\u0C30\u0C3F\u0C2F\u0C41)\\s*","u")).map(f=>f.trim()).filter(Boolean),m=A.filter(f=>(f.type??"text")==="text"),c=new Map;for(let f of m){let C=new Set;for(let B of(t.data??[]).slice(0,5e3)){let v=xe(B[f.key]);if(v&&v.length<=40&&C.add(v),C.size>300)break}C.size&&C.size<=300&&c.set(f.key,C)}for(let f of u){let C=i.filters.length,B=de(f,A),v=f.match(new RegExp(qt,"u")),E=f.match(/\d{4}-\d{2}-\d{2}/);if(E&&(zi.test(f)||Br.test(f)||HA.test(f)||Kt.test(f))){let h=((B==null?void 0:B.type)==="date"?B:void 0)??A.find(p=>p.type==="date");if(h){let p=zi.test(f)||HA.test(f);i.filters.push({key:h.key,operator:p?"greaterThan":"lessThan",value:E[0]}),r.push(`${h.label} ${p?"after":"before"} ${E[0]}`)}}else if(v&&(HA.test(f)||Kt.test(f)||(B==null?void 0:B.type)==="number"&&/\b(is|equals?)\b|=/.test(f))){let h=(B==null?void 0:B.type)==="number"?B:void 0;h||(h=Jt(A),h&&i.notes.push(`Assumed "${f}" refers to ${h.label}.`));let p=fA(v[0]);if(h&&p!==null){let y=/at least|minimum|\bmin\b|>=|=>|at most|maximum|\bmax\b|up to|<=|=</.test(f);HA.test(f)?(i.filters.push({key:h.key,operator:"greaterThan",value:y?p-1e-9:p}),r.push(`${h.label} ${y?"\u2265":">"} ${p.toLocaleString("en-IN")}`)):Kt.test(f)?(i.filters.push({key:h.key,operator:"lessThan",value:y?p+1e-9:p}),r.push(`${h.label} ${y?"\u2264":"<"} ${p.toLocaleString("en-IN")}`)):(i.filters.push({key:h.key,operator:"equals",value:p}),r.push(`${h.label} = ${p.toLocaleString("en-IN")}`))}}else{let h=f.match(/\b(?:starts?|starting|begins?|beginning)\s+with\s+(.+)$/),p=f.match(/\b(?:ends?|ending)\s+with\s+(.+)$/),y=f.match(/\b(?:contains?|containing|including|includes?|mentions?)\s+(.+)$/),D=f.match(/\b(?:is|equals?|=|:)\s+(.+)$/),Q=h??p??y??D;if(Q){let x=B??m[0],G=Q[1].replace(/^["'“‘]|["'”’]$/g,"").trim();if(x&&G){let w=h?"startsWith":p?"endsWith":y?"contains":"equals";i.filters.push({key:x.key,operator:w,value:G}),r.push(`${x.label} ${w==="equals"?"is":w==="contains"?"contains":w==="startsWith"?"starts with":"ends with"} "${G}"`),B||i.notes.push(`Assumed "${f}" refers to ${x.label}.`)}}}if(i.filters.length===C)for(let[h,p]of c){let y="";for(let D of p){if(D.length<2||D.length<=y.length)continue;let Q=D.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");new RegExp(`(^|[^\\p{L}\\p{M}\\p{N}])${Q}($|[^\\p{L}\\p{M}\\p{N}])`,"u").test(f)&&(y=D)}if(y){let D=A.find(Q=>Q.key===h);i.filters.push({key:h,operator:"equals",value:y}),r.push(`${D.label} is "${y}"`)}}if(i.filters.length===C){let h=f.split(/\s+/).filter(y=>!fr.has(y)&&!/^(top|first|bottom|last|lowest|highest|by|desc|asc|sort(ed)?)$/.test(y)),p=h.length>0&&h.every(y=>A.some(D=>Wi(D).includes(y)));if(h.length&&!p&&!(B&&h.length===1)){let y=h.join(" ");/^(customers?|users?|people|items?|entries|poems?|orders?|products?|employees?|students?|members?)$/.test(y)||(i.search.push(y),r.push(`any column contains "${y}"`))}}}if(i.sort){let f=((k=A.find(C=>C.key===i.sort.key))==null?void 0:k.label)??i.sort.key;r.push(`sorted by ${f} ${i.sort.direction==="desc"?"high \u2192 low":"low \u2192 high"}`)}return i.limit&&r.push(`first ${i.limit}`),i.explanation=r.length?`Showing rows where ${r.join(", ")}.`:"No conditions understood \u2014 showing all rows.",i}function br(e,A,t){return t==="number"?(Number(e)||0)-(Number(A)||0):t==="date"?(new Date(String(e)).getTime()||0)-(new Date(String(A)).getTime()||0):String(e??"").localeCompare(String(A??""),void 0,{numeric:!0})}function Se(e,A,t){let i=ve(e,A,t.filters);for(let o of t.search)i=i.filter(r=>A.some(n=>xe(r[n.key]).includes(o)));if(t.sort){let o=A.find(n=>n.key===t.sort.key),r=t.sort.direction==="desc"?-1:1;i=[...i].sort((n,a)=>r*br(n[t.sort.key],a[t.sort.key],o==null?void 0:o.type))}return t.limit&&(i=i.slice(0,t.limit)),i}function Ht(e,A,t={}){var a,s,l;let i=Fe(e,A.columns,{data:A.data}),o=Se(A.data,A.columns,i),r=o.map(I=>ie(I,A.rowKey)).filter(Boolean);t.apply!==!1&&(i.filters.length&&((a=A.onFiltersChange)==null||a.call(A,i.filters)),i.sort&&((s=A.onSortChange)==null||s.call(A,i.sort)),r.length&&((l=A.onHighlightRows)==null||l.call(A,r)));let n=o.length?`${o.length} row(s) found. ${i.explanation}${i.notes.length?` (${i.notes.join(" ")})`:""}`:`No rows match. ${i.explanation}`;return{rows:o,ids:r,parsed:i,message:n}}function Oi(e,A){let t=(e.length-1)*A,i=Math.floor(t),o=t-i;return e[i+1]!==void 0?e[i]+o*(e[i+1]-e[i]):e[i]}function qe(e,A,t={}){let i=t.factor??1.5,o=[],r=A.filter(l=>l.type==="number"&&(!t.columns||t.columns.includes(l.key))),n=l=>l.toLocaleString("en-IN",{maximumFractionDigits:2});for(let l of r){let I=e.map(B=>Number(B[l.key])).filter(B=>Number.isFinite(B));if(I.length<5)continue;let u=[...I].sort((B,v)=>B-v),m=Oi(u,.25),c=Oi(u,.75),k=c-m;if(k===0)continue;let f=m-i*k,C=c+i*k;for(let B of e){let v=Number(B[l.key]);!Number.isFinite(v)||v>=f&&v<=C||o.push({rowId:ie(B,t.rowKey),column:l.key,label:l.label,value:v,kind:v>C?"high":"low",reason:`${l.label} ${n(v)} is far ${v>C?"above":"below"} the typical range (${n(m)}\u2013${n(c)}).`})}}let a=t.rowKey??"id",s=new Map;for(let l of e){let I=JSON.stringify(A.filter(c=>c.key!==a).map(c=>xe(l[c.key]))),u=ie(l,t.rowKey),m=s.get(I);m!==void 0?o.push({rowId:u,column:a,label:"Row",value:u,kind:"duplicate",reason:`Row ${u} has the same values as row ${m}.`}):s.set(I,u)}return o}function He(e,A){if(!e.length)return"No rows to summarise.";let t=[`${e.length} row(s).`],i=o=>o.toLocaleString("en-IN",{maximumFractionDigits:2});for(let o of A){let r=e.map(n=>n[o.key]);if(o.type==="number"){let n=r.map(Number).filter(Number.isFinite);if(!n.length)continue;let a=n.reduce((s,l)=>s+l,0);t.push(`${o.label}: total ${i(a)}, average ${i(a/n.length)}, range ${i(Math.min(...n))}\u2013${i(Math.max(...n))}.`)}else if(o.type==="date"){let n=r.map(s=>new Date(String(s)).getTime()).filter(Number.isFinite);if(!n.length)continue;let a=s=>new Date(s).toISOString().slice(0,10);t.push(`${o.label}: from ${a(Math.min(...n))} to ${a(Math.max(...n))}.`)}else{let n=new Map;for(let s of r){let l=String(s??"").trim();l&&n.set(l,(n.get(l)??0)+1)}if(n.size===0||n.size>Math.max(8,e.length/3))continue;let a=Array.from(n.entries()).sort((s,l)=>l[1]-s[1]).slice(0,4);t.push(`${o.label}: ${a.map(([s,l])=>`${s} (${l})`).join(", ")}.`)}}return t.join(`
|
|
5
|
-
`)}function
|
|
4
|
+
"use strict";(()=>{var dr=Object.defineProperty;var ur=(e,A)=>{for(var t in A)dr(e,t,{get:A[t],enumerable:!0})};var Qi={};ur(Qi,{AUDIT_RULES:()=>nA,DEFAULT_A11Y_SETTINGS:()=>lA,FONT_MAX:()=>yi,FONT_MIN:()=>pi,FONT_STEP:()=>It,accessibleName:()=>he,aggregate:()=>$e,analyzePage:()=>_t,answerGridQuestion:()=>PA,applyGridFilters:()=>ve,askAboutPage:()=>_A,askInsight:()=>OA,auditToJSON:()=>jA,auditToMarkdown:()=>EA,clearFilters:()=>Yt,clearSort:()=>Jt,comparePeriods:()=>Wt,contrastRatio:()=>iA,countGrid:()=>Ft,createA11yCopilot:()=>ZA,createContextIndex:()=>it,createGridTools:()=>tA,createVoiceA11yController:()=>dt,detectAnomalies:()=>qe,detectPageIntent:()=>ei,executeGridQuery:()=>Se,filterGrid:()=>Lt,findMentionedColumn:()=>de,getColumns:()=>Rt,getRow:()=>Tt,getRowId:()=>ie,gridPassages:()=>oi,groupBy:()=>Ot,highlightRows:()=>AA,moveGridRowFocus:()=>fi,openRow:()=>mA,pagePassages:()=>ri,parseAmount:()=>fA,parseColor:()=>Re,parseGridQuery:()=>Fe,parseVoiceA11yCommand:()=>mi,planTasks:()=>QA,readFormFields:()=>jt,relativeLuminance:()=>VA,reviewDesign:()=>nt,reviewForm:()=>Zt,reviewForms:()=>rA,runGridQuery:()=>$t,runQaAudit:()=>pe,runTasks:()=>WA,searchGrid:()=>Nt,selectRow:()=>yA,sortGrid:()=>Ut,summarizeRows:()=>He,toGridToolColumns:()=>Ne,tokenize:()=>aA,trend:()=>Vt,wcagPlugin:()=>ze});var Cr={en:{found:e=>`${e} row(s) found.`,count:e=>`${e} row(s).`,columns:"Grid columns retrieved.",rowFound:"Row found.",notFound:e=>`Row "${e}" not found.`,noneFound:"None of the given rows were found.",highlighted:e=>`${e} row(s) highlighted.`,selected:e=>`Row "${e}" selected.`,opened:e=>`Row "${e}" opened.`,notSupported:e=>`This grid does not support "${e}".`,emptyQuery:"Please enter something to search.",noIds:"No row IDs were given.",unknownColumn:e=>`Unknown column "${e}".`,badOperator:e=>`Unknown filter operator "${e}".`,badValue:"The filter value is not valid for this column.",filtered:e=>`Filter applied: ${e} row(s) match.`,filtersCleared:"All filters cleared.",sorted:(e,A)=>`Sorted by ${e} (${A==="asc"?"ascending":"descending"}).`,sortCleared:"Sorting cleared.",internal:"Something went wrong while running this action."},te:{found:e=>`${e} \u0C35\u0C30\u0C41\u0C38(\u0C32\u0C41) \u0C26\u0C4A\u0C30\u0C3F\u0C15\u0C3E\u0C2F\u0C3F.`,count:e=>`\u0C2E\u0C4A\u0C24\u0C4D\u0C24\u0C02 ${e} \u0C35\u0C30\u0C41\u0C38\u0C32\u0C41.`,columns:"\u0C15\u0C3E\u0C32\u0C2E\u0C4D\u200C\u0C32 \u0C35\u0C3F\u0C35\u0C30\u0C3E\u0C32\u0C41.",rowFound:"\u0C35\u0C30\u0C41\u0C38 \u0C26\u0C4A\u0C30\u0C3F\u0C15\u0C3F\u0C02\u0C26\u0C3F.",notFound:e=>`"${e}" \u0C35\u0C30\u0C41\u0C38 \u0C26\u0C4A\u0C30\u0C15\u0C32\u0C47\u0C26\u0C41.`,noneFound:"\u0C07\u0C1A\u0C4D\u0C1A\u0C3F\u0C28 \u0C35\u0C30\u0C41\u0C38\u0C32\u0C47\u0C35\u0C40 \u0C26\u0C4A\u0C30\u0C15\u0C32\u0C47\u0C26\u0C41.",highlighted:e=>`${e} \u0C35\u0C30\u0C41\u0C38(\u0C32\u0C41) \u0C39\u0C48\u0C32\u0C48\u0C1F\u0C4D \u0C1A\u0C47\u0C36\u0C3E\u0C28\u0C41.`,selected:e=>`"${e}" \u0C0E\u0C02\u0C1A\u0C41\u0C15\u0C41\u0C28\u0C4D\u0C28\u0C3E\u0C28\u0C41.`,opened:e=>`"${e}" \u0C24\u0C46\u0C30\u0C3F\u0C1A\u0C3E\u0C28\u0C41.`,notSupported:e=>`\u0C08 \u0C2A\u0C1F\u0C4D\u0C1F\u0C3F\u0C15\u0C32\u0C4B "${e}" \u0C38\u0C4C\u0C15\u0C30\u0C4D\u0C2F\u0C02 \u0C32\u0C47\u0C26\u0C41.`,emptyQuery:"\u0C35\u0C46\u0C24\u0C15\u0C21\u0C3E\u0C28\u0C3F\u0C15\u0C3F \u0C0F\u0C26\u0C48\u0C28\u0C3E \u0C30\u0C3E\u0C2F\u0C02\u0C21\u0C3F.",noIds:"\u0C35\u0C30\u0C41\u0C38 ID\u0C32\u0C41 \u0C07\u0C35\u0C4D\u0C35\u0C32\u0C47\u0C26\u0C41.",unknownColumn:e=>`"${e}" \u0C05\u0C28\u0C47 \u0C15\u0C3E\u0C32\u0C2E\u0C4D \u0C32\u0C47\u0C26\u0C41.`,badOperator:e=>`"${e}" \u0C05\u0C28\u0C47 \u0C2B\u0C3F\u0C32\u0C4D\u0C1F\u0C30\u0C4D \u0C35\u0C3F\u0C27\u0C3E\u0C28\u0C02 \u0C32\u0C47\u0C26\u0C41.`,badValue:"\u0C08 \u0C15\u0C3E\u0C32\u0C2E\u0C4D\u200C\u0C15\u0C3F \u0C08 \u0C2B\u0C3F\u0C32\u0C4D\u0C1F\u0C30\u0C4D \u0C35\u0C3F\u0C32\u0C41\u0C35 \u0C38\u0C30\u0C3F\u0C2A\u0C4B\u0C26\u0C41.",filtered:e=>`\u0C2B\u0C3F\u0C32\u0C4D\u0C1F\u0C30\u0C4D \u0C35\u0C47\u0C36\u0C3E\u0C28\u0C41: ${e} \u0C35\u0C30\u0C41\u0C38\u0C32\u0C41 \u0C38\u0C30\u0C3F\u0C2A\u0C4B\u0C2F\u0C3E\u0C2F\u0C3F.`,filtersCleared:"\u0C2B\u0C3F\u0C32\u0C4D\u0C1F\u0C30\u0C4D\u0C32\u0C28\u0C4D\u0C28\u0C40 \u0C24\u0C40\u0C38\u0C47\u0C36\u0C3E\u0C28\u0C41.",sorted:(e,A)=>`${e} \u0C2A\u0C4D\u0C30\u0C15\u0C3E\u0C30\u0C02 \u0C15\u0C4D\u0C30\u0C2E\u0C02 (${A==="asc"?"\u0C06\u0C30\u0C4B\u0C39\u0C23":"\u0C05\u0C35\u0C30\u0C4B\u0C39\u0C23"}).`,sortCleared:"\u0C15\u0C4D\u0C30\u0C2E\u0C02 \u0C24\u0C40\u0C38\u0C47\u0C36\u0C3E\u0C28\u0C41.",internal:"\u0C08 \u0C2A\u0C28\u0C3F \u0C1A\u0C47\u0C38\u0C4D\u0C24\u0C41\u0C02\u0C21\u0C17\u0C3E \u0C38\u0C2E\u0C38\u0C4D\u0C2F \u0C35\u0C1A\u0C4D\u0C1A\u0C3F\u0C02\u0C26\u0C3F."}};function Ce(e){return Cr[e.locale??"en"]}function Be(e,A){return{success:!0,message:e,data:A}}function Z(e,A){return{success:!1,message:A,error:{code:e}}}var qi=["contains","equals","startsWith","endsWith","greaterThan","lessThan","between"];function ie(e,A="id"){let t=e==null?void 0:e[A];return t==null?"":String(t)}function Ke(e){return String(e??"").normalize("NFC").toLowerCase().trim()}function Hi(e){if(typeof e=="number")return Number.isFinite(e)?e:null;let A=String(e??"").trim();if(A==="")return null;let t=Number(A);return Number.isFinite(t)?t:null}function $i(e){if(e instanceof Date)return e.getTime();let A=new Date(String(e??"")).getTime();return Number.isFinite(A)?A:null}function Pi(e){return(Array.isArray(e)?e:typeof e=="string"?e.split(","):[]).map(t=>String(t).trim()).filter(Boolean)}function Gt(e,A){let t=Ke(A);return e.columns.find(i=>Ke(i.key)===t||Ke(i.label)===t)}function HA(e,A){return e.data.find(t=>ie(t,e.rowKey)===A)}function hr(e,A){return e[A]}function pr(e,A,t){let i=hr(e,t.key),o=t.type??"text";if(o==="number"||o==="date"){let a=o==="number"?Hi:$i,s=a(i);if(s===null)return!1;if(A.operator==="between"){let[I,u]=A.value,m=a(I),c=a(u);return m!==null&&c!==null&&s>=Math.min(m,c)&&s<=Math.max(m,c)}let l=a(A.value);if(l===null)return!1;switch(A.operator){case"equals":return s===l;case"greaterThan":return s>l;case"lessThan":return s<l;default:break}}let r=Ke(i),n=Ke(A.value);switch(A.operator){case"equals":return r===n;case"startsWith":return r.startsWith(n);case"endsWith":return r.endsWith(n);case"contains":return r.includes(n);default:return!1}}function yr(e,A){let t=A.type??"text",i=t==="date"?$i:Hi;return e.operator==="between"?t==="text"||!Array.isArray(e.value)||e.value.length!==2?!1:i(e.value[0])!==null&&i(e.value[1])!==null:e.operator==="greaterThan"||e.operator==="lessThan"?t!=="text"&&i(e.value)!==null:!Array.isArray(e.value)&&String(e.value).trim()!==""}function ve(e,A,t){return t.length?zi({data:e,columns:A},t):e}function Ne(e){return e.map(A=>({key:String(A.key),label:A.label,type:A.type==="number"?"number":A.type==="date"?"date":"text"}))}function zi(e,A){return e.data.filter(t=>A.every(i=>{let o=Gt(e,i.key);return o?pr(t,i,o):!0}))}function Nt(e,A){var n;let t=Ce(e),i=Ke(A);if(!i)return Z("INVALID_INPUT",t.emptyQuery);let o=e.data.filter(a=>e.columns.some(s=>Ke(a[s.key]).includes(i))),r=o.map(a=>ie(a,e.rowKey)).filter(Boolean);return(n=e.onHighlightRows)==null||n.call(e,r),Be(t.found(o.length),o)}function Ft(e){return Be(Ce(e).count(e.data.length),e.data.length)}function Rt(e){return Be(Ce(e).columns,e.columns)}function Tt(e,A){let t=Ce(e),i=String(A??"").trim();if(!i)return Z("INVALID_INPUT",t.noIds);let o=HA(e,i);return o?Be(t.rowFound,o):Z("NOT_FOUND",t.notFound(i))}function AA(e,A){let t=Ce(e),i=Pi(A);if(i.length===0)return Z("INVALID_INPUT",t.noIds);if(!e.onHighlightRows)return Z("NOT_SUPPORTED",t.notSupported("highlight"));let o=i.filter(r=>HA(e,r)!==void 0);return o.length===0?Z("NOT_FOUND",t.noneFound):(e.onHighlightRows(o),Be(t.highlighted(o.length),o))}function yA(e,A){let t=Ce(e),i=String(A??"").trim();return i?e.onSelectRow?HA(e,i)?(e.onSelectRow(i),Be(t.selected(i),i)):Z("NOT_FOUND",t.notFound(i)):Z("NOT_SUPPORTED",t.notSupported("select")):Z("INVALID_INPUT",t.noIds)}function mA(e,A){let t=Ce(e),i=String(A??"").trim();return i?e.onOpenRow?HA(e,i)?(e.onOpenRow(i),Be(t.opened(i),i)):Z("NOT_FOUND",t.notFound(i)):Z("NOT_SUPPORTED",t.notSupported("open")):Z("INVALID_INPUT",t.noIds)}function Lt(e,A){let t=Ce(e),i=Gt(e,(A==null?void 0:A.key)??"");if(!i)return Z("INVALID_INPUT",t.unknownColumn(String((A==null?void 0:A.key)??"")));if(!qi.includes(A.operator))return Z("INVALID_INPUT",t.badOperator(String(A.operator)));let o={...A,key:i.key};if(!yr(o,i))return Z("INVALID_INPUT",t.badValue);if(!e.onFiltersChange)return Z("NOT_SUPPORTED",t.notSupported("filter"));let r=[...(e.filters??[]).filter(a=>a.key!==i.key),o],n=zi(e,r).length;return e.onFiltersChange(r),Be(t.filtered(n),{filters:r,count:n})}function Yt(e){let A=Ce(e);return e.onFiltersChange?(e.onFiltersChange([]),Be(A.filtersCleared,[])):Z("NOT_SUPPORTED",A.notSupported("clear filters"))}function Ut(e,A,t="asc"){let i=Ce(e),o=Gt(e,A);if(!o)return Z("INVALID_INPUT",i.unknownColumn(String(A)));if(t!=="asc"&&t!=="desc")return Z("INVALID_INPUT",i.badValue);if(!e.onSortChange)return Z("NOT_SUPPORTED",i.notSupported("sort"));let r={key:o.key,direction:t};return e.onSortChange(r),Be(i.sorted(o.label,t),r)}function Jt(e){let A=Ce(e);return e.onSortChange?(e.onSortChange(null),Be(A.sortCleared,null)):Z("NOT_SUPPORTED",A.notSupported("clear sort"))}var mr={search:"Search all columns for text. Matching rows are highlighted.",count:"Count the rows currently in the grid.",columns:"List the grid's columns with their keys, labels and types.",get_row:"Get one row by its ID.",highlight:"Highlight one or more rows by ID without filtering the grid.",select:"Select one row by ID.",open:"Open one row by ID to show its full details.",filter:"Filter the grid by one column. Replaces any existing filter on that column.",clear_filters:"Remove all filters.",sort:"Sort the grid by one column, ascending or descending.",clear_sort:"Remove sorting."},Ki={en:{search:"Search",count:"Count",columns:"Columns",get_row:"Get row",highlight:"Highlight",select:"Select",open:"Open",filter:"Filter",clear_filters:"Clear filters",sort:"Sort",clear_sort:"Clear sort"},te:{search:"\u0C35\u0C46\u0C24\u0C41\u0C15\u0C41",count:"\u0C32\u0C46\u0C15\u0C4D\u0C15",columns:"\u0C15\u0C3E\u0C32\u0C2E\u0C4D\u200C\u0C32\u0C41",get_row:"\u0C35\u0C30\u0C41\u0C38 \u0C1A\u0C42\u0C2A\u0C41",highlight:"\u0C39\u0C48\u0C32\u0C48\u0C1F\u0C4D",select:"\u0C0E\u0C02\u0C1A\u0C41\u0C15\u0C4B",open:"\u0C24\u0C46\u0C30\u0C41\u0C35\u0C41",filter:"\u0C2B\u0C3F\u0C32\u0C4D\u0C1F\u0C30\u0C4D",clear_filters:"\u0C2B\u0C3F\u0C32\u0C4D\u0C1F\u0C30\u0C4D\u0C32\u0C41 \u0C24\u0C40\u0C38\u0C47\u0C2F\u0C3F",sort:"\u0C15\u0C4D\u0C30\u0C2E\u0C02",clear_sort:"\u0C15\u0C4D\u0C30\u0C2E\u0C02 \u0C24\u0C40\u0C38\u0C47\u0C2F\u0C3F"}};async function fr(e,A){try{return A()}catch{return Z("INTERNAL",Ce(e).internal)}}function tA(e,A={}){let t=A.name??"yuktai_grid",i=Ki[e.locale??"en"],o=s=>{var l;return((l=A.descriptions)==null?void 0:l[s])??mr[s]},r={id:{type:"string",description:"Row ID"}},n=e.columns.map(s=>s.key);return[{id:"search",available:!0,schema:{type:"object",properties:{query:{type:"string"}},required:["query"]},run:s=>Nt(e,String(s.query??""))},{id:"count",available:!0,schema:{type:"object",properties:{}},run:()=>Ft(e)},{id:"columns",available:!0,schema:{type:"object",properties:{}},run:()=>Rt(e)},{id:"get_row",available:!0,schema:{type:"object",properties:r,required:["id"]},run:s=>Tt(e,String(s.id??""))},{id:"highlight",available:!!e.onHighlightRows,schema:{type:"object",properties:{ids:{type:"array",items:{type:"string"},description:"Row IDs"}},required:["ids"]},run:s=>AA(e,Pi(s.ids))},{id:"select",available:!!e.onSelectRow,schema:{type:"object",properties:r,required:["id"]},run:s=>yA(e,String(s.id??""))},{id:"open",available:!!e.onOpenRow,schema:{type:"object",properties:r,required:["id"]},run:s=>mA(e,String(s.id??""))},{id:"filter",available:!!e.onFiltersChange,schema:{type:"object",properties:{key:{type:"string",enum:n},operator:{type:"string",enum:qi},value:{description:"Text or number; for 'between' an array of two numbers or dates"}},required:["key","operator","value"]},run:s=>Lt(e,{key:String(s.key??""),operator:String(s.operator??""),value:s.value})},{id:"clear_filters",available:!!e.onFiltersChange,schema:{type:"object",properties:{}},run:()=>Yt(e)},{id:"sort",available:!!e.onSortChange,schema:{type:"object",properties:{key:{type:"string",enum:n},direction:{type:"string",enum:["asc","desc"]}},required:["key"]},run:s=>Ut(e,String(s.key??""),s.direction==="desc"?"desc":"asc")},{id:"clear_sort",available:!!e.onSortChange,schema:{type:"object",properties:{}},run:()=>Jt(e)}].filter(s=>s.available).map(s=>({name:`${t}_${s.id}`,title:Ki.en[s.id],description:o(s.id),label:i[s.id],inputSchema:s.schema,execute:l=>fr(e,()=>s.run(l??{}))}))}var xe=e=>String(e??"").normalize("NFC").toLowerCase().replace(/\s+/g," ").trim(),Qr=new Set("show me find list get give which who what all the a an rows row records record entries with where that are is have has having and or of for in on to please display only those whose any".split(" "));function fA(e){let A=xe(e).replace(/(₹|rs\.?|inr|\$|usd|€|£)/g," ").match(/(-?\d[\d,]*(?:\.\d+)?|-?\.\d+)\s*(k|thousand|lakhs?|lacs?|crores?|cr|mn|million|m|bn|billion)?(?![\p{L}])/u);if(!A)return null;let t=Number(A[1].replace(/,/g,""));if(!Number.isFinite(t))return null;let i=A[2]??"",o=/^k|thousand/.test(i)?1e3:/^la/.test(i)?1e5:/^(crore|cr)/.test(i)?1e7:/^(m|mn|million)$/.test(i)?1e6:/^(bn|billion)$/.test(i)?1e9:1;return t*o}function Vi(e){let A=new Set([xe(e.label),xe(e.key),xe(e.key.replace(/[_-]+/g," ").replace(/([a-z])([A-Z])/g,"$1 $2"))]);for(let t of Array.from(A))t.endsWith("s")?A.add(t.slice(0,-1)):A.add(`${t}s`);return Array.from(A).filter(t=>t.length>1)}function de(e,A,t){let i=` ${xe(e)} `,o;for(let r of A)if(!(t&&(r.type??"text")!==t))for(let n of Vi(r)){let a=n.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");new RegExp(`(^|[^\\p{L}\\p{M}\\p{N}])${a}($|[^\\p{L}\\p{M}\\p{N}])`,"u").test(i)&&(!o||n.length>o.length)&&(o={column:r,length:n.length})}return o==null?void 0:o.column}var Br=/amount|balance|total|price|salary|value|due|revenue|cost|fee|sales|outstanding|paid/i;function Kt(e){let A=e.filter(t=>t.type==="number");return A.find(t=>Br.test(`${t.key} ${t.label}`))??A[0]}var $A=/(>=|=>|>|\bover\b|\babove\b|\bmore than\b|\bgreater than\b|\bexceeds?\b|\bexceeding\b|\bhigher than\b|\bat least\b|\bminimum\b|\bmin\b|కంటే ఎక్కువ)/,qt=/(<=|=<|<|\bunder\b|\bbelow\b|\bless than\b|\blower than\b|\bat most\b|\bmaximum\b|\bmax\b|\bup to\b|కంటే తక్కువ)/,Oi=/\b(after|since|from)\b/,Er=/\b(before|until|till)\b/,br="(?:\\s*(?:k|thousand|lakhs?|lacs?|crores?|cr|mn|million|m|bn|billion))?",Ht=`(?:\u20B9|rs\\.?\\s*|\\$)?\\s*-?\\d[\\d,]*(?:\\.\\d+)?${br}`;function Fe(e,A,t={}){var k;let i={filters:[],search:[],sort:null,limit:null,notes:[],explanation:""},o=xe(e).replace(/[?!]+/g," ").replace(/\.(?!\d)/g," ").trim(),r=[],n=o.match(/\b(top|first|bottom|last|lowest|highest)\s+(\d+)\b/);n&&(i.limit=Number(n[2]),o=o.replace(n[0],` ${n[1]} `));let a=o.match(/\b(?:sort(?:ed)?|order(?:ed)?)\s+by\s+([\p{L}\p{M}\p{N} _]+?)(?:\s+(asc|ascending|desc|descending))?(?=$|,|\band\b|\bthen\b)/u),s=o.match(/\b(top|highest|largest|biggest|most|bottom|lowest|smallest|least)\b(?:\s+\d+)?\s+(?:by\s+)?([\p{L}\p{M}\p{N} _]+)/u);if(a){let f=de(a[1],A);f&&(i.sort={key:f.key,direction:/^desc/.test(a[2]??"")?"desc":"asc"},o=o.replace(a[0]," "))}else if(s){let f=de(s[2],A,"number")??de(s[2],A)??Kt(A);if(f){let C=/top|highest|largest|biggest|most/.test(s[1]);i.sort={key:f.key,direction:C?"desc":"asc"},o=o.replace(new RegExp(`\\b${s[1]}\\b`)," "),!n&&/top|bottom/.test(s[1])&&(i.limit=10)}}let l=new RegExp(`\\bbetween\\s+(${Ht}|\\d{4}-\\d{2}-\\d{2})\\s+(?:and|to|-)\\s+(${Ht}|\\d{4}-\\d{2}-\\d{2})`,"u"),I;for(;I=o.match(l);){let f=o.slice(Math.max(0,(I.index??0)-40),I.index??0),C=/\d{4}-\d{2}-\d{2}/.test(I[1]),B=C?de(f,A,"date")??A.find(h=>h.type==="date"):de(f,A,"number")??Kt(A),v=C?I[1]:fA(I[1]),E=C?I[2]:fA(I[2]);B&&v!==null&&E!==null&&(i.filters.push({key:B.key,operator:"between",value:[v,E]}),r.push(`${B.label} between ${I[1]} and ${I[2]}`)),o=o.replace(I[0]," ")}let u=o.split(new RegExp("\\s*(?:(?<!\\d),|,(?!\\d)|;|\\band\\b|(?<!(?:starts?|starting|ends?|ending|begins?|beginning)\\s)\\bwith\\b|\\bwhere\\b|\\bwho\\b|\\bthat\\b|&|\u0C2E\u0C30\u0C3F\u0C2F\u0C41)\\s*","u")).map(f=>f.trim()).filter(Boolean),m=A.filter(f=>(f.type??"text")==="text"),c=new Map;for(let f of m){let C=new Set;for(let B of(t.data??[]).slice(0,5e3)){let v=xe(B[f.key]);if(v&&v.length<=40&&C.add(v),C.size>300)break}C.size&&C.size<=300&&c.set(f.key,C)}for(let f of u){let C=i.filters.length,B=de(f,A),v=f.match(new RegExp(Ht,"u")),E=f.match(/\d{4}-\d{2}-\d{2}/);if(E&&(Oi.test(f)||Er.test(f)||$A.test(f)||qt.test(f))){let h=((B==null?void 0:B.type)==="date"?B:void 0)??A.find(p=>p.type==="date");if(h){let p=Oi.test(f)||$A.test(f);i.filters.push({key:h.key,operator:p?"greaterThan":"lessThan",value:E[0]}),r.push(`${h.label} ${p?"after":"before"} ${E[0]}`)}}else if(v&&($A.test(f)||qt.test(f)||(B==null?void 0:B.type)==="number"&&/\b(is|equals?)\b|=/.test(f))){let h=(B==null?void 0:B.type)==="number"?B:void 0;h||(h=Kt(A),h&&i.notes.push(`Assumed "${f}" refers to ${h.label}.`));let p=fA(v[0]);if(h&&p!==null){let y=/at least|minimum|\bmin\b|>=|=>|at most|maximum|\bmax\b|up to|<=|=</.test(f);$A.test(f)?(i.filters.push({key:h.key,operator:"greaterThan",value:y?p-1e-9:p}),r.push(`${h.label} ${y?"\u2265":">"} ${p.toLocaleString("en-IN")}`)):qt.test(f)?(i.filters.push({key:h.key,operator:"lessThan",value:y?p+1e-9:p}),r.push(`${h.label} ${y?"\u2264":"<"} ${p.toLocaleString("en-IN")}`)):(i.filters.push({key:h.key,operator:"equals",value:p}),r.push(`${h.label} = ${p.toLocaleString("en-IN")}`))}}else{let h=f.match(/\b(?:starts?|starting|begins?|beginning)\s+with\s+(.+)$/),p=f.match(/\b(?:ends?|ending)\s+with\s+(.+)$/),y=f.match(/\b(?:contains?|containing|including|includes?|mentions?)\s+(.+)$/),D=f.match(/\b(?:is|equals?|=|:)\s+(.+)$/),Q=h??p??y??D;if(Q){let x=B??m[0],G=Q[1].replace(/^["'“‘]|["'”’]$/g,"").trim();if(x&&G){let w=h?"startsWith":p?"endsWith":y?"contains":"equals";i.filters.push({key:x.key,operator:w,value:G}),r.push(`${x.label} ${w==="equals"?"is":w==="contains"?"contains":w==="startsWith"?"starts with":"ends with"} "${G}"`),B||i.notes.push(`Assumed "${f}" refers to ${x.label}.`)}}}if(i.filters.length===C)for(let[h,p]of c){let y="";for(let D of p){if(D.length<2||D.length<=y.length)continue;let Q=D.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");new RegExp(`(^|[^\\p{L}\\p{M}\\p{N}])${Q}($|[^\\p{L}\\p{M}\\p{N}])`,"u").test(f)&&(y=D)}if(y){let D=A.find(Q=>Q.key===h);i.filters.push({key:h,operator:"equals",value:y}),r.push(`${D.label} is "${y}"`)}}if(i.filters.length===C){let h=f.split(/\s+/).filter(y=>!Qr.has(y)&&!/^(top|first|bottom|last|lowest|highest|by|desc|asc|sort(ed)?)$/.test(y)),p=h.length>0&&h.every(y=>A.some(D=>Vi(D).includes(y)));if(h.length&&!p&&!(B&&h.length===1)){let y=h.join(" ");/^(customers?|users?|people|items?|entries|poems?|orders?|products?|employees?|students?|members?)$/.test(y)||(i.search.push(y),r.push(`any column contains "${y}"`))}}}if(i.sort){let f=((k=A.find(C=>C.key===i.sort.key))==null?void 0:k.label)??i.sort.key;r.push(`sorted by ${f} ${i.sort.direction==="desc"?"high \u2192 low":"low \u2192 high"}`)}return i.limit&&r.push(`first ${i.limit}`),i.explanation=r.length?`Showing rows where ${r.join(", ")}.`:"No conditions understood \u2014 showing all rows.",i}function wr(e,A,t){return t==="number"?(Number(e)||0)-(Number(A)||0):t==="date"?(new Date(String(e)).getTime()||0)-(new Date(String(A)).getTime()||0):String(e??"").localeCompare(String(A??""),void 0,{numeric:!0})}function Se(e,A,t){let i=ve(e,A,t.filters);for(let o of t.search)i=i.filter(r=>A.some(n=>xe(r[n.key]).includes(o)));if(t.sort){let o=A.find(n=>n.key===t.sort.key),r=t.sort.direction==="desc"?-1:1;i=[...i].sort((n,a)=>r*wr(n[t.sort.key],a[t.sort.key],o==null?void 0:o.type))}return t.limit&&(i=i.slice(0,t.limit)),i}function $t(e,A,t={}){var a,s,l;let i=Fe(e,A.columns,{data:A.data}),o=Se(A.data,A.columns,i),r=o.map(I=>ie(I,A.rowKey)).filter(Boolean);t.apply!==!1&&(i.filters.length&&((a=A.onFiltersChange)==null||a.call(A,i.filters)),i.sort&&((s=A.onSortChange)==null||s.call(A,i.sort)),r.length&&((l=A.onHighlightRows)==null||l.call(A,r)));let n=o.length?`${o.length} row(s) found. ${i.explanation}${i.notes.length?` (${i.notes.join(" ")})`:""}`:`No rows match. ${i.explanation}`;return{rows:o,ids:r,parsed:i,message:n}}function Wi(e,A){let t=(e.length-1)*A,i=Math.floor(t),o=t-i;return e[i+1]!==void 0?e[i]+o*(e[i+1]-e[i]):e[i]}function qe(e,A,t={}){let i=t.factor??1.5,o=[],r=A.filter(l=>l.type==="number"&&(!t.columns||t.columns.includes(l.key))),n=l=>l.toLocaleString("en-IN",{maximumFractionDigits:2});for(let l of r){let I=e.map(B=>Number(B[l.key])).filter(B=>Number.isFinite(B));if(I.length<5)continue;let u=[...I].sort((B,v)=>B-v),m=Wi(u,.25),c=Wi(u,.75),k=c-m;if(k===0)continue;let f=m-i*k,C=c+i*k;for(let B of e){let v=Number(B[l.key]);!Number.isFinite(v)||v>=f&&v<=C||o.push({rowId:ie(B,t.rowKey),column:l.key,label:l.label,value:v,kind:v>C?"high":"low",reason:`${l.label} ${n(v)} is far ${v>C?"above":"below"} the typical range (${n(m)}\u2013${n(c)}).`})}}let a=t.rowKey??"id",s=new Map;for(let l of e){let I=JSON.stringify(A.filter(c=>c.key!==a).map(c=>xe(l[c.key]))),u=ie(l,t.rowKey),m=s.get(I);m!==void 0?o.push({rowId:u,column:a,label:"Row",value:u,kind:"duplicate",reason:`Row ${u} has the same values as row ${m}.`}):s.set(I,u)}return o}function He(e,A){if(!e.length)return"No rows to summarise.";let t=[`${e.length} row(s).`],i=o=>o.toLocaleString("en-IN",{maximumFractionDigits:2});for(let o of A){let r=e.map(n=>n[o.key]);if(o.type==="number"){let n=r.map(Number).filter(Number.isFinite);if(!n.length)continue;let a=n.reduce((s,l)=>s+l,0);t.push(`${o.label}: total ${i(a)}, average ${i(a/n.length)}, range ${i(Math.min(...n))}\u2013${i(Math.max(...n))}.`)}else if(o.type==="date"){let n=r.map(s=>new Date(String(s)).getTime()).filter(Number.isFinite);if(!n.length)continue;let a=s=>new Date(s).toISOString().slice(0,10);t.push(`${o.label}: from ${a(Math.min(...n))} to ${a(Math.max(...n))}.`)}else{let n=new Map;for(let s of r){let l=String(s??"").trim();l&&n.set(l,(n.get(l)??0)+1)}if(n.size===0||n.size>Math.max(8,e.length/3))continue;let a=Array.from(n.entries()).sort((s,l)=>l[1]-s[1]).slice(0,4);t.push(`${o.label}: ${a.map(([s,l])=>`${s} (${l})`).join(", ")}.`)}}return t.join(`
|
|
5
|
+
`)}function PA(e,A){var o;let t=xe(e);if(/unusual|anomal|outlier|odd|strange|suspicious|duplicate|అసాధారణ/.test(t)){let r=qe(A.data,A.columns,{rowKey:A.rowKey}),n=Array.from(new Set(r.map(s=>s.rowId)));n.length&&((o=A.onHighlightRows)==null||o.call(A,n));let a=new Set(n);return{kind:"anomalies",message:r.length?`${n.length} unusual row(s):
|
|
6
6
|
${r.slice(0,10).map(s=>`\u2022 ${s.reason}`).join(`
|
|
7
|
-
`)}`:"Nothing unusual found.",ids:n,rows:A.data.filter(s=>a.has(ie(s,A.rowKey))),anomalies:r}}if(/summar|overview|describe|సారాంశం/.test(t)){let r=ve(A.data,A.columns,A.filters??[]);return{kind:"summary",message:He(r,A.columns),ids:[],rows:r}}let i=Ht(e,A);return{kind:"query",message:i.message,ids:i.ids,rows:i.rows}}var PA=e=>{let A=typeof e=="number"?e:Number(String(e??"").replace(/[,₹$%\s]/g,""));return Number.isFinite(A)?A:null},Vi=e=>{let A=e instanceof Date?e.getTime():new Date(String(e??"")).getTime();return Number.isFinite(A)?A:null};function $e(e,A){if(A==="count")return e.length;if(!e.length)return 0;switch(A){case"sum":return e.reduce((t,i)=>t+i,0);case"avg":return e.reduce((t,i)=>t+i,0)/e.length;case"min":return Math.min(...e);case"max":return Math.max(...e)}}function zt(e,A,t,i="sum"){let o=new Map;for(let r of e){let n=String(r[A]??"\u2014").trim()||"\u2014",a=o.get(n)??[];if(t===null||i==="count")a.push(1);else{let s=PA(r[t]);s!==null&&a.push(s)}o.set(n,a)}return Array.from(o.entries()).map(([r,n])=>({group:r,value:$e(n,i),count:n.length})).sort((r,n)=>n.value-r.value)}function Xi(e,A,t=1){let i=new Date(e);return i.setHours(0,0,0,0),A==="week"&&i.setDate(i.getDate()-(i.getDay()-t+7)%7),A==="month"&&i.setDate(1),A==="quarter"&&i.setMonth(Math.floor(i.getMonth()/3)*3,1),A==="year"&&i.setMonth(0,1),i}function Pt(e,A,t){let i=new Date(e);return A==="day"&&i.setDate(i.getDate()+t),A==="week"&&i.setDate(i.getDate()+7*t),A==="month"&&i.setMonth(i.getMonth()+t),A==="quarter"&&i.setMonth(i.getMonth()+3*t),A==="year"&&i.setFullYear(i.getFullYear()+t),i}function Ot(e,A){let t=A.referenceDate?new Date(A.referenceDate):new Date,i=Xi(t,A.period,A.weekStartsOn),o=A.toDate===!1?Pt(i,A.period,1):new Date(Math.max(t.getTime()+1,i.getTime()+1)),r=Pt(i,A.period,-1),n=A.toDate===!1?i:new Date(r.getTime()+(o.getTime()-i.getTime())),a=A.agg??"sum",s=new Map,l=new Map;for(let m of e){let c=Vi(m[A.dateKey]);if(c===null)continue;let k=c>=i.getTime()&&c<o.getTime()?s:c>=r.getTime()&&c<n.getTime()?l:null;if(!k)continue;let f=A.groupKey?String(m[A.groupKey]??"\u2014"):"All",C=a==="count"?1:PA(m[A.metricKey]);C!==null&&k.set(f,[...k.get(f)??[],C])}let I=new Set([...s.keys(),...l.keys()]),u=Array.from(I).map(m=>{let c=$e(s.get(m)??[],a),k=$e(l.get(m)??[],a);return{group:m,current:c,previous:k,change:c-k,changePct:k===0?null:(c-k)/Math.abs(k)*100}});return{period:A.period,current:{from:i,to:o},previous:{from:r,to:n},rows:u}}function Wt(e,A,t,i,o="sum"){let r=new Map;for(let n of e){let a=Vi(n[A]),s=o==="count"?1:PA(n[t]);if(a===null||s===null)continue;let l=Xi(new Date(a),i).getTime();r.set(l,[...r.get(l)??[],s])}return Array.from(r.entries()).sort((n,a)=>n[0]-a[0]).map(([n,a])=>({start:new Date(n),value:$e(a,o)}))}var wr=/rate|conversion|ratio|percent|%|score|rating|margin|ctr|avg|average/i;function vr(e){let A=e.match(/\b(today|yesterday|this|last|previous|past)\s*(day|week|month|quarter|year)?\b/);return A?A[1]==="today"?{period:"day",shift:0}:A[1]==="yesterday"?{period:"day",shift:-1}:A[2]?{period:A[2],shift:A[1]==="this"?0:-1}:null:null}var se=e=>e.toLocaleString("en-IN",{maximumFractionDigits:2}),$t=e=>e===null?"new":`${e>0?"+":""}${e.toFixed(1)}%`;function zA(e,A,t,i={}){var E;let o=e.toLowerCase(),r=t.filter(h=>h.type==="number"),n=de(o,t,"number")??r.find(h=>/amount|revenue|sales|total|value/i.test(`${h.key} ${h.label}`))??r[0],a=t.find(h=>h.type==="date")??t.find(h=>/date|time|day|created|month/i.test(`${h.key} ${h.label}`)),s=((E=o.match(/\b(?:which|by|per|each|across|every|top|for each)\s+([\p{L}\p{M}\p{N} _]+)/u))==null?void 0:E[1])??"",l=de(s,t,"text"),I=/how many|number of|count/.test(o),u=I?"count":/average|avg|mean/.test(o)?"avg":/\btotal\b|\bsum\b/.test(o)?"sum":n&&wr.test(`${n.key} ${n.label}`)?"avg":"sum",m=/drop|decline|decrease|fell|fall|down|worst|lost|shrink|reduc/.test(o),c=/increase|growth|grew|rise|rose|up\b|best|improv|gain/.test(o),k=/lowest|least|smallest|bottom|worst|minimum/.test(o),f=vr(o);if(!n&&!I)return{kind:"unknown",answer:"I couldn't find a numeric column to analyse.",table:[]};let C=I?"rows":n.label;if(f&&a&&(c||m||/change|compare|vs|versus/.test(o))){let h=i.referenceDate?new Date(i.referenceDate):new Date,p=f.shift?Pt(h,f.period,f.shift):h,D=[...Ot(A,{dateKey:a.key,metricKey:(n==null?void 0:n.key)??a.key,groupKey:l==null?void 0:l.key,agg:u,period:f.period,referenceDate:p,toDate:f.shift===0}).rows].sort((R,H)=>m?R.change-H.change:H.change-R.change),Q=D.map(R=>({[(l==null?void 0:l.label)??"Group"]:R.group,Current:se(R.current),Previous:se(R.previous),Change:se(R.change),"Change %":$t(R.changePct)}));if(!D.length)return{kind:"period-change",answer:`No ${C} data in this ${f.period} or the one before.`,table:Q};let x=D[0],G=`${f.shift?"last":"this"} ${f.period} vs the ${f.period} before`,w=x.change===0?"did not change":x.change<0?`dropped ${se(Math.abs(x.change))}`:`rose ${se(x.change)}`,M=`${C} ${w} (${se(x.previous)} \u2192 ${se(x.current)}, ${$t(x.changePct)}) \u2014 ${G}.`,L=m&&x.change>=0||c&&x.change<=0;return{kind:"period-change",answer:l?L?`No ${l.label.toLowerCase()} ${m?"dropped":"grew"}. Closest is ${x.group}: ${M}`:`${x.group}: ${M}`:M,table:Q}}if(/trend|over time|month by month|week by week/.test(o)&&a&&n){let h=/week/.test(o)?"week":/day|daily/.test(o)?"day":/year/.test(o)?"year":"month",p=Wt(A,a.key,n.key,h,u),y=p.map(G=>({Period:G.start.toISOString().slice(0,10),[n.label]:se(G.value)}));if(p.length<2)return{kind:"trend",answer:`Not enough ${h}s of data for a trend.`,table:y};let D=p[0].value,Q=p[p.length-1].value,x=p.reduce((G,w)=>w.value>G.value?w:G);return{kind:"trend",answer:`${n.label} went from ${se(D)} to ${se(Q)} over ${p.length} ${h}s (${$t(D?(Q-D)/Math.abs(D)*100:null)}). Peak: ${se(x.value)} in the ${h} of ${x.start.toISOString().slice(0,10)}.`,table:y}}if(l){let h=zt(A,l.key,(n==null?void 0:n.key)??null,u),p=k?[...h].reverse():h,y=p.map(Q=>({[l.label]:Q.group,[`${u} of ${C}`]:se(Q.value),Rows:Q.count}));if(!p.length)return{kind:"group",answer:"No data.",table:y};let D=p[0];return{kind:"group",answer:`${D.group} has the ${k?"lowest":"highest"} ${u==="sum"?"total":u==="avg"?"average":u} ${C}: ${se(D.value)} (across ${p.length} ${l.label.toLowerCase()} groups).`,table:y}}let B=I?A.map(()=>1):A.map(h=>PA(h[n.key])).filter(h=>h!==null),v=$e(B,u);return{kind:"total",answer:`${u==="avg"?"Average":u==="count"?"Count of":u==="sum"?"Total":u} ${C}: ${se(v)} across ${A.length} row(s).`,table:[{Metric:C,Aggregation:u,Value:se(v)}]}}var _i="highlight|mark|flag|sort|order|rank|arrange|summari[sz]e|summary|recap|count|how many|open|select|pick|show|filter|find|list|clear|reset|remove|detect|spot|tell";function QA(e){return e.replace(/[?!]/g," ").split(/\s*(?:;|\.(?!\d)\s*|,?\s*\band then\b|,?\s*\bthen\b|,?\s*\bafter that\b|,?\s*\bfinally\b|,?\s*\bnext\b|ఆ తర్వాత)\s*/i).flatMap(i=>i.split(new RegExp(`\\s*(?:,|\\band\\b)\\s+(?=(?:${_i})\\b)`,"i"))).map(i=>i.trim()).filter(i=>i.length>1).map(i=>({action:xr(i),text:i}))}function xr(e){let A=e.toLowerCase();return/^(clear|reset|remove)\b/.test(A)?"clear":/unusual|anomal|outlier|suspicious|odd ones|duplicate/.test(A)?"anomalies":/summari[sz]e|summary|what changed|recap|overview/.test(A)?"summarize":/^(highlight|mark|flag)\b/.test(A)?"highlight":/^(sort|order|rank|arrange)\b/.test(A)?"sort":/^(count|how many)\b/.test(A)?"count":/^(open|go to)\b/.test(A)&&!/filtered|results?/.test(A)?"open":/^(select|pick)\b/.test(A)?"select":"filter"}function kr(e){return e.replace(new RegExp(`^\\s*(?:${_i}|open|go to)\\b`,"i")," ").replace(/\b(the|filtered|results?|rows?|records?|entries|items?|ones|them|those|only|me|all)\b/gi," ").replace(/\s+/g," ").trim()}function ji(e,A){var r;let t=((r=A.find(n=>n.key===e.key))==null?void 0:r.label)??e.key,i=Array.isArray(e.value)?`${e.value[0]}\u2013${e.value[1]}`:typeof e.value=="number"?e.value.toLocaleString("en-IN",{maximumFractionDigits:2}):`"${e.value}"`,o={contains:"contains",equals:"is",startsWith:"starts with",endsWith:"ends with",greaterThan:">",lessThan:"<",between:"between"}[e.operator];return`${t} ${o} ${i}`}async function OA(e,A,t={}){var f,C,B,v,E,h,p,y,D;let i=QA(e),{columns:o,data:r}=A,n=[...A.filters??[]],a=[],s=null,l=[],I=()=>Se(r,o,{filters:n,search:a,sort:s,limit:null,notes:[],explanation:""}),u={rows:I().length,filters:[...n]},m=[],c=()=>({...A,filters:n});for(let Q=0;Q<i.length;Q++){let x=i[Q],G=kr(x.text),w;try{switch(x.action){case"clear":{n=[],a=[],s=null,l=[],(f=A.onFiltersChange)==null||f.call(A,[]),(C=A.onSortChange)==null||C.call(A,null),(B=A.onHighlightRows)==null||B.call(A,[]),w={...x,success:!0,message:`Cleared filters, sorting and highlights. ${r.length} row(s) shown.`};break}case"filter":{let M=Fe(G,o,{data:r});if(!M.filters.length&&!M.search.length&&!M.sort){w={...x,success:!0,message:`Showing ${I().length} row(s) with the current filters.`};break}for(let R of M.filters)n=[...n.filter(H=>H.key!==R.key),R];a=[...a,...M.search],M.sort&&(s=M.sort,(v=A.onSortChange)==null||v.call(A,s)),(E=A.onFiltersChange)==null||E.call(A,n);let L=I(),F=L.map(R=>ie(R,A.rowKey)).filter(Boolean);M.search.length&&F.length&&(l=F,(h=A.onHighlightRows)==null||h.call(A,F)),w={...x,success:!0,message:`${L.length} row(s) now shown. ${M.explanation}`,ids:F};break}case"highlight":{let M=I(),L=Fe(G,o,{data:M}),R=(L.filters.length||L.search.length?Se(M,o,{...L,sort:null,limit:L.limit}):M).map(Ie=>ie(Ie,A.rowKey)).filter(Boolean);if(!R.length){w={...x,success:!1,message:`Nothing to highlight for "${G||"all rows"}".`};break}let H=AA(c(),R);H.success&&(l=H.data??R),w={...x,success:H.success,message:H.success?`Highlighted ${l.length} row(s)${G?` matching "${G}"`:""}.`:H.message,ids:l};break}case"sort":{let L=Fe(x.text,o,{data:r}).sort;if(!L){let R=de(G,o);R&&(L={key:R.key,direction:/desc|high|large|big|most|newest|latest|z.?to.?a/i.test(x.text)?"desc":"asc"})}if(!L){w={...x,success:!1,message:`Which column should I sort by? Columns: ${o.map(R=>R.label).join(", ")}.`};break}s=L,(p=A.onSortChange)==null||p.call(A,s);let F=((y=o.find(R=>R.key===s.key))==null?void 0:y.label)??s.key;w={...x,success:!0,message:`Sorted by ${F} (${s.direction==="desc"?"high \u2192 low":"low \u2192 high"}).`};break}case"count":{w={...x,success:!0,message:`${I().length} row(s) shown${l.length?`, ${l.length} highlighted`:""}.`};break}case"anomalies":{let M=I(),L=qe(M,o,{rowKey:A.rowKey}),F=Array.from(new Set(L.map(R=>R.rowId)));if(F.length){let R=AA(c(),F);R.success&&(l=R.data??F)}w={...x,success:!0,message:L.length?`${F.length} unusual row(s): ${L.slice(0,5).map(R=>R.reason).join(" ")}`:"Nothing unusual in the shown rows.",ids:F};break}case"open":case"select":{let M=I(),F=M.find(Ie=>G&&ie(Ie,A.rowKey).toLowerCase()===G.toLowerCase())??Se(M,o,Fe(G,o,{data:M}))[0]??(G?void 0:M[0]);if(!F){w={...x,success:!1,message:`No row matches "${G}".`};break}let R=ie(F,A.rowKey),H=x.action==="open"?mA(c(),R):yA(c(),R);w={...x,success:H.success,message:H.message,ids:[R]};break}case"summarize":{let M=I();w={...x,success:!0,message:`${Zi(u,M.length,n,s,l,o)}
|
|
8
|
-
${He(M,o)}`};break}}}catch(M){w={...x,success:!1,message:`This step failed: ${M instanceof Error?M.message:String(M)}`}}m.push(w),(D=t.onStep)==null||D.call(t,w,Q,i.length)}let k=I().length;return{steps:m,before:u,after:{rows:k,filters:n,sort:s,highlighted:l},summary:Zi(u,k,n,s,l,o)}}function Zi(e,A,t,i,o,r){var l;let n=[`Rows: ${e.rows} \u2192 ${A}.`],a=t.filter(I=>!e.filters.some(u=>JSON.stringify(u)===JSON.stringify(I))),s=e.filters.filter(I=>!t.some(u=>JSON.stringify(I)===JSON.stringify(u)));return a.length&&n.push(`Filters added: ${a.map(I=>ji(I,r)).join("; ")}.`),s.length&&n.push(`Filters removed: ${s.map(I=>ji(I,r)).join("; ")}.`),i&&n.push(`Sorted by ${((l=r.find(I=>I.key===i.key))==null?void 0:l.label)??i.key} ${i.direction==="desc"?"high \u2192 low":"low \u2192 high"}.`),o.length&&n.push(`${o.length} row(s) highlighted.`),n.join(" ")}var Dr="[data-yuktai-panel]";function Ee(){return typeof window<"u"&&typeof document<"u"}function Pe(e){return typeof e=="object"&&e!==null&&e.nodeType===9}function ue(e){return e||(Ee()?document:null)}function U(e,A,t={}){return Array.from(e.querySelectorAll(A)).filter(i=>!i.closest(Dr)&&(t.includeHidden||Mr(i)))}function Mr(e){if(!Ee()||e.closest("[hidden],[aria-hidden='true']"))return!1;let A=e;for(;A;){let t=window.getComputedStyle(A);if(t.display==="none"||t.visibility==="hidden")return!1;A=A.parentElement}return!0}function ne(e){return(e??"").replace(/\s+/g," ").trim()}function re(e,A=60){let t=ne(e);return t.length>A?`${t.slice(0,A-1)}\u2026`:t}function ke(e){let A=[],t=e;for(;t&&t.nodeType===1&&A.length<4;){let i=t.tagName.toLowerCase();if(t.id&&/^[A-Za-z][\w-]*$/.test(t.id)){A.unshift(`${i}#${t.id}`);break}let o=t.parentElement;if(!o){A.unshift(i);break}let r=Array.from(o.children).filter(n=>n.tagName===t.tagName);A.unshift(r.length>1?`${i}:nth-of-type(${r.indexOf(t)+1})`:i),t=o}return A.join(" > ")}function Sr(e,A){return e.split(/\s+/).map(t=>{var i;return ne((i=A.getElementById(t))==null?void 0:i.textContent)}).filter(Boolean).join(" ")}function he(e){let A=e.ownerDocument,t=e.getAttribute("aria-labelledby");if(t){let r=Sr(t,A);if(r)return r}let i=ne(e.getAttribute("aria-label"));if(i)return i;let o=e.tagName.toLowerCase();if(o==="input"||o==="select"||o==="textarea"){let r=e.getAttribute("id");if(r){let s=A.querySelector(`label[for="${Gr(r)}"]`),l=ne(s==null?void 0:s.textContent);if(l)return l}let n=e.closest("label");if(n){let s=ne(n.textContent);if(s)return s}let a=(e.getAttribute("type")??"").toLowerCase();if(a==="submit"||a==="button"||a==="reset")return ne(e.getAttribute("value"))||(a==="submit"?"Submit":"");if(a==="image")return ne(e.getAttribute("alt"))}if(o==="img")return ne(e.getAttribute("alt"));if(o==="button"||o==="a"||e.getAttribute("role")){let r=ne(e.textContent);if(r)return r;let n=Array.from(e.querySelectorAll("img[alt], svg[aria-label]")).map(a=>ne(a.getAttribute("alt")??a.getAttribute("aria-label"))).filter(Boolean).join(" ");if(n)return n}return ne(e.getAttribute("title"))}function Gr(e){return typeof CSS<"u"&&typeof CSS.escape=="function"?CSS.escape(e):e.replace(/["\\]/g,"\\$&")}function Re(e){if(!e)return null;let A=e.trim().toLowerCase();if(A==="transparent")return{r:0,g:0,b:0,a:0};let t=A.match(/^rgba?\(([^)]+)\)$/);if(t){let o=t[1].split(/[\s,/]+/).filter(Boolean),[r,n,a]=o.slice(0,3).map(Number),s=o[3],l=s===void 0?1:s.endsWith("%")?Number(s.slice(0,-1))/100:Number(s);return[r,n,a,l].some(I=>!Number.isFinite(I))?null:{r,g:n,b:a,a:l}}let i=A.match(/^#([0-9a-f]{3,8})$/);if(i){let o=i[1];return(o.length===3||o.length===4)&&(o=o.split("").map(r=>r+r).join("")),o.length!==6&&o.length!==8?null:{r:parseInt(o.slice(0,2),16),g:parseInt(o.slice(2,4),16),b:parseInt(o.slice(4,6),16),a:o.length===8?parseInt(o.slice(6,8),16)/255:1}}return null}function Vt(e,A){let t=e.a+A.a*(1-e.a);if(t===0)return{r:0,g:0,b:0,a:0};let i=(o,r)=>(o*e.a+r*A.a*(1-e.a))/t;return{r:i(e.r,A.r),g:i(e.g,A.g),b:i(e.b,A.b),a:t}}function WA(e){let A=t=>{let i=t/255;return i<=.04045?i/12.92:Math.pow((i+.055)/1.055,2.4)};return .2126*A(e.r)+.7152*A(e.g)+.0722*A(e.b)}function iA(e,A){let t=A.a<1?Vt(A,{r:255,g:255,b:255,a:1}):A,i=e.a<1?Vt(e,t):e,o=WA(i),r=WA(t),[n,a]=o>r?[o,r]:[r,o];return Math.round((n+.05)/(a+.05)*100)/100}function en(e){let A=[],t=e;for(;t;){let o=window.getComputedStyle(t);if(o.backgroundImage&&o.backgroundImage!=="none")return null;let r=Re(o.backgroundColor);if(r&&r.a>0&&(A.push(r),r.a>=1))break;t=t.parentElement}let i={r:255,g:255,b:255,a:1};for(let o=A.length-1;o>=0;o--)i=Vt(A[o],i);return i}function An(e){let A=window.getComputedStyle(e),t=parseFloat(A.fontSize)||16,i=parseInt(A.fontWeight,10)||400;return t>=24||t>=18.66&&i>=700}function BA(e){return Array.from(e.childNodes).some(A=>A.nodeType===3&&ne(A.textContent).length>0)}var tn="a[href],button,input:not([type='hidden']),select,textarea,summary,[tabindex]:not([tabindex='-1']),[contenteditable='true']",VA="a[href],button,input:not([type='hidden']),select,textarea,summary,[role='button'],[role='link'],[role='checkbox'],[role='tab'],[role='menuitem']";var nA={"html-lang":{title:"Page language is set",wcag:"3.1.1",severity:"serious",why:"Screen readers pick their voice and pronunciation from the page language. Without it, Telugu or Hindi text may be read with English rules."},"page-title":{title:"Page has a title",wcag:"2.4.2",severity:"serious",why:"The title is the first thing announced and the name shown on browser tabs and bookmarks."},"image-alt":{title:"Images have alternative text",wcag:"1.1.1",severity:"critical",why:'People who cannot see the image get no information from it unless alt text describes it (or alt="" marks it as decorative).'},"heading-order":{title:"Headings follow a logical order",wcag:"1.3.1",severity:"moderate",why:"Many screen-reader users jump between headings. Skipped levels make the page outline confusing."},"single-h1":{title:"Page has one main heading",wcag:"best practice",severity:"minor",why:"A single h1 tells everyone what the page is about."},"landmark-main":{title:"Main content landmark exists",wcag:"1.3.1 / 2.4.1",severity:"moderate",why:"A <main> region lets keyboard and screen-reader users skip straight past menus to the content."},"form-label":{title:"Form fields have labels",wcag:"1.3.1 / 4.1.2",severity:"critical",why:'Without a label, a screen reader just says "edit text" and the user has to guess what to type.'},"button-name":{title:"Buttons have names",wcag:"4.1.2",severity:"critical",why:'An icon-only button with no name is announced as just "button", so its purpose is unknown.'},"link-name":{title:"Links have names",wcag:"2.4.4",severity:"serious",why:"Links are often read out of context in a list. An empty link gives no clue where it goes."},"color-contrast":{title:"Text has enough contrast",wcag:"1.4.3",severity:"serious",why:"Low-contrast text is hard to read for older users, people with low vision, and anyone outdoors on a phone."},"positive-tabindex":{title:"No positive tabindex",wcag:"2.4.3",severity:"moderate",why:"tabindex greater than 0 forces a custom keyboard order that usually doesn't match the visual order."},"keyboard-access":{title:"Clickable things work with a keyboard",wcag:"2.1.1",severity:"critical",why:"A div or span with a click handler can't be reached or activated with Tab and Enter, locking out keyboard users."},"duplicate-id":{title:"IDs are unique",wcag:"best practice",severity:"minor",why:"Labels and ARIA references point at ids. Duplicates make them point at the wrong element."},"form-error":{title:"Errors are linked to their fields",wcag:"3.3.1",severity:"serious",why:"When a field is marked invalid, the error message must be connected to it so it's announced together with the field."},"target-size":{title:"Touch targets are large enough",wcag:"2.5.8",severity:"moderate",why:"Small targets are hard to tap for people with tremors, seniors and everyone on mobile."}},Nr={critical:10,serious:5,moderate:2,minor:1};function pe(e={}){let A=ue(e.root),t=new Set(e.skip??[]),i=[],o={},r=A?Pe(A)?A:A.ownerDocument:null,n=(a,s,l,I,u=!1)=>{if(t.has(a))return;let m=nA[a],c=o[a]=(o[a]??0)+1;i.push({id:`${a}-${c}`,rule:a,severity:m.severity,wcag:m.wcag,message:l,why:m.why,fix:I,selector:s?ke(s):"document",snippet:s?re(s.outerHTML,120):"",autoFixable:u,element:s??void 0})};if(A&&r){r.documentElement.getAttribute("lang")||n("html-lang",r.documentElement,"The <html> element has no lang attribute.",'Add lang to <html>, e.g. <html lang="te"> or "en".',!0),r.title.trim()||n("page-title",null,"The page has no <title>.","Add a short, descriptive <title> that names this page.");for(let C of U(A,"img"))if(!(C.getAttribute("role")==="presentation"||C.getAttribute("role")==="none")&&!C.hasAttribute("alt")&&!C.getAttribute("aria-label")&&!C.getAttribute("aria-labelledby")){let B=C.getAttribute("title");n("image-alt",C,`Image has no alt text${C.getAttribute("src")?` (${re(C.getAttribute("src")??"",40)})`:""}.`,B?`Use the title as alt: alt="${re(B,40)}".`:'Describe the image in alt, or use alt="" if it is purely decorative.',!!B)}let a=U(A,"h1,h2,h3,h4,h5,h6"),s=0;for(let C of a){let B=Number(C.tagName[1]);s>0&&B>s+1&&n("heading-order",C,`Heading jumps from h${s} to h${B}: "${re(C.textContent??"",40)}".`,`Change it to h${s+1}, or add the missing level above it.`),s=B}let l=a.filter(C=>C.tagName==="H1");l.length===0?n("single-h1",null,"The page has no h1.","Add one h1 that names the page."):l.length>1&&n("single-h1",l[1],`The page has ${l.length} h1 headings.`,"Keep one h1; turn the others into h2."),A.querySelectorAll("main,[role='main']").length===0&&n("landmark-main",null,"No <main> landmark found.","Wrap the primary content in <main>.");let I=U(A,"input,select,textarea").filter(C=>{let B=(C.getAttribute("type")??"text").toLowerCase();return!["hidden","submit","button","reset","image"].includes(B)});for(let C of I){if(!he(C)){let B=C.getAttribute("placeholder")||C.getAttribute("name");n("form-label",C,`Form field has no label${B?` (placeholder/name: "${re(B,30)}")`:""}.`,B?`Add a visible <label>. Quick fix: aria-label="${re(B,30)}".`:"Add a visible <label for=\u2026> describing what to enter.",!!B)}C.getAttribute("aria-invalid")==="true"&&(C.getAttribute("aria-describedby")||C.getAttribute("aria-errormessage")||n("form-error",C,"Field is marked invalid but no error message is linked to it.","Put the error text in an element with an id and point aria-describedby at it."))}for(let C of U(A,"button,[role='button'],input[type='submit'],input[type='button']"))if(!he(C)){let B=C.getAttribute("title");n("button-name",C,"Button has no accessible name.",B?`Use the title as the name: aria-label="${B}".`:"Add visible text or an aria-label that says what the button does.",!!B)}for(let C of U(A,"a[href]"))if(!he(C)){let B=C.getAttribute("title");n("link-name",C,`Link has no text (${re(C.getAttribute("href")??"",40)}).`,B?`Use the title as the name: aria-label="${B}".`:"Add link text that says where it goes.",!!B)}for(let C of U(A,"[tabindex]"))Number(C.getAttribute("tabindex"))>0&&n("positive-tabindex",C,`tabindex="${C.getAttribute("tabindex")}" overrides the natural tab order.`,'Use tabindex="0" and fix the order in the HTML instead.',!0);let u="a[href],button,input,select,textarea,summary";for(let C of U(A,"[onclick],[role='button'],[role='link']"))C.matches(u)||C.hasAttribute("tabindex")||n("keyboard-access",C,`<${C.tagName.toLowerCase()}> is clickable but can't be reached with the keyboard.`,'Use a real <button>, or add tabindex="0", a role and Enter/Space key handling.',!0);let m=new Map;for(let C of Array.from(A.querySelectorAll("[id]")))C.closest("[data-yuktai-panel]")||m.set(C.id,(m.get(C.id)??0)+1);for(let[C,B]of m)B>1&&n("duplicate-id",A.querySelector(`[id="${C.replace(/"/g,'\\"')}"]`),`id="${C}" is used ${B} times.`,"Give each element a unique id.");let c=e.maxContrastChecks??600,k=0;for(let C of U(A,"body *")){if(k>=c)break;if(!BA(C)||["SCRIPT","STYLE","NOSCRIPT","OPTION"].includes(C.tagName))continue;k++;let B=Re(window.getComputedStyle(C).color),v=en(C);if(!B||!v)continue;let E=iA(B,v),h=An(C)?3:4.5;E<h&&n("color-contrast",C,`Contrast ${E}:1 is below ${h}:1 for "${re(C.textContent??"",30)}".`,`Darken the text or lighten the background until the ratio is at least ${h}:1.`)}let f=e.minTargetSize??24;for(let C of U(A,VA)){let B=C.getBoundingClientRect();B.width===0&&B.height===0||C.tagName==="A"&&C.closest("p,li,td")||(B.width<f||B.height<f)&&n("target-size",C,`Target is ${Math.round(B.width)}\xD7${Math.round(B.height)}px (minimum ${f}\xD7${f}).`,`Increase padding so it's at least ${f}\xD7${f}px (44\xD744 is better for seniors).`)}}return Fr(i,r,t)}function Fr(e,A,t){var s;let i=Object.keys(nA).filter(l=>!t.has(l)).map(l=>{let I=e.filter(u=>u.rule===l).length;return{rule:l,title:nA[l].title,passed:I===0,issueCount:I}}),o=0;for(let l of i){let I=Nr[nA[l.rule].severity];o+=Math.min(25,l.issueCount*I)}let r=Math.max(0,100-o),n=i.filter(l=>!l.passed),a=e.filter(l=>l.severity==="critical").length;return{url:((s=A==null?void 0:A.location)==null?void 0:s.href)??"",title:(A==null?void 0:A.title)??"",generatedAt:new Date().toISOString(),score:r,passed:a===0&&r>=80,checks:i,issues:e,summary:e.length===0?`All ${i.length} checks passed.`:`${i.length-n.length} of ${i.length} checks passed. ${e.length} issue(s) found, ${a} critical. Score ${r}/100.`}}function EA(e){let A=["# Accessibility QA report","",`- Page: ${e.title||"(untitled)"} ${e.url}`,`- Generated: ${e.generatedAt}`,`- Score: **${e.score}/100** \u2014 ${e.passed?"PASS":"FAIL"}`,"",e.summary,"","## Checks","","| Check | Result | Issues |","|---|---|---|",...e.checks.map(t=>`| ${t.title} | ${t.passed?"\u2705 Pass":"\u274C Fail"} | ${t.issueCount} |`)];if(e.issues.length){A.push("","## Issues","");for(let t of e.issues)A.push(`### ${t.id} \xB7 ${t.severity} \xB7 WCAG ${t.wcag}`,"",`- **Problem:** ${t.message}`,`- **Why it matters:** ${t.why}`,`- **Fix:** ${t.fix}`,`- **Where:** \`${t.selector}\``,"")}return A.join(`
|
|
9
|
-
`)}function
|
|
10
|
-
`):`No issue "${m}" in the current report. Run a scan first.`},applyFix(m){let c=s(m);if(!c)return{issueId:m,applied:!1,message:"Issue not found. Run a scan first."};o=!0;let k=I(c);return o=!1,k.applied&&u(),k},applyAllFixes(){A||u(),o=!0;let m=((A==null?void 0:A.issues)??[]).filter(c=>c.autoFixable).map(I);return o=!1,u(),m},undoAll(){let m=r.length;for(o=!0;r.length;){let c=r.pop();c.listener?c.element.removeEventListener("keydown",c.listener):c.previous===null?c.element.removeAttribute(c.attribute):c.element.setAttribute(c.attribute,c.previous)}return o=!1,u(),m},getState:n}}var
|
|
7
|
+
`)}`:"Nothing unusual found.",ids:n,rows:A.data.filter(s=>a.has(ie(s,A.rowKey))),anomalies:r}}if(/summar|overview|describe|సారాంశం/.test(t)){let r=ve(A.data,A.columns,A.filters??[]);return{kind:"summary",message:He(r,A.columns),ids:[],rows:r}}let i=$t(e,A);return{kind:"query",message:i.message,ids:i.ids,rows:i.rows}}var zA=e=>{let A=typeof e=="number"?e:Number(String(e??"").replace(/[,₹$%\s]/g,""));return Number.isFinite(A)?A:null},Xi=e=>{let A=e instanceof Date?e.getTime():new Date(String(e??"")).getTime();return Number.isFinite(A)?A:null};function $e(e,A){if(A==="count")return e.length;if(!e.length)return 0;switch(A){case"sum":return e.reduce((t,i)=>t+i,0);case"avg":return e.reduce((t,i)=>t+i,0)/e.length;case"min":return Math.min(...e);case"max":return Math.max(...e)}}function Ot(e,A,t,i="sum"){let o=new Map;for(let r of e){let n=String(r[A]??"\u2014").trim()||"\u2014",a=o.get(n)??[];if(t===null||i==="count")a.push(1);else{let s=zA(r[t]);s!==null&&a.push(s)}o.set(n,a)}return Array.from(o.entries()).map(([r,n])=>({group:r,value:$e(n,i),count:n.length})).sort((r,n)=>n.value-r.value)}function ji(e,A,t=1){let i=new Date(e);return i.setHours(0,0,0,0),A==="week"&&i.setDate(i.getDate()-(i.getDay()-t+7)%7),A==="month"&&i.setDate(1),A==="quarter"&&i.setMonth(Math.floor(i.getMonth()/3)*3,1),A==="year"&&i.setMonth(0,1),i}function zt(e,A,t){let i=new Date(e);return A==="day"&&i.setDate(i.getDate()+t),A==="week"&&i.setDate(i.getDate()+7*t),A==="month"&&i.setMonth(i.getMonth()+t),A==="quarter"&&i.setMonth(i.getMonth()+3*t),A==="year"&&i.setFullYear(i.getFullYear()+t),i}function Wt(e,A){let t=A.referenceDate?new Date(A.referenceDate):new Date,i=ji(t,A.period,A.weekStartsOn),o=A.toDate===!1?zt(i,A.period,1):new Date(Math.max(t.getTime()+1,i.getTime()+1)),r=zt(i,A.period,-1),n=A.toDate===!1?i:new Date(r.getTime()+(o.getTime()-i.getTime())),a=A.agg??"sum",s=new Map,l=new Map;for(let m of e){let c=Xi(m[A.dateKey]);if(c===null)continue;let k=c>=i.getTime()&&c<o.getTime()?s:c>=r.getTime()&&c<n.getTime()?l:null;if(!k)continue;let f=A.groupKey?String(m[A.groupKey]??"\u2014"):"All",C=a==="count"?1:zA(m[A.metricKey]);C!==null&&k.set(f,[...k.get(f)??[],C])}let I=new Set([...s.keys(),...l.keys()]),u=Array.from(I).map(m=>{let c=$e(s.get(m)??[],a),k=$e(l.get(m)??[],a);return{group:m,current:c,previous:k,change:c-k,changePct:k===0?null:(c-k)/Math.abs(k)*100}});return{period:A.period,current:{from:i,to:o},previous:{from:r,to:n},rows:u}}function Vt(e,A,t,i,o="sum"){let r=new Map;for(let n of e){let a=Xi(n[A]),s=o==="count"?1:zA(n[t]);if(a===null||s===null)continue;let l=ji(new Date(a),i).getTime();r.set(l,[...r.get(l)??[],s])}return Array.from(r.entries()).sort((n,a)=>n[0]-a[0]).map(([n,a])=>({start:new Date(n),value:$e(a,o)}))}var vr=/rate|conversion|ratio|percent|%|score|rating|margin|ctr|avg|average/i;function xr(e){let A=e.match(/\b(today|yesterday|this|last|previous|past)\s*(day|week|month|quarter|year)?\b/);return A?A[1]==="today"?{period:"day",shift:0}:A[1]==="yesterday"?{period:"day",shift:-1}:A[2]?{period:A[2],shift:A[1]==="this"?0:-1}:null:null}var se=e=>e.toLocaleString("en-IN",{maximumFractionDigits:2}),Pt=e=>e===null?"new":`${e>0?"+":""}${e.toFixed(1)}%`;function OA(e,A,t,i={}){var E;let o=e.toLowerCase(),r=t.filter(h=>h.type==="number"),n=de(o,t,"number")??r.find(h=>/amount|revenue|sales|total|value/i.test(`${h.key} ${h.label}`))??r[0],a=t.find(h=>h.type==="date")??t.find(h=>/date|time|day|created|month/i.test(`${h.key} ${h.label}`)),s=((E=o.match(/\b(?:which|by|per|each|across|every|top|for each)\s+([\p{L}\p{M}\p{N} _]+)/u))==null?void 0:E[1])??"",l=de(s,t,"text"),I=/how many|number of|count/.test(o),u=I?"count":/average|avg|mean/.test(o)?"avg":/\btotal\b|\bsum\b/.test(o)?"sum":n&&vr.test(`${n.key} ${n.label}`)?"avg":"sum",m=/drop|decline|decrease|fell|fall|down|worst|lost|shrink|reduc/.test(o),c=/increase|growth|grew|rise|rose|up\b|best|improv|gain/.test(o),k=/lowest|least|smallest|bottom|worst|minimum/.test(o),f=xr(o);if(!n&&!I)return{kind:"unknown",answer:"I couldn't find a numeric column to analyse.",table:[]};let C=I?"rows":n.label;if(f&&a&&(c||m||/change|compare|vs|versus/.test(o))){let h=i.referenceDate?new Date(i.referenceDate):new Date,p=f.shift?zt(h,f.period,f.shift):h,D=[...Wt(A,{dateKey:a.key,metricKey:(n==null?void 0:n.key)??a.key,groupKey:l==null?void 0:l.key,agg:u,period:f.period,referenceDate:p,toDate:f.shift===0}).rows].sort((R,H)=>m?R.change-H.change:H.change-R.change),Q=D.map(R=>({[(l==null?void 0:l.label)??"Group"]:R.group,Current:se(R.current),Previous:se(R.previous),Change:se(R.change),"Change %":Pt(R.changePct)}));if(!D.length)return{kind:"period-change",answer:`No ${C} data in this ${f.period} or the one before.`,table:Q};let x=D[0],G=`${f.shift?"last":"this"} ${f.period} vs the ${f.period} before`,w=x.change===0?"did not change":x.change<0?`dropped ${se(Math.abs(x.change))}`:`rose ${se(x.change)}`,M=`${C} ${w} (${se(x.previous)} \u2192 ${se(x.current)}, ${Pt(x.changePct)}) \u2014 ${G}.`,L=m&&x.change>=0||c&&x.change<=0;return{kind:"period-change",answer:l?L?`No ${l.label.toLowerCase()} ${m?"dropped":"grew"}. Closest is ${x.group}: ${M}`:`${x.group}: ${M}`:M,table:Q}}if(/trend|over time|month by month|week by week/.test(o)&&a&&n){let h=/week/.test(o)?"week":/day|daily/.test(o)?"day":/year/.test(o)?"year":"month",p=Vt(A,a.key,n.key,h,u),y=p.map(G=>({Period:G.start.toISOString().slice(0,10),[n.label]:se(G.value)}));if(p.length<2)return{kind:"trend",answer:`Not enough ${h}s of data for a trend.`,table:y};let D=p[0].value,Q=p[p.length-1].value,x=p.reduce((G,w)=>w.value>G.value?w:G);return{kind:"trend",answer:`${n.label} went from ${se(D)} to ${se(Q)} over ${p.length} ${h}s (${Pt(D?(Q-D)/Math.abs(D)*100:null)}). Peak: ${se(x.value)} in the ${h} of ${x.start.toISOString().slice(0,10)}.`,table:y}}if(l){let h=Ot(A,l.key,(n==null?void 0:n.key)??null,u),p=k?[...h].reverse():h,y=p.map(Q=>({[l.label]:Q.group,[`${u} of ${C}`]:se(Q.value),Rows:Q.count}));if(!p.length)return{kind:"group",answer:"No data.",table:y};let D=p[0];return{kind:"group",answer:`${D.group} has the ${k?"lowest":"highest"} ${u==="sum"?"total":u==="avg"?"average":u} ${C}: ${se(D.value)} (across ${p.length} ${l.label.toLowerCase()} groups).`,table:y}}let B=I?A.map(()=>1):A.map(h=>zA(h[n.key])).filter(h=>h!==null),v=$e(B,u);return{kind:"total",answer:`${u==="avg"?"Average":u==="count"?"Count of":u==="sum"?"Total":u} ${C}: ${se(v)} across ${A.length} row(s).`,table:[{Metric:C,Aggregation:u,Value:se(v)}]}}var en="highlight|mark|flag|sort|order|rank|arrange|summari[sz]e|summary|recap|count|how many|open|select|pick|show|filter|find|list|clear|reset|remove|detect|spot|tell";function QA(e){return e.replace(/[?!]/g," ").split(/\s*(?:;|\.(?!\d)\s*|,?\s*\band then\b|,?\s*\bthen\b|,?\s*\bafter that\b|,?\s*\bfinally\b|,?\s*\bnext\b|ఆ తర్వాత)\s*/i).flatMap(i=>i.split(new RegExp(`\\s*(?:,|\\band\\b)\\s+(?=(?:${en})\\b)`,"i"))).map(i=>i.trim()).filter(i=>i.length>1).map(i=>({action:kr(i),text:i}))}function kr(e){let A=e.toLowerCase();return/^(clear|reset|remove)\b/.test(A)?"clear":/unusual|anomal|outlier|suspicious|odd ones|duplicate/.test(A)?"anomalies":/summari[sz]e|summary|what changed|recap|overview/.test(A)?"summarize":/^(highlight|mark|flag)\b/.test(A)?"highlight":/^(sort|order|rank|arrange)\b/.test(A)?"sort":/^(count|how many)\b/.test(A)?"count":/^(open|go to)\b/.test(A)&&!/filtered|results?/.test(A)?"open":/^(select|pick)\b/.test(A)?"select":"filter"}function Dr(e){return e.replace(new RegExp(`^\\s*(?:${en}|open|go to)\\b`,"i")," ").replace(/\b(the|filtered|results?|rows?|records?|entries|items?|ones|them|those|only|me|all)\b/gi," ").replace(/\s+/g," ").trim()}function Zi(e,A){var r;let t=((r=A.find(n=>n.key===e.key))==null?void 0:r.label)??e.key,i=Array.isArray(e.value)?`${e.value[0]}\u2013${e.value[1]}`:typeof e.value=="number"?e.value.toLocaleString("en-IN",{maximumFractionDigits:2}):`"${e.value}"`,o={contains:"contains",equals:"is",startsWith:"starts with",endsWith:"ends with",greaterThan:">",lessThan:"<",between:"between"}[e.operator];return`${t} ${o} ${i}`}async function WA(e,A,t={}){var f,C,B,v,E,h,p,y,D;let i=QA(e),{columns:o,data:r}=A,n=[...A.filters??[]],a=[],s=null,l=[],I=()=>Se(r,o,{filters:n,search:a,sort:s,limit:null,notes:[],explanation:""}),u={rows:I().length,filters:[...n]},m=[],c=()=>({...A,filters:n});for(let Q=0;Q<i.length;Q++){let x=i[Q],G=Dr(x.text),w;try{switch(x.action){case"clear":{n=[],a=[],s=null,l=[],(f=A.onFiltersChange)==null||f.call(A,[]),(C=A.onSortChange)==null||C.call(A,null),(B=A.onHighlightRows)==null||B.call(A,[]),w={...x,success:!0,message:`Cleared filters, sorting and highlights. ${r.length} row(s) shown.`};break}case"filter":{let M=Fe(G,o,{data:r});if(!M.filters.length&&!M.search.length&&!M.sort){w={...x,success:!0,message:`Showing ${I().length} row(s) with the current filters.`};break}for(let R of M.filters)n=[...n.filter(H=>H.key!==R.key),R];a=[...a,...M.search],M.sort&&(s=M.sort,(v=A.onSortChange)==null||v.call(A,s)),(E=A.onFiltersChange)==null||E.call(A,n);let L=I(),F=L.map(R=>ie(R,A.rowKey)).filter(Boolean);M.search.length&&F.length&&(l=F,(h=A.onHighlightRows)==null||h.call(A,F)),w={...x,success:!0,message:`${L.length} row(s) now shown. ${M.explanation}`,ids:F};break}case"highlight":{let M=I(),L=Fe(G,o,{data:M}),R=(L.filters.length||L.search.length?Se(M,o,{...L,sort:null,limit:L.limit}):M).map(Ie=>ie(Ie,A.rowKey)).filter(Boolean);if(!R.length){w={...x,success:!1,message:`Nothing to highlight for "${G||"all rows"}".`};break}let H=AA(c(),R);H.success&&(l=H.data??R),w={...x,success:H.success,message:H.success?`Highlighted ${l.length} row(s)${G?` matching "${G}"`:""}.`:H.message,ids:l};break}case"sort":{let L=Fe(x.text,o,{data:r}).sort;if(!L){let R=de(G,o);R&&(L={key:R.key,direction:/desc|high|large|big|most|newest|latest|z.?to.?a/i.test(x.text)?"desc":"asc"})}if(!L){w={...x,success:!1,message:`Which column should I sort by? Columns: ${o.map(R=>R.label).join(", ")}.`};break}s=L,(p=A.onSortChange)==null||p.call(A,s);let F=((y=o.find(R=>R.key===s.key))==null?void 0:y.label)??s.key;w={...x,success:!0,message:`Sorted by ${F} (${s.direction==="desc"?"high \u2192 low":"low \u2192 high"}).`};break}case"count":{w={...x,success:!0,message:`${I().length} row(s) shown${l.length?`, ${l.length} highlighted`:""}.`};break}case"anomalies":{let M=I(),L=qe(M,o,{rowKey:A.rowKey}),F=Array.from(new Set(L.map(R=>R.rowId)));if(F.length){let R=AA(c(),F);R.success&&(l=R.data??F)}w={...x,success:!0,message:L.length?`${F.length} unusual row(s): ${L.slice(0,5).map(R=>R.reason).join(" ")}`:"Nothing unusual in the shown rows.",ids:F};break}case"open":case"select":{let M=I(),F=M.find(Ie=>G&&ie(Ie,A.rowKey).toLowerCase()===G.toLowerCase())??Se(M,o,Fe(G,o,{data:M}))[0]??(G?void 0:M[0]);if(!F){w={...x,success:!1,message:`No row matches "${G}".`};break}let R=ie(F,A.rowKey),H=x.action==="open"?mA(c(),R):yA(c(),R);w={...x,success:H.success,message:H.message,ids:[R]};break}case"summarize":{let M=I();w={...x,success:!0,message:`${_i(u,M.length,n,s,l,o)}
|
|
8
|
+
${He(M,o)}`};break}}}catch(M){w={...x,success:!1,message:`This step failed: ${M instanceof Error?M.message:String(M)}`}}m.push(w),(D=t.onStep)==null||D.call(t,w,Q,i.length)}let k=I().length;return{steps:m,before:u,after:{rows:k,filters:n,sort:s,highlighted:l},summary:_i(u,k,n,s,l,o)}}function _i(e,A,t,i,o,r){var l;let n=[`Rows: ${e.rows} \u2192 ${A}.`],a=t.filter(I=>!e.filters.some(u=>JSON.stringify(u)===JSON.stringify(I))),s=e.filters.filter(I=>!t.some(u=>JSON.stringify(I)===JSON.stringify(u)));return a.length&&n.push(`Filters added: ${a.map(I=>Zi(I,r)).join("; ")}.`),s.length&&n.push(`Filters removed: ${s.map(I=>Zi(I,r)).join("; ")}.`),i&&n.push(`Sorted by ${((l=r.find(I=>I.key===i.key))==null?void 0:l.label)??i.key} ${i.direction==="desc"?"high \u2192 low":"low \u2192 high"}.`),o.length&&n.push(`${o.length} row(s) highlighted.`),n.join(" ")}var Mr="[data-yuktai-panel]";function Ee(){return typeof window<"u"&&typeof document<"u"}function Pe(e){return typeof e=="object"&&e!==null&&e.nodeType===9}function ue(e){return e||(Ee()?document:null)}function U(e,A,t={}){return Array.from(e.querySelectorAll(A)).filter(i=>!i.closest(Mr)&&(t.includeHidden||Sr(i)))}function Sr(e){if(!Ee()||e.closest("[hidden],[aria-hidden='true']"))return!1;let A=e;for(;A;){let t=window.getComputedStyle(A);if(t.display==="none"||t.visibility==="hidden")return!1;A=A.parentElement}return!0}function ne(e){return(e??"").replace(/\s+/g," ").trim()}function re(e,A=60){let t=ne(e);return t.length>A?`${t.slice(0,A-1)}\u2026`:t}function ke(e){let A=[],t=e;for(;t&&t.nodeType===1&&A.length<4;){let i=t.tagName.toLowerCase();if(t.id&&/^[A-Za-z][\w-]*$/.test(t.id)){A.unshift(`${i}#${t.id}`);break}let o=t.parentElement;if(!o){A.unshift(i);break}let r=Array.from(o.children).filter(n=>n.tagName===t.tagName);A.unshift(r.length>1?`${i}:nth-of-type(${r.indexOf(t)+1})`:i),t=o}return A.join(" > ")}function Gr(e,A){return e.split(/\s+/).map(t=>{var i;return ne((i=A.getElementById(t))==null?void 0:i.textContent)}).filter(Boolean).join(" ")}function he(e){let A=e.ownerDocument,t=e.getAttribute("aria-labelledby");if(t){let r=Gr(t,A);if(r)return r}let i=ne(e.getAttribute("aria-label"));if(i)return i;let o=e.tagName.toLowerCase();if(o==="input"||o==="select"||o==="textarea"){let r=e.getAttribute("id");if(r){let s=A.querySelector(`label[for="${Nr(r)}"]`),l=ne(s==null?void 0:s.textContent);if(l)return l}let n=e.closest("label");if(n){let s=ne(n.textContent);if(s)return s}let a=(e.getAttribute("type")??"").toLowerCase();if(a==="submit"||a==="button"||a==="reset")return ne(e.getAttribute("value"))||(a==="submit"?"Submit":"");if(a==="image")return ne(e.getAttribute("alt"))}if(o==="img")return ne(e.getAttribute("alt"));if(o==="button"||o==="a"||e.getAttribute("role")){let r=ne(e.textContent);if(r)return r;let n=Array.from(e.querySelectorAll("img[alt], svg[aria-label]")).map(a=>ne(a.getAttribute("alt")??a.getAttribute("aria-label"))).filter(Boolean).join(" ");if(n)return n}return ne(e.getAttribute("title"))}function Nr(e){return typeof CSS<"u"&&typeof CSS.escape=="function"?CSS.escape(e):e.replace(/["\\]/g,"\\$&")}function Re(e){if(!e)return null;let A=e.trim().toLowerCase();if(A==="transparent")return{r:0,g:0,b:0,a:0};let t=A.match(/^rgba?\(([^)]+)\)$/);if(t){let o=t[1].split(/[\s,/]+/).filter(Boolean),[r,n,a]=o.slice(0,3).map(Number),s=o[3],l=s===void 0?1:s.endsWith("%")?Number(s.slice(0,-1))/100:Number(s);return[r,n,a,l].some(I=>!Number.isFinite(I))?null:{r,g:n,b:a,a:l}}let i=A.match(/^#([0-9a-f]{3,8})$/);if(i){let o=i[1];return(o.length===3||o.length===4)&&(o=o.split("").map(r=>r+r).join("")),o.length!==6&&o.length!==8?null:{r:parseInt(o.slice(0,2),16),g:parseInt(o.slice(2,4),16),b:parseInt(o.slice(4,6),16),a:o.length===8?parseInt(o.slice(6,8),16)/255:1}}return null}function Xt(e,A){let t=e.a+A.a*(1-e.a);if(t===0)return{r:0,g:0,b:0,a:0};let i=(o,r)=>(o*e.a+r*A.a*(1-e.a))/t;return{r:i(e.r,A.r),g:i(e.g,A.g),b:i(e.b,A.b),a:t}}function VA(e){let A=t=>{let i=t/255;return i<=.04045?i/12.92:Math.pow((i+.055)/1.055,2.4)};return .2126*A(e.r)+.7152*A(e.g)+.0722*A(e.b)}function iA(e,A){let t=A.a<1?Xt(A,{r:255,g:255,b:255,a:1}):A,i=e.a<1?Xt(e,t):e,o=VA(i),r=VA(t),[n,a]=o>r?[o,r]:[r,o];return Math.round((n+.05)/(a+.05)*100)/100}function An(e){let A=[],t=e;for(;t;){let o=window.getComputedStyle(t);if(o.backgroundImage&&o.backgroundImage!=="none")return null;let r=Re(o.backgroundColor);if(r&&r.a>0&&(A.push(r),r.a>=1))break;t=t.parentElement}let i={r:255,g:255,b:255,a:1};for(let o=A.length-1;o>=0;o--)i=Xt(A[o],i);return i}function tn(e){let A=window.getComputedStyle(e),t=parseFloat(A.fontSize)||16,i=parseInt(A.fontWeight,10)||400;return t>=24||t>=18.66&&i>=700}function BA(e){return Array.from(e.childNodes).some(A=>A.nodeType===3&&ne(A.textContent).length>0)}var nn="a[href],button,input:not([type='hidden']),select,textarea,summary,[tabindex]:not([tabindex='-1']),[contenteditable='true']",XA="a[href],button,input:not([type='hidden']),select,textarea,summary,[role='button'],[role='link'],[role='checkbox'],[role='tab'],[role='menuitem']";var nA={"html-lang":{title:"Page language is set",wcag:"3.1.1",severity:"serious",why:"Screen readers pick their voice and pronunciation from the page language. Without it, Telugu or Hindi text may be read with English rules."},"page-title":{title:"Page has a title",wcag:"2.4.2",severity:"serious",why:"The title is the first thing announced and the name shown on browser tabs and bookmarks."},"image-alt":{title:"Images have alternative text",wcag:"1.1.1",severity:"critical",why:'People who cannot see the image get no information from it unless alt text describes it (or alt="" marks it as decorative).'},"heading-order":{title:"Headings follow a logical order",wcag:"1.3.1",severity:"moderate",why:"Many screen-reader users jump between headings. Skipped levels make the page outline confusing."},"single-h1":{title:"Page has one main heading",wcag:"best practice",severity:"minor",why:"A single h1 tells everyone what the page is about."},"landmark-main":{title:"Main content landmark exists",wcag:"1.3.1 / 2.4.1",severity:"moderate",why:"A <main> region lets keyboard and screen-reader users skip straight past menus to the content."},"form-label":{title:"Form fields have labels",wcag:"1.3.1 / 4.1.2",severity:"critical",why:'Without a label, a screen reader just says "edit text" and the user has to guess what to type.'},"button-name":{title:"Buttons have names",wcag:"4.1.2",severity:"critical",why:'An icon-only button with no name is announced as just "button", so its purpose is unknown.'},"link-name":{title:"Links have names",wcag:"2.4.4",severity:"serious",why:"Links are often read out of context in a list. An empty link gives no clue where it goes."},"color-contrast":{title:"Text has enough contrast",wcag:"1.4.3",severity:"serious",why:"Low-contrast text is hard to read for older users, people with low vision, and anyone outdoors on a phone."},"positive-tabindex":{title:"No positive tabindex",wcag:"2.4.3",severity:"moderate",why:"tabindex greater than 0 forces a custom keyboard order that usually doesn't match the visual order."},"keyboard-access":{title:"Clickable things work with a keyboard",wcag:"2.1.1",severity:"critical",why:"A div or span with a click handler can't be reached or activated with Tab and Enter, locking out keyboard users."},"duplicate-id":{title:"IDs are unique",wcag:"best practice",severity:"minor",why:"Labels and ARIA references point at ids. Duplicates make them point at the wrong element."},"form-error":{title:"Errors are linked to their fields",wcag:"3.3.1",severity:"serious",why:"When a field is marked invalid, the error message must be connected to it so it's announced together with the field."},"target-size":{title:"Touch targets are large enough",wcag:"2.5.8",severity:"moderate",why:"Small targets are hard to tap for people with tremors, seniors and everyone on mobile."}},Fr={critical:10,serious:5,moderate:2,minor:1};function pe(e={}){let A=ue(e.root),t=new Set(e.skip??[]),i=[],o={},r=A?Pe(A)?A:A.ownerDocument:null,n=(a,s,l,I,u=!1)=>{if(t.has(a))return;let m=nA[a],c=o[a]=(o[a]??0)+1;i.push({id:`${a}-${c}`,rule:a,severity:m.severity,wcag:m.wcag,message:l,why:m.why,fix:I,selector:s?ke(s):"document",snippet:s?re(s.outerHTML,120):"",autoFixable:u,element:s??void 0})};if(A&&r){r.documentElement.getAttribute("lang")||n("html-lang",r.documentElement,"The <html> element has no lang attribute.",'Add lang to <html>, e.g. <html lang="te"> or "en".',!0),r.title.trim()||n("page-title",null,"The page has no <title>.","Add a short, descriptive <title> that names this page.");for(let C of U(A,"img"))if(!(C.getAttribute("role")==="presentation"||C.getAttribute("role")==="none")&&!C.hasAttribute("alt")&&!C.getAttribute("aria-label")&&!C.getAttribute("aria-labelledby")){let B=C.getAttribute("title");n("image-alt",C,`Image has no alt text${C.getAttribute("src")?` (${re(C.getAttribute("src")??"",40)})`:""}.`,B?`Use the title as alt: alt="${re(B,40)}".`:'Describe the image in alt, or use alt="" if it is purely decorative.',!!B)}let a=U(A,"h1,h2,h3,h4,h5,h6"),s=0;for(let C of a){let B=Number(C.tagName[1]);s>0&&B>s+1&&n("heading-order",C,`Heading jumps from h${s} to h${B}: "${re(C.textContent??"",40)}".`,`Change it to h${s+1}, or add the missing level above it.`),s=B}let l=a.filter(C=>C.tagName==="H1");l.length===0?n("single-h1",null,"The page has no h1.","Add one h1 that names the page."):l.length>1&&n("single-h1",l[1],`The page has ${l.length} h1 headings.`,"Keep one h1; turn the others into h2."),A.querySelectorAll("main,[role='main']").length===0&&n("landmark-main",null,"No <main> landmark found.","Wrap the primary content in <main>.");let I=U(A,"input,select,textarea").filter(C=>{let B=(C.getAttribute("type")??"text").toLowerCase();return!["hidden","submit","button","reset","image"].includes(B)});for(let C of I){if(!he(C)){let B=C.getAttribute("placeholder")||C.getAttribute("name");n("form-label",C,`Form field has no label${B?` (placeholder/name: "${re(B,30)}")`:""}.`,B?`Add a visible <label>. Quick fix: aria-label="${re(B,30)}".`:"Add a visible <label for=\u2026> describing what to enter.",!!B)}C.getAttribute("aria-invalid")==="true"&&(C.getAttribute("aria-describedby")||C.getAttribute("aria-errormessage")||n("form-error",C,"Field is marked invalid but no error message is linked to it.","Put the error text in an element with an id and point aria-describedby at it."))}for(let C of U(A,"button,[role='button'],input[type='submit'],input[type='button']"))if(!he(C)){let B=C.getAttribute("title");n("button-name",C,"Button has no accessible name.",B?`Use the title as the name: aria-label="${B}".`:"Add visible text or an aria-label that says what the button does.",!!B)}for(let C of U(A,"a[href]"))if(!he(C)){let B=C.getAttribute("title");n("link-name",C,`Link has no text (${re(C.getAttribute("href")??"",40)}).`,B?`Use the title as the name: aria-label="${B}".`:"Add link text that says where it goes.",!!B)}for(let C of U(A,"[tabindex]"))Number(C.getAttribute("tabindex"))>0&&n("positive-tabindex",C,`tabindex="${C.getAttribute("tabindex")}" overrides the natural tab order.`,'Use tabindex="0" and fix the order in the HTML instead.',!0);let u="a[href],button,input,select,textarea,summary";for(let C of U(A,"[onclick],[role='button'],[role='link']"))C.matches(u)||C.hasAttribute("tabindex")||n("keyboard-access",C,`<${C.tagName.toLowerCase()}> is clickable but can't be reached with the keyboard.`,'Use a real <button>, or add tabindex="0", a role and Enter/Space key handling.',!0);let m=new Map;for(let C of Array.from(A.querySelectorAll("[id]")))C.closest("[data-yuktai-panel]")||m.set(C.id,(m.get(C.id)??0)+1);for(let[C,B]of m)B>1&&n("duplicate-id",A.querySelector(`[id="${C.replace(/"/g,'\\"')}"]`),`id="${C}" is used ${B} times.`,"Give each element a unique id.");let c=e.maxContrastChecks??600,k=0;for(let C of U(A,"body *")){if(k>=c)break;if(!BA(C)||["SCRIPT","STYLE","NOSCRIPT","OPTION"].includes(C.tagName))continue;k++;let B=Re(window.getComputedStyle(C).color),v=An(C);if(!B||!v)continue;let E=iA(B,v),h=tn(C)?3:4.5;E<h&&n("color-contrast",C,`Contrast ${E}:1 is below ${h}:1 for "${re(C.textContent??"",30)}".`,`Darken the text or lighten the background until the ratio is at least ${h}:1.`)}let f=e.minTargetSize??24;for(let C of U(A,XA)){let B=C.getBoundingClientRect();B.width===0&&B.height===0||C.tagName==="A"&&C.closest("p,li,td")||(B.width<f||B.height<f)&&n("target-size",C,`Target is ${Math.round(B.width)}\xD7${Math.round(B.height)}px (minimum ${f}\xD7${f}).`,`Increase padding so it's at least ${f}\xD7${f}px (44\xD744 is better for seniors).`)}}return Rr(i,r,t)}function Rr(e,A,t){var s;let i=Object.keys(nA).filter(l=>!t.has(l)).map(l=>{let I=e.filter(u=>u.rule===l).length;return{rule:l,title:nA[l].title,passed:I===0,issueCount:I}}),o=0;for(let l of i){let I=Fr[nA[l.rule].severity];o+=Math.min(25,l.issueCount*I)}let r=Math.max(0,100-o),n=i.filter(l=>!l.passed),a=e.filter(l=>l.severity==="critical").length;return{url:((s=A==null?void 0:A.location)==null?void 0:s.href)??"",title:(A==null?void 0:A.title)??"",generatedAt:new Date().toISOString(),score:r,passed:a===0&&r>=80,checks:i,issues:e,summary:e.length===0?`All ${i.length} checks passed.`:`${i.length-n.length} of ${i.length} checks passed. ${e.length} issue(s) found, ${a} critical. Score ${r}/100.`}}function EA(e){let A=["# Accessibility QA report","",`- Page: ${e.title||"(untitled)"} ${e.url}`,`- Generated: ${e.generatedAt}`,`- Score: **${e.score}/100** \u2014 ${e.passed?"PASS":"FAIL"}`,"",e.summary,"","## Checks","","| Check | Result | Issues |","|---|---|---|",...e.checks.map(t=>`| ${t.title} | ${t.passed?"\u2705 Pass":"\u274C Fail"} | ${t.issueCount} |`)];if(e.issues.length){A.push("","## Issues","");for(let t of e.issues)A.push(`### ${t.id} \xB7 ${t.severity} \xB7 WCAG ${t.wcag}`,"",`- **Problem:** ${t.message}`,`- **Why it matters:** ${t.why}`,`- **Fix:** ${t.fix}`,`- **Where:** \`${t.selector}\``,"")}return A.join(`
|
|
9
|
+
`)}function jA(e){return JSON.stringify({...e,issues:e.issues.map(({element:A,...t})=>t)},null,2)}function ZA(e={}){let A=null,t=null,i=null,o=!1,r=[],n=()=>({report:A,watching:t!==null,appliedFixes:r.length}),a=()=>{var m;return(m=e.onUpdate)==null?void 0:m.call(e,n())},s=m=>A==null?void 0:A.issues.find(c=>c.id===m),l=(m,c,k)=>{r.push({element:m,attribute:c,previous:m.getAttribute(c)}),m.setAttribute(c,k)};function I(m){let c=m.element,k=(f,C)=>({issueId:m.id,applied:f,message:C});if(!m.autoFixable||!c)return k(!1,"This needs a human decision \u2014 see the suggested fix.");switch(m.rule){case"html-lang":{let f=e.defaultLang||(Ee()?navigator.language:"")||"en";return l(c,"lang",f),k(!0,`Set lang="${f}" on <html>.`)}case"image-alt":{let f=c.getAttribute("title");if(!f)break;return l(c,"alt",f),k(!0,`Used the image title as alt text: "${f}".`)}case"form-label":{let f=c.getAttribute("placeholder")||c.getAttribute("name");if(!f)break;let C=f.replace(/[_-]+/g," ").trim();return l(c,"aria-label",C),k(!0,`Added aria-label="${C}". A visible <label> is still better.`)}case"button-name":case"link-name":{let f=c.getAttribute("title");if(!f)break;return l(c,"aria-label",f),k(!0,`Added aria-label="${f}".`)}case"positive-tabindex":return l(c,"tabindex","0"),k(!0,"Changed tabindex to 0 so the natural order applies.");case"keyboard-access":{l(c,"tabindex","0"),c.getAttribute("role")||l(c,"role","button");let f=C=>{let B=C.key;(B==="Enter"||B===" ")&&(C.preventDefault(),c.click())};return c.addEventListener("keydown",f),r.push({element:c,attribute:"",previous:null,listener:f}),k(!0,"Made it focusable and added Enter/Space support.")}default:break}return k(!1,"No safe automatic fix for this one \u2014 see the suggested fix.")}function u(){if(A=pe(e),e.autoApply){o=!0;let m=A.issues.filter(c=>c.autoFixable).map(I);o=!1,m.some(c=>c.applied)&&(A=pe(e))}return a(),A}return{start(){if(!Ee()||t)return;let m=ue(e.root),c=Pe(m)?m.body:m;c&&(t=new MutationObserver(k=>{o||!k.some(C=>{var B,v;return!((v=(B=C.target).closest)!=null&&v.call(B,"[data-yuktai-panel]"))})||(i&&clearTimeout(i),i=setTimeout(u,e.debounceMs??600))}),t.observe(c,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["alt","aria-label","aria-invalid","tabindex","lang","title"]}),u())},stop(){t==null||t.disconnect(),t=null,i&&clearTimeout(i),i=null,a()},scan:u,explain(m){let c=s(m);return c?[`${c.message}`,`Why it matters: ${c.why}`,`How to fix: ${c.fix}`,`Standard: WCAG ${c.wcag} (${c.severity}).`,c.autoFixable?"I can apply a safe fix for this in the browser.":"This one needs a change in your code."].join(`
|
|
10
|
+
`):`No issue "${m}" in the current report. Run a scan first.`},applyFix(m){let c=s(m);if(!c)return{issueId:m,applied:!1,message:"Issue not found. Run a scan first."};o=!0;let k=I(c);return o=!1,k.applied&&u(),k},applyAllFixes(){A||u(),o=!0;let m=((A==null?void 0:A.issues)??[]).filter(c=>c.autoFixable).map(I);return o=!1,u(),m},undoAll(){let m=r.length;for(o=!0;r.length;){let c=r.pop();c.listener?c.element.removeEventListener("keydown",c.listener):c.previous===null?c.element.removeAttribute(c.attribute):c.element.setAttribute(c.attribute,c.previous)}return o=!1,u(),m},getState:n}}var Tr=/^(field|input|value|text|enter|details?|info|data|\*|:)$/i,Lr=/^(go|ok|submit|send|click here|>|→|next)$/i,Yr=[[/e-?mail/i,"email","email"],[/phone|mobile|tel/i,"tel","tel"],[/^(full)?name$|full.?name/i,"name"],[/first.?name|given/i,"given-name"],[/last.?name|surname|family/i,"family-name"],[/address|street/i,"street-address"],[/zip|postal|pin.?code|pincode/i,"postal-code"],[/city|town/i,"address-level2"],[/country/i,"country-name"],[/password/i,"current-password","password"],[/dob|birth/i,"bday"]];function Ur(e){let A=e.getAttribute("id");return A&&e.ownerDocument.querySelector(`label[for="${A.replace(/"/g,'\\"')}"]`)?!0:!!e.closest("label")}function jt(e){return U(e,"input,select,textarea").filter(A=>!["hidden","submit","button","reset","image"].includes((A.getAttribute("type")??"text").toLowerCase())).map(A=>({label:he(A),type:A.tagName==="INPUT"?(A.getAttribute("type")??"text").toLowerCase():A.tagName.toLowerCase(),name:A.getAttribute("name")??A.getAttribute("id")??"",required:A.hasAttribute("required")||A.getAttribute("aria-required")==="true",hasVisibleLabel:Ur(A),selector:ke(A),element:A}))}function Zt(e,A={}){var m;let t=A.seniorFriendly!==!1,i=A.maxFieldsPerStep??8,o=jt(e),r=[],n=(c,k,f,C)=>r.push({level:c,message:k,suggestion:f,field:(C==null?void 0:C.label)||(C==null?void 0:C.name),selector:C==null?void 0:C.selector});for(let c of o){let k=c.element,f=c.label||c.name||c.type,C=k.getAttribute("placeholder");!c.label&&C?n("problem",`"${C}" uses only a placeholder as its label.`,"Placeholders disappear when typing starts and aren't read by every screen reader. Add a visible label above the field.",c):c.label?!c.hasVisibleLabel&&C&&!k.getAttribute("aria-label")?n("problem",`"${f}" uses only a placeholder as its label.`,"Placeholders disappear when typing starts. Add a visible label above the field.",c):Tr.test(c.label)&&n("improvement",`The label "${c.label}" is unclear.`,'Say exactly what is needed, e.g. "Mobile number (10 digits)".',c):n("problem",`A ${c.type} field${c.name?` ("${c.name}")`:""} has no label.`,"Add a visible <label> that says exactly what to enter.",c),c.required&&c.label&&!/\*|required|mandatory|తప్పనిసరి|आवश्यक/i.test(c.label)&&n("improvement",`"${f}" is required but the label doesn't say so.`,'Add "(required)" to the label so everyone knows before submitting.',c);let B=`${c.name} ${c.label}`;for(let[v,E,h]of Yr)if(v.test(B)){k.getAttribute("autocomplete")||n("improvement",`"${f}" has no autocomplete hint.`,`Add autocomplete="${E}" so browsers can fill it in (WCAG 1.3.5).`,c),h&&c.type==="text"&&n("improvement",`"${f}" uses type="text".`,`Use type="${h}" for the right mobile keyboard and validation.`,c);break}if(k.getAttribute("aria-invalid")==="true"&&!k.getAttribute("aria-describedby")&&!k.getAttribute("aria-errormessage")&&n("problem",`"${f}" shows an error that isn't connected to the field.`,"Link the error text with aria-describedby and explain how to fix it.",c),t){let v=parseFloat(window.getComputedStyle(k).fontSize)||16;v<16&&n("improvement",`"${f}" text is ${v}px.`,"Use at least 16px in inputs; it is easier to read and stops mobile browsers from zooming.",c)}}o.length>i&&n("improvement",`This form has ${o.length} fields on one screen.`,`Split it into steps of about ${i} fields with a progress indicator.`);let a=U(e,"button,input[type='submit'],input[type='button']");if(a.length===0)n("problem","No submit button found.",'Add a clear <button type="submit"> so the form can be completed with the keyboard.');else if(t){let c=ne(he(a[a.length-1]));Lr.test(c)&&n("improvement",`The button says "${c}".`,'Name the result, e.g. "Send message" or "Book appointment".')}!U(e,"[role='alert'],[aria-live]",{includeHidden:!0}).length&&o.some(c=>c.required)&&n("improvement","No live region for error messages.",'Add an element with role="alert" so errors are announced when the form is submitted.');let s=r.filter(c=>c.level==="problem").length,l=r.length-s,I=Math.max(0,100-s*15-l*4),u=e.getAttribute("aria-label")||ne((m=e.querySelector("legend,h1,h2,h3"))==null?void 0:m.textContent)||e.getAttribute("name")||e.getAttribute("id")||"Form";return{name:re(u,50),selector:ke(e),fields:o,findings:r,score:I,summary:r.length===0?`"${re(u,40)}" looks clear: ${o.length} labelled field(s), nothing to fix.`:`"${re(u,40)}" has ${o.length} field(s): ${s} problem(s) and ${l} suggestion(s). Score ${I}/100.`}}function rA(e={}){let A=ue(e.root);return A?U(A,"form,[role='form']").map(t=>Zt(t,e)):[]}function _t(e){var I;let A=ue(e),t={title:"",description:"",language:"",headings:[],landmarks:{},counts:{links:0,buttons:0,images:0,forms:0,tables:0,fields:0},unlabeledFields:[],imagesWithoutAlt:[],purpose:""};if(!A)return t;let i=Pe(A)?A:A.ownerDocument,o=U(A,"h1,h2,h3,h4,h5,h6").map(u=>({level:Number(u.tagName[1]),text:re(u.textContent??"",80)})),r={};for(let[u,m]of Object.entries({header:"header,[role='banner']",navigation:"nav,[role='navigation']",main:"main,[role='main']",search:"search,[role='search']",footer:"footer,[role='contentinfo']"}))r[u]=U(A,m).length;let n=U(A,"input,select,textarea").filter(u=>!["hidden","submit","button","reset","image"].includes((u.getAttribute("type")??"text").toLowerCase())),a=n.filter(u=>!he(u)).map(u=>({type:u.tagName==="INPUT"?u.getAttribute("type")??"text":u.tagName.toLowerCase(),hint:u.getAttribute("placeholder")||u.getAttribute("name")||"",selector:ke(u)})),s=U(A,"img:not([alt])").map(u=>({src:u.getAttribute("src")??"",selector:ke(u)})),l={title:i.title,description:ne((I=i.querySelector('meta[name="description"]'))==null?void 0:I.getAttribute("content")),language:i.documentElement.getAttribute("lang")??"",headings:o,landmarks:r,counts:{links:U(A,"a[href]").length,buttons:U(A,"button,[role='button'],input[type='submit']").length,images:U(A,"img").length,forms:U(A,"form,[role='form']").length,tables:U(A,"table,[role='grid'],[role='table']").length,fields:n.length},unlabeledFields:a,imagesWithoutAlt:s,purpose:""};return l.purpose=Jr(l,n),l}function Jr(e,A){var n;let t=((n=e.headings.find(a=>a.level===1))==null?void 0:n.text)||e.title||"This page",i=A.map(a=>`${a.getAttribute("type")} ${a.getAttribute("name")} ${he(a)}`).join(" ").toLowerCase(),o=[];/password/.test(i)?o.push("sign in or create an account"):(/search|query|వెతుకు/.test(i)||e.landmarks.search)&&o.push("search"),/message|comment|feedback|contact|enquiry/.test(i)&&o.push("send a message"),/card|payment|upi|amount/.test(i)&&o.push("make a payment"),e.counts.tables&&o.push(`browse ${e.counts.tables} table(s) of data`),!o.length&&e.counts.forms&&o.push(`fill in ${e.counts.forms} form(s)`),o.length||o.push("read content");let r=e.headings.filter(a=>a.level===2).slice(0,5).map(a=>a.text);return[`"${t}" lets you ${o.join(", ")}.`,e.description?`It describes itself as: ${re(e.description,140)}`:"",r.length?`Main sections: ${r.join(" \xB7 ")}.`:""].filter(Boolean).join(" ")}var Kr=[["missing-labels",/label|unlabel|లేబుల్/i],["images",/image|alt text|picture|photo|చిత్ర/i],["structure",/heading|structure|outline|section|landmark|శీర్షిక/i],["forms",/form|field|input|ఫారం/i],["links",/link|లింక్/i],["counts",/how many|count|ఎన్ని/i],["purpose",/what (does|is)|purpose|about|summar|explain|ఏమి|గురించి/i]];function ei(e){for(let[A,t]of Kr)if(t.test(e))return A;return"unknown"}async function _A(e,A={}){var o;let t=_t(A.root),i=ei(e);switch(i){case"missing-labels":return t.unlabeledFields.length?{intent:i,answer:`${t.unlabeledFields.length} of ${t.counts.fields} field(s) have no label: ${t.unlabeledFields.map(r=>`${r.type}${r.hint?` ("${r.hint}")`:""}`).join(", ")}.`,targets:t.unlabeledFields.map(r=>r.selector),suggestions:["Add a visible <label for=\u2026> to each field.","Run the Accessibility Copilot to add aria-labels from placeholders as a quick fix."]}:{intent:i,answer:`All ${t.counts.fields} form field(s) have labels.`,targets:[],suggestions:[]};case"images":return{intent:i,answer:t.imagesWithoutAlt.length?`${t.imagesWithoutAlt.length} of ${t.counts.images} image(s) have no alt text.`:`All ${t.counts.images} image(s) have alt text.`,targets:t.imagesWithoutAlt.map(r=>r.selector),suggestions:t.imagesWithoutAlt.length?['Describe meaningful images in alt; use alt="" for decorative ones.']:[]};case"structure":{let r=t.headings.slice(0,15).map(a=>`${" ".repeat(a.level-1)}h${a.level} ${a.text}`).join(`
|
|
11
11
|
`),n=Object.entries(t.landmarks).filter(([,a])=>a===0).map(([a])=>a);return{intent:i,answer:`${t.headings.length} heading(s).
|
|
12
12
|
${r}${n.length?`
|
|
13
13
|
Missing landmarks: ${n.join(", ")}.`:""}`,targets:[],suggestions:n.includes("main")?["Wrap the primary content in <main>."]:[]}}case"forms":{let r=rA({root:A.root});return{intent:i,answer:r.length?r.map(n=>n.summary).join(`
|
|
14
|
-
`):"There are no forms on this page.",targets:r.flatMap(n=>n.findings.map(a=>a.selector).filter(a=>!!a)),suggestions:r.flatMap(n=>n.findings.slice(0,3).map(a=>a.suggestion))}}case"links":case"counts":{let r=t.counts;return{intent:i,answer:`${r.links} links, ${r.buttons} buttons, ${r.fields} form fields in ${r.forms} form(s), ${r.images} images, ${r.tables} tables.`,targets:[],suggestions:[]}}case"purpose":case"unknown":{let r=t.purpose;if(A.summarize)try{let a=ue(A.root),s=ne((o=a&&Pe(a)?a.body:a)==null?void 0:o.textContent).slice(0,4e3);r=await A.summarize(s)||r}catch{}let n=[];return t.unlabeledFields.length&&n.push(`${t.unlabeledFields.length} form field(s) need labels.`),t.imagesWithoutAlt.length&&n.push(`${t.imagesWithoutAlt.length} image(s) need alt text.`),{intent:i,answer:r,targets:[],suggestions:n}}}}var nn=["AGFzbQEAAAABggESYAN/f38Bf2ACf38Bf2ACf38AYAN/f38AYAN/fH8AYAN/f3wAYAV/f39/fwBgBX9/f39/AX9gBH9/f38AYAR/","f39/AX9gAX8AYAp/f39/f3x/f39/AX9gAABgAX8Bf2AIf39/f3x/f38Bf2AAAX9gBn9/f39/fwBgBn9/f39/fwF/A2xrAgMEBQMD","AwMGAwAGAwYHBwcDAwgICAgDAwMDAwMDAwMIAwMDCQkJCQkJCQkJCQkJAQEAAwkHCgELCAIDCggKAwMADA0ODwIMAgMGEAIDAgYK","AwYCAgwKCgMBCAEDEQgJAAEICAMDAwwJAwAEBQFwAQICBQMBABEGCQF/AUGAgMAACwdaBgZtZW1vcnkCAAx5a19yYWdfYnVpbGQA","QQx5a19yYWdfcmVzZXQAQg55a19yYWdfc2NyYXRjaABDDXlrX3JhZ19zZWFyY2gARA55a19yYWdfdmVyc2lvbgBFCQcBAEEBCwFh","CqTuAWuOAgEGfwJAAkACQCAAKAIIIgJFDQAgASgCACIDKAIIIQRBACEFIAAoAgQiBiEBA0AgASgCACIHIARPDQICQCADKAIEIAdB","A3RqKwMARAAAAAAAAAAAZA0AAkAgBUEBaiACTw0AIAFBBGohASAFQX9zIAJqIQIDQCABKAIAIgcgAygCCCIETw0GAkAgAygCBCAH","QQN0aisDAEQAAAAAAAAAAGRFDQAgBiAFQQJ0aiAHNgIAIAVBAWohBQsgAUEEaiEBIAJBf2oiAg0ACwsgACAFNgIIDwsgAUEEaiEB","IAIgBUEBaiIFRw0ACwsPCyAHIARB8IbAgAAQ3ICAgAAACyAHIARB8IbAgAAQ3ICAgAAAC4gBAQJ/AkBBACACIAFrIgMgAyACSxsi","BCAAKAIAIAAoAggiA2tNDQAgACADIARBBEEEEMqAgIAAIAAoAgghAwsCQCABIAJPDQAgAyACaiABayEEIAAoAgQgA0ECdGohAwNA","IAMgATYCACADQQRqIQMgAiABQQFqIgFHDQALIAQhAwsgACADNgIIC/ABAQN/I4CAgIAAQSBrIgMkgICAgAACQAJAAkACQCABvVAN","ACADQRRqIAJBAEEIQQgQz4CAgAAgAygCGCEEIAMoAhRBAUYNAiADQQA2AhAgAyADKAIcNgIMIAMgBDYCCCADQQhqIAIgARCDgICA","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","IAIgAiAFaiACIAZqIAMgBBCPgICAACECCwJAIAQgACABEIqAgIAAIgMgBCAAIAIQioCAgABHDQAgAiABIAMgBCABIAIQioCAgABz","GyEACyAAC5gBAgJ/A34CQCADQfj///8BcUUNACAAIAAgA0EDdiIDQQV0IgVqIAAgA0E4bCIGaiADIAQQkICAgAAhACABIAEgBWog","ASAGaiADIAQQkICAgAAhASACIAIgBWogAiAGaiADIAQQkICAgAAhAgsgACACIAEgACkDACIHIAEpAwAiCFQiAyAIIAIpAwAiCVRz","GyADIAcgCVRzGwvwAgQFfwF8AX8BfAJAAkACQAJAIAFBfGoiAygCACIEIAIoAgAiBSgCACIGKAIIIgdPDQAgASgCACICIAdPDQEC","QEEAQQBBfyAGKAIEIgEgBEEDdGorAwAiCCABIAJBA3QiCWorAwAiCmYiARtBAUF+IAEbIAggCmUbIAggCGIgCiAKYnIbIgFBf0Yg","AiAESSABG0EBRw0AAkADQCADIgFBBGogBDYCACABIABGDQEgAUF8aiIDKAIAIgQgBSgCACIGKAIIIgdPDQUgAiAHTw0GQQBBAEF/","IAYoAgQiByAEQQN0aisDACIIIAcgCWorAwAiCmYiBxtBAUF+IAcbIAggCmUbIAggCGIgCiAKYnIbIgdBf0YgAiAESSAHGw0ACwsg","ASACNgIACw8LIAQgB0HQhsCAABDcgICAAAALIAIgB0HghsCAABDcgICAAAALIAQgB0HQhsCAABDcgICAAAALIAIgB0HghsCAABDc","gICAAAALfAEDfyOAgICAAEEQayIDJICAgIAAAkAgAiABIAFBfGoiBBCKgICAAEUNACADIAEoAgAiBTYCDAJAA0AgBCIBQQRqIAEo","AgA2AgAgASAARg0BIAIgA0EMaiABQXxqIgQQioCAgAANAAsLIAEgBTYCAAsgA0EQaiSAgICAAAupBAMJfwJ8AX8gAiABQQJ0QXxq","IgRqIQUgACAEaiEGIAAgAUEBdiIHQQJ0aiIIQXxqIQkgAygCACEKAkACQAJAAkACQANAIAAoAgAiAyAKKAIAIgsoAggiDE8NASAI","KAIAIgQgDE8NAiACIAQgA0EAQQBBfyALKAIEIgwgA0EDdGorAwAiDSAMIARBA3RqKwMAIg5mIgwbQQFBfiAMGyANIA5lGyANIA1i","IA4gDmJyGyIMQX9GIAQgA0kgDBsiDBs2AgAgCSgCACIDIAooAgAiDygCCCILTw0DIAYoAgAiBCALTw0EIAggDEECdGohCCAAIAxB","AXNBAnRqIQAgAkEEaiECIAUgAyAEQQBBAEF/IA8oAgQiDCADQQN0aisDACINIAwgBEEDdGorAwAiDmYiDBtBAUF+IAwbIA0gDmUb","IA0gDWIgDiAOYnIbIgxBf0YgBCADSSAMGyIMGzYCACAJIAxBAnQiA2shCSADIAZqQXxqIQYgBUF8aiEFIAdBf2oiBw0ACyAGQQRq","IQQgCUEEaiEDAkAgAUEBcUUNACACIAAgCCAAIANJIgkbKAIANgIAIAggACADT0ECdGohCCAAIAlBAnRqIQALAkAgCCAERw0AIAAg","A0YNBQsQ54CAgAAACyADIAxB0IbAgAAQ3ICAgAAACyAEIAxB4IbAgAAQ3ICAgAAACyADIAtB0IbAgAAQ3ICAgAAACyAEIAtB4IbA","gAAQ3ICAgAAACwuIAgEHfyACIAFBAnRBfGoiBGohBSAAIARqIQYgACABQQF2IgdBAnRqIgRBfGohCANAIAIgBCAAIAMgBCAAEIqA","gIAAIgkbKAIANgIAIAUgCCAGIAMgBiAIEIqAgIAAIgobKAIANgIAIAQgCUECdGohBCAAIAlBAXNBAnRqIQAgCCAKQQJ0IglrIQgg","CSAGakF8aiEGIAVBfGohBSACQQRqIQIgB0F/aiIHDQALIAZBBGohBSAIQQRqIQYCQCABQQFxRQ0AIAIgACAEIAAgBkkiCBsoAgA2","AgAgBCAAIAZPQQJ0aiEEIAAgCEECdGohAAsCQCAEIAVHDQAgACAGRw0ADwsQ54CAgAAAC5QCBAV/An4BfwJ+IAIgAUEDdEF4aiIE","aiEFIAAgBGohBiAAIAFBAXYiB0EDdGoiBEF4aiEIA0AgAiAEKQMAIgkgACkDACIKIAkgClQiCxs3AwAgBSAGKQMAIgwgCCkDACIN","IAwgDVYbNwMAIAVBeGohBSACQQhqIQIgCEF4QQAgDCANVBtqIQggBkF4QQAgDCANWhtqIQYgACAJIApaQQN0aiEAIAQgC0EDdGoh","BCAHQX9qIgcNAAsgBkEIaiEFIAhBCGohBgJAIAFBAXFFDQAgAiAAIAQgACAGSSIIGykDADcDACAEIAAgBk9BA3RqIQQgACAIQQN0","aiEACwJAIAQgBUcNACAAIAZHDQAPCxDngICAAAALywECAn8CfAJAAkAgACABQQJ0aiIEKAIAIgEgAygCACgCACIFKAIIIgNPDQAg","ACACQQJ0aiICKAIAIgAgA08NASAEIAAgAUEAQQBBfyAFKAIEIgMgAUEDdGorAwAiBiADIABBA3RqKwMAIgdmIgMbQQFBfiADGyAG","IAdlGyAGIAZiIAcgB2JyGyIDQX9GIAAgAUkgAxsiAxs2AgAgAiABIAAgAxs2AgAPCyABIANB0IbAgAAQ3ICAgAAACyAAIANB4IbA","gAAQ3ICAgAAAC+wCAAJAIAFBCUkNACAAQQBBAyACEJaAgIAAIABBAUEHIAIQloCAgAAgAEECQQUgAhCWgICAACAAQQRBCCACEJaA","gIAAIABBAEEHIAIQloCAgAAgAEECQQQgAhCWgICAACAAQQNBCCACEJaAgIAAIABBBUEGIAIQloCAgAAgAEEAQQIgAhCWgICAACAA","QQFBAyACEJaAgIAAIABBBEEFIAIQloCAgAAgAEEHQQggAhCWgICAACAAQQFBBCACEJaAgIAAIABBA0EGIAIQloCAgAAgAEEFQQcg","AhCWgICAACAAQQBBASACEJaAgIAAIABBAkEEIAIQloCAgAAgAEEDQQUgAhCWgICAACAAQQZBCCACEJaAgIAAIABBAkEDIAIQloCA","gAAgAEEEQQUgAhCWgICAACAAQQZBByACEJaAgIAAIABBAUECIAIQloCAgAAgAEEDQQQgAhCWgICAACAAQQVBBiACEJaAgIAADwsA","C8wKAQl/AkAgAUEJSQ0AIABBDEEAIAIgAEEMaiIBIAAQioCAgAAiAxtqKAIAIQQgACAAQQBBDCADG2ooAgA2AgwgACAENgIAIABB","HEEEIAIgAEEcaiIFIABBBGoiBhCKgICAACIDG2ooAgAhBCAAIABBBEEcIAMbaigCADYCHCAAIAQ2AgQgAEEUQQggAiAAQRRqIgMg","AEEIaiIHEIqAgIAAIgQbaigCACEIIAAgAEEIQRQgBBtqKAIANgIUIAAgCDYCCCAAQSBBECACIABBIGoiCSAAQRBqIgQQioCAgAAi","CBtqKAIAIQogACAAQRBBICAIG2ooAgA2AiAgACAKNgIQIABBHEEAIAIgBSAAEIqAgIAAIggbaigCACEKIAAgAEEAQRwgCBtqKAIA","NgIcIAAgCjYCACAAQRBBCCACIAQgBxCKgICAACIIG2ooAgAhCiAAIABBCEEQIAgbaigCADYCECAAIAo2AgggAEEgQQwgAiAJIAEQ","ioCAgAAiCBtqKAIAIQogACAAQQxBICAIG2ooAgA2AiAgACAKNgIMIABBGEEUIAIgAEEYaiIIIAMQioCAgAAiChtqKAIAIQsgACAA","QRRBGCAKG2ooAgA2AhggACALNgIUIABBCEEAIAIgByAAEIqAgIAAIgobaigCACELIAAgAEEAQQggChtqKAIANgIIIAAgCzYCACAA","QQxBBCACIAEgBhCKgICAACIKG2ooAgAhCyAAIABBBEEMIAobaigCADYCDCAAIAs2AgQgAEEUQRAgAiADIAQQioCAgAAiChtqKAIA","IQsgACAAQRBBFCAKG2ooAgA2AhQgACALNgIQIABBIEEcIAIgCSAFEIqAgIAAIgobaigCACELIAAgAEEcQSAgChtqKAIANgIgIAAg","CzYCHCAAQRBBBCACIAQgBhCKgICAACIKG2ooAgAhCyAAIABBBEEQIAobaigCADYCECAAIAs2AgQgAEEYQQwgAiAIIAEQioCAgAAi","ChtqKAIAIQsgACAAQQxBGCAKG2ooAgA2AhggACALNgIMIABBHEEUIAIgBSADEIqAgIAAIgobaigCACELIAAgAEEUQRwgChtqKAIA","NgIcIAAgCzYCFCAAQQRBACACIAYgABCKgICAACIKG2ooAgAhCyAAIABBAEEEIAobaigCADYCBCAAIAs2AgAgAEEQQQggAiAEIAcQ","ioCAgAAiChtqKAIAIQsgACAAQQhBECAKG2ooAgA2AhAgACALNgIIIABBFEEMIAIgAyABEIqAgIAAIgobaigCACELIAAgAEEMQRQg","ChtqKAIANgIUIAAgCzYCDCAAQSBBGCACIAkgCBCKgICAACIJG2ooAgAhCiAAIABBGEEgIAkbaigCADYCICAAIAo2AhggAEEMQQgg","AiABIAcQioCAgAAiCRtqKAIAIQogACAAQQhBDCAJG2ooAgA2AgwgACAKNgIIIABBFEEQIAIgAyAEEIqAgIAAIgkbaigCACEKIAAg","AEEQQRQgCRtqKAIANgIUIAAgCjYCECAAQRxBGCACIAUgCBCKgICAACIFG2ooAgAhCSAAIABBGEEcIAUbaigCADYCHCAAIAk2Ahgg","AEEIQQQgAiAHIAYQioCAgAAiBxtqKAIAIQUgACAAQQRBCCAHG2ooAgA2AgggACAFNgIEIABBEEEMIAIgBCABEIqAgIAAIgEbaigC","ACEEIAAgAEEMQRAgARtqKAIANgIQIAAgBDYCDCAAQRhBFCACIAggAxCKgICAACICG2ooAgAhASAAIABBFEEYIAIbaigCADYCGCAA","IAE2AhQPCwAL3gQBEH4CQCABQQlJDQAgACAAKQNAIgMgACkDICIEIAMgBFYbIgUgACkDGCIGIAApAwAiByAGIAdWGyIIIAUgCFYb","IgkgACkDOCIKIAApAwgiCyAKIAtWGyIMIAYgByAGIAdUGyIGIAwgBlYbIgcgCSAHVhsiDSAAKQMwIg4gACkDKCIPIAApAxAiECAP","IBBWGyIRIA4gEVYbIhIgBSAIIAUgCFQbIgUgCiALIAogC1QbIgggBSAIVhsiCiASIApWGyILIA0gC1YbNwNAIAAgDiARIA4gEVQb","Ig4gAyAEIAMgBFQbIgMgDyAQIA8gEFQbIgQgAyAEVhsiDyAOIA9UGyIQIAUgCCAFIAhUGyIFIBAgBVQbIgggAyAEIAMgBFQbIgMg","DCAGIAwgBlQbIgQgAyAEVBsiBiAIIAZUGzcDACAAIAkgByAJIAdUGyIHIA4gDyAOIA9WGyIJIAcgCVYbIgwgDSALIA0gC1QbIgsg","DCALVhs3AzggACAMIAsgDCALVBsiCyAHIAkgByAJVBsiByASIAogEiAKVBsiCSAHIAlWGyIKIBAgBSAQIAVWGyIFIAMgBCADIARW","GyIDIAUgA1YbIgQgCiAEVhsiDCALIAxWGzcDMCAAIAsgDCALIAxUGzcDKCAAIAogBCAKIARUGyIEIAcgCSAHIAlUGyIHIAUgAyAF","IANUGyIDIAcgA1YbIgUgBCAFVhs3AyAgACAEIAUgBCAFVBs3AxggACAHIAMgByADVBsiAyAIIAYgCCAGVhsiBCADIARWGzcDECAA","IAMgBCADIARUGzcDCA8LAAuEBQACQCABQQ1JDQAgAEEAQQwgAhCWgICAACAAQQFBCiACEJaAgIAAIABBAkEJIAIQloCAgAAgAEED","QQcgAhCWgICAACAAQQVBCyACEJaAgIAAIABBBkEIIAIQloCAgAAgAEEBQQYgAhCWgICAACAAQQJBAyACEJaAgIAAIABBBEELIAIQ","loCAgAAgAEEHQQkgAhCWgICAACAAQQhBCiACEJaAgIAAIABBAEEEIAIQloCAgAAgAEEBQQIgAhCWgICAACAAQQNBBiACEJaAgIAA","IABBB0EIIAIQloCAgAAgAEEJQQogAhCWgICAACAAQQtBDCACEJaAgIAAIABBBEEGIAIQloCAgAAgAEEFQQkgAhCWgICAACAAQQhB","CyACEJaAgIAAIABBCkEMIAIQloCAgAAgAEEAQQUgAhCWgICAACAAQQNBCCACEJaAgIAAIABBBEEHIAIQloCAgAAgAEEGQQsgAhCW","gICAACAAQQlBCiACEJaAgIAAIABBAEEBIAIQloCAgAAgAEECQQUgAhCWgICAACAAQQZBCSACEJaAgIAAIABBB0EIIAIQloCAgAAg","AEEKQQsgAhCWgICAACAAQQFBAyACEJaAgIAAIABBAkEEIAIQloCAgAAgAEEFQQYgAhCWgICAACAAQQlBCiACEJaAgIAAIABBAUEC","IAIQloCAgAAgAEEDQQQgAhCWgICAACAAQQVBByACEJaAgIAAIABBBkEIIAIQloCAgAAgAEECQQMgAhCWgICAACAAQQRBBSACEJaA","gIAAIABBBkEHIAIQloCAgAAgAEEIQQkgAhCWgICAACAAQQNBBCACEJaAgIAAIABBBUEGIAIQloCAgAAPCwAL8BIBDX8CQCABQQ1J","DQAgAEEwQQAgAiAAQTBqIgMgABCKgICAACIBG2ooAgAhBCAAIABBAEEwIAEbaigCADYCMCAAIAQ2AgAgAEEoQQQgAiAAQShqIgUg","AEEEaiIGEIqAgIAAIgEbaigCACEEIAAgAEEEQSggARtqKAIANgIoIAAgBDYCBCAAQSRBCCACIABBJGoiBCAAQQhqIgcQioCAgAAi","ARtqKAIAIQggACAAQQhBJCABG2ooAgA2AiQgACAINgIIIABBHEEMIAIgAEEcaiIJIABBDGoiCBCKgICAACIBG2ooAgAhCiAAIABB","DEEcIAEbaigCADYCHCAAIAo2AgwgAEEsQRQgAiAAQSxqIgsgAEEUaiIKEIqAgIAAIgEbaigCACEMIAAgAEEUQSwgARtqKAIANgIs","IAAgDDYCFCAAQSBBGCACIABBIGoiDCAAQRhqIgEQioCAgAAiDRtqKAIAIQ4gACAAQRhBICANG2ooAgA2AiAgACAONgIYIABBGEEE","IAIgASAGEIqAgIAAIg0baigCACEOIAAgAEEEQRggDRtqKAIANgIYIAAgDjYCBCAAQQxBCCACIAggBxCKgICAACING2ooAgAhDiAA","IABBCEEMIA0baigCADYCDCAAIA42AgggAEEsQRAgAiALIABBEGoiDRCKgICAACIOG2ooAgAhDyAAIABBEEEsIA4baigCADYCLCAA","IA82AhAgAEEkQRwgAiAEIAkQioCAgAAiDhtqKAIAIQ8gACAAQRxBJCAOG2ooAgA2AiQgACAPNgIcIABBKEEgIAIgBSAMEIqAgIAA","Ig4baigCACEPIAAgAEEgQSggDhtqKAIANgIoIAAgDzYCICAAQRBBACACIA0gABCKgICAACIOG2ooAgAhDyAAIABBAEEQIA4baigC","ADYCECAAIA82AgAgAEEIQQQgAiAHIAYQioCAgAAiDhtqKAIAIQ8gACAAQQRBCCAOG2ooAgA2AgggACAPNgIEIABBGEEMIAIgASAI","EIqAgIAAIg4baigCACEPIAAgAEEMQRggDhtqKAIANgIYIAAgDzYCDCAAQSBBHCACIAwgCRCKgICAACIOG2ooAgAhDyAAIABBHEEg","IA4baigCADYCICAAIA82AhwgAEEoQSQgAiAFIAQQioCAgAAiDhtqKAIAIQ8gACAAQSRBKCAOG2ooAgA2AiggACAPNgIkIABBMEEs","IAIgAyALEIqAgIAAIg4baigCACEPIAAgAEEsQTAgDhtqKAIANgIwIAAgDzYCLCAAQRhBECACIAEgDRCKgICAACIOG2ooAgAhDyAA","IABBEEEYIA4baigCADYCGCAAIA82AhAgAEEkQRQgAiAEIAoQioCAgAAiDhtqKAIAIQ8gACAAQRRBJCAOG2ooAgA2AiQgACAPNgIU","IABBLEEgIAIgCyAMEIqAgIAAIg4baigCACEPIAAgAEEgQSwgDhtqKAIANgIsIAAgDzYCICAAQTBBKCACIAMgBRCKgICAACIDG2oo","AgAhDiAAIABBKEEwIAMbaigCADYCMCAAIA42AiggAEEUQQAgAiAKIAAQioCAgAAiAxtqKAIAIQ4gACAAQQBBFCADG2ooAgA2AhQg","ACAONgIAIABBIEEMIAIgDCAIEIqAgIAAIgMbaigCACEOIAAgAEEMQSAgAxtqKAIANgIgIAAgDjYCDCAAQRxBECACIAkgDRCKgICA","ACIDG2ooAgAhDiAAIABBEEEcIAMbaigCADYCHCAAIA42AhAgAEEsQRggAiALIAEQioCAgAAiAxtqKAIAIQ4gACAAQRhBLCADG2oo","AgA2AiwgACAONgIYIABBKEEkIAIgBSAEEIqAgIAAIgMbaigCACEOIAAgAEEkQSggAxtqKAIANgIoIAAgDjYCJCAAQQRBACACIAYg","ABCKgICAACIDG2ooAgAhDiAAIABBAEEEIAMbaigCADYCBCAAIA42AgAgAEEUQQggAiAKIAcQioCAgAAiAxtqKAIAIQ4gACAAQQhB","FCADG2ooAgA2AhQgACAONgIIIABBJEEYIAIgBCABEIqAgIAAIgMbaigCACEOIAAgAEEYQSQgAxtqKAIANgIkIAAgDjYCGCAAQSBB","HCACIAwgCRCKgICAACIDG2ooAgAhDiAAIABBHEEgIAMbaigCADYCICAAIA42AhwgAEEsQSggAiALIAUQioCAgAAiCxtqKAIAIQMg","ACAAQShBLCALG2ooAgA2AiwgACADNgIoIABBDEEEIAIgCCAGEIqAgIAAIgsbaigCACEDIAAgAEEEQQwgCxtqKAIANgIMIAAgAzYC","BCAAQRBBCCACIA0gBxCKgICAACILG2ooAgAhAyAAIABBCEEQIAsbaigCADYCECAAIAM2AgggAEEYQRQgAiABIAoQioCAgAAiCxtq","KAIAIQMgACAAQRRBGCALG2ooAgA2AhggACADNgIUIABBKEEkIAIgBSAEEIqAgIAAIgUbaigCACELIAAgAEEkQSggBRtqKAIANgIo","IAAgCzYCJCAAQQhBBCACIAcgBhCKgICAACIFG2ooAgAhBiAAIABBBEEIIAUbaigCADYCCCAAIAY2AgQgAEEQQQwgAiANIAgQioCA","gAAiBRtqKAIAIQYgACAAQQxBECAFG2ooAgA2AhAgACAGNgIMIABBHEEUIAIgCSAKEIqAgIAAIgUbaigCACEGIAAgAEEUQRwgBRtq","KAIANgIcIAAgBjYCFCAAQSBBGCACIAwgARCKgICAACIFG2ooAgAhBiAAIABBGEEgIAUbaigCADYCICAAIAY2AhggAEEMQQggAiAI","IAcQioCAgAAiBRtqKAIAIQcgACAAQQhBDCAFG2ooAgA2AgwgACAHNgIIIABBFEEQIAIgCiANEIqAgIAAIgUbaigCACEHIAAgAEEQ","QRQgBRtqKAIANgIUIAAgBzYCECAAQRxBGCACIAkgARCKgICAACIFG2ooAgAhByAAIABBGEEcIAUbaigCADYCHCAAIAc2AhggAEEk","QSAgAiAEIAwQioCAgAAiBBtqKAIAIQwgACAAQSBBJCAEG2ooAgA2AiQgACAMNgIgIABBEEEMIAIgDSAIEIqAgIAAIgQbaigCACEI","IAAgAEEMQRAgBBtqKAIANgIQIAAgCDYCDCAAQRhBFCACIAEgChCKgICAACICG2ooAgAhASAAIABBFEEYIAIbaigCADYCGCAAIAE2","AhQPCwALlggBGH4CQCABQQ1JDQAgACAAKQNgIgMgACkDACIEIAMgBFYbIgUgACkDWCIGIAApAygiByAGIAdWGyIIIAApAyAiCSAI","IAlWGyIKIAUgClYbIgsgACkDUCIMIAApAwgiDSAMIA1WGyIOIAApA0AiDyAAKQMwIhAgDyAQVhsiESAOIBFWGyISIAApA0giEyAA","KQMQIhQgEyAUVhsiFSAAKQM4IhYgACkDGCIXIBYgF1YbIhggFSAYVhsiGSASIBlWGyIaIAsgGlYbNwNgIAAgBSAKIAUgClQbIgUg","DiARIA4gEVQbIgogFSAYIBUgGFQbIg4gCiAOVhsiESAFIBFWGyIVIA8gECAPIBBUGyIPIAwgDSAMIA1UGyIMIA8gDFYbIg0gFiAX","IBYgF1QbIhAgEyAUIBMgFFQbIhMgECATVhsiFCANIBRWGyIWIAggCSAIIAlUGyIIIAMgBCADIARUGyIDIAggA1YbIgQgFiAEVhsi","CSAVIAlWGyIXIAsgGiALIBpUGyILIBIgGSASIBlUGyISIAYgByAGIAdUGyIGIBIgBlYbIgcgCyAHVhsiGCAXIBhWGzcDWCAAIBAg","EyAQIBNUGyIQIA8gDCAPIAxUGyIMIBAgDFQbIg8gEiAGIBIgBlQbIgYgCCADIAggA1QbIgMgBiADVBsiCCAPIAhUGzcDACAAIBcg","GCAXIBhUGyISIAsgByALIAdUGyIHIBUgCSAVIAlUGyIJIAcgCVYbIgsgEiALVhs3A1AgACAKIA4gCiAOVBsiCiAWIAQgFiAEVBsi","BCAKIARUGyIOIAYgAyAGIANWGyIDIBAgDCAQIAxWGyIGIAMgBlQbIgwgDiAMVBsiECAFIBEgBSARVBsiBSANIBQgDSAUVBsiDSAF","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","IAYgACACQQN0aiIHKQMANwMAIAcgBTcDACACIAUgBFRqC3cBAX8CQCABDQBBAA8LAkAgAiABTw0AIAAoAgAhBCAAIAAgAkECdGoi","AigCADYCACACIAQ2AgAgAEEEaiABQX9qIAAgAxCkgICAACICIAFPDQAgACgCACEBIAAgACACQQJ0aiIDKAIANgIAIAMgATYCACAC","DwsAC3cBAX8CQCABDQBBAA8LAkAgAiABTw0AIAAoAgAhBCAAIAAgAkECdGoiAigCADYCACACIAQ2AgAgAEEEaiABQX9qIAAgAxCl","gICAACICIAFPDQAgACgCACEBIAAgACACQQJ0aiIDKAIANgIAIAMgATYCACACDwsAC3cBAX8CQCABDQBBAA8LAkAgAiABTw0AIAAo","AgAhBCAAIAAgAkECdGoiAigCADYCACACIAQ2AgAgAEEEaiABQX9qIAAgAxCmgICAACICIAFPDQAgACgCACEBIAAgACACQQJ0aiID","KAIANgIAIAMgATYCACACDwsAC3cBAX8CQCABDQBBAA8LAkAgAiABTw0AIAAoAgAhBCAAIAAgAkECdGoiAigCADYCACACIAQ2AgAg","AEEEaiABQX9qIAAgAxCngICAACICIAFPDQAgACgCACEBIAAgACACQQJ0aiIDKAIANgIAIAMgATYCACACDwsAC3cBAX4CQCABDQBB","AA8LAkAgAiABTw0AIAApAwAhBCAAIAAgAkEDdGoiAikDADcDACACIAQ3AwAgAEEIaiABQX9qIAAgABCogICAACICIAFPDQAgACkD","ACEEIAAgACACQQN0aiIBKQMANwMAIAEgBDcDACACDwsAC3cBAX4CQCABDQBBAA8LAkAgAiABTw0AIAApAwAhBCAAIAAgAkEDdGoi","AikDADcDACACIAQ3AwAgAEEIaiABQX9qIAAgABCpgICAACICIAFPDQAgACkDACEEIAAgACACQQN0aiIBKQMANwMAIAEgBDcDACAC","DwsAC38BA38jgICAgABBEGsiAiSAgICAACACQQhqIAAgARDpgICAAAJAAkAgAigCCCIBIAIoAgwiA0cNAEEAIQAMAQtBACEAA0BB","AEECQQEgAS0AACIEQe8BSxsgBMBBQEgbIABqIQAgAUEBaiIBIANHDQALCyACQRBqJICAgIAAIAALDgAgACABIAAQsoCAgAALiQEB","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","ASAEIAo2AswBIARBADYCyAEgBCAJNgLEASAEIAg2AsABIAQgBCgCiAI2ApgBIAQgBCkCgAI3ApABIAQgBCgClAI2AqQBIAQgBCkC","jAI3ApwBIAQgBCgCoAI2ArABIAQgBCkCmAI3AqgBIAQgBCgCrAI2ArwBIAQgBCkCpAI3ArQBIARBADYC7AEgBEKAgICAwAA3AuQB","IARBADYCrAIgBEKAgICAgAE3AqQCIAOtIQwgBEHkAWohDSAEQdgBaiEOIARBhAFqIQ8gBEH4AGohECAEQewAaiERIARB4ABqIRIg","BEHUAGohEyAEQcgAaiEUIARBPGohFQNAIAEhFiACIQNBACEXQQEhGEEAIQICQCADRQ0AQQAhFwJAA0AgFiAXaiIHLQAAQQpGDQFB","ASEYIAMgF0EBaiIXRw0ACyADIRcgAyECIBYhAQwBCyAHQQFqIQEgF0F/cyADaiECQQAhGAsCQCALIAxRDQACQCAXRQ0AIBYgF2oh","AyALpyIZQQJ0IRoDQCAWIRtBACEJAkACQANAIBsgCWoiBy0AACIFQSBGIhwNASAbIAlBAWoiCWogA0cNAAsgFyEJIBshFgwBCyAH","QQFqIRYgCUF/cyAXaiEXCwJAAkACQAJAAkACQCAJRQ0AIARBIGogBEEwaiAbIAkQuYCAgAACQCAEKAIgQQFHDQAgBCgCJCEDDAQL","IAQoAkQhHSAEQTBqIBsgCRDRgICAACAEKAI4IQcCQCAEKAJEIgMgBCgCPEcNACAVELyAgIAACyAEKAJAIANBAnRqIAc2AgAgBCAD","QQFqNgJEIBsgCRCwgICAACEHAkAgBCgCUCIDIAQoAkhHDQAgFBC8gICAAAsgBCgCTCADQQJ0aiAHNgIAIAQgA0EBajYCUCAdQQF0","IAQoAmgiA00NAiAEQbACakEAIANBAXQiAxCFgICAACAEKAJEQX9qIh5FDQEgA0F/aiEGQQAhHyAEKAK0AiEIIAQoArgCIQUDQCAE","QRhqIARBMGogHxC7gICAACAEQRBqIAQoAhggBCgCHBDpgICAAEGlxoiheCEHAkAgBCgCECIDIAQoAhQiCkYNAANAIAcgAy0AAHNB","swNsIQcgA0EBaiIDIApHDQALCwJAIAcgBnEiAyAFTw0AIB9BAWohHwNAAkAgCCADQQJ0aiIHKAIADQAgByAfNgIAIB8gHkcNAwwF","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","aiSAgICAAAttAQN/IAAgARDTgICAACAAKAIEIgMgACgCCCIEaiEFAkACQAJAIAFBAkkNAAJAIAFBf2oiAUUNACAFIAIgAfwLAAsg","AyABIARqIgRqIQUMAQsgAUUNAQsgBSACOgAAIARBAWohBAsgACAENgIIC/ICAQF/I4CAgIAAQdABayIDJICAgIAAIANBDGogACAB","IAIQvYCAgAAgAygCICECAkBBACgCpI7AgABBf0YNAEGkjsCAABDXgICAAEGkjsCAABDWgICAAEGwjsCAAEEEQQQQyYCAgABBvI7A","gABBBEEEEMmAgIAAQciOwIAAQQRBBBDJgICAAEHUjsCAAEEEQQQQyYCAgABB4I7AgABBBEEEEMmAgIAAQeyOwIAAQQRBBBDJgICA","AEH4jsCAAEEEQQQQyYCAgABBhI/AgABBBEEEEMmAgIAAQZCPwIAAQQRBBBDJgICAAEGcj8CAAEEIQQgQyYCAgABBqI/AgAAQ14CA","gABBqI/AgAAQ1oCAgABBtI/AgABBBEEEEMmAgIAAQcCPwIAAQQRBBBDJgICAAEHMj8CAAEEEQQQQyYCAgABB2I/AgABBBEEEEMmA","gIAAC0GkjsCAACADQQxqQcQB/AoAACADQdABaiSAgICAACACQX9qC14BAX8jgICAgABBEGsiACSAgICAAEEAQX82AqSOwIAAIABB","CGoQ0ICAgABBAEHwj8CAADYC6I/AgABBACAAKQMINwKYjsCAAEEAQQA2AqCOwIAAIABBEGokgICAgAALPgEBfwJAIABBCGoiAEEA","KAKgjsCAACIBTQ0AQZiOwIAAIAAgAWtBABDAgICAAAtBACgCnI7AgABBB2pBeHELOwEBf0EAIQgCQEEAKAKkjsCAAEF/Rg0AQaSO","wIAAIAAgASACIAMgBCAGIAUgByAFELiAgIAAIQgLIAgLBABBAQsNACAAIAEQzoCAgAAPCwMADwsNACAAIAEQ1ICAgAAAC4gBAQR/","I4CAgIAAQRBrIgMkgICAgABBACEEIANBDGohBQJAAkAgAkUNACAAKAIAIgZFDQAgAyABNgIMIAYgAmwhBCAAKAIEIQIgA0EIaiEF","DAELCyAFIAQ2AgACQCADKAIMIgRFDQAgAygCCCIFRQ0AIAIgBSAEELOAgIAACyADQRBqJICAgIAAC1IBAX8jgICAgABBEGsiBSSA","gICAACAFQQhqIAAgASACIAMgBBDLgICAAAJAIAUoAggiBEF/Rg0AIAQgBSgCDBDMgICAAAALIAVBEGokgICAgAALuQEBAn8jgICA","gABBEGsiBiSAgICAAEEAIQcCQAJAIAUNAAwBCyADIAJqIgIgA0kNACAGQQRqIAEgAiABKAIAQQF0IgMgAiADSxsiA0EIQQRBASAF","QYEISRsgBUEBRhsiAiADIAJLGyIDIAQgBRDSgICAACAGKAIIIQcCQCAGKAIERQ0AIAYoAgwhAgwBCyABIAM2AgAgASAHNgIEQX8h","BwsgACACNgIEIAAgBzYCACAGQRBqJICAgIAACxwAAkAgAEUNACAAIAEQyICAgAAACxDVgICAAAALYwECfwJAAkACQCACIAFrIgMg","ACgCACAAKAIIIgRrTQ0AIAAgBCADQQFBARDKgICAACAAKAIIIQQMAQsgAiABRg0BCyADRQ0AIAAoAgQgBGogASAD/AoAAAsgACAE","IANqNgIIC0sBAX8jgICAgABBEGsiAiSAgICAACACIAA2AgQgAkGBgICAADYCDCACIAJBBGo2AghBmobAgAAgAkEIakEAQbCLwIAA","EOKAgIAAAAuxAQEBfgJAAkACQCAErSABrX4iBUIgiKcNACAFpyIEIAMQ24CAgAANAQsgAEEANgIEQQEhAQwBCwJAIAQNACAAIAM2","AghBACEBIABBADYCBAwBCxDHgICAAAJAAkAgAg0AIAQgAxCxgICAACECDAELIAQgAxC3gICAACECCwJAIAINACAAIAQ2AgggACAD","NgIEQQEhAQwBCyAAIAI2AgggACABNgIEQQAhAQsgACABNgIACw0AIABCgICAgBA3AwALEQAgACABIAEgAmoQzYCAgAALoAIDAX8B","fgN/I4CAgIAAQRBrIgUkgICAgAAgBK0gAq1+IganIQICQAJAAkACQAJAIAZCIIinDQAgAiADENuAgIAADQELIABBADYCBAwBC0EA","IQcgBUEMaiEIAkACQCAERQ0AIAEoAgAiCUUNACAFIAM2AgwgCSAEbCEHIAEoAgQhBCAFQQhqIQgMAQsLIAggBzYCAAJAAkACQCAF","KAIMRQ0AAkAgBSgCCCIBDQAgAg0CIAMhBAwDCyAEIAEgAyACELSAgIAAIQQMAgsgAg0AIAMhBAwDCxDHgICAACACIAMQsYCAgAAh","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","gAAgA0EQaiACENiAgIAAAAthAQF/I4CAgIAAQSBrIgMkgICAgAAgAyABNgIMIAMgADYCCCADQYGAgIAANgIcIANBgYCAgAA2AhQg","AyADQQxqNgIYIAMgA0EIajYCEEGYgcCAACADQRBqIAIQ2ICAgAAACxgAQbyNwIAAQZkBQYiOwIAAENiAgIAAAAsrACAAIAIgASAD","IAEgA0kbEOqAgIAAIgIgASADayACGyIDQQBKIANBAEhrCxMAIAAgASACajYCBCAAIAE2AgALSgEDf0EAIQMCQCACRQ0AAkADQCAA","LQAAIgQgAS0AACIFRw0BIABBAWohACABQQFqIQEgAkF/aiICRQ0CDAALCyAEIAVrIQMLIAMLC/sPAgBBgIDAAAuYDhZzbGljZSBp","bmRleCBzdGFydHMgYXQgwA0gYnV0IGVuZHMgYXQgwAAgaW5kZXggb3V0IG9mIGJvdW5kczogdGhlIGxlbiBpcyDAEiBidXQgdGhl","IGluZGV4IGlzIMAAEnJhbmdlIHN0YXJ0IGluZGV4IMAiIG91dCBvZiByYW5nZSBmb3Igc2xpY2Ugb2YgbGVuZ3RoIMAAEHJhbmdl","IGVuZCBpbmRleCDAIiBvdXQgb2YgcmFuZ2UgZm9yIHNsaWNlIG9mIGxlbmd0aCDAAC9yb290Ly5ydXN0dXAvdG9vbGNoYWlucy9z","dGFibGUteDg2XzY0LXVua25vd24tbGludXgtZ251L2xpYi9ydXN0bGliL3NyYy9ydXN0L2xpYnJhcnkvY29yZS9zcmMvc2xpY2Uv","c29ydC9zaGFyZWQvc21hbGxzb3J0LnJzAC9yb290Ly5ydXN0dXAvdG9vbGNoYWlucy9zdGFibGUteDg2XzY0LXVua25vd24tbGlu","dXgtZ251L2xpYi9ydXN0bGliL3NyYy9ydXN0L2xpYnJhcnkvY29yZS9zcmMvc2xpY2Uvc29ydC91bnN0YWJsZS9xdWlja3NvcnQu","cnMAL3Jvb3QvLnJ1c3R1cC90b29sY2hhaW5zL3N0YWJsZS14ODZfNjQtdW5rbm93bi1saW51eC1nbnUvbGliL3J1c3RsaWIvc3Jj","L3J1c3QvbGlicmFyeS9jb3JlL3NyYy9mbXQvbnVtLnJzAC9yb290Ly5ydXN0dXAvdG9vbGNoYWlucy9zdGFibGUteDg2XzY0LXVu","a25vd24tbGludXgtZ251L2xpYi9ydXN0bGliL3NyYy9ydXN0L2xpYnJhcnkvYWxsb2Mvc3JjL3Jhd192ZWMvbW9kLnJzAC9yb290","Ly5ydXN0dXAvdG9vbGNoYWlucy9zdGFibGUteDg2XzY0LXVua25vd24tbGludXgtZ251L2xpYi9ydXN0bGliL3NyYy9ydXN0L2xp","YnJhcnkvYWxsb2Mvc3JjL2FsbG9jLnJzAHNyYy9saWIucnMAFW1lbW9yeSBhbGxvY2F0aW9uIG9mIMANIGJ5dGVzIGZhaWxlZABN","ARAAfwAAADgAAAAbAAAADwMQAAoAAAAzAQAAEgAAAA8DEAAKAAAANAEAACQAAAAPAxAACgAAADEBAAAkAAAADwMQAAoAAACfAAAA","IwAAAA8DEAAKAAAAnwAAAEAAAAAPAxAACgAAAJ8AAAAcAAAADwMQAAoAAACgAAAAIwAAAA8DEAAKAAAAoAAAAEAAAAAPAxAACgAA","AKAAAAAcAAAADwMQAAoAAAC/AAAAGAAAAA8DEAAKAAAA/QAAACEAAAAPAxAACgAAAOEAAAApAAAADwMQAAoAAAAfAQAAJQAAAA8D","EAAKAAAAIAEAACEAAAAPAxAACgAAACEBAAAnAAAADwMQAAoAAAAjAQAAHwAAAA8DEAAKAAAAJQEAAB8AAAAPAxAACgAAACgBAAAb","AAAADwMQAAoAAAApAQAAGAAAAA8DEAAKAAAAEgEAACUAAAAPAxAACgAAABMBAAApAAAADwMQAAoAAAATAQAARgAAAA8DEAAKAAAA","FAEAACoAAAAPAxAACgAAABUBAAAfAAAADwMQAAoAAAAYAQAAMAAAAA8DEAAKAAAAGAEAABwAAAAPAxAACgAAADsBAAAhAAAADwMQ","AAoAAAAuAQAAGAAAAA8DEAAKAAAAzAAAABYAAAAPAxAACgAAAEwAAAAkAAAADwMQAAoAAABMAAAAQQAAAA8DEAAKAAAATAAAABQA","AAAPAxAACgAAAIQAAAAbAAAADwMQAAoAAACZAAAAMgAAAA8DEAAKAAAAmQAAABoAAAAPAxAACgAAAJUAAAAaAAAADwMQAAoAAACy","AAAAGQAAAA8DEAAKAAAAUwAAACIAAACmAhAAaAAAAD0CAAAJAAAAY2FwYWNpdHkgb3ZlcmZsb3cAAAA3AhAAbgAAABwAAAAFAAAA","zQEQAGkAAABYAgAABQAAADAwMDEwMjAzMDQwNTA2MDcwODA5MTAxMTEyMTMxNDE1MTYxNzE4MTkyMDIxMjIyMzI0MjUyNjI3Mjgy","OTMwMzEzMjMzMzQzNTM2MzczODM5NDA0MTQyNDM0NDQ1NDY0NzQ4NDk1MDUxNTI1MzU0NTU1NjU3NTg1OTYwNjE2MjYzNjQ2NTY2","Njc2ODY5NzA3MTcyNzM3NDc1NzY3Nzc4Nzk4MDgxODI4Mzg0ODU4Njg3ODg4OTkwOTE5MjkzOTQ5NTk2OTc5ODk5dXNlci1wcm92","aWRlZCBjb21wYXJpc29uIGZ1bmN0aW9uIGRvZXMgbm90IGNvcnJlY3RseSBpbXBsZW1lbnQgYSB0b3RhbCBvcmRlcs8AEAB9AAAA","VgMAAAUAAAAAQZiOwAAL0AEAAAAAAQAAAAAAAAD/////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"].join("");var rn=["AGFzbQEAAAABYA1gA39/fwF/YAJ/fwF/YAN/f38AYAV/f39/fwBgBX9/f39/AX9gBH9/f38AYAR/f39/AX9gCH9/f39/f39/AX9g","AX8AYAABf2AHf39/f39/fwF/YAZ/f39/f38Bf2AAAAMkIwIDBAIFBQICAgIGBgYGAwcICQoFCQIBBQILBQYAAQICAgwABAUBcAEC","AgUDAQARBgkBfwFBgIDAAAsHPAUGbWVtb3J5AgAMeWtfaGVhcF9iYXNlABEJeWtfc2VhcmNoABIHeWtfc29ydAATCnlrX3ZlcnNp","b24AFAkHAQBBAQsBHQrEWiO8BgMFfwJ8BH8CQCABQQJJDQACQAJAAkACQAJAAkACQAJAAkAgACgCBCIDIAIoAgAiBCgCBCIFTw0A","IAAoAgAiBiAFTw0BIAQoAgAiByAGQQN0aisDACEIAkACQCAHIANBA3RqKwMAIgkgCWINACAIIAhiDQFBAEEAQX8gCSAIZiIKG0EB","QX4gChsgCSAIZRsiCmsgCiAEKAIILQAAG0H/AXEiCkH/AUYgAyAGSSAKGw0BDAYLIAMgBk8NBSAIIAhhDQULQQIhCkEBIQsgAUEC","Rg0GIABBCGohDEECIQoDQCADIQYgDCgCACIDIAVPDQMgBiAFTw0EIAcgBkEDdGorAwAhCAJAAkAgByADQQN0aisDACIJIAliDQAg","CCAIYg0BQQBBAEF/IAkgCGYiDRtBAUF+IA0bIAkgCGUbIg1rIA0gBCgCCC0AABtB/wFxIg1B/wFGIAMgBkkgDRtBAUYNAUEBIQsM","CQsgAyAGTw0IIAggCGENCAsgDEEEaiEMIAEgCkEBaiIKRw0AC0EBIQsMBQsgAyAFQdSEwIAAEJiAgIAAAAsgBiAFQeSEwIAAEJiA","gIAAAAsgAyAFQdSEwIAAEJiAgIAAAAsgBiAFQeSEwIAAEJiAgIAAAAtBAiEKQQAhCyABQQJGDQEgAEEIaiEMQQIhCgNAIAMhBiAM","KAIAIgMgBU8NAyAGIAVPDQQgByAGQQN0aisDACEIAkACQCAHIANBA3RqKwMAIgkgCWINACAIIAhiDQRBAEEAQX8gCSAIZiING0EB","QX4gDRsgCSAIZRsiDWsgDSAEKAIILQAAG0H/AXEiDUH/AUYgAyAGSSANG0UNAUEAIQsMBAsgAyAGTw0AIAggCGINAwsgDEEEaiEM","IAEgCkEBaiIKRw0ACwsgASEKCwJAIAogAUYNACAAIAFBACABQQFyZ0EBdEE+cyACEIGAgIAADAMLIAtFDQIgAUEBdiEGIAFBAnQg","AGpBfGohAwNAIAAoAgAhCiAAIAMoAgA2AgAgAyAKNgIAIANBfGohAyAAQQRqIQAgBkF/aiIGDQAMAwsLIAMgBUHUhMCAABCYgICA","AAALIAYgBUHkhMCAABCYgICAAAALC7YIBAh/AnwDfwF8I4CAgIAAQRBrIgUkgICAgAACQAJAIAFBIUkNACADQX9qIQMDQAJAIANB","f0cNACAAIAEgBBCJgICAAAwDCyAAIAFBA3YiBkEcbGohByAAIAZBBHRqIQgCQAJAIAFBwABJDQAgACAIIAcgBiAEEIKAgIAAIQYM","AQsCQAJAAkACQAJAAkAgACgCACIGIAQoAgAiCSgCBCIKTw0AIAgoAgAiCyAKTw0BIAkoAgAiDCALQQN0aisDACENAkACQAJAAkAg","DCAGQQN0aisDACIOIA5iIg8NACANIA1hDQFBASEQDAMLIA0gDWINAUEAIRAMAgtBAEEAQX8gDiANZiIRG0EBQX4gERsgDiANZRsi","EWsgESAJKAIILQAAG0H/AXEiEUH/AUYgBiALSSARGyEQDAELIAYgC0khEAsgBygCACIRIApPDQIgDCARQQN0aisDACESAkACQAJA","AkACQAJAAkAgDw0AIBIgEmENASAAIQYgEEUNDSANIA1iDQYMCwsgEiASYg0BIAAhBiAQDQwgDSANYQ0DDAkLQQBBAEF/IA4gEmYi","ChtBAUF+IAobIA4gEmUbIgprIAogCSgCCC0AABtB/wFxIgpB/wFGIAYgEUkgChshCgwBCyAGIBFJIQoLIAAhBiAQIApHDQkgDSAN","Yg0BIBIgEmINBwtBAEEAQX8gDSASZiIGG0EBQX4gBhsgDSASZRsiBmsgBiAJKAIILQAAG0H/AXEiBkH/AUYgCyARSSAGGyEGDAcL","IBIgEmENBAsgCyARSSEGDAULIAYgCkHUhMCAABCYgICAAAALIAsgCkHkhMCAABCYgICAAAALIBEgCkHkhMCAABCYgICAAAALQQAh","BgwBC0EBIQYLIAcgCCAQIAZzGyEGCyAGIABrIgdBAnYhBgJAAkAgAkUNAAJAAkACQCACKAIAIgggBCgCACIJKAIEIgtPDQAgACAH","aigCACIHIAtPDQEgCSgCACILIAdBA3RqKwMAIQ0CQAJAIAsgCEEDdGorAwAiEiASYg0AIA0gDWINBUEAQQBBfyASIA1mIgsbQQFB","fiALGyASIA1lGyILayALIAkoAggtAAAbQf8BcSIJQf8BRiAIIAdJIAkbDQUMAQsgCCAHTw0AIA0gDWINBAsgBSAENgIMIAAgASAG","IAVBDGoQjICAgAAiBkEBaiECIAYgAU8NAiABIAJrIQEgACACQQJ0aiEAQQAhAgwECyAIIAtB1ITAgAAQmICAgAAACyAHIAtB5ITA","gAAQmICAgAAACyACIAEgAUHEhMCAABCXgICAAAALIAAgACABIAYgBBCNgICAACIGIAIgAyAEEIGAgIAAIAEgBkF/c2ohASAAIAZB","AnRqIgJBBGohAAsgA0F/aiEDIAFBIU8NAAsLIAAgASAEEIiAgIAACyAFQRBqJICAgIAAC4kFBAR/AnwCfwF8AkAgA0H4////AXFF","DQAgACAAIANBA3YiA0EEdCIFaiAAIANBHGwiBmogAyAEEIKAgIAAIQAgASABIAVqIAEgBmogAyAEEIKAgIAAIQEgAiACIAVqIAIg","BmogAyAEEIKAgIAAIQILAkACQAJAAkACQAJAAkAgACgCACIDIAQoAgAiBCgCBCIHTw0AIAEoAgAiBSAHTw0BIAQoAgAiCCAFQQN0","aisDACEJAkACQAJAAkAgCCADQQN0aisDACIKIApiIgsNACAJIAlhDQFBASEMDAMLIAkgCWINAUEAIQwMAgtBAEEAQX8gCiAJZiIG","G0EBQX4gBhsgCiAJZRsiBmsgBiAEKAIILQAAG0H/AXEiBkH/AUYgAyAFSSAGGyEMDAELIAMgBUkhDAsgAigCACIGIAdPDQIgCCAG","QQN0aisDACENAkACQAJAAkACQAJAAkAgCw0AIA0gDWENASAMRQ0NIAkgCWINBgwLCyANIA1iDQEgDA0MIAkgCWENAwwJC0EAQQBB","fyAKIA1mIgcbQQFBfiAHGyAKIA1lGyIHayAHIAQoAggtAAAbQf8BcSIHQf8BRiADIAZJIAcbIQMMAQsgAyAGSSEDCyAMIANHDQkg","CSAJYg0BIA0gDWINBwtBAEEAQX8gCSANZiIAG0EBQX4gABsgCSANZRsiAGsgACAEKAIILQAAG0H/AXEiAEH/AUYgBSAGSSAAGyEA","DAcLIA0gDWENBAsgBSAGSSEADAULIAMgB0HUhMCAABCYgICAAAALIAUgB0HkhMCAABCYgICAAAALIAYgB0HkhMCAABCYgICAAAAL","QQAhAAwBC0EBIQALIAIgASAMIABzGyEACyAAC9wDAwR/AnwBfwJAAkAgASgCACIDIAIoAgAiAigCBCIETw0AAkAgAUF8aiIFKAIA","IgYgBE8NACACKAIAIgQgBkEDdGorAwAhBwJAAkAgBCADQQN0aisDACIIIAhiDQAgByAHYg0BQQBBAEF/IAggB2YiBBtBAUF+IAQb","IAggB2UbIgRrIAQgAigCCC0AABtB/wFxIgRB/wFGIAMgBkkgBBtBAUYNAQwECyADIAZPDQMgByAHYQ0DCyABIAY2AgACQCAFIABG","DQAgA0EDdCEJA0AgBSEGAkACQAJAIAMgAigCBCIETw0AIAZBfGoiBSgCACIBIARPDQEgAigCACIEIAFBA3RqKwMAIQcCQAJAIAQg","CWorAwAiCCAIYg0AIAcgB2INBEEAQQBBfyAIIAdmIgQbQQFBfiAEGyAIIAdlGyIEayAEIAIoAggtAAAbQf8BcSIEQf8BRiADIAFJ","IAQbQQFHDQEMBAsgAyABTw0AIAcgB2INAwsgBiEFDAQLIAMgBEHUhMCAABCYgICAAAALIAEgBEHkhMCAABCYgICAAAALIAYgATYC","ACAFIABHDQALCyAFIAM2AgAPCyAGIARB5ITAgAAQmICAgAAACyADIARB1ITAgAAQmICAgAAACwunBQMIfwJ8A38gAiABQQJ0QXxq","IgRqIQUgACAEaiEGIAAgAUEBdiIHQQJ0aiIIQXxqIQkgAygCACEDAkACQAJAAkACQANAIAgoAgAiCiADKAIEIgtPDQEgACgCACIE","IAtPDQIgAygCACILIARBA3RqKwMAIQwCQAJAAkAgCyAKQQN0aisDACINIA1iDQAgDCAMYg0BQQAhC0EAQQBBfyANIAxmIg4bQQFB","fiAOGyANIAxlGyIOayAOIAMoAggtAAAbQf8BcSIOQf8BRiAKIARJIA4bQQFGDQEMAgtBACELIAogBE8NASAMIAxhDQELQQEhCyAK","IQQLIAIgBDYCACAGKAIAIgQgAygCBCIOTw0DIAkoAgAiCiAOTw0EIAtBAnQhDiALQQFzQQJ0IQ8gAygCACILIApBA3RqKwMAIQwC","QAJAAkAgCyAEQQN0aisDACINIA1iDQAgDCAMYg0BQQAhC0EAQQBBfyANIAxmIhAbQQFBfiAQGyANIAxlGyIQayAQIAMoAggtAAAb","Qf8BcSIQQf8BRiAEIApJIBAbQQFGDQEMAgtBACELIAQgCk8NASAMIAxhDQELQQEhCyAKIQQLIAJBBGohAiAIIA5qIQggACAPaiEA","IAUgBDYCACAFQXxqIQUgCSALQQJ0IgRrIQkgBCAGakF8aiEGIAdBf2oiBw0ACyAGQQRqIQQgCUEEaiEDAkAgAUEBcUUNACACIAAg","CCAAIANJIgobKAIANgIAIAggACADT0ECdGohCCAAIApBAnRqIQALAkAgCCAERw0AIAAgA0YNBQsQoYCAgAAACyAKIAtB1ITAgAAQ","mICAgAAACyAEIAtB5ITAgAAQmICAgAAACyAEIA5B1ITAgAAQmICAgAAACyAKIA5B5ITAgAAQmICAgAAACwuDAgICfwJ8AkACQAJA","AkAgACACQQJ0aiIEKAIAIgIgAygCACIDKAIEIgVPDQAgACABQQJ0aiIBKAIAIgAgBU8NASADKAIAIgUgAEEDdGorAwAhBgJAAkAg","BSACQQN0aisDACIHIAdiDQAgBiAGYg0EQQBBAEF/IAcgBmYiBRtBAUF+IAUbIAcgBmUbIgVrIAUgAygCCC0AABtB/wFxIgNB/wFG","IAIgAEkgAxtBAUcNAQwECyACIABPDQAgBiAGYg0DCyAAIQMgAiEADAMLIAIgBUHUhMCAABCYgICAAAALIAAgBUHkhMCAABCYgICA","AAALIAIhAwsgASADNgIAIAQgADYCAAvsAgACQCABQQlJDQAgAEEAQQMgAhCFgICAACAAQQFBByACEIWAgIAAIABBAkEFIAIQhYCA","gAAgAEEEQQggAhCFgICAACAAQQBBByACEIWAgIAAIABBAkEEIAIQhYCAgAAgAEEDQQggAhCFgICAACAAQQVBBiACEIWAgIAAIABB","AEECIAIQhYCAgAAgAEEBQQMgAhCFgICAACAAQQRBBSACEIWAgIAAIABBB0EIIAIQhYCAgAAgAEEBQQQgAhCFgICAACAAQQNBBiAC","EIWAgIAAIABBBUEHIAIQhYCAgAAgAEEAQQEgAhCFgICAACAAQQJBBCACEIWAgIAAIABBA0EFIAIQhYCAgAAgAEEGQQggAhCFgICA","ACAAQQJBAyACEIWAgIAAIABBBEEFIAIQhYCAgAAgAEEGQQcgAhCFgICAACAAQQFBAiACEIWAgIAAIABBA0EEIAIQhYCAgAAgAEEF","QQYgAhCFgICAAA8LAAuEBQACQCABQQ1JDQAgAEEAQQwgAhCFgICAACAAQQFBCiACEIWAgIAAIABBAkEJIAIQhYCAgAAgAEEDQQcg","AhCFgICAACAAQQVBCyACEIWAgIAAIABBBkEIIAIQhYCAgAAgAEEBQQYgAhCFgICAACAAQQJBAyACEIWAgIAAIABBBEELIAIQhYCA","gAAgAEEHQQkgAhCFgICAACAAQQhBCiACEIWAgIAAIABBAEEEIAIQhYCAgAAgAEEBQQIgAhCFgICAACAAQQNBBiACEIWAgIAAIABB","B0EIIAIQhYCAgAAgAEEJQQogAhCFgICAACAAQQtBDCACEIWAgIAAIABBBEEGIAIQhYCAgAAgAEEFQQkgAhCFgICAACAAQQhBCyAC","EIWAgIAAIABBCkEMIAIQhYCAgAAgAEEAQQUgAhCFgICAACAAQQNBCCACEIWAgIAAIABBBEEHIAIQhYCAgAAgAEEGQQsgAhCFgICA","ACAAQQlBCiACEIWAgIAAIABBAEEBIAIQhYCAgAAgAEECQQUgAhCFgICAACAAQQZBCSACEIWAgIAAIABBB0EIIAIQhYCAgAAgAEEK","QQsgAhCFgICAACAAQQFBAyACEIWAgIAAIABBAkEEIAIQhYCAgAAgAEEFQQYgAhCFgICAACAAQQlBCiACEIWAgIAAIABBAUECIAIQ","hYCAgAAgAEEDQQQgAhCFgICAACAAQQVBByACEIWAgIAAIABBBkEIIAIQhYCAgAAgAEECQQMgAhCFgICAACAAQQRBBSACEIWAgIAA","IABBBkEHIAIQhYCAgAAgAEEIQQkgAhCFgICAACAAQQNBBCACEIWAgIAAIABBBUEGIAIQhYCAgAAPCwALlgIBB38jgICAgABBgAFr","IgMkgICAgAACQAJAIAFBAkkNACABQSBLDQEgASABQQF2IgQgAUESSSIFGyEGIAEgBGshByAAIARBAnRqIQggACEJA0ACQAJAIAZB","DEsNAEEBIQQgBkEITQ0BIAkgBiACEIaAgIAAQQkhBAwBCyAJIAYgAhCHgICAAEENIQQLIARBf2ogBk8NAgJAIAQgBkYNACAEQQJ0","IQQgBkECdCEGA0AgCSAJIARqIAIQg4CAgAAgBiAEQQRqIgRHDQALCyAFDQEgCSAARiEEIAghCSAHIQYgBA0ACyAAIAEgAyACEISA","gIAAIAFBAnQiBEUNACAAIAMgBPwKAAALIANBgAFqJICAgIAADwsAC/0EAwh/AnwBfwJAAkACQAJAAkAgAUEBdiABaiIDRQ0AIAIo","AgAhBANAAkACQCADQX9qIgMgAU8NACAAKAIAIQIgACAAIANBAnRqIgUoAgA2AgAgBSACNgIAQQAhAgwBCyADIAFrIQILAkAgAkEB","dCIGQQFyIgUgASADIAEgA0kbIgdPDQAgBCgCBCEIA0AgAiEJAkACQCAGQQJqIgIgB0kNACAFIQIMAQsgACAFQQJ0aigCACIGIAhP","DQUgACACQQJ0aigCACICIAhPDQYgBCgCACIKIAJBA3RqKwMAIQsCQAJAAkACQCAKIAZBA3RqKwMAIgwgDGINACALIAthDQFBASEC","DAMLIAsgC2INAUEAIQIMAgtBAEEAQX8gDCALZiIKG0EBQX4gChsgDCALZRsiCmsgCiAEKAIILQAAG0H/AXEiCkH/AUYgBiACSSAK","GyECDAELIAYgAkkhAgsgBSACaiECCyAAIAlBAnRqIgooAgAiBSAITw0GIAAgAkECdGoiDSgCACIGIAhPDQcgBCgCACIJIAZBA3Rq","KwMAIQsCQAJAIAkgBUEDdGorAwAiDCAMYg0AIAsgC2INAUEAQQBBfyAMIAtmIgkbQQFBfiAJGyAMIAtlGyIJayAJIAQoAggtAAAb","Qf8BcSIJQf8BRiAFIAZJIAkbQQFGDQEMAwsgBSAGTw0CIAsgC2ENAgsgDSAFNgIAIAogBjYCACACQQF0IgZBAXIiBSAHSQ0ACwsg","Aw0ACwsPCyAGIAhB1ITAgAAQmICAgAAACyACIAhB5ITAgAAQmICAgAAACyAFIAhB1ITAgAAQmICAgAAACyAGIAhB5ITAgAAQmICA","gAAAC9IIAwp/AnwDfwJAIAENAEEADwsgAigCACEEIAAoAgAhBUEAIQYgACECAkAgAEEEaiIHIAAgAUECdGoiCEF8aiIJTw0AIAMo","AgAoAgAiCigCBCEBIARBA3QhC0EAIQYgACECAkACQAJAAkADQCAEIAFPDQEgAkEEaiIMKAIAIgcgAU8NAiAKKAIAIg0gB0EDdGor","AwAhDgJAAkACQAJAIA0gC2orAwAiDyAPYiIQDQAgDiAOYQ0BQQEhEQwDCyAOIA5iDQFBACERDAILQQBBAEF/IA8gDmYiEhtBAUF+","IBIbIA8gDmUbIhJrIBIgCigCCC0AABtB/wFxIhJB/wFGIAQgB0kgEhshEQwBCyAEIAdJIRELIAIgACAGQQJ0aiISKAIANgIAIBIg","BzYCACACQQhqIgIoAgAiByABTw0DIAYgEUEBc2ohBiANIAdBA3RqKwMAIQ4CQAJAAkACQCAQDQAgDiAOYQ0BQQEhDQwDCyAOIA5i","DQFBACENDAILQQBBAEF/IA8gDmYiDRtBAUF+IA0bIA8gDmUbIg1rIA0gCigCCC0AABtB/wFxIg1B/wFGIAQgB0kgDRshDQwBCyAE","IAdJIQ0LIAwgACAGQQJ0aiISKAIANgIAIBIgBzYCACAGIA1BAXNqIQYgAkEEaiAJTw0EDAALCyAEIAFB1ITAgAAQmICAgAAACyAH","IAFB5ITAgAAQmICAgAAACyAHIAFB5ITAgAAQmICAgAAACyACQQRqIQcLAkACQAJAAkACQCAHIAhGDQAgAygCACEMIARBA3QhEgNA","IAIhDSAHIQIgBCAMKAIAIgEoAgQiCk8NAiACKAIAIgcgCk8NAyABKAIAIgogB0EDdGorAwAhDwJAAkACQAJAIAogEmorAwAiDiAO","Yg0AIA8gD2ENAUEBIQEMAwsgDyAPYg0BQQAhAQwCC0EAQQBBfyAOIA9mIgobQQFBfiAKGyAOIA9lGyIKayAKIAEoAggtAAAbQf8B","cSIBQf8BRiAEIAdJIAEbIQEMAQsgBCAHSSEBCyANIAAgBkECdGoiCigCADYCACAKIAc2AgAgBiABQQFzaiEGIAJBBGoiByAIRw0A","CyAHQXxqIQILIAQgAygCACgCACIHKAIEIgFPDQIgBSABTw0DIAcoAgAiASAFQQN0aisDACEPAkACQAJAAkAgASAEQQN0aisDACIO","IA5iDQAgDyAPYQ0BQQEhBAwDCyAPIA9iDQFBACEEDAILQQBBAEF/IA4gD2YiARtBAUF+IAEbIA4gD2UbIgFrIAEgBygCCC0AABtB","/wFxIgdB/wFGIAQgBUkgBxshBAwBCyAEIAVJIQQLIAIgACAGQQJ0aiIHKAIANgIAIAcgBTYCACAGIARBAXNqDwsgBCAKQdSEwIAA","EJiAgIAAAAsgByAKQeSEwIAAEJiAgIAAAAsgBCABQdSEwIAAEJiAgIAAAAsgBSABQeSEwIAAEJiAgIAAAAuwCAMJfwJ8An8CQCAB","DQBBAA8LIAIoAgAhBCAAKAIAIQVBACEGIAAhAgJAIABBBGoiByAAIAFBAnRqIghBfGoiCU8NACADKAIAIgooAgQhAUEAIQYgACEC","AkACQAJAAkADQCACQQRqIgsoAgAiByABTw0BIAQgAU8NAiAKKAIAIgwgBEEDdGorAwAhDQJAAkACQAJAIAwgB0EDdGorAwAiDiAO","Yg0AIA0gDWENAUEBIQ8MAwsgDSANYg0BQQAhDwwCC0EAQQBBfyAOIA1mIhAbQQFBfiAQGyAOIA1lGyIQayAQIAooAggtAAAbQf8B","cSIQQf8BRiAHIARJIBAbIQ8MAQsgByAESSEPCyACIAAgBkECdGoiECgCADYCACAQIAc2AgAgAkEIaiICKAIAIgcgAU8NAyAGIA9q","IQYCQAJAAkACQCAMIAdBA3RqKwMAIg4gDmINACANIA1hDQFBASEMDAMLIA0gDWINAUEAIQwMAgtBAEEAQX8gDiANZiIMG0EBQX4g","DBsgDiANZRsiDGsgDCAKKAIILQAAG0H/AXEiDEH/AUYgByAESSAMGyEMDAELIAcgBEkhDAsgCyAAIAZBAnRqIhAoAgA2AgAgECAH","NgIAIAYgDGohBiACQQRqIAlPDQQMAAsLIAcgAUHUhMCAABCYgICAAAALIAQgAUHkhMCAABCYgICAAAALIAcgAUHUhMCAABCYgICA","AAALIAJBBGohBwsCQAJAAkACQAJAIAcgCEYNACADKAIAIQEDQCACIQwgByICKAIAIgcgASgCBCIKTw0CIAQgCk8NAyABKAIAIgog","BEEDdGorAwAhDQJAAkACQAJAIAogB0EDdGorAwAiDiAOYg0AIA0gDWENAUEBIQoMAwsgDSANYg0BQQAhCgwCC0EAQQBBfyAOIA1m","IgobQQFBfiAKGyAOIA1lGyIKayAKIAEoAggtAAAbQf8BcSIKQf8BRiAHIARJIAobIQoMAQsgByAESSEKCyAMIAAgBkECdGoiCygC","ADYCACALIAc2AgAgBiAKaiEGIAJBBGoiByAIRw0ACyAHQXxqIQILIAUgAygCACIHKAIEIgFPDQIgBCABTw0DIAcoAgAiASAEQQN0","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","gYCAgAA2AhwgA0GBgICAADYCFCADIANBCGo2AhggAyADQQxqNgIQQaiAwIAAIANBEGogAhCVgICAAAALjwUCBn8BfiOAgICAAEEQ","ayIGJICAgIAAAkACQCABDQAgBUEBaiEHIAAoAgghCEEtIQkMAQtBK0F/IAAoAggiCEGAgIABcSIBGyEJIAFBFXYgBWohBwsCQAJA","IAhBgICABHENAEEAIQIMAQsCQAJAIANBEEkNACACIAMQloCAgAAhCgwBC0EAIQogA0UNACACIQEgAyELA0AgCiABLAAAQb9/Smoh","CiABQQFqIQEgC0F/aiILDQALCyAKIAdqIQcLAkACQAJAAkACQCAHIAAvAQwiCk8NACAIQYCAgAhxDQFBASEBIAYgACAKIAdrQQEQ","moCAgAAgBigCACIHQX9GDQQgBi8BBCELIAAgCSACIAMQm4CAgAANBCAAKAIAIgMgBCAFIAAoAgQiAigCDBGAgICAAICAgIAADQRB","ACEKIAtB//8DcSELA0AgCyAKQf//A3EiAEshASALIABNDQUgCkEBaiEKIAMgByACKAIQEYGAgIAAgICAgABFDQAMBQsLIAAgCSAC","IAMQm4CAgABFDQEMAgsgACAAKQIIIgynQYCAgP95cUGwgICAAnI2AgggACAJIAIgAxCbgICAAA0BQQEhASAGQQhqIAAgCiAHa0EB","EJqAgIAAIAYoAggiC0F/Rg0CIAYvAQwhAiAAKAIAIgcgBCAFIAAoAgQiAygCDBGAgICAAICAgIAADQJBACEKIAJB//8DcSECAkAD","QCACIApB//8DcU0NAUEBIQEgCkEBaiEKIAcgCyADKAIQEYGAgIAAgICAgABFDQAMBAsLIAAgDDcCCEEAIQEMAgsgACgCACAEIAUg","ACgCBCgCDBGAgICAAICAgIAAIQEMAQtBASEBCyAGQRBqJICAgIAAIAELuAEBA38gAiEEAkACQAJAAkAgASgCCCIFQR12QQNxDgQB","AwACAQsgAkH+/wNxQQF2IQQMAgtBACEEDAELIAJBACADQf8BcRshBAsgBUH///8AcSEFIAEoAgQhAyABKAIAIQZBACEBAkACQANA","IAFB//8DcSAEQf//A3FPDQEgAUEBaiEBIAYgBSADKAIQEYGAgIAAgICAgABFDQALQX8hBQwBCyACIARrIQELIAAgATsBBCAAIAU2","AgALUgACQCABQX9GDQAgACgCACABIAAoAgQoAhARgYCAgACAgICAAEUNAEEBDwsCQCACDQBBAA8LIAAoAgAgAiADIAAoAgQoAgwR","gICAgACAgICAAAvRAwEJfwJAAkAgAEHoB08NACAAIQMMAQsgAUF8aiEEQQAhBSAAIQYCQAJAAkACQAJAA0AgBiAGQZDOAG4iA0GQ","zgBsayIHQf//A3FB5ABuIQggAiAFaiIJQXxqIAJPDQEgBCACaiIKIAhBAXQiCy0ApIXAgAA6AAAgCUF9aiACTw0CIApBAWogC0Gl","hcCAAGotAAA6AAAgCUF+aiACTw0DIApBAmogByAIQeQAbGtBAXRB/v8HcSIILQCkhcCAADoAACAJQX9qIAJPDQQgCkEDaiAIQaWF","wIAAai0AADoAACAEQXxqIQQgBUF8aiEFIAZB/6ziBEshCSADIQYgCUUNBQwACwsgCUF8aiACQZSFwIAAEJiAgIAAAAsgCUF9aiAC","QZSFwIAAEJiAgIAAAAsgCUF+aiACQZSFwIAAEJiAgIAAAAsgCUF/aiACQZSFwIAAEJiAgIAAAAsgAiAFaiECCwJAAkAgA0EKTw0A","IAMhBgwBCyABIAJBfmoiAmogAyADQf//A3FB5ABuIgZB5ABsa0H//wNxQQF0LwCkhcCAADsAAAsCQAJAIABFDQAgBkUNAQsgASAC","QX9qIgJqIAZBAXRBHnEtAKWFwIAAOgAACyACC1EBAX8jgICAgABBEGsiAiSAgICAACABQQFBAUEAIAJBBmogACgCACACQQZqQQoQ","nICAgAAiAGpBCiAAaxCZgICAACEAIAJBEGokgICAgAAgAAthAQF/I4CAgIAAQSBrIgMkgICAgAAgAyABNgIMIAMgADYCCCADQYGA","gIAANgIcIANBgYCAgAA2AhQgAyADQQxqNgIYIAMgA0EIajYCEEGAgMCAACADQRBqIAIQlYCAgAAAC2EBAX8jgICAgABBIGsiAySA","gICAACADIAE2AgwgAyAANgIIIANBgYCAgAA2AhwgA0GBgICAADYCFCADIANBDGo2AhggAyADQQhqNgIQQd+AwIAAIANBEGogAhCV","gICAAAALYQEBfyOAgICAAEEgayIDJICAgIAAIAMgATYCDCADIAA2AgggA0GBgICAADYCHCADQYGAgIAANgIUIAMgA0EMajYCGCAD","IANBCGo2AhBBmIHAgAAgA0EQaiACEJWAgIAAAAsYAEHshsCAAEGZAUG4h8CAABCVgICAAAALSgEDf0EAIQMCQCACRQ0AAkADQCAA","LQAAIgQgAS0AACIFRw0BIABBAWohACABQQFqIQEgAkF/aiICRQ0CDAALCyAEIAVrIQMLIAMLC9IHAQBBgIDAAAvIBxZzbGljZSBp","bmRleCBzdGFydHMgYXQgwA0gYnV0IGVuZHMgYXQgwAAgaW5kZXggb3V0IG9mIGJvdW5kczogdGhlIGxlbiBpcyDAEiBidXQgdGhl","IGluZGV4IGlzIMAAEnJhbmdlIHN0YXJ0IGluZGV4IMAiIG91dCBvZiByYW5nZSBmb3Igc2xpY2Ugb2YgbGVuZ3RoIMAAEHJhbmdl","IGVuZCBpbmRleCDAIiBvdXQgb2YgcmFuZ2UgZm9yIHNsaWNlIG9mIGxlbmd0aCDAAC9yb290Ly5ydXN0dXAvdG9vbGNoYWlucy9z","dGFibGUteDg2XzY0LXVua25vd24tbGludXgtZ251L2xpYi9ydXN0bGliL3NyYy9ydXN0L2xpYnJhcnkvY29yZS9zcmMvc2xpY2Uv","c29ydC9zaGFyZWQvc21hbGxzb3J0LnJzAC9yb290Ly5ydXN0dXAvdG9vbGNoYWlucy9zdGFibGUteDg2XzY0LXVua25vd24tbGlu","dXgtZ251L2xpYi9ydXN0bGliL3NyYy9ydXN0L2xpYnJhcnkvY29yZS9zcmMvc2xpY2Uvc29ydC91bnN0YWJsZS9xdWlja3NvcnQu","cnMAL3Jvb3QvLnJ1c3R1cC90b29sY2hhaW5zL3N0YWJsZS14ODZfNjQtdW5rbm93bi1saW51eC1nbnUvbGliL3J1c3RsaWIvc3Jj","L3J1c3QvbGlicmFyeS9jb3JlL3NyYy9mbXQvbnVtLnJzAHNyYy9saWIucnMAAABNARAAfwAAADgAAAAbAAAANwIQAAoAAAAlAAAA","EgAAADcCEAAKAAAAJgAAABIAAAA3AhAACgAAAGAAAAAMAAAANwIQAAoAAABgAAAAIwAAAM0BEABpAAAAWAIAAAUAAAAwMDAxMDIw","MzA0MDUwNjA3MDgwOTEwMTExMjEzMTQxNTE2MTcxODE5MjAyMTIyMjMyNDI1MjYyNzI4MjkzMDMxMzIzMzM0MzUzNjM3MzgzOTQw","NDE0MjQzNDQ0NTQ2NDc0ODQ5NTA1MTUyNTM1NDU1NTY1NzU4NTk2MDYxNjI2MzY0NjU2NjY3Njg2OTcwNzE3MjczNzQ3NTc2Nzc3","ODc5ODA4MTgyODM4NDg1ODY4Nzg4ODk5MDkxOTI5Mzk0OTU5Njk3OTg5OXVzZXItcHJvdmlkZWQgY29tcGFyaXNvbiBmdW5jdGlv","biBkb2VzIG5vdCBjb3JyZWN0bHkgaW1wbGVtZW50IGEgdG90YWwgb3JkZXLPABAAfQAAAFYDAAAFAAAA"].join("");var Kr=1e4,et="\0";function vA(e,A){return e==="rust"||e==="auto"&&A>=Kr}var qr=1,Hr=65536,wA=null,ei=null;function Ai(e){if(typeof atob=="function"){let t=atob(e),i=new Uint8Array(t.length);for(let o=0;o<t.length;o++)i[o]=t.charCodeAt(o);return i}let A=globalThis.Buffer;if(A)return new Uint8Array(A.from(e,"base64"));throw new Error("No base64 decoder")}function an(){return wA?Promise.resolve(wA):(ei||(ei=(async()=>{try{return typeof WebAssembly>"u"?null:(wA=await WebAssembly.compile(Ai(rn)),wA)}catch{return null}})()),ei)}function on(e){let A=e.isWellFormed;if(typeof A=="function")return A.call(e);for(let t=0;t<e.length;t++){let i=e.charCodeAt(t);if(i>=55296&&i<=56319){let o=e.charCodeAt(t+1);if(o>=56320&&o<=57343){t++;continue}return!1}if(i>=56320&&i<=57343)return!1}return!0}var bA=e=>e+7&-8,_A=class e{x;base;encoder=new TextEncoder;offsetsPtr=0;textPtr=0;textLen=0;rows=0;hasIndex=!1;freePtr;constructor(A){this.x=A,this.base=bA(A.yk_heap_base()),this.freePtr=this.base}static create(A=wA){if(!A)return null;try{let i=new WebAssembly.Instance(A,{}).exports;return i.yk_version()!==qr?null:new e(i)}catch{return null}}ensure(A){let t=A-this.x.memory.buffer.byteLength;t>0&&this.x.memory.grow(Math.ceil(t/Hr))}setSearchTexts(A){this.hasIndex=!1,this.freePtr=this.base;try{let t=0;for(let I of A){if(!on(I))return!1;t+=I.length*3}let i=A.length,o=this.base,r=bA(o+(i+1)*4);this.ensure(r+t);let n=this.x.memory.buffer,a=new Uint32Array(n,o,i+1),s=new Uint8Array(n,r,t),l=0;for(let I=0;I<i;I++)a[I]=l,l+=this.encoder.encodeInto(A[I],s.subarray(l)).written??0;return a[i]=l,this.offsetsPtr=o,this.textPtr=r,this.textLen=l,this.rows=i,this.freePtr=bA(r+l),this.hasIndex=!0,!0}catch{return!1}}search(A){if(!this.hasIndex||!A||A.includes(et)||!on(A))return null;try{let t=this.encoder.encode(A),i=this.freePtr,o=bA(i+t.length);this.ensure(o+this.rows*4),new Uint8Array(this.x.memory.buffer,i,t.length).set(t);let r=this.x.yk_search(this.textPtr,this.textLen,this.offsetsPtr,this.rows,i,t.length,o);return new Uint32Array(this.x.memory.buffer,o,r).slice()}catch{return null}}sortByKeys(A,t){try{let i=A.length,o=this.freePtr,r=bA(o+i*8);return this.ensure(r+i*4),new Float64Array(this.x.memory.buffer,o,i).set(A),this.x.yk_sort(o,i,t?1:0,r),new Uint32Array(this.x.memory.buffer,r,i).slice()}catch{return null}}};function sn(e){return e>=.1?`${e<10?e.toFixed(1):Math.round(e)} ms`:"<0.1 ms"}function ti(e,A){let t=new Array(A.length);for(let i=0;i<A.length;i++)t[i]=e[A[i]];return t}var $r=1e3;function xA(e,A){return e==="rust"||e==="auto"&&A>=$r}var Pr=1,oA=null,ii=null;function ln(){return oA?Promise.resolve(oA):(ii||(ii=(async()=>{try{return typeof WebAssembly>"u"?null:(oA=await WebAssembly.compile(Ai(nn)),oA)}catch{return null}})()),ii)}function cn(){return oA}var gn=e=>e+7&-8,At=class e{x;encoder=new TextEncoder;docs=0;ready=!1;constructor(A){this.x=A}static create(A=oA){if(!A)return null;try{let t=new WebAssembly.Instance(A,{}).exports;return t.yk_rag_version()!==Pr?null:new e(t)}catch{return null}}build(A){this.ready=!1;try{let t=this.encoder.encode(A.map(o=>o.join(" ")).join(`
|
|
15
|
-
`));this.x.yk_rag_reset();let i=this.x.yk_rag_scratch(t.length);return new Uint8Array(this.x.memory.buffer,i,t.length).set(t),this.x.yk_rag_build(i,t.length,A.length),this.docs=A.length,this.ready=!0,!0}catch{return!1}}search(A,t,i,o){if(!this.ready||A.length!==t.length||A.some(r=>!r||/[ \n]/.test(r)))return null;try{let r=Math.max(0,Math.min(o,this.docs)),n=this.encoder.encode(A.join(" ")),a=
|
|
14
|
+
`):"There are no forms on this page.",targets:r.flatMap(n=>n.findings.map(a=>a.selector).filter(a=>!!a)),suggestions:r.flatMap(n=>n.findings.slice(0,3).map(a=>a.suggestion))}}case"links":case"counts":{let r=t.counts;return{intent:i,answer:`${r.links} links, ${r.buttons} buttons, ${r.fields} form fields in ${r.forms} form(s), ${r.images} images, ${r.tables} tables.`,targets:[],suggestions:[]}}case"purpose":case"unknown":{let r=t.purpose;if(A.summarize)try{let a=ue(A.root),s=ne((o=a&&Pe(a)?a.body:a)==null?void 0:o.textContent).slice(0,4e3);r=await A.summarize(s)||r}catch{}let n=[];return t.unlabeledFields.length&&n.push(`${t.unlabeledFields.length} form field(s) need labels.`),t.imagesWithoutAlt.length&&n.push(`${t.imagesWithoutAlt.length} image(s) need alt text.`),{intent:i,answer:r,targets:[],suggestions:n}}}}var rn=["AGFzbQEAAAABggESYAN/f38Bf2ACf38Bf2ACf38AYAN/f38AYAN/fH8AYAN/f3wAYAV/f39/fwBgBX9/f39/AX9gBH9/f38AYAR/","f39/AX9gAX8AYAp/f39/f3x/f39/AX9gAABgAX8Bf2AIf39/f3x/f38Bf2AAAX9gBn9/f39/fwBgBn9/f39/fwF/A2xrAgMEBQMD","AwMGAwAGAwYHBwcDAwgICAgDAwMDAwMDAwMIAwMDCQkJCQkJCQkJCQkJAQEAAwkHCgELCAIDCggKAwMADA0ODwIMAgMGEAIDAgYK","AwYCAgwKCgMBCAEDEQgJAAEICAMDAwwJAwAEBQFwAQICBQMBABEGCQF/AUGAgMAACwdaBgZtZW1vcnkCAAx5a19yYWdfYnVpbGQA","QQx5a19yYWdfcmVzZXQAQg55a19yYWdfc2NyYXRjaABDDXlrX3JhZ19zZWFyY2gARA55a19yYWdfdmVyc2lvbgBFCQcBAEEBCwFh","CqTuAWuOAgEGfwJAAkACQCAAKAIIIgJFDQAgASgCACIDKAIIIQRBACEFIAAoAgQiBiEBA0AgASgCACIHIARPDQICQCADKAIEIAdB","A3RqKwMARAAAAAAAAAAAZA0AAkAgBUEBaiACTw0AIAFBBGohASAFQX9zIAJqIQIDQCABKAIAIgcgAygCCCIETw0GAkAgAygCBCAH","QQN0aisDAEQAAAAAAAAAAGRFDQAgBiAFQQJ0aiAHNgIAIAVBAWohBQsgAUEEaiEBIAJBf2oiAg0ACwsgACAFNgIIDwsgAUEEaiEB","IAIgBUEBaiIFRw0ACwsPCyAHIARB8IbAgAAQ3ICAgAAACyAHIARB8IbAgAAQ3ICAgAAAC4gBAQJ/AkBBACACIAFrIgMgAyACSxsi","BCAAKAIAIAAoAggiA2tNDQAgACADIARBBEEEEMqAgIAAIAAoAgghAwsCQCABIAJPDQAgAyACaiABayEEIAAoAgQgA0ECdGohAwNA","IAMgATYCACADQQRqIQMgAiABQQFqIgFHDQALIAQhAwsgACADNgIIC/ABAQN/I4CAgIAAQSBrIgMkgICAgAACQAJAAkACQCABvVAN","ACADQRRqIAJBAEEIQQgQz4CAgAAgAygCGCEEIAMoAhRBAUYNAiADQQA2AhAgAyADKAIcNgIMIAMgBDYCCCADQQhqIAIgARCDgICA","ACAAIAMoAhA2AgggACADKQIINwIADAELIANBFGogAkEBQQhBCBDPgICAACADKAIYIQQgAygCFEEBRg0CIAMoAhwhBSAAIAI2Aggg","ACAFNgIEIAAgBDYCAAsgA0EgaiSAgICAAA8LIAQgAygCHBDMgICAAAALIAQgAygCHBDMgICAAAALlAEBA38CQCABIAAoAgAgACgC","CCIDa00NACAAIAMgAUEIQQgQyoCAgAAgACgCCCEDCyAAKAIEIANBA3RqIQQCQAJAAkAgAUECSQ0AIAFBf2ohBQNAIAQgAjkDACAE","QQhqIQQgBUF/aiIFDQALIAMgAWpBf2ohAwwBCyABRQ0BCyAEIAI5AwAgA0EBaiEDCyAAIAM2AggLzAEBA38jgICAgABBEGsiAySA","gICAAAJAAkACQAJAIAFB/wFxDQAgA0EEaiACQQFBAUEBEM+AgIAAIAMoAgghBCADKAIEQQFGDQIgAygCDCEFDAELIANBBGogAkEA","QQFBARDPgICAACADKAIIIQQgAygCBEEBRg0CIAMoAgwhBSACRQ0AIAUgASAC/AsACyAAIAI2AgggACAFNgIEIAAgBDYCACADQRBq","JICAgIAADwsgBCADKAIMEMyAgIAAAAsgBCADKAIMEMyAgIAAAAvvAQECfyOAgICAAEEgayIDJICAgIAAAkACQAJAAkAgAUUNACAD","QRRqIAJBAEEEQQQQz4CAgAAgAygCGCEEIAMoAhRBAUYNAiADQQA2AhAgAyADKAIcNgIMIAMgBDYCCCADQQhqIAIgARCGgICAACAA","IAMoAhA2AgggACADKQIINwIADAELIANBFGogAkEBQQRBBBDPgICAACADKAIYIQEgAygCFEEBRg0CIAMoAhwhBCAAIAI2AgggACAE","NgIEIAAgATYCAAsgA0EgaiSAgICAAA8LIAQgAygCHBDMgICAAAALIAEgAygCHBDMgICAAAALlAEBA38CQCABIAAoAgAgACgCCCID","a00NACAAIAMgAUEEQQQQyoCAgAAgACgCCCEDCyAAKAIEIANBAnRqIQQCQAJAAkAgAUECSQ0AIAFBf2ohBQNAIAQgAjYCACAEQQRq","IQQgBUF/aiIFDQALIAMgAWpBf2ohAwwBCyABRQ0BCyAEIAI2AgAgA0EBaiEDCyAAIAM2AggLkAUDBX8CfAN/AkAgAUECSQ0AAkAC","QAJAAkACQAJAAkAgACgCACIDIAIoAgAoAgAiBCgCCCIFTw0AIAAoAgQiBiAFTw0BAkACQEEAQQBBfyAEKAIEIgcgA0EDdGorAwAi","CCAHIAZBA3RqKwMAIglmIgQbQQFBfiAEGyAIIAllGyAIIAhiIAkgCWJyGyIEQX9GIAYgA0kgBBsiCg0AQQIhAyABQQJGDQEgAEEI","aiELQQIhAwNAIAYgBU8NBSALKAIAIgQgBU8NBkEAQQBBfyAJIAcgBEEDdGorAwAiCGYiDBtBAUF+IAwbIAkgCGUbIAkgCWIgCCAI","YnIbIgxBf0YgBCAGSSAMGw0CIAtBBGohCyAIIQkgBCEGIAEgA0EBaiIDRw0ADAkLC0ECIQMgAUECRg0AIABBCGohC0ECIQMDQCAG","IAVPDQYgCygCACIEIAVPDQdBAEEAQX8gCSAHIARBA3RqKwMAIghmIgwbQQFBfiAMGyAJIAhlGyAJIAliIAggCGJyGyIMQX9GIAQg","BkkgDBtBAUcNASALQQRqIQsgCCEJIAQhBiABIANBAWoiA0YNCAwACwsgAyABRg0GIAAgAUEAIAFBAXJnQQF0QT5zIAIQiICAgAAM","BwsgAyAFQdCGwIAAENyAgIAAAAsgBiAFQeCGwIAAENyAgIAAAAsgBiAFQdCGwIAAENyAgIAAAAsgBCAFQeCGwIAAENyAgIAAAAsg","BiAFQdCGwIAAENyAgIAAAAsgBCAFQeCGwIAAENyAgIAAAAsgCkUNACABQQF2IQUgAUECdCAAakF8aiEGA0AgACgCACEDIAAgBigC","ADYCACAGIAM2AgAgBkF8aiEGIABBBGohACAFQX9qIgUNAAsLC60GBQh/AnwDfwF8AX8jgICAgABBEGsiBSSAgICAAAJAAkAgAUEh","SQ0AIANBf2ohAwNAAkAgA0F/Rw0AIAAgASAEEKGAgIAADAMLIAAgAUEDdiIGQRxsaiEHIAAgBkEEdGohCAJAAkACQAJAAkACQAJA","AkACQAJAIAFBwABJDQAgACAIIAcgBiAEEI6AgIAAIQYMAQsgCCgCACIJIAQoAgAoAgAiCigCCCIGTw0BIAAoAgAiCyAGTw0CIAco","AgAiDCAGTw0DIAAhBkEAQQBBfyAKKAIEIgogCUEDdGorAwAiDSAKIAtBA3RqKwMAIg5mIg8bQQFBfiAPGyANIA5lGyANIA1iIhAg","DiAOYiIPchsiEUF/RiALIAlJIBEbIhFBAEEAQX8gCiAMQQN0aisDACISIA5mIgobQQFBfiAKGyASIA5lGyASIBJiIhMgD3IbIgpB","f0YgCyAMSSAKG0cNACAHIAggEUEAQQBBfyASIA1mIgYbQQFBfiAGGyASIA1lGyATIBByGyIGQX9GIAkgDEkgBhtzGyEGCyAGIABr","IghBAnYhBiACRQ0GIAAgCGooAgAiCCAEKAIAKAIAIgkoAggiC08NAyACKAIAIgcgC08NBEEAQQBBfyAJKAIEIgsgCEEDdGorAwAi","DiALIAdBA3RqKwMAIg1mIgsbQQFBfiALGyAOIA1lGyAOIA5iIA0gDWJyGyILQX9GIAcgCEkgCxsNBiAFIAQ2AgwgACABIAYgBUEM","ahCqgICAACIGQQFqIQIgBiABTw0FIAEgAmshASAAIAJBAnRqIQBBACECDAcLIAkgBkHQhsCAABDcgICAAAALIAsgBkHghsCAABDc","gICAAAALIAwgBkHQhsCAABDcgICAAAALIAggC0HQhsCAABDcgICAAAALIAcgC0HghsCAABDcgICAAAALIAIgASABQcCGwIAAENqA","gIAAAAsgACAAIAEgBiAEEKyAgIAAIgYgAiADIAQQiICAgAAgASAGQX9zaiEBIAAgBkECdGoiAkEEaiEACyADQX9qIQMgAUEhTw0A","CwsgACABIAQQnYCAgAALIAVBEGokgICAgAALlQIBBH8CQCABQQJJDQACQAJAAkAgAiAAQQRqIAAQioCAgAAiAw0AQQIhBCABQQJG","DQEgAEEEaiEFQQIhBANAIAIgBUEEaiIGIAUQioCAgAANAiAGIQUgASAEQQFqIgRHDQAMAwsLQQIhBCABQQJGDQAgAEEEaiEFQQIh","BANAIAIgBUEEaiIGIAUQioCAgABFDQEgBiEFIAEgBEEBaiIERg0CDAALCyAEIAFGDQAgACABQQAgAUEBcmdBAXRBPnMgAhCLgICA","AAwBCyADRQ0AIAFBAXYhBSABQQJ0IABqQXxqIQQDQCAAKAIAIQEgACAEKAIANgIAIAQgATYCACAEQXxqIQQgAEEEaiEAIAVBf2oi","BQ0ACwsLwAIBBX8CQAJAAkACQAJAAkAgASgCACIDIAAoAgAiACgCBCIEKAIIIgFPDQAgA0EBaiIFIAFPDQEgACgCACIGKAIIIQcg","BCgCBCIAIAVBAnRqKAIAIgQgACADQQJ0aigCACIDSQ0CIAQgB0sNAiACKAIAIgUgAU8NAyAFQQFqIgIgAU8NBCAAIAJBAnRqKAIA","IgEgACAFQQJ0aigCACIASQ0FIAEgB0sNBSAGKAIEIgcgA2ogBCADayAHIABqIAEgAGsQ6ICAgABB/wFxQf8BRg8LIAMgAUGAh8CA","ABDcgICAAAALIAUgAUGQh8CAABDcgICAAAALIAMgBCAHQaCHwIAAENqAgIAAAAsgBSABQbCHwIAAENyAgIAAAAsgAiABQcCHwIAA","ENyAgIAAAAsgACABIAdB0IfAgAAQ2oCAgAAAC40DAQV/I4CAgIAAQRBrIgUkgICAgAACQAJAIAFBIUkNACADQX9qIQMDQAJAIANB","f0cNACAAIAEgBBCigICAAAwDCyAAIAFBA3YiBkEcbGohByAAIAZBBHRqIQgCQAJAIAFBwABJDQAgACAIIAcgBiAEEI+AgIAAIQYM","AQsgACEGIAQgACAIEIqAgIAAIgkgBCAAIAcQioCAgABHDQAgByAIIAkgBCAIIAcQioCAgABzGyEGCyAGIABrIgdBAnYhBgJAAkAg","AkUNACAEIAIgACAHahCKgICAAA0AIAUgBDYCDCAAIAEgBiAFQQxqEKuAgIAAIgZBAWohAgJAIAYgAU8NACABIAJrIQEgACACQQJ0","aiEAQQAhAgwCCyACIAEgAUHAhsCAABDagICAAAALIAAgACABIAYgBBCtgICAACIGIAIgAyAEEIuAgIAAIAEgBkF/c2ohASAAIAZB","AnRqIgJBBGohAAsgA0F/aiEDIAFBIU8NAAsLIAAgASAEEJ6AgIAACyAFQRBqJICAgIAAC5YCAwF+A38BfgJAIAFBAkkNAAJAAkAC","QCAAKQMIIgMgACkDAFQiBA0AQQIhBSABQQJGDQEgAEEQaiEGQQIhBQNAIAYpAwAiByADVA0CIAZBCGohBiAHIQMgASAFQQFqIgVH","DQAMAwsLQQIhBSABQQJGDQAgAEEQaiEGQQIhBQNAIAYpAwAiByADWg0BIAZBCGohBiAHIQMgASAFQQFqIgVGDQIMAAsLIAUgAUYN","ACAAIAFBACABQQFyZ0EBdEE+cyACEI2AgIAADAELIARFDQAgAUEBdiEGIAFBA3QgAGpBeGohBQNAIAApAwAhAyAAIAUpAwA3AwAg","BSADNwMAIAVBeGohBSAAQQhqIQAgBkF/aiIGDQALCwvbAgIDfwN+AkAgAUEhSQ0AIANBf2ohAwNAAkAgA0F/Rw0AIAAgASAAEKOA","gIAADwsgACABQQN2IgVBOGxqIQYgACAFQQV0aiEHAkACQCABQcAASQ0AIAAgByAGIAUgBBCQgICAACEFDAELIAAgBiAHIAApAwAi","CCAHKQMAIglUIgUgCSAGKQMAIgpUcxsgBSAIIApUcxshBQsgBSAAayIGQQN2IQUCQAJAIAJFDQAgAikDACAAIAZqKQMAVA0AIAAg","ASAFIAAQroCAgAAiBUEBaiECAkAgBSABTw0AIAEgAmshASAAIAJBA3RqIQBBACECDAILIAIgASABQcCGwIAAENqAgIAAAAsgACAA","IAEgBSAAEK+AgIAAIgUgAiADIAQQjYCAgAAgASAFQX9zaiEBIAAgBUEDdGoiAkEIaiEACyADQX9qIQMgAUEhTw0ACwsgACABIAQQ","n4CAgAALswMFA38CfAJ/AXwBfwJAIANB+P///wFxRQ0AIAAgACADQQN2IgNBBHQiBWogACADQRxsIgZqIAMgBBCOgICAACEAIAEg","ASAFaiABIAZqIAMgBBCOgICAACEBIAIgAiAFaiACIAZqIAMgBBCOgICAACECCwJAAkACQCABKAIAIgMgBCgCACgCACIHKAIIIgZP","DQAgACgCACIEIAZPDQEgAigCACIFIAZPDQICQEEAQQBBfyAHKAIEIgYgA0EDdGorAwAiCCAGIARBA3RqKwMAIglmIgcbQQFBfiAH","GyAIIAllGyAIIAhiIgogCSAJYiIHchsiC0F/RiAEIANJIAsbIgtBAEEAQX8gBiAFQQN0aisDACIMIAlmIgYbQQFBfiAGGyAMIAll","GyAMIAxiIg0gB3IbIgZBf0YgBCAFSSAGG0cNACACIAEgC0EAQQBBfyAMIAhmIgAbQQFBfiAAGyAMIAhlGyANIApyGyIAQX9GIAMg","BUkgABtzGyEACyAADwsgAyAGQdCGwIAAENyAgIAAAAsgBCAGQeCGwIAAENyAgIAAAAsgBSAGQdCGwIAAENyAgIAAAAuiAQECfwJA","IANB+P///wFxRQ0AIAAgACADQQN2IgNBBHQiBWogACADQRxsIgZqIAMgBBCPgICAACEAIAEgASAFaiABIAZqIAMgBBCPgICAACEB","IAIgAiAFaiACIAZqIAMgBBCPgICAACECCwJAIAQgACABEIqAgIAAIgMgBCAAIAIQioCAgABHDQAgAiABIAMgBCABIAIQioCAgABz","GyEACyAAC5gBAgJ/A34CQCADQfj///8BcUUNACAAIAAgA0EDdiIDQQV0IgVqIAAgA0E4bCIGaiADIAQQkICAgAAhACABIAEgBWog","ASAGaiADIAQQkICAgAAhASACIAIgBWogAiAGaiADIAQQkICAgAAhAgsgACACIAEgACkDACIHIAEpAwAiCFQiAyAIIAIpAwAiCVRz","GyADIAcgCVRzGwvwAgQFfwF8AX8BfAJAAkACQAJAIAFBfGoiAygCACIEIAIoAgAiBSgCACIGKAIIIgdPDQAgASgCACICIAdPDQEC","QEEAQQBBfyAGKAIEIgEgBEEDdGorAwAiCCABIAJBA3QiCWorAwAiCmYiARtBAUF+IAEbIAggCmUbIAggCGIgCiAKYnIbIgFBf0Yg","AiAESSABG0EBRw0AAkADQCADIgFBBGogBDYCACABIABGDQEgAUF8aiIDKAIAIgQgBSgCACIGKAIIIgdPDQUgAiAHTw0GQQBBAEF/","IAYoAgQiByAEQQN0aisDACIIIAcgCWorAwAiCmYiBxtBAUF+IAcbIAggCmUbIAggCGIgCiAKYnIbIgdBf0YgAiAESSAHGw0ACwsg","ASACNgIACw8LIAQgB0HQhsCAABDcgICAAAALIAIgB0HghsCAABDcgICAAAALIAQgB0HQhsCAABDcgICAAAALIAIgB0HghsCAABDc","gICAAAALfAEDfyOAgICAAEEQayIDJICAgIAAAkAgAiABIAFBfGoiBBCKgICAAEUNACADIAEoAgAiBTYCDAJAA0AgBCIBQQRqIAEo","AgA2AgAgASAARg0BIAIgA0EMaiABQXxqIgQQioCAgAANAAsLIAEgBTYCAAsgA0EQaiSAgICAAAupBAMJfwJ8AX8gAiABQQJ0QXxq","IgRqIQUgACAEaiEGIAAgAUEBdiIHQQJ0aiIIQXxqIQkgAygCACEKAkACQAJAAkACQANAIAAoAgAiAyAKKAIAIgsoAggiDE8NASAI","KAIAIgQgDE8NAiACIAQgA0EAQQBBfyALKAIEIgwgA0EDdGorAwAiDSAMIARBA3RqKwMAIg5mIgwbQQFBfiAMGyANIA5lGyANIA1i","IA4gDmJyGyIMQX9GIAQgA0kgDBsiDBs2AgAgCSgCACIDIAooAgAiDygCCCILTw0DIAYoAgAiBCALTw0EIAggDEECdGohCCAAIAxB","AXNBAnRqIQAgAkEEaiECIAUgAyAEQQBBAEF/IA8oAgQiDCADQQN0aisDACINIAwgBEEDdGorAwAiDmYiDBtBAUF+IAwbIA0gDmUb","IA0gDWIgDiAOYnIbIgxBf0YgBCADSSAMGyIMGzYCACAJIAxBAnQiA2shCSADIAZqQXxqIQYgBUF8aiEFIAdBf2oiBw0ACyAGQQRq","IQQgCUEEaiEDAkAgAUEBcUUNACACIAAgCCAAIANJIgkbKAIANgIAIAggACADT0ECdGohCCAAIAlBAnRqIQALAkAgCCAERw0AIAAg","A0YNBQsQ54CAgAAACyADIAxB0IbAgAAQ3ICAgAAACyAEIAxB4IbAgAAQ3ICAgAAACyADIAtB0IbAgAAQ3ICAgAAACyAEIAtB4IbA","gAAQ3ICAgAAACwuIAgEHfyACIAFBAnRBfGoiBGohBSAAIARqIQYgACABQQF2IgdBAnRqIgRBfGohCANAIAIgBCAAIAMgBCAAEIqA","gIAAIgkbKAIANgIAIAUgCCAGIAMgBiAIEIqAgIAAIgobKAIANgIAIAQgCUECdGohBCAAIAlBAXNBAnRqIQAgCCAKQQJ0IglrIQgg","CSAGakF8aiEGIAVBfGohBSACQQRqIQIgB0F/aiIHDQALIAZBBGohBSAIQQRqIQYCQCABQQFxRQ0AIAIgACAEIAAgBkkiCBsoAgA2","AgAgBCAAIAZPQQJ0aiEEIAAgCEECdGohAAsCQCAEIAVHDQAgACAGRw0ADwsQ54CAgAAAC5QCBAV/An4BfwJ+IAIgAUEDdEF4aiIE","aiEFIAAgBGohBiAAIAFBAXYiB0EDdGoiBEF4aiEIA0AgAiAEKQMAIgkgACkDACIKIAkgClQiCxs3AwAgBSAGKQMAIgwgCCkDACIN","IAwgDVYbNwMAIAVBeGohBSACQQhqIQIgCEF4QQAgDCANVBtqIQggBkF4QQAgDCANWhtqIQYgACAJIApaQQN0aiEAIAQgC0EDdGoh","BCAHQX9qIgcNAAsgBkEIaiEFIAhBCGohBgJAIAFBAXFFDQAgAiAAIAQgACAGSSIIGykDADcDACAEIAAgBk9BA3RqIQQgACAIQQN0","aiEACwJAIAQgBUcNACAAIAZHDQAPCxDngICAAAALywECAn8CfAJAAkAgACABQQJ0aiIEKAIAIgEgAygCACgCACIFKAIIIgNPDQAg","ACACQQJ0aiICKAIAIgAgA08NASAEIAAgAUEAQQBBfyAFKAIEIgMgAUEDdGorAwAiBiADIABBA3RqKwMAIgdmIgMbQQFBfiADGyAG","IAdlGyAGIAZiIAcgB2JyGyIDQX9GIAAgAUkgAxsiAxs2AgAgAiABIAAgAxs2AgAPCyABIANB0IbAgAAQ3ICAgAAACyAAIANB4IbA","gAAQ3ICAgAAAC+wCAAJAIAFBCUkNACAAQQBBAyACEJaAgIAAIABBAUEHIAIQloCAgAAgAEECQQUgAhCWgICAACAAQQRBCCACEJaA","gIAAIABBAEEHIAIQloCAgAAgAEECQQQgAhCWgICAACAAQQNBCCACEJaAgIAAIABBBUEGIAIQloCAgAAgAEEAQQIgAhCWgICAACAA","QQFBAyACEJaAgIAAIABBBEEFIAIQloCAgAAgAEEHQQggAhCWgICAACAAQQFBBCACEJaAgIAAIABBA0EGIAIQloCAgAAgAEEFQQcg","AhCWgICAACAAQQBBASACEJaAgIAAIABBAkEEIAIQloCAgAAgAEEDQQUgAhCWgICAACAAQQZBCCACEJaAgIAAIABBAkEDIAIQloCA","gAAgAEEEQQUgAhCWgICAACAAQQZBByACEJaAgIAAIABBAUECIAIQloCAgAAgAEEDQQQgAhCWgICAACAAQQVBBiACEJaAgIAADwsA","C8wKAQl/AkAgAUEJSQ0AIABBDEEAIAIgAEEMaiIBIAAQioCAgAAiAxtqKAIAIQQgACAAQQBBDCADG2ooAgA2AgwgACAENgIAIABB","HEEEIAIgAEEcaiIFIABBBGoiBhCKgICAACIDG2ooAgAhBCAAIABBBEEcIAMbaigCADYCHCAAIAQ2AgQgAEEUQQggAiAAQRRqIgMg","AEEIaiIHEIqAgIAAIgQbaigCACEIIAAgAEEIQRQgBBtqKAIANgIUIAAgCDYCCCAAQSBBECACIABBIGoiCSAAQRBqIgQQioCAgAAi","CBtqKAIAIQogACAAQRBBICAIG2ooAgA2AiAgACAKNgIQIABBHEEAIAIgBSAAEIqAgIAAIggbaigCACEKIAAgAEEAQRwgCBtqKAIA","NgIcIAAgCjYCACAAQRBBCCACIAQgBxCKgICAACIIG2ooAgAhCiAAIABBCEEQIAgbaigCADYCECAAIAo2AgggAEEgQQwgAiAJIAEQ","ioCAgAAiCBtqKAIAIQogACAAQQxBICAIG2ooAgA2AiAgACAKNgIMIABBGEEUIAIgAEEYaiIIIAMQioCAgAAiChtqKAIAIQsgACAA","QRRBGCAKG2ooAgA2AhggACALNgIUIABBCEEAIAIgByAAEIqAgIAAIgobaigCACELIAAgAEEAQQggChtqKAIANgIIIAAgCzYCACAA","QQxBBCACIAEgBhCKgICAACIKG2ooAgAhCyAAIABBBEEMIAobaigCADYCDCAAIAs2AgQgAEEUQRAgAiADIAQQioCAgAAiChtqKAIA","IQsgACAAQRBBFCAKG2ooAgA2AhQgACALNgIQIABBIEEcIAIgCSAFEIqAgIAAIgobaigCACELIAAgAEEcQSAgChtqKAIANgIgIAAg","CzYCHCAAQRBBBCACIAQgBhCKgICAACIKG2ooAgAhCyAAIABBBEEQIAobaigCADYCECAAIAs2AgQgAEEYQQwgAiAIIAEQioCAgAAi","ChtqKAIAIQsgACAAQQxBGCAKG2ooAgA2AhggACALNgIMIABBHEEUIAIgBSADEIqAgIAAIgobaigCACELIAAgAEEUQRwgChtqKAIA","NgIcIAAgCzYCFCAAQQRBACACIAYgABCKgICAACIKG2ooAgAhCyAAIABBAEEEIAobaigCADYCBCAAIAs2AgAgAEEQQQggAiAEIAcQ","ioCAgAAiChtqKAIAIQsgACAAQQhBECAKG2ooAgA2AhAgACALNgIIIABBFEEMIAIgAyABEIqAgIAAIgobaigCACELIAAgAEEMQRQg","ChtqKAIANgIUIAAgCzYCDCAAQSBBGCACIAkgCBCKgICAACIJG2ooAgAhCiAAIABBGEEgIAkbaigCADYCICAAIAo2AhggAEEMQQgg","AiABIAcQioCAgAAiCRtqKAIAIQogACAAQQhBDCAJG2ooAgA2AgwgACAKNgIIIABBFEEQIAIgAyAEEIqAgIAAIgkbaigCACEKIAAg","AEEQQRQgCRtqKAIANgIUIAAgCjYCECAAQRxBGCACIAUgCBCKgICAACIFG2ooAgAhCSAAIABBGEEcIAUbaigCADYCHCAAIAk2Ahgg","AEEIQQQgAiAHIAYQioCAgAAiBxtqKAIAIQUgACAAQQRBCCAHG2ooAgA2AgggACAFNgIEIABBEEEMIAIgBCABEIqAgIAAIgEbaigC","ACEEIAAgAEEMQRAgARtqKAIANgIQIAAgBDYCDCAAQRhBFCACIAggAxCKgICAACICG2ooAgAhASAAIABBFEEYIAIbaigCADYCGCAA","IAE2AhQPCwAL3gQBEH4CQCABQQlJDQAgACAAKQNAIgMgACkDICIEIAMgBFYbIgUgACkDGCIGIAApAwAiByAGIAdWGyIIIAUgCFYb","IgkgACkDOCIKIAApAwgiCyAKIAtWGyIMIAYgByAGIAdUGyIGIAwgBlYbIgcgCSAHVhsiDSAAKQMwIg4gACkDKCIPIAApAxAiECAP","IBBWGyIRIA4gEVYbIhIgBSAIIAUgCFQbIgUgCiALIAogC1QbIgggBSAIVhsiCiASIApWGyILIA0gC1YbNwNAIAAgDiARIA4gEVQb","Ig4gAyAEIAMgBFQbIgMgDyAQIA8gEFQbIgQgAyAEVhsiDyAOIA9UGyIQIAUgCCAFIAhUGyIFIBAgBVQbIgggAyAEIAMgBFQbIgMg","DCAGIAwgBlQbIgQgAyAEVBsiBiAIIAZUGzcDACAAIAkgByAJIAdUGyIHIA4gDyAOIA9WGyIJIAcgCVYbIgwgDSALIA0gC1QbIgsg","DCALVhs3AzggACAMIAsgDCALVBsiCyAHIAkgByAJVBsiByASIAogEiAKVBsiCSAHIAlWGyIKIBAgBSAQIAVWGyIFIAMgBCADIARW","GyIDIAUgA1YbIgQgCiAEVhsiDCALIAxWGzcDMCAAIAsgDCALIAxUGzcDKCAAIAogBCAKIARUGyIEIAcgCSAHIAlUGyIHIAUgAyAF","IANUGyIDIAcgA1YbIgUgBCAFVhs3AyAgACAEIAUgBCAFVBs3AxggACAHIAMgByADVBsiAyAIIAYgCCAGVhsiBCADIARWGzcDECAA","IAMgBCADIARUGzcDCA8LAAuEBQACQCABQQ1JDQAgAEEAQQwgAhCWgICAACAAQQFBCiACEJaAgIAAIABBAkEJIAIQloCAgAAgAEED","QQcgAhCWgICAACAAQQVBCyACEJaAgIAAIABBBkEIIAIQloCAgAAgAEEBQQYgAhCWgICAACAAQQJBAyACEJaAgIAAIABBBEELIAIQ","loCAgAAgAEEHQQkgAhCWgICAACAAQQhBCiACEJaAgIAAIABBAEEEIAIQloCAgAAgAEEBQQIgAhCWgICAACAAQQNBBiACEJaAgIAA","IABBB0EIIAIQloCAgAAgAEEJQQogAhCWgICAACAAQQtBDCACEJaAgIAAIABBBEEGIAIQloCAgAAgAEEFQQkgAhCWgICAACAAQQhB","CyACEJaAgIAAIABBCkEMIAIQloCAgAAgAEEAQQUgAhCWgICAACAAQQNBCCACEJaAgIAAIABBBEEHIAIQloCAgAAgAEEGQQsgAhCW","gICAACAAQQlBCiACEJaAgIAAIABBAEEBIAIQloCAgAAgAEECQQUgAhCWgICAACAAQQZBCSACEJaAgIAAIABBB0EIIAIQloCAgAAg","AEEKQQsgAhCWgICAACAAQQFBAyACEJaAgIAAIABBAkEEIAIQloCAgAAgAEEFQQYgAhCWgICAACAAQQlBCiACEJaAgIAAIABBAUEC","IAIQloCAgAAgAEEDQQQgAhCWgICAACAAQQVBByACEJaAgIAAIABBBkEIIAIQloCAgAAgAEECQQMgAhCWgICAACAAQQRBBSACEJaA","gIAAIABBBkEHIAIQloCAgAAgAEEIQQkgAhCWgICAACAAQQNBBCACEJaAgIAAIABBBUEGIAIQloCAgAAPCwAL8BIBDX8CQCABQQ1J","DQAgAEEwQQAgAiAAQTBqIgMgABCKgICAACIBG2ooAgAhBCAAIABBAEEwIAEbaigCADYCMCAAIAQ2AgAgAEEoQQQgAiAAQShqIgUg","AEEEaiIGEIqAgIAAIgEbaigCACEEIAAgAEEEQSggARtqKAIANgIoIAAgBDYCBCAAQSRBCCACIABBJGoiBCAAQQhqIgcQioCAgAAi","ARtqKAIAIQggACAAQQhBJCABG2ooAgA2AiQgACAINgIIIABBHEEMIAIgAEEcaiIJIABBDGoiCBCKgICAACIBG2ooAgAhCiAAIABB","DEEcIAEbaigCADYCHCAAIAo2AgwgAEEsQRQgAiAAQSxqIgsgAEEUaiIKEIqAgIAAIgEbaigCACEMIAAgAEEUQSwgARtqKAIANgIs","IAAgDDYCFCAAQSBBGCACIABBIGoiDCAAQRhqIgEQioCAgAAiDRtqKAIAIQ4gACAAQRhBICANG2ooAgA2AiAgACAONgIYIABBGEEE","IAIgASAGEIqAgIAAIg0baigCACEOIAAgAEEEQRggDRtqKAIANgIYIAAgDjYCBCAAQQxBCCACIAggBxCKgICAACING2ooAgAhDiAA","IABBCEEMIA0baigCADYCDCAAIA42AgggAEEsQRAgAiALIABBEGoiDRCKgICAACIOG2ooAgAhDyAAIABBEEEsIA4baigCADYCLCAA","IA82AhAgAEEkQRwgAiAEIAkQioCAgAAiDhtqKAIAIQ8gACAAQRxBJCAOG2ooAgA2AiQgACAPNgIcIABBKEEgIAIgBSAMEIqAgIAA","Ig4baigCACEPIAAgAEEgQSggDhtqKAIANgIoIAAgDzYCICAAQRBBACACIA0gABCKgICAACIOG2ooAgAhDyAAIABBAEEQIA4baigC","ADYCECAAIA82AgAgAEEIQQQgAiAHIAYQioCAgAAiDhtqKAIAIQ8gACAAQQRBCCAOG2ooAgA2AgggACAPNgIEIABBGEEMIAIgASAI","EIqAgIAAIg4baigCACEPIAAgAEEMQRggDhtqKAIANgIYIAAgDzYCDCAAQSBBHCACIAwgCRCKgICAACIOG2ooAgAhDyAAIABBHEEg","IA4baigCADYCICAAIA82AhwgAEEoQSQgAiAFIAQQioCAgAAiDhtqKAIAIQ8gACAAQSRBKCAOG2ooAgA2AiggACAPNgIkIABBMEEs","IAIgAyALEIqAgIAAIg4baigCACEPIAAgAEEsQTAgDhtqKAIANgIwIAAgDzYCLCAAQRhBECACIAEgDRCKgICAACIOG2ooAgAhDyAA","IABBEEEYIA4baigCADYCGCAAIA82AhAgAEEkQRQgAiAEIAoQioCAgAAiDhtqKAIAIQ8gACAAQRRBJCAOG2ooAgA2AiQgACAPNgIU","IABBLEEgIAIgCyAMEIqAgIAAIg4baigCACEPIAAgAEEgQSwgDhtqKAIANgIsIAAgDzYCICAAQTBBKCACIAMgBRCKgICAACIDG2oo","AgAhDiAAIABBKEEwIAMbaigCADYCMCAAIA42AiggAEEUQQAgAiAKIAAQioCAgAAiAxtqKAIAIQ4gACAAQQBBFCADG2ooAgA2AhQg","ACAONgIAIABBIEEMIAIgDCAIEIqAgIAAIgMbaigCACEOIAAgAEEMQSAgAxtqKAIANgIgIAAgDjYCDCAAQRxBECACIAkgDRCKgICA","ACIDG2ooAgAhDiAAIABBEEEcIAMbaigCADYCHCAAIA42AhAgAEEsQRggAiALIAEQioCAgAAiAxtqKAIAIQ4gACAAQRhBLCADG2oo","AgA2AiwgACAONgIYIABBKEEkIAIgBSAEEIqAgIAAIgMbaigCACEOIAAgAEEkQSggAxtqKAIANgIoIAAgDjYCJCAAQQRBACACIAYg","ABCKgICAACIDG2ooAgAhDiAAIABBAEEEIAMbaigCADYCBCAAIA42AgAgAEEUQQggAiAKIAcQioCAgAAiAxtqKAIAIQ4gACAAQQhB","FCADG2ooAgA2AhQgACAONgIIIABBJEEYIAIgBCABEIqAgIAAIgMbaigCACEOIAAgAEEYQSQgAxtqKAIANgIkIAAgDjYCGCAAQSBB","HCACIAwgCRCKgICAACIDG2ooAgAhDiAAIABBHEEgIAMbaigCADYCICAAIA42AhwgAEEsQSggAiALIAUQioCAgAAiCxtqKAIAIQMg","ACAAQShBLCALG2ooAgA2AiwgACADNgIoIABBDEEEIAIgCCAGEIqAgIAAIgsbaigCACEDIAAgAEEEQQwgCxtqKAIANgIMIAAgAzYC","BCAAQRBBCCACIA0gBxCKgICAACILG2ooAgAhAyAAIABBCEEQIAsbaigCADYCECAAIAM2AgggAEEYQRQgAiABIAoQioCAgAAiCxtq","KAIAIQMgACAAQRRBGCALG2ooAgA2AhggACADNgIUIABBKEEkIAIgBSAEEIqAgIAAIgUbaigCACELIAAgAEEkQSggBRtqKAIANgIo","IAAgCzYCJCAAQQhBBCACIAcgBhCKgICAACIFG2ooAgAhBiAAIABBBEEIIAUbaigCADYCCCAAIAY2AgQgAEEQQQwgAiANIAgQioCA","gAAiBRtqKAIAIQYgACAAQQxBECAFG2ooAgA2AhAgACAGNgIMIABBHEEUIAIgCSAKEIqAgIAAIgUbaigCACEGIAAgAEEUQRwgBRtq","KAIANgIcIAAgBjYCFCAAQSBBGCACIAwgARCKgICAACIFG2ooAgAhBiAAIABBGEEgIAUbaigCADYCICAAIAY2AhggAEEMQQggAiAI","IAcQioCAgAAiBRtqKAIAIQcgACAAQQhBDCAFG2ooAgA2AgwgACAHNgIIIABBFEEQIAIgCiANEIqAgIAAIgUbaigCACEHIAAgAEEQ","QRQgBRtqKAIANgIUIAAgBzYCECAAQRxBGCACIAkgARCKgICAACIFG2ooAgAhByAAIABBGEEcIAUbaigCADYCHCAAIAc2AhggAEEk","QSAgAiAEIAwQioCAgAAiBBtqKAIAIQwgACAAQSBBJCAEG2ooAgA2AiQgACAMNgIgIABBEEEMIAIgDSAIEIqAgIAAIgQbaigCACEI","IAAgAEEMQRAgBBtqKAIANgIQIAAgCDYCDCAAQRhBFCACIAEgChCKgICAACICG2ooAgAhASAAIABBFEEYIAIbaigCADYCGCAAIAE2","AhQPCwALlggBGH4CQCABQQ1JDQAgACAAKQNgIgMgACkDACIEIAMgBFYbIgUgACkDWCIGIAApAygiByAGIAdWGyIIIAApAyAiCSAI","IAlWGyIKIAUgClYbIgsgACkDUCIMIAApAwgiDSAMIA1WGyIOIAApA0AiDyAAKQMwIhAgDyAQVhsiESAOIBFWGyISIAApA0giEyAA","KQMQIhQgEyAUVhsiFSAAKQM4IhYgACkDGCIXIBYgF1YbIhggFSAYVhsiGSASIBlWGyIaIAsgGlYbNwNgIAAgBSAKIAUgClQbIgUg","DiARIA4gEVQbIgogFSAYIBUgGFQbIg4gCiAOVhsiESAFIBFWGyIVIA8gECAPIBBUGyIPIAwgDSAMIA1UGyIMIA8gDFYbIg0gFiAX","IBYgF1QbIhAgEyAUIBMgFFQbIhMgECATVhsiFCANIBRWGyIWIAggCSAIIAlUGyIIIAMgBCADIARUGyIDIAggA1YbIgQgFiAEVhsi","CSAVIAlWGyIXIAsgGiALIBpUGyILIBIgGSASIBlUGyISIAYgByAGIAdUGyIGIBIgBlYbIgcgCyAHVhsiGCAXIBhWGzcDWCAAIBAg","EyAQIBNUGyIQIA8gDCAPIAxUGyIMIBAgDFQbIg8gEiAGIBIgBlQbIgYgCCADIAggA1QbIgMgBiADVBsiCCAPIAhUGzcDACAAIBcg","GCAXIBhUGyISIAsgByALIAdUGyIHIBUgCSAVIAlUGyIJIAcgCVYbIgsgEiALVhs3A1AgACAKIA4gCiAOVBsiCiAWIAQgFiAEVBsi","BCAKIARUGyIOIAYgAyAGIANWGyIDIBAgDCAQIAxWGyIGIAMgBlQbIgwgDiAMVBsiECAFIBEgBSARVBsiBSANIBQgDSAUVBsiDSAF","IA1UGyIRIA8gCCAPIAhWGyIIIBEgCFQbIg8gECAPVBs3AwggACASIAsgEiALVBsiCyAFIA0gBSANVhsiBSAKIAQgCiAEVhsiBCAF","IARWGyIKIAcgCSAHIAlUGyIHIAMgBiADIAZWGyIDIAcgA1YbIgYgCiAGVhsiCSALIAlWGzcDSCAAIAsgCSALIAlUGzcDQCAAIAUg","BCAFIARUGyIEIAcgAyAHIANUGyIDIAQgA1YbIgUgCiAGIAogBlQbIgYgBSAGVhs3AzggACAOIAwgDiAMVhsiByARIAggESAIVhsi","CCAHIAhUGyIJIBAgDyAQIA9WGyIKIAkgClQbNwMQIAAgBSAGIAUgBlQbIgUgBCADIAQgA1QbIgMgByAIIAcgCFYbIgQgAyAEVhsi","BiAFIAZWGzcDMCAAIAUgBiAFIAZUGzcDKCAAIAMgBCADIARUGyIDIAkgCiAJIApWGyIEIAMgBFYbNwMgIAAgAyAEIAMgBFQbNwMY","DwsAC5YCAQd/I4CAgIAAQYABayIDJICAgIAAAkACQCABQQJJDQAgAUEgSw0BIAEgAUEBdiIEIAFBEkkiBRshBiABIARrIQcgACAE","QQJ0aiEIIAAhCQNAAkACQCAGQQxLDQBBASEEIAZBCE0NASAJIAYgAhCXgICAAEEJIQQMAQsgCSAGIAIQmoCAgABBDSEECyAEQX9q","IAZPDQICQCAEIAZGDQAgBEECdCEEIAZBAnQhBgNAIAkgCSAEaiACEJGAgIAAIAYgBEEEaiIERw0ACwsgBQ0BIAkgAEYhBCAIIQkg","ByEGIAQNAAsgACABIAMgAhCTgICAACABQQJ0IgRFDQAgACADIAT8CgAACyADQYABaiSAgICAAA8LAAuWAgEHfyOAgICAAEGAAWsi","AySAgICAAAJAAkAgAUECSQ0AIAFBIEsNASABIAFBAXYiBCABQRJJIgUbIQYgASAEayEHIAAgBEECdGohCCAAIQkDQAJAAkAgBkEM","Sw0AQQEhBCAGQQhNDQEgCSAGIAIQmICAgABBCSEEDAELIAkgBiACEJuAgIAAQQ0hBAsgBEF/aiAGTw0CAkAgBCAGRg0AIARBAnQh","BCAGQQJ0IQYDQCAJIAkgBGogAhCSgICAACAGIARBBGoiBEcNAAsLIAUNASAJIABGIQQgCCEJIAchBiAEDQALIAAgASADIAIQlICA","gAAgAUECdCIERQ0AIAAgAyAE/AoAAAsgA0GAAWokgICAgAAPCwAL5AEBB38jgICAgABBgAJrIgMkgICAgAACQAJAIAFBAkkNACAB","QSBLDQEgASABQQF2IgQgAUESSSIFGyEGIAEgBGshByAAIARBA3RqIQggACEEA0ACQAJAIAZBDEsNAEEBIQkgBkEITQ0BIAQgBiAG","EJmAgIAAQQkhCQwBCyAEIAYgBhCcgICAAEENIQkLIAQgBiAJIAYQoICAgAAgBQ0BIAQgAEYhCSAIIQQgByEGIAkNAAsgACABIAMg","BhCVgICAACABQQN0IgZFDQAgACADIAb8CgAACyADQYACaiSAgICAAA8LAAusAQIDfwJ+AkAgAkF/aiABTw0AAkAgAiABRg0AIAAg","AUEDdGohBCAAIAJBA3QiBWohBgNAAkAgBikDACIHIAZBeGopAwAiCFoNACAFIQICQANAIAAgAmoiASAINwMAAkAgAkEIRw0AIAAh","AgwCCyACQXhqIQIgByABQXBqKQMAIghUDQALIAAgAmohAgsgAiAHNwMACyAFQQhqIQUgBkEIaiIGIARHDQALCw8LAAuXBAIJfwJ8","AkACQAJAAkACQCABQQF2IAFqIgNFDQAgAigCACEEA0ACQAJAIANBf2oiAyABTw0AIAAoAgAhAiAAIAAgA0ECdGoiBSgCADYCACAF","IAI2AgBBACEFDAELIAMgAWshBQsCQCAFQQF0IgZBAXIiAiABIAMgASADSRsiB08NACAEKAIAIQgDQAJAAkAgBkECaiIGIAdJDQAg","CCgCCCEJIAIhBgwBCyAAIAZBAnRqKAIAIgYgCCgCCCIJTw0FIAAgAkECdGooAgAiCiAJTw0GIAJBAEEAQX8gCCgCBCILIAZBA3Rq","KwMAIgwgCyAKQQN0aisDACINZiILG0EBQX4gCxsgDCANZRsgDCAMYiANIA1ichsiC0F/RiAKIAZJIAsbaiEGCyAAIAZBAnRqIgoo","AgAiAiAJTw0GIAAgBUECdGoiCygCACIFIAlPDQdBAEEAQX8gCCgCBCIJIAJBA3RqKwMAIgwgCSAFQQN0aisDACINZiIJG0EBQX4g","CRsgDCANZRsgDCAMYiANIA1ichsiCUF/RiAFIAJJIAkbQQFHDQEgCiAFNgIAIAsgAjYCACAGIQUgBkEBdCIGQQFyIgIgB0kNAAsL","IAMNAAsLDwsgBiAJQdCGwIAAENyAgIAAAAsgCiAJQeCGwIAAENyAgIAAAAsgAiAJQdCGwIAAENyAgIAAAAsgBSAJQeCGwIAAENyA","gIAAAAv8AQEGfwJAIAFBAXYgAWoiA0UNAANAAkACQCADQX9qIgMgAU8NACAAKAIAIQQgACAAIANBAnRqIgUoAgA2AgAgBSAENgIA","QQAhBQwBCyADIAFrIQULAkAgBUEBdCIGQQFyIgQgASADIAEgA0kbIgdPDQADQAJAAkAgBkECaiIGIAdJDQAgBCEEDAELIAQgAiAA","IARBAnRqIAAgBkECdGoQioCAgABqIQQLIAIgACAFQQJ0aiIFIAAgBEECdGoiBhCKgICAAEUNASAFKAIAIQggBSAGKAIANgIAIAYg","CDYCACAEIQUgBEEBdCIGQQFyIgQgB0kNAAsLIAMNAAsLC5oCAwF/AX4IfwJAIAFBAXYgAWoiA0UNAANAAkACQCADQX9qIgMgAU8N","ACAAKQMAIQQgACAAIANBA3RqIgUpAwA3AwAgBSAENwMAQQAhBgwBCyADIAFrIQYLAkAgBkEBdCIHQQFyIgUgASADIAEgA0kbIghP","DQADQAJAAkAgB0ECaiIHIAhJDQAgBSEJDAELIAUgACAFQQN0aikDACAAIAdBA3RqKQMAVGohCQsgACAGQQN0aiIKKQMAIAAgCUED","dGoiCykDAFoNAUEAIQUDQCAKIAVqIgYoAgAhByAGIAsgBWoiDCgCADYCACAMIAc2AgAgBUEEaiIFQQhHDQALIAkhBiAJQQF0IgdB","AXIiBSAISQ0ACwsgAw0ACwsLugYDCn8CfAJ/AkAgAQ0AQQAPCyACKAIAIQIgACgCACEEQQAhBSAAIQYCQAJAAkACQCAAQQRqIgcg","ACABQQJ0aiIIQXxqIglPDQAgAygCACgCACgCACIKKAIIIQtBACEFIAAhBgNAIAZBBGoiDCgCACIHIAtPDQIgAiALTw0DIAYgACAF","QQJ0aiIBKAIANgIAIAEgBzYCACAGQQhqIgYoAgAiASALTw0EIAwgACAFQQBBAEF/IAooAgQiDSAHQQN0aisDACIOIA0gAkEDdGor","AwAiD2YiEBtBAUF+IBAbIA4gD2UbIA4gDmIgDyAPYiIQchsiEUF/RyACIAdPIBEbaiIFQQJ0aiIHKAIANgIAIAcgATYCACAFQQBB","AEF/IA0gAUEDdGorAwAiDiAPZiIHG0EBQX4gBxsgDiAPZRsgDiAOYiAQchsiB0F/RyACIAFPIAcbaiEFIAZBBGogCUkNAAsgBkEE","aiEHCwJAAkACQAJAAkAgByAIRg0AIAMoAgAhDANAIAciASgCACIHIAwoAgAoAgAiDSgCCCILTw0CIAIgC08NAyANKAIEIgsgAkED","dGorAwAhDyALIAdBA3RqKwMAIQ4gBiAAIAVBAnRqIgsoAgA2AgAgCyAHNgIAIAVBAEEAQX8gDiAPZiIGG0EBQX4gBhsgDiAPZRsg","DiAOYiAPIA9ichsiBkF/RyACIAdPIAYbaiEFIAEhBiABQQRqIgcgCEcNAAsgB0F8aiEGCyAEIAMoAgAoAgAoAgAiASgCCCIHTw0C","IAIgB08NAyABKAIEIgcgAkEDdGorAwAhDyAHIARBA3RqKwMAIQ4gBiAAIAVBAnRqIgcoAgA2AgAgByAENgIAIAVBAEEAQX8gDiAP","ZiIGG0EBQX4gBhsgDiAPZRsgDiAOYiAPIA9ichsiBkF/RyACIARPIAYbag8LIAcgC0HQhsCAABDcgICAAAALIAIgC0HghsCAABDc","gICAAAALIAQgB0HQhsCAABDcgICAAAALIAIgB0HghsCAABDcgICAAAALIAcgC0HQhsCAABDcgICAAAALIAIgC0HghsCAABDcgICA","AAALIAEgC0HQhsCAABDcgICAAAALjwMBCn8jgICAgABBEGsiBCSAgICAAAJAAkAgAQ0AQQAhBQwBCyAEIAAoAgAiBjYCDEEAIQcg","ACEFAkAgAEEEaiIIIAAgAUECdGoiCUF8aiIKTw0AIAMoAgAhC0EAIQcgACEFA0AgCyACIAUiCEEEaiIBEIqAgIAAIQwgCCAAIAdB","AnRqIgUoAgA2AgAgBSABKAIANgIAIAsgAiAIQQhqIgUQioCAgAAhDSABIAAgByAMQQFzaiIHQQJ0aiIMKAIANgIAIAwgBSgCADYC","ACAHIA1BAXNqIQcgCEEMaiAKSQ0ACyAFQQRqIQgLAkAgCCAJRg0AIAMoAgAhDANAIAUhASAMIAIgCCIFEIqAgIAAIQggASAAIAdB","AnRqIgsoAgA2AgAgCyAFKAIANgIAIAcgCEEBc2ohByAFQQRqIgggCUcNAAsgCEF8aiEFCyADKAIAIAIgBEEMahCKgICAACEIIAUg","ACAHQQJ0aiIAKAIANgIAIAAgBjYCACAHIAhBAXNqIQULIARBEGokgICAgAAgBQuzBgMKfwJ8An8CQCABDQBBAA8LIAIoAgAhAiAA","KAIAIQRBACEFIAAhBgJAAkACQAJAIABBBGoiByAAIAFBAnRqIghBfGoiCU8NACADKAIAKAIAIgooAgghC0EAIQUgACEGA0AgAiAL","Tw0CIAZBBGoiDCgCACIHIAtPDQMgBiAAIAVBAnRqIgEoAgA2AgAgASAHNgIAIAZBCGoiBigCACIBIAtPDQQgDCAAIAVBAEEAQX8g","CigCBCINIAJBA3RqKwMAIg4gDSAHQQN0aisDACIPZiIQG0EBQX4gEBsgDiAPZRsgDiAOYiIQIA8gD2JyGyIRQX9GIAcgAkkgERtq","IgVBAnRqIgcoAgA2AgAgByABNgIAIAVBAEEAQX8gDiANIAFBA3RqKwMAIg9mIgcbQQFBfiAHGyAOIA9lGyAQIA8gD2JyGyIHQX9G","IAEgAkkgBxtqIQUgBkEEaiAJSQ0ACyAGQQRqIQcLAkACQAJAAkACQCAHIAhGDQAgAygCACEMA0AgByEHIAIgDCgCACINKAIIIgtP","DQIgBygCACIBIAtPDQMgDSgCBCILIAFBA3RqKwMAIQ4gCyACQQN0aisDACEPIAYgACAFQQJ0aiILKAIANgIAIAsgATYCACAFQQBB","AEF/IA8gDmYiBhtBAUF+IAYbIA8gDmUbIA8gD2IgDiAOYnIbIgZBf0YgASACSSAGG2ohBSAHIQYgB0EEaiIHIAhHDQALIAdBfGoh","BgsgAiADKAIAKAIAIgEoAggiB08NAiAEIAdPDQMgASgCBCIHIARBA3RqKwMAIQ4gByACQQN0aisDACEPIAYgACAFQQJ0aiIHKAIA","NgIAIAcgBDYCACAFQQBBAEF/IA8gDmYiBhtBAUF+IAYbIA8gDmUbIA8gD2IgDiAOYnIbIgZBf0YgBCACSSAGG2oPCyACIAtB0IbA","gAAQ3ICAgAAACyABIAtB4IbAgAAQ3ICAgAAACyACIAdB0IbAgAAQ3ICAgAAACyAEIAdB4IbAgAAQ3ICAgAAACyACIAtB0IbAgAAQ","3ICAgAAACyAHIAtB4IbAgAAQ3ICAgAAACyABIAtB4IbAgAAQ3ICAgAAAC/ICAQl/I4CAgIAAQRBrIgQkgICAgAACQAJAIAENAEEA","IQUMAQsgBCAAKAIAIgY2AgxBACEHIAAhBQJAIABBBGoiCCAAIAFBAnRqIglBfGoiCk8NAEEAIQcgACEFA0AgAyAFIghBBGoiASAC","EIqAgIAAIQsgCCAAIAdBAnRqIgUoAgA2AgAgBSABKAIANgIAIAMgCEEIaiIFIAIQioCAgAAhDCABIAAgByALaiIHQQJ0aiILKAIA","NgIAIAsgBSgCADYCACAHIAxqIQcgCEEMaiAKSQ0ACyAFQQRqIQgLAkAgCCAJRg0AA0AgBSEBIAMgCCIFIAIQioCAgAAhCCABIAAg","B0ECdGoiCygCADYCACALIAUoAgA2AgAgByAIaiEHIAVBBGoiCCAJRw0ACyAIQXxqIQULIAMgBEEMaiACEIqAgIAAIQggBSAAIAdB","AnRqIgAoAgA2AgAgACAGNgIAIAcgCGohBQsgBEEQaiSAgICAACAFC6cCBAJ+BH8BfgF/AkAgAQ0AQQAPCyACKQMAIQQgACkDACEF","QQAhAiAAIQYCQCAAQQhqIgcgACABQQN0aiIIQXhqIglPDQBBACECIAAhBgNAIAYiByAAIAJBA3RqIgYpAwA3AwAgBiAHQQhqIgEp","AwAiCjcDACABIAAgAiAEIApaaiICQQN0aiILKQMANwMAIAsgB0EQaiIGKQMAIgo3AwAgAiAEIApaaiECIAdBGGogCUkNAAsgBkEI","aiEHCwJAIAcgCEYNAANAIAYgACACQQN0aiIBKQMANwMAIAEgByIGKQMAIgo3AwAgAiAEIApaaiECIAZBCGoiByAIRw0ACyAHQXhq","IQYLIAYgACACQQN0aiIHKQMANwMAIAcgBTcDACACIAQgBVpqC6cCBAJ+BH8BfgF/AkAgAQ0AQQAPCyACKQMAIQQgACkDACEFQQAh","AiAAIQYCQCAAQQhqIgcgACABQQN0aiIIQXhqIglPDQBBACECIAAhBgNAIAYiByAAIAJBA3RqIgYpAwA3AwAgBiAHQQhqIgEpAwAi","CjcDACABIAAgAiAKIARUaiICQQN0aiILKQMANwMAIAsgB0EQaiIGKQMAIgo3AwAgAiAKIARUaiECIAdBGGogCUkNAAsgBkEIaiEH","CwJAIAcgCEYNAANAIAYgACACQQN0aiIBKQMANwMAIAEgByIGKQMAIgo3AwAgAiAKIARUaiECIAZBCGoiByAIRw0ACyAHQXhqIQYL","IAYgACACQQN0aiIHKQMANwMAIAcgBTcDACACIAUgBFRqC3cBAX8CQCABDQBBAA8LAkAgAiABTw0AIAAoAgAhBCAAIAAgAkECdGoi","AigCADYCACACIAQ2AgAgAEEEaiABQX9qIAAgAxCkgICAACICIAFPDQAgACgCACEBIAAgACACQQJ0aiIDKAIANgIAIAMgATYCACAC","DwsAC3cBAX8CQCABDQBBAA8LAkAgAiABTw0AIAAoAgAhBCAAIAAgAkECdGoiAigCADYCACACIAQ2AgAgAEEEaiABQX9qIAAgAxCl","gICAACICIAFPDQAgACgCACEBIAAgACACQQJ0aiIDKAIANgIAIAMgATYCACACDwsAC3cBAX8CQCABDQBBAA8LAkAgAiABTw0AIAAo","AgAhBCAAIAAgAkECdGoiAigCADYCACACIAQ2AgAgAEEEaiABQX9qIAAgAxCmgICAACICIAFPDQAgACgCACEBIAAgACACQQJ0aiID","KAIANgIAIAMgATYCACACDwsAC3cBAX8CQCABDQBBAA8LAkAgAiABTw0AIAAoAgAhBCAAIAAgAkECdGoiAigCADYCACACIAQ2AgAg","AEEEaiABQX9qIAAgAxCngICAACICIAFPDQAgACgCACEBIAAgACACQQJ0aiIDKAIANgIAIAMgATYCACACDwsAC3cBAX4CQCABDQBB","AA8LAkAgAiABTw0AIAApAwAhBCAAIAAgAkEDdGoiAikDADcDACACIAQ3AwAgAEEIaiABQX9qIAAgABCogICAACICIAFPDQAgACkD","ACEEIAAgACACQQN0aiIBKQMANwMAIAEgBDcDACACDwsAC3cBAX4CQCABDQBBAA8LAkAgAiABTw0AIAApAwAhBCAAIAAgAkEDdGoi","AikDADcDACACIAQ3AwAgAEEIaiABQX9qIAAgABCpgICAACICIAFPDQAgACkDACEEIAAgACACQQN0aiIBKQMANwMAIAEgBDcDACAC","DwsAC38BA38jgICAgABBEGsiAiSAgICAACACQQhqIAAgARDpgICAAAJAAkAgAigCCCIBIAIoAgwiA0cNAEEAIQAMAQtBACEAA0BB","AEECQQEgAS0AACIEQe8BSxsgBMBBQEgbIABqIQAgAUEBaiIBIANHDQALCyACQRBqJICAgIAAIAALDgAgACABIAAQsoCAgAALiQEB","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","ASAEIAo2AswBIARBADYCyAEgBCAJNgLEASAEIAg2AsABIAQgBCgCiAI2ApgBIAQgBCkCgAI3ApABIAQgBCgClAI2AqQBIAQgBCkC","jAI3ApwBIAQgBCgCoAI2ArABIAQgBCkCmAI3AqgBIAQgBCgCrAI2ArwBIAQgBCkCpAI3ArQBIARBADYC7AEgBEKAgICAwAA3AuQB","IARBADYCrAIgBEKAgICAgAE3AqQCIAOtIQwgBEHkAWohDSAEQdgBaiEOIARBhAFqIQ8gBEH4AGohECAEQewAaiERIARB4ABqIRIg","BEHUAGohEyAEQcgAaiEUIARBPGohFQNAIAEhFiACIQNBACEXQQEhGEEAIQICQCADRQ0AQQAhFwJAA0AgFiAXaiIHLQAAQQpGDQFB","ASEYIAMgF0EBaiIXRw0ACyADIRcgAyECIBYhAQwBCyAHQQFqIQEgF0F/cyADaiECQQAhGAsCQCALIAxRDQACQCAXRQ0AIBYgF2oh","AyALpyIZQQJ0IRoDQCAWIRtBACEJAkACQANAIBsgCWoiBy0AACIFQSBGIhwNASAbIAlBAWoiCWogA0cNAAsgFyEJIBshFgwBCyAH","QQFqIRYgCUF/cyAXaiEXCwJAAkACQAJAAkACQCAJRQ0AIARBIGogBEEwaiAbIAkQuYCAgAACQCAEKAIgQQFHDQAgBCgCJCEDDAQL","IAQoAkQhHSAEQTBqIBsgCRDRgICAACAEKAI4IQcCQCAEKAJEIgMgBCgCPEcNACAVELyAgIAACyAEKAJAIANBAnRqIAc2AgAgBCAD","QQFqNgJEIBsgCRCwgICAACEHAkAgBCgCUCIDIAQoAkhHDQAgFBC8gICAAAsgBCgCTCADQQJ0aiAHNgIAIAQgA0EBajYCUCAdQQF0","IAQoAmgiA00NAiAEQbACakEAIANBAXQiAxCFgICAACAEKAJEQX9qIh5FDQEgA0F/aiEGQQAhHyAEKAK0AiEIIAQoArgCIQUDQCAE","QRhqIARBMGogHxC7gICAACAEQRBqIAQoAhggBCgCHBDpgICAAEGlxoiheCEHAkAgBCgCECIDIAQoAhQiCkYNAANAIAcgAy0AAHNB","swNsIQcgA0EBaiIDIApHDQALCwJAIAcgBnEiAyAFTw0AIB9BAWohHwNAAkAgCCADQQJ0aiIHKAIADQAgByAfNgIAIB8gHkcNAwwF","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","aiSAgICAAAttAQN/IAAgARDTgICAACAAKAIEIgMgACgCCCIEaiEFAkACQAJAIAFBAkkNAAJAIAFBf2oiAUUNACAFIAIgAfwLAAsg","AyABIARqIgRqIQUMAQsgAUUNAQsgBSACOgAAIARBAWohBAsgACAENgIIC/ICAQF/I4CAgIAAQdABayIDJICAgIAAIANBDGogACAB","IAIQvYCAgAAgAygCICECAkBBACgCpI7AgABBf0YNAEGkjsCAABDXgICAAEGkjsCAABDWgICAAEGwjsCAAEEEQQQQyYCAgABBvI7A","gABBBEEEEMmAgIAAQciOwIAAQQRBBBDJgICAAEHUjsCAAEEEQQQQyYCAgABB4I7AgABBBEEEEMmAgIAAQeyOwIAAQQRBBBDJgICA","AEH4jsCAAEEEQQQQyYCAgABBhI/AgABBBEEEEMmAgIAAQZCPwIAAQQRBBBDJgICAAEGcj8CAAEEIQQgQyYCAgABBqI/AgAAQ14CA","gABBqI/AgAAQ1oCAgABBtI/AgABBBEEEEMmAgIAAQcCPwIAAQQRBBBDJgICAAEHMj8CAAEEEQQQQyYCAgABB2I/AgABBBEEEEMmA","gIAAC0GkjsCAACADQQxqQcQB/AoAACADQdABaiSAgICAACACQX9qC14BAX8jgICAgABBEGsiACSAgICAAEEAQX82AqSOwIAAIABB","CGoQ0ICAgABBAEHwj8CAADYC6I/AgABBACAAKQMINwKYjsCAAEEAQQA2AqCOwIAAIABBEGokgICAgAALPgEBfwJAIABBCGoiAEEA","KAKgjsCAACIBTQ0AQZiOwIAAIAAgAWtBABDAgICAAAtBACgCnI7AgABBB2pBeHELOwEBf0EAIQgCQEEAKAKkjsCAAEF/Rg0AQaSO","wIAAIAAgASACIAMgBCAGIAUgByAFELiAgIAAIQgLIAgLBABBAQsNACAAIAEQzoCAgAAPCwMADwsNACAAIAEQ1ICAgAAAC4gBAQR/","I4CAgIAAQRBrIgMkgICAgABBACEEIANBDGohBQJAAkAgAkUNACAAKAIAIgZFDQAgAyABNgIMIAYgAmwhBCAAKAIEIQIgA0EIaiEF","DAELCyAFIAQ2AgACQCADKAIMIgRFDQAgAygCCCIFRQ0AIAIgBSAEELOAgIAACyADQRBqJICAgIAAC1IBAX8jgICAgABBEGsiBSSA","gICAACAFQQhqIAAgASACIAMgBBDLgICAAAJAIAUoAggiBEF/Rg0AIAQgBSgCDBDMgICAAAALIAVBEGokgICAgAALuQEBAn8jgICA","gABBEGsiBiSAgICAAEEAIQcCQAJAIAUNAAwBCyADIAJqIgIgA0kNACAGQQRqIAEgAiABKAIAQQF0IgMgAiADSxsiA0EIQQRBASAF","QYEISRsgBUEBRhsiAiADIAJLGyIDIAQgBRDSgICAACAGKAIIIQcCQCAGKAIERQ0AIAYoAgwhAgwBCyABIAM2AgAgASAHNgIEQX8h","BwsgACACNgIEIAAgBzYCACAGQRBqJICAgIAACxwAAkAgAEUNACAAIAEQyICAgAAACxDVgICAAAALYwECfwJAAkACQCACIAFrIgMg","ACgCACAAKAIIIgRrTQ0AIAAgBCADQQFBARDKgICAACAAKAIIIQQMAQsgAiABRg0BCyADRQ0AIAAoAgQgBGogASAD/AoAAAsgACAE","IANqNgIIC0sBAX8jgICAgABBEGsiAiSAgICAACACIAA2AgQgAkGBgICAADYCDCACIAJBBGo2AghBmobAgAAgAkEIakEAQbCLwIAA","EOKAgIAAAAuxAQEBfgJAAkACQCAErSABrX4iBUIgiKcNACAFpyIEIAMQ24CAgAANAQsgAEEANgIEQQEhAQwBCwJAIAQNACAAIAM2","AghBACEBIABBADYCBAwBCxDHgICAAAJAAkAgAg0AIAQgAxCxgICAACECDAELIAQgAxC3gICAACECCwJAIAINACAAIAQ2AgggACAD","NgIEQQEhAQwBCyAAIAI2AgggACABNgIEQQAhAQsgACABNgIACw0AIABCgICAgBA3AwALEQAgACABIAEgAmoQzYCAgAALoAIDAX8B","fgN/I4CAgIAAQRBrIgUkgICAgAAgBK0gAq1+IganIQICQAJAAkACQAJAIAZCIIinDQAgAiADENuAgIAADQELIABBADYCBAwBC0EA","IQcgBUEMaiEIAkACQCAERQ0AIAEoAgAiCUUNACAFIAM2AgwgCSAEbCEHIAEoAgQhBCAFQQhqIQgMAQsLIAggBzYCAAJAAkACQCAF","KAIMRQ0AAkAgBSgCCCIBDQAgAg0CIAMhBAwDCyAEIAEgAyACELSAgIAAIQQMAgsgAg0AIAMhBAwDCxDHgICAACACIAMQsYCAgAAh","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","gAAgA0EQaiACENiAgIAAAAthAQF/I4CAgIAAQSBrIgMkgICAgAAgAyABNgIMIAMgADYCCCADQYGAgIAANgIcIANBgYCAgAA2AhQg","AyADQQxqNgIYIAMgA0EIajYCEEGYgcCAACADQRBqIAIQ2ICAgAAACxgAQbyNwIAAQZkBQYiOwIAAENiAgIAAAAsrACAAIAIgASAD","IAEgA0kbEOqAgIAAIgIgASADayACGyIDQQBKIANBAEhrCxMAIAAgASACajYCBCAAIAE2AgALSgEDf0EAIQMCQCACRQ0AAkADQCAA","LQAAIgQgAS0AACIFRw0BIABBAWohACABQQFqIQEgAkF/aiICRQ0CDAALCyAEIAVrIQMLIAMLC/sPAgBBgIDAAAuYDhZzbGljZSBp","bmRleCBzdGFydHMgYXQgwA0gYnV0IGVuZHMgYXQgwAAgaW5kZXggb3V0IG9mIGJvdW5kczogdGhlIGxlbiBpcyDAEiBidXQgdGhl","IGluZGV4IGlzIMAAEnJhbmdlIHN0YXJ0IGluZGV4IMAiIG91dCBvZiByYW5nZSBmb3Igc2xpY2Ugb2YgbGVuZ3RoIMAAEHJhbmdl","IGVuZCBpbmRleCDAIiBvdXQgb2YgcmFuZ2UgZm9yIHNsaWNlIG9mIGxlbmd0aCDAAC9yb290Ly5ydXN0dXAvdG9vbGNoYWlucy9z","dGFibGUteDg2XzY0LXVua25vd24tbGludXgtZ251L2xpYi9ydXN0bGliL3NyYy9ydXN0L2xpYnJhcnkvY29yZS9zcmMvc2xpY2Uv","c29ydC9zaGFyZWQvc21hbGxzb3J0LnJzAC9yb290Ly5ydXN0dXAvdG9vbGNoYWlucy9zdGFibGUteDg2XzY0LXVua25vd24tbGlu","dXgtZ251L2xpYi9ydXN0bGliL3NyYy9ydXN0L2xpYnJhcnkvY29yZS9zcmMvc2xpY2Uvc29ydC91bnN0YWJsZS9xdWlja3NvcnQu","cnMAL3Jvb3QvLnJ1c3R1cC90b29sY2hhaW5zL3N0YWJsZS14ODZfNjQtdW5rbm93bi1saW51eC1nbnUvbGliL3J1c3RsaWIvc3Jj","L3J1c3QvbGlicmFyeS9jb3JlL3NyYy9mbXQvbnVtLnJzAC9yb290Ly5ydXN0dXAvdG9vbGNoYWlucy9zdGFibGUteDg2XzY0LXVu","a25vd24tbGludXgtZ251L2xpYi9ydXN0bGliL3NyYy9ydXN0L2xpYnJhcnkvYWxsb2Mvc3JjL3Jhd192ZWMvbW9kLnJzAC9yb290","Ly5ydXN0dXAvdG9vbGNoYWlucy9zdGFibGUteDg2XzY0LXVua25vd24tbGludXgtZ251L2xpYi9ydXN0bGliL3NyYy9ydXN0L2xp","YnJhcnkvYWxsb2Mvc3JjL2FsbG9jLnJzAHNyYy9saWIucnMAFW1lbW9yeSBhbGxvY2F0aW9uIG9mIMANIGJ5dGVzIGZhaWxlZABN","ARAAfwAAADgAAAAbAAAADwMQAAoAAAAzAQAAEgAAAA8DEAAKAAAANAEAACQAAAAPAxAACgAAADEBAAAkAAAADwMQAAoAAACfAAAA","IwAAAA8DEAAKAAAAnwAAAEAAAAAPAxAACgAAAJ8AAAAcAAAADwMQAAoAAACgAAAAIwAAAA8DEAAKAAAAoAAAAEAAAAAPAxAACgAA","AKAAAAAcAAAADwMQAAoAAAC/AAAAGAAAAA8DEAAKAAAA/QAAACEAAAAPAxAACgAAAOEAAAApAAAADwMQAAoAAAAfAQAAJQAAAA8D","EAAKAAAAIAEAACEAAAAPAxAACgAAACEBAAAnAAAADwMQAAoAAAAjAQAAHwAAAA8DEAAKAAAAJQEAAB8AAAAPAxAACgAAACgBAAAb","AAAADwMQAAoAAAApAQAAGAAAAA8DEAAKAAAAEgEAACUAAAAPAxAACgAAABMBAAApAAAADwMQAAoAAAATAQAARgAAAA8DEAAKAAAA","FAEAACoAAAAPAxAACgAAABUBAAAfAAAADwMQAAoAAAAYAQAAMAAAAA8DEAAKAAAAGAEAABwAAAAPAxAACgAAADsBAAAhAAAADwMQ","AAoAAAAuAQAAGAAAAA8DEAAKAAAAzAAAABYAAAAPAxAACgAAAEwAAAAkAAAADwMQAAoAAABMAAAAQQAAAA8DEAAKAAAATAAAABQA","AAAPAxAACgAAAIQAAAAbAAAADwMQAAoAAACZAAAAMgAAAA8DEAAKAAAAmQAAABoAAAAPAxAACgAAAJUAAAAaAAAADwMQAAoAAACy","AAAAGQAAAA8DEAAKAAAAUwAAACIAAACmAhAAaAAAAD0CAAAJAAAAY2FwYWNpdHkgb3ZlcmZsb3cAAAA3AhAAbgAAABwAAAAFAAAA","zQEQAGkAAABYAgAABQAAADAwMDEwMjAzMDQwNTA2MDcwODA5MTAxMTEyMTMxNDE1MTYxNzE4MTkyMDIxMjIyMzI0MjUyNjI3Mjgy","OTMwMzEzMjMzMzQzNTM2MzczODM5NDA0MTQyNDM0NDQ1NDY0NzQ4NDk1MDUxNTI1MzU0NTU1NjU3NTg1OTYwNjE2MjYzNjQ2NTY2","Njc2ODY5NzA3MTcyNzM3NDc1NzY3Nzc4Nzk4MDgxODI4Mzg0ODU4Njg3ODg4OTkwOTE5MjkzOTQ5NTk2OTc5ODk5dXNlci1wcm92","aWRlZCBjb21wYXJpc29uIGZ1bmN0aW9uIGRvZXMgbm90IGNvcnJlY3RseSBpbXBsZW1lbnQgYSB0b3RhbCBvcmRlcs8AEAB9AAAA","VgMAAAUAAAAAQZiOwAAL0AEAAAAAAQAAAAAAAAD/////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA","AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"].join("");var on=["AGFzbQEAAAABYA1gA39/fwF/YAJ/fwF/YAN/f38AYAV/f39/fwBgBX9/f39/AX9gBH9/f38AYAR/f39/AX9gCH9/f39/f39/AX9g","AX8AYAABf2AHf39/f39/fwF/YAZ/f39/f38Bf2AAAAMkIwIDBAIFBQICAgIGBgYGAwcICQoFCQIBBQILBQYAAQICAgwABAUBcAEC","AgUDAQARBgkBfwFBgIDAAAsHPAUGbWVtb3J5AgAMeWtfaGVhcF9iYXNlABEJeWtfc2VhcmNoABIHeWtfc29ydAATCnlrX3ZlcnNp","b24AFAkHAQBBAQsBHQrEWiO8BgMFfwJ8BH8CQCABQQJJDQACQAJAAkACQAJAAkACQAJAAkAgACgCBCIDIAIoAgAiBCgCBCIFTw0A","IAAoAgAiBiAFTw0BIAQoAgAiByAGQQN0aisDACEIAkACQCAHIANBA3RqKwMAIgkgCWINACAIIAhiDQFBAEEAQX8gCSAIZiIKG0EB","QX4gChsgCSAIZRsiCmsgCiAEKAIILQAAG0H/AXEiCkH/AUYgAyAGSSAKGw0BDAYLIAMgBk8NBSAIIAhhDQULQQIhCkEBIQsgAUEC","Rg0GIABBCGohDEECIQoDQCADIQYgDCgCACIDIAVPDQMgBiAFTw0EIAcgBkEDdGorAwAhCAJAAkAgByADQQN0aisDACIJIAliDQAg","CCAIYg0BQQBBAEF/IAkgCGYiDRtBAUF+IA0bIAkgCGUbIg1rIA0gBCgCCC0AABtB/wFxIg1B/wFGIAMgBkkgDRtBAUYNAUEBIQsM","CQsgAyAGTw0IIAggCGENCAsgDEEEaiEMIAEgCkEBaiIKRw0AC0EBIQsMBQsgAyAFQdSEwIAAEJiAgIAAAAsgBiAFQeSEwIAAEJiA","gIAAAAsgAyAFQdSEwIAAEJiAgIAAAAsgBiAFQeSEwIAAEJiAgIAAAAtBAiEKQQAhCyABQQJGDQEgAEEIaiEMQQIhCgNAIAMhBiAM","KAIAIgMgBU8NAyAGIAVPDQQgByAGQQN0aisDACEIAkACQCAHIANBA3RqKwMAIgkgCWINACAIIAhiDQRBAEEAQX8gCSAIZiING0EB","QX4gDRsgCSAIZRsiDWsgDSAEKAIILQAAG0H/AXEiDUH/AUYgAyAGSSANG0UNAUEAIQsMBAsgAyAGTw0AIAggCGINAwsgDEEEaiEM","IAEgCkEBaiIKRw0ACwsgASEKCwJAIAogAUYNACAAIAFBACABQQFyZ0EBdEE+cyACEIGAgIAADAMLIAtFDQIgAUEBdiEGIAFBAnQg","AGpBfGohAwNAIAAoAgAhCiAAIAMoAgA2AgAgAyAKNgIAIANBfGohAyAAQQRqIQAgBkF/aiIGDQAMAwsLIAMgBUHUhMCAABCYgICA","AAALIAYgBUHkhMCAABCYgICAAAALC7YIBAh/AnwDfwF8I4CAgIAAQRBrIgUkgICAgAACQAJAIAFBIUkNACADQX9qIQMDQAJAIANB","f0cNACAAIAEgBBCJgICAAAwDCyAAIAFBA3YiBkEcbGohByAAIAZBBHRqIQgCQAJAIAFBwABJDQAgACAIIAcgBiAEEIKAgIAAIQYM","AQsCQAJAAkACQAJAAkAgACgCACIGIAQoAgAiCSgCBCIKTw0AIAgoAgAiCyAKTw0BIAkoAgAiDCALQQN0aisDACENAkACQAJAAkAg","DCAGQQN0aisDACIOIA5iIg8NACANIA1hDQFBASEQDAMLIA0gDWINAUEAIRAMAgtBAEEAQX8gDiANZiIRG0EBQX4gERsgDiANZRsi","EWsgESAJKAIILQAAG0H/AXEiEUH/AUYgBiALSSARGyEQDAELIAYgC0khEAsgBygCACIRIApPDQIgDCARQQN0aisDACESAkACQAJA","AkACQAJAAkAgDw0AIBIgEmENASAAIQYgEEUNDSANIA1iDQYMCwsgEiASYg0BIAAhBiAQDQwgDSANYQ0DDAkLQQBBAEF/IA4gEmYi","ChtBAUF+IAobIA4gEmUbIgprIAogCSgCCC0AABtB/wFxIgpB/wFGIAYgEUkgChshCgwBCyAGIBFJIQoLIAAhBiAQIApHDQkgDSAN","Yg0BIBIgEmINBwtBAEEAQX8gDSASZiIGG0EBQX4gBhsgDSASZRsiBmsgBiAJKAIILQAAG0H/AXEiBkH/AUYgCyARSSAGGyEGDAcL","IBIgEmENBAsgCyARSSEGDAULIAYgCkHUhMCAABCYgICAAAALIAsgCkHkhMCAABCYgICAAAALIBEgCkHkhMCAABCYgICAAAALQQAh","BgwBC0EBIQYLIAcgCCAQIAZzGyEGCyAGIABrIgdBAnYhBgJAAkAgAkUNAAJAAkACQCACKAIAIgggBCgCACIJKAIEIgtPDQAgACAH","aigCACIHIAtPDQEgCSgCACILIAdBA3RqKwMAIQ0CQAJAIAsgCEEDdGorAwAiEiASYg0AIA0gDWINBUEAQQBBfyASIA1mIgsbQQFB","fiALGyASIA1lGyILayALIAkoAggtAAAbQf8BcSIJQf8BRiAIIAdJIAkbDQUMAQsgCCAHTw0AIA0gDWINBAsgBSAENgIMIAAgASAG","IAVBDGoQjICAgAAiBkEBaiECIAYgAU8NAiABIAJrIQEgACACQQJ0aiEAQQAhAgwECyAIIAtB1ITAgAAQmICAgAAACyAHIAtB5ITA","gAAQmICAgAAACyACIAEgAUHEhMCAABCXgICAAAALIAAgACABIAYgBBCNgICAACIGIAIgAyAEEIGAgIAAIAEgBkF/c2ohASAAIAZB","AnRqIgJBBGohAAsgA0F/aiEDIAFBIU8NAAsLIAAgASAEEIiAgIAACyAFQRBqJICAgIAAC4kFBAR/AnwCfwF8AkAgA0H4////AXFF","DQAgACAAIANBA3YiA0EEdCIFaiAAIANBHGwiBmogAyAEEIKAgIAAIQAgASABIAVqIAEgBmogAyAEEIKAgIAAIQEgAiACIAVqIAIg","BmogAyAEEIKAgIAAIQILAkACQAJAAkACQAJAAkAgACgCACIDIAQoAgAiBCgCBCIHTw0AIAEoAgAiBSAHTw0BIAQoAgAiCCAFQQN0","aisDACEJAkACQAJAAkAgCCADQQN0aisDACIKIApiIgsNACAJIAlhDQFBASEMDAMLIAkgCWINAUEAIQwMAgtBAEEAQX8gCiAJZiIG","G0EBQX4gBhsgCiAJZRsiBmsgBiAEKAIILQAAG0H/AXEiBkH/AUYgAyAFSSAGGyEMDAELIAMgBUkhDAsgAigCACIGIAdPDQIgCCAG","QQN0aisDACENAkACQAJAAkACQAJAAkAgCw0AIA0gDWENASAMRQ0NIAkgCWINBgwLCyANIA1iDQEgDA0MIAkgCWENAwwJC0EAQQBB","fyAKIA1mIgcbQQFBfiAHGyAKIA1lGyIHayAHIAQoAggtAAAbQf8BcSIHQf8BRiADIAZJIAcbIQMMAQsgAyAGSSEDCyAMIANHDQkg","CSAJYg0BIA0gDWINBwtBAEEAQX8gCSANZiIAG0EBQX4gABsgCSANZRsiAGsgACAEKAIILQAAG0H/AXEiAEH/AUYgBSAGSSAAGyEA","DAcLIA0gDWENBAsgBSAGSSEADAULIAMgB0HUhMCAABCYgICAAAALIAUgB0HkhMCAABCYgICAAAALIAYgB0HkhMCAABCYgICAAAAL","QQAhAAwBC0EBIQALIAIgASAMIABzGyEACyAAC9wDAwR/AnwBfwJAAkAgASgCACIDIAIoAgAiAigCBCIETw0AAkAgAUF8aiIFKAIA","IgYgBE8NACACKAIAIgQgBkEDdGorAwAhBwJAAkAgBCADQQN0aisDACIIIAhiDQAgByAHYg0BQQBBAEF/IAggB2YiBBtBAUF+IAQb","IAggB2UbIgRrIAQgAigCCC0AABtB/wFxIgRB/wFGIAMgBkkgBBtBAUYNAQwECyADIAZPDQMgByAHYQ0DCyABIAY2AgACQCAFIABG","DQAgA0EDdCEJA0AgBSEGAkACQAJAIAMgAigCBCIETw0AIAZBfGoiBSgCACIBIARPDQEgAigCACIEIAFBA3RqKwMAIQcCQAJAIAQg","CWorAwAiCCAIYg0AIAcgB2INBEEAQQBBfyAIIAdmIgQbQQFBfiAEGyAIIAdlGyIEayAEIAIoAggtAAAbQf8BcSIEQf8BRiADIAFJ","IAQbQQFHDQEMBAsgAyABTw0AIAcgB2INAwsgBiEFDAQLIAMgBEHUhMCAABCYgICAAAALIAEgBEHkhMCAABCYgICAAAALIAYgATYC","ACAFIABHDQALCyAFIAM2AgAPCyAGIARB5ITAgAAQmICAgAAACyADIARB1ITAgAAQmICAgAAACwunBQMIfwJ8A38gAiABQQJ0QXxq","IgRqIQUgACAEaiEGIAAgAUEBdiIHQQJ0aiIIQXxqIQkgAygCACEDAkACQAJAAkACQANAIAgoAgAiCiADKAIEIgtPDQEgACgCACIE","IAtPDQIgAygCACILIARBA3RqKwMAIQwCQAJAAkAgCyAKQQN0aisDACINIA1iDQAgDCAMYg0BQQAhC0EAQQBBfyANIAxmIg4bQQFB","fiAOGyANIAxlGyIOayAOIAMoAggtAAAbQf8BcSIOQf8BRiAKIARJIA4bQQFGDQEMAgtBACELIAogBE8NASAMIAxhDQELQQEhCyAK","IQQLIAIgBDYCACAGKAIAIgQgAygCBCIOTw0DIAkoAgAiCiAOTw0EIAtBAnQhDiALQQFzQQJ0IQ8gAygCACILIApBA3RqKwMAIQwC","QAJAAkAgCyAEQQN0aisDACINIA1iDQAgDCAMYg0BQQAhC0EAQQBBfyANIAxmIhAbQQFBfiAQGyANIAxlGyIQayAQIAMoAggtAAAb","Qf8BcSIQQf8BRiAEIApJIBAbQQFGDQEMAgtBACELIAQgCk8NASAMIAxhDQELQQEhCyAKIQQLIAJBBGohAiAIIA5qIQggACAPaiEA","IAUgBDYCACAFQXxqIQUgCSALQQJ0IgRrIQkgBCAGakF8aiEGIAdBf2oiBw0ACyAGQQRqIQQgCUEEaiEDAkAgAUEBcUUNACACIAAg","CCAAIANJIgobKAIANgIAIAggACADT0ECdGohCCAAIApBAnRqIQALAkAgCCAERw0AIAAgA0YNBQsQoYCAgAAACyAKIAtB1ITAgAAQ","mICAgAAACyAEIAtB5ITAgAAQmICAgAAACyAEIA5B1ITAgAAQmICAgAAACyAKIA5B5ITAgAAQmICAgAAACwuDAgICfwJ8AkACQAJA","AkAgACACQQJ0aiIEKAIAIgIgAygCACIDKAIEIgVPDQAgACABQQJ0aiIBKAIAIgAgBU8NASADKAIAIgUgAEEDdGorAwAhBgJAAkAg","BSACQQN0aisDACIHIAdiDQAgBiAGYg0EQQBBAEF/IAcgBmYiBRtBAUF+IAUbIAcgBmUbIgVrIAUgAygCCC0AABtB/wFxIgNB/wFG","IAIgAEkgAxtBAUcNAQwECyACIABPDQAgBiAGYg0DCyAAIQMgAiEADAMLIAIgBUHUhMCAABCYgICAAAALIAAgBUHkhMCAABCYgICA","AAALIAIhAwsgASADNgIAIAQgADYCAAvsAgACQCABQQlJDQAgAEEAQQMgAhCFgICAACAAQQFBByACEIWAgIAAIABBAkEFIAIQhYCA","gAAgAEEEQQggAhCFgICAACAAQQBBByACEIWAgIAAIABBAkEEIAIQhYCAgAAgAEEDQQggAhCFgICAACAAQQVBBiACEIWAgIAAIABB","AEECIAIQhYCAgAAgAEEBQQMgAhCFgICAACAAQQRBBSACEIWAgIAAIABBB0EIIAIQhYCAgAAgAEEBQQQgAhCFgICAACAAQQNBBiAC","EIWAgIAAIABBBUEHIAIQhYCAgAAgAEEAQQEgAhCFgICAACAAQQJBBCACEIWAgIAAIABBA0EFIAIQhYCAgAAgAEEGQQggAhCFgICA","ACAAQQJBAyACEIWAgIAAIABBBEEFIAIQhYCAgAAgAEEGQQcgAhCFgICAACAAQQFBAiACEIWAgIAAIABBA0EEIAIQhYCAgAAgAEEF","QQYgAhCFgICAAA8LAAuEBQACQCABQQ1JDQAgAEEAQQwgAhCFgICAACAAQQFBCiACEIWAgIAAIABBAkEJIAIQhYCAgAAgAEEDQQcg","AhCFgICAACAAQQVBCyACEIWAgIAAIABBBkEIIAIQhYCAgAAgAEEBQQYgAhCFgICAACAAQQJBAyACEIWAgIAAIABBBEELIAIQhYCA","gAAgAEEHQQkgAhCFgICAACAAQQhBCiACEIWAgIAAIABBAEEEIAIQhYCAgAAgAEEBQQIgAhCFgICAACAAQQNBBiACEIWAgIAAIABB","B0EIIAIQhYCAgAAgAEEJQQogAhCFgICAACAAQQtBDCACEIWAgIAAIABBBEEGIAIQhYCAgAAgAEEFQQkgAhCFgICAACAAQQhBCyAC","EIWAgIAAIABBCkEMIAIQhYCAgAAgAEEAQQUgAhCFgICAACAAQQNBCCACEIWAgIAAIABBBEEHIAIQhYCAgAAgAEEGQQsgAhCFgICA","ACAAQQlBCiACEIWAgIAAIABBAEEBIAIQhYCAgAAgAEECQQUgAhCFgICAACAAQQZBCSACEIWAgIAAIABBB0EIIAIQhYCAgAAgAEEK","QQsgAhCFgICAACAAQQFBAyACEIWAgIAAIABBAkEEIAIQhYCAgAAgAEEFQQYgAhCFgICAACAAQQlBCiACEIWAgIAAIABBAUECIAIQ","hYCAgAAgAEEDQQQgAhCFgICAACAAQQVBByACEIWAgIAAIABBBkEIIAIQhYCAgAAgAEECQQMgAhCFgICAACAAQQRBBSACEIWAgIAA","IABBBkEHIAIQhYCAgAAgAEEIQQkgAhCFgICAACAAQQNBBCACEIWAgIAAIABBBUEGIAIQhYCAgAAPCwALlgIBB38jgICAgABBgAFr","IgMkgICAgAACQAJAIAFBAkkNACABQSBLDQEgASABQQF2IgQgAUESSSIFGyEGIAEgBGshByAAIARBAnRqIQggACEJA0ACQAJAIAZB","DEsNAEEBIQQgBkEITQ0BIAkgBiACEIaAgIAAQQkhBAwBCyAJIAYgAhCHgICAAEENIQQLIARBf2ogBk8NAgJAIAQgBkYNACAEQQJ0","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","EJiAgIAAAAsgByAKQeSEwIAAEJiAgIAAAAsgBCABQdSEwIAAEJiAgIAAAAsgBSABQeSEwIAAEJiAgIAAAAuwCAMJfwJ8An8CQCAB","DQBBAA8LIAIoAgAhBCAAKAIAIQVBACEGIAAhAgJAIABBBGoiByAAIAFBAnRqIghBfGoiCU8NACADKAIAIgooAgQhAUEAIQYgACEC","AkACQAJAAkADQCACQQRqIgsoAgAiByABTw0BIAQgAU8NAiAKKAIAIgwgBEEDdGorAwAhDQJAAkACQAJAIAwgB0EDdGorAwAiDiAO","Yg0AIA0gDWENAUEBIQ8MAwsgDSANYg0BQQAhDwwCC0EAQQBBfyAOIA1mIhAbQQFBfiAQGyAOIA1lGyIQayAQIAooAggtAAAbQf8B","cSIQQf8BRiAHIARJIBAbIQ8MAQsgByAESSEPCyACIAAgBkECdGoiECgCADYCACAQIAc2AgAgAkEIaiICKAIAIgcgAU8NAyAGIA9q","IQYCQAJAAkACQCAMIAdBA3RqKwMAIg4gDmINACANIA1hDQFBASEMDAMLIA0gDWINAUEAIQwMAgtBAEEAQX8gDiANZiIMG0EBQX4g","DBsgDiANZRsiDGsgDCAKKAIILQAAG0H/AXEiDEH/AUYgByAESSAMGyEMDAELIAcgBEkhDAsgCyAAIAZBAnRqIhAoAgA2AgAgECAH","NgIAIAYgDGohBiACQQRqIAlPDQQMAAsLIAcgAUHUhMCAABCYgICAAAALIAQgAUHkhMCAABCYgICAAAALIAcgAUHUhMCAABCYgICA","AAALIAJBBGohBwsCQAJAAkACQAJAIAcgCEYNACADKAIAIQEDQCACIQwgByICKAIAIgcgASgCBCIKTw0CIAQgCk8NAyABKAIAIgog","BEEDdGorAwAhDQJAAkACQAJAIAogB0EDdGorAwAiDiAOYg0AIA0gDWENAUEBIQoMAwsgDSANYg0BQQAhCgwCC0EAQQBBfyAOIA1m","IgobQQFBfiAKGyAOIA1lGyIKayAKIAEoAggtAAAbQf8BcSIKQf8BRiAHIARJIAobIQoMAQsgByAESSEKCyAMIAAgBkECdGoiCygC","ADYCACALIAc2AgAgBiAKaiEGIAJBBGoiByAIRw0ACyAHQXxqIQILIAUgAygCACIHKAIEIgFPDQIgBCABTw0DIAcoAgAiASAEQQN0","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","gYCAgAA2AhwgA0GBgICAADYCFCADIANBCGo2AhggAyADQQxqNgIQQaiAwIAAIANBEGogAhCVgICAAAALjwUCBn8BfiOAgICAAEEQ","ayIGJICAgIAAAkACQCABDQAgBUEBaiEHIAAoAgghCEEtIQkMAQtBK0F/IAAoAggiCEGAgIABcSIBGyEJIAFBFXYgBWohBwsCQAJA","IAhBgICABHENAEEAIQIMAQsCQAJAIANBEEkNACACIAMQloCAgAAhCgwBC0EAIQogA0UNACACIQEgAyELA0AgCiABLAAAQb9/Smoh","CiABQQFqIQEgC0F/aiILDQALCyAKIAdqIQcLAkACQAJAAkACQCAHIAAvAQwiCk8NACAIQYCAgAhxDQFBASEBIAYgACAKIAdrQQEQ","moCAgAAgBigCACIHQX9GDQQgBi8BBCELIAAgCSACIAMQm4CAgAANBCAAKAIAIgMgBCAFIAAoAgQiAigCDBGAgICAAICAgIAADQRB","ACEKIAtB//8DcSELA0AgCyAKQf//A3EiAEshASALIABNDQUgCkEBaiEKIAMgByACKAIQEYGAgIAAgICAgABFDQAMBQsLIAAgCSAC","IAMQm4CAgABFDQEMAgsgACAAKQIIIgynQYCAgP95cUGwgICAAnI2AgggACAJIAIgAxCbgICAAA0BQQEhASAGQQhqIAAgCiAHa0EB","EJqAgIAAIAYoAggiC0F/Rg0CIAYvAQwhAiAAKAIAIgcgBCAFIAAoAgQiAygCDBGAgICAAICAgIAADQJBACEKIAJB//8DcSECAkAD","QCACIApB//8DcU0NAUEBIQEgCkEBaiEKIAcgCyADKAIQEYGAgIAAgICAgABFDQAMBAsLIAAgDDcCCEEAIQEMAgsgACgCACAEIAUg","ACgCBCgCDBGAgICAAICAgIAAIQEMAQtBASEBCyAGQRBqJICAgIAAIAELuAEBA38gAiEEAkACQAJAAkAgASgCCCIFQR12QQNxDgQB","AwACAQsgAkH+/wNxQQF2IQQMAgtBACEEDAELIAJBACADQf8BcRshBAsgBUH///8AcSEFIAEoAgQhAyABKAIAIQZBACEBAkACQANA","IAFB//8DcSAEQf//A3FPDQEgAUEBaiEBIAYgBSADKAIQEYGAgIAAgICAgABFDQALQX8hBQwBCyACIARrIQELIAAgATsBBCAAIAU2","AgALUgACQCABQX9GDQAgACgCACABIAAoAgQoAhARgYCAgACAgICAAEUNAEEBDwsCQCACDQBBAA8LIAAoAgAgAiADIAAoAgQoAgwR","gICAgACAgICAAAvRAwEJfwJAAkAgAEHoB08NACAAIQMMAQsgAUF8aiEEQQAhBSAAIQYCQAJAAkACQAJAA0AgBiAGQZDOAG4iA0GQ","zgBsayIHQf//A3FB5ABuIQggAiAFaiIJQXxqIAJPDQEgBCACaiIKIAhBAXQiCy0ApIXAgAA6AAAgCUF9aiACTw0CIApBAWogC0Gl","hcCAAGotAAA6AAAgCUF+aiACTw0DIApBAmogByAIQeQAbGtBAXRB/v8HcSIILQCkhcCAADoAACAJQX9qIAJPDQQgCkEDaiAIQaWF","wIAAai0AADoAACAEQXxqIQQgBUF8aiEFIAZB/6ziBEshCSADIQYgCUUNBQwACwsgCUF8aiACQZSFwIAAEJiAgIAAAAsgCUF9aiAC","QZSFwIAAEJiAgIAAAAsgCUF+aiACQZSFwIAAEJiAgIAAAAsgCUF/aiACQZSFwIAAEJiAgIAAAAsgAiAFaiECCwJAAkAgA0EKTw0A","IAMhBgwBCyABIAJBfmoiAmogAyADQf//A3FB5ABuIgZB5ABsa0H//wNxQQF0LwCkhcCAADsAAAsCQAJAIABFDQAgBkUNAQsgASAC","QX9qIgJqIAZBAXRBHnEtAKWFwIAAOgAACyACC1EBAX8jgICAgABBEGsiAiSAgICAACABQQFBAUEAIAJBBmogACgCACACQQZqQQoQ","nICAgAAiAGpBCiAAaxCZgICAACEAIAJBEGokgICAgAAgAAthAQF/I4CAgIAAQSBrIgMkgICAgAAgAyABNgIMIAMgADYCCCADQYGA","gIAANgIcIANBgYCAgAA2AhQgAyADQQxqNgIYIAMgA0EIajYCEEGAgMCAACADQRBqIAIQlYCAgAAAC2EBAX8jgICAgABBIGsiAySA","gICAACADIAE2AgwgAyAANgIIIANBgYCAgAA2AhwgA0GBgICAADYCFCADIANBDGo2AhggAyADQQhqNgIQQd+AwIAAIANBEGogAhCV","gICAAAALYQEBfyOAgICAAEEgayIDJICAgIAAIAMgATYCDCADIAA2AgggA0GBgICAADYCHCADQYGAgIAANgIUIAMgA0EMajYCGCAD","IANBCGo2AhBBmIHAgAAgA0EQaiACEJWAgIAAAAsYAEHshsCAAEGZAUG4h8CAABCVgICAAAALSgEDf0EAIQMCQCACRQ0AAkADQCAA","LQAAIgQgAS0AACIFRw0BIABBAWohACABQQFqIQEgAkF/aiICRQ0CDAALCyAEIAVrIQMLIAMLC9IHAQBBgIDAAAvIBxZzbGljZSBp","bmRleCBzdGFydHMgYXQgwA0gYnV0IGVuZHMgYXQgwAAgaW5kZXggb3V0IG9mIGJvdW5kczogdGhlIGxlbiBpcyDAEiBidXQgdGhl","IGluZGV4IGlzIMAAEnJhbmdlIHN0YXJ0IGluZGV4IMAiIG91dCBvZiByYW5nZSBmb3Igc2xpY2Ugb2YgbGVuZ3RoIMAAEHJhbmdl","IGVuZCBpbmRleCDAIiBvdXQgb2YgcmFuZ2UgZm9yIHNsaWNlIG9mIGxlbmd0aCDAAC9yb290Ly5ydXN0dXAvdG9vbGNoYWlucy9z","dGFibGUteDg2XzY0LXVua25vd24tbGludXgtZ251L2xpYi9ydXN0bGliL3NyYy9ydXN0L2xpYnJhcnkvY29yZS9zcmMvc2xpY2Uv","c29ydC9zaGFyZWQvc21hbGxzb3J0LnJzAC9yb290Ly5ydXN0dXAvdG9vbGNoYWlucy9zdGFibGUteDg2XzY0LXVua25vd24tbGlu","dXgtZ251L2xpYi9ydXN0bGliL3NyYy9ydXN0L2xpYnJhcnkvY29yZS9zcmMvc2xpY2Uvc29ydC91bnN0YWJsZS9xdWlja3NvcnQu","cnMAL3Jvb3QvLnJ1c3R1cC90b29sY2hhaW5zL3N0YWJsZS14ODZfNjQtdW5rbm93bi1saW51eC1nbnUvbGliL3J1c3RsaWIvc3Jj","L3J1c3QvbGlicmFyeS9jb3JlL3NyYy9mbXQvbnVtLnJzAHNyYy9saWIucnMAAABNARAAfwAAADgAAAAbAAAANwIQAAoAAAAlAAAA","EgAAADcCEAAKAAAAJgAAABIAAAA3AhAACgAAAGAAAAAMAAAANwIQAAoAAABgAAAAIwAAAM0BEABpAAAAWAIAAAUAAAAwMDAxMDIw","MzA0MDUwNjA3MDgwOTEwMTExMjEzMTQxNTE2MTcxODE5MjAyMTIyMjMyNDI1MjYyNzI4MjkzMDMxMzIzMzM0MzUzNjM3MzgzOTQw","NDE0MjQzNDQ0NTQ2NDc0ODQ5NTA1MTUyNTM1NDU1NTY1NzU4NTk2MDYxNjI2MzY0NjU2NjY3Njg2OTcwNzE3MjczNzQ3NTc2Nzc3","ODc5ODA4MTgyODM4NDg1ODY4Nzg4ODk5MDkxOTI5Mzk0OTU5Njk3OTg5OXVzZXItcHJvdmlkZWQgY29tcGFyaXNvbiBmdW5jdGlv","biBkb2VzIG5vdCBjb3JyZWN0bHkgaW1wbGVtZW50IGEgdG90YWwgb3JkZXLPABAAfQAAAFYDAAAFAAAA"].join("");var qr=1e4,At="\0";function vA(e,A){return e==="rust"||e==="auto"&&A>=qr}var Hr=1,$r=65536,wA=null,Ai=null;function ti(e){if(typeof atob=="function"){let t=atob(e),i=new Uint8Array(t.length);for(let o=0;o<t.length;o++)i[o]=t.charCodeAt(o);return i}let A=globalThis.Buffer;if(A)return new Uint8Array(A.from(e,"base64"));throw new Error("No base64 decoder")}function sn(){return wA?Promise.resolve(wA):(Ai||(Ai=(async()=>{try{return typeof WebAssembly>"u"?null:(wA=await WebAssembly.compile(ti(on)),wA)}catch{return null}})()),Ai)}function an(e){let A=e.isWellFormed;if(typeof A=="function")return A.call(e);for(let t=0;t<e.length;t++){let i=e.charCodeAt(t);if(i>=55296&&i<=56319){let o=e.charCodeAt(t+1);if(o>=56320&&o<=57343){t++;continue}return!1}if(i>=56320&&i<=57343)return!1}return!0}var bA=e=>e+7&-8,et=class e{x;base;encoder=new TextEncoder;offsetsPtr=0;textPtr=0;textLen=0;rows=0;hasIndex=!1;freePtr;constructor(A){this.x=A,this.base=bA(A.yk_heap_base()),this.freePtr=this.base}static create(A=wA){if(!A)return null;try{let i=new WebAssembly.Instance(A,{}).exports;return i.yk_version()!==Hr?null:new e(i)}catch{return null}}ensure(A){let t=A-this.x.memory.buffer.byteLength;t>0&&this.x.memory.grow(Math.ceil(t/$r))}setSearchTexts(A){this.hasIndex=!1,this.freePtr=this.base;try{let t=0;for(let I of A){if(!an(I))return!1;t+=I.length*3}let i=A.length,o=this.base,r=bA(o+(i+1)*4);this.ensure(r+t);let n=this.x.memory.buffer,a=new Uint32Array(n,o,i+1),s=new Uint8Array(n,r,t),l=0;for(let I=0;I<i;I++)a[I]=l,l+=this.encoder.encodeInto(A[I],s.subarray(l)).written??0;return a[i]=l,this.offsetsPtr=o,this.textPtr=r,this.textLen=l,this.rows=i,this.freePtr=bA(r+l),this.hasIndex=!0,!0}catch{return!1}}search(A){if(!this.hasIndex||!A||A.includes(At)||!an(A))return null;try{let t=this.encoder.encode(A),i=this.freePtr,o=bA(i+t.length);this.ensure(o+this.rows*4),new Uint8Array(this.x.memory.buffer,i,t.length).set(t);let r=this.x.yk_search(this.textPtr,this.textLen,this.offsetsPtr,this.rows,i,t.length,o);return new Uint32Array(this.x.memory.buffer,o,r).slice()}catch{return null}}sortByKeys(A,t){try{let i=A.length,o=this.freePtr,r=bA(o+i*8);return this.ensure(r+i*4),new Float64Array(this.x.memory.buffer,o,i).set(A),this.x.yk_sort(o,i,t?1:0,r),new Uint32Array(this.x.memory.buffer,r,i).slice()}catch{return null}}};function gn(e){return e>=.1?`${e<10?e.toFixed(1):Math.round(e)} ms`:"<0.1 ms"}function ii(e,A){let t=new Array(A.length);for(let i=0;i<A.length;i++)t[i]=e[A[i]];return t}var Pr=1e3;function xA(e,A){return e==="rust"||e==="auto"&&A>=Pr}var zr=1,oA=null,ni=null;function cn(){return oA?Promise.resolve(oA):(ni||(ni=(async()=>{try{return typeof WebAssembly>"u"?null:(oA=await WebAssembly.compile(ti(rn)),oA)}catch{return null}})()),ni)}function In(){return oA}var ln=e=>e+7&-8,tt=class e{x;encoder=new TextEncoder;docs=0;ready=!1;constructor(A){this.x=A}static create(A=oA){if(!A)return null;try{let t=new WebAssembly.Instance(A,{}).exports;return t.yk_rag_version()!==zr?null:new e(t)}catch{return null}}build(A){this.ready=!1;try{let t=this.encoder.encode(A.map(o=>o.join(" ")).join(`
|
|
15
|
+
`));this.x.yk_rag_reset();let i=this.x.yk_rag_scratch(t.length);return new Uint8Array(this.x.memory.buffer,i,t.length).set(t),this.x.yk_rag_build(i,t.length,A.length),this.docs=A.length,this.ready=!0,!0}catch{return!1}}search(A,t,i,o){if(!this.ready||A.length!==t.length||A.some(r=>!r||/[ \n]/.test(r)))return null;try{let r=Math.max(0,Math.min(o,this.docs)),n=this.encoder.encode(A.join(" ")),a=ln(n.length),s=a+t.length*8,l=ln(s+r*4),I=l+r*8,u=this.x.yk_rag_scratch(I),m=this.x.memory.buffer;new Uint8Array(m,u,n.length).set(n),new Float64Array(m,u+a,t.length).set(t);let c=this.x.yk_rag_search(u,n.length,u+a,t.length,i,r,u+s,u+l),k=this.x.memory.buffer,f=new Uint32Array(k,u+s,c),C=new Float64Array(k,u+l,c),B=[];for(let v=0;v<c;v++)B.push({doc:f[v],score:C[v]});return B}catch{return null}}};var Or=new Set("a an the is are was were be to of and or in on at for with what which who whom how why when where does do did this that these those it its from by as about any all please tell me show give".split(" "));function aA(e){return(e.normalize("NFC").toLowerCase().match(/[\p{L}\p{M}\p{N}]+/gu)??[]).filter(A=>A.length>1&&!Or.has(A))}function ri(e,A=600){let t=ue(e);if(!t)return[];let i=[],o="",r="",n=()=>{r.trim()&&i.push({id:`page-${i.length+1}`,source:"page",text:r.trim(),ref:o||void 0}),r=""};for(let a of U(t,"h1,h2,h3,h4,p,li,td,th,dt,dd,blockquote,figcaption,label,summary")){if(a.querySelector("p,li,h1,h2,h3,h4"))continue;let s=ne(a.textContent);if(s){if(/^H[1-4]$/.test(a.tagName)){n(),o=s,r=`${s}. `;continue}r.length+s.length>A&&n(),r+=`${s} `}}return n(),i}function oi(e,A,t="id"){return e.map((i,o)=>{let r=i,n=String(r[t]??o+1);return{id:`grid-${n}`,source:"grid",ref:n,text:A.map(a=>`${a.label}: ${String(r[a.key]??"")}`).join(". ")}})}function it(e={}){let A=[],t=[],i=new Map,o=0,r=null,n=null,a=null,s=!1,l=null;function I(){return xA(e.engine,A.length)?n?Promise.resolve(!0):(l||(l=cn().then(f=>(n=f?tt.create(f):null,!!n))),l):Promise.resolve(!1)}function u(){let f=[...e.includePage===!1?[]:ri(e.root),...e.rows&&e.columns?oi(e.rows,e.columns,e.rowKey):[],...(e.documents??[]).map(B=>({id:B.id,source:"custom",text:B.text}))],C=f.map(B=>`${B.source}${B.id}${B.ref??""}${B.text}`).join("");if(C!==r){r=C,A=f,t=A.map(B=>aA(B.text)),i=new Map;for(let B of t)for(let v of new Set(B))i.set(v,(i.get(v)??0)+1);o=t.reduce((B,v)=>B+v.length,0)/Math.max(1,t.length)}}u(),xA(e.engine,A.length)&&In()&&I();function m(f,C){if(!n||!xA(e.engine,A.length)||!Number.isInteger(C)||C<=0||(a!==t&&(s=n.build(t),a=t),!s))return null;let B=t.length,v=f.map(h=>Math.log(1+(B-(i.get(h)??1)+.5)/((i.get(h)??1)+.5))),E=n.search(f,v,o||1,C);return E?E.map(h=>({...A[h.doc],score:h.score})):null}function c(f,C=5){let B=aA(f);if(!B.length)return[];let v=m(B,C);if(v)return v;n||I();let E=t.length;return t.map((p,y)=>{let D=0;for(let Q of B){let x=0;for(let w of p)(w===Q||Q.length>=4&&w.startsWith(Q)||w.length>=4&&Q.startsWith(w))&&x++;if(!x)continue;let G=Math.log(1+(E-(i.get(Q)??1)+.5)/((i.get(Q)??1)+.5));D+=G*(x*2.2/(x+1.2*(.25+.75*(p.length/(o||1)))))}return{...A[y],score:D}}).filter(p=>p.score>0).sort((p,y)=>y.score-p.score).slice(0,C)}async function k(f,C={}){await I();let B=c(f,C.k??4);if(!B.length)return{answer:"I couldn't find anything about that on this page or in the data.",hits:B,generated:!1};if(C.generate)try{let p=B.map((D,Q)=>`[${Q+1}] ${D.text}`).join(`
|
|
16
16
|
`),y=await C.generate(f,p);if(y!=null&&y.trim())return{answer:y.trim(),hits:B,generated:!0}}catch{}let v=new Set(aA(f)),E=B.flatMap(p=>p.text.split(new RegExp("(?<=[.!?\u0964])\\s+|\\.\\s+(?=\\p{Lu})","u")).map(y=>({s:y.trim(),h:p}))).map(({s:p,h:y})=>({s:p,h:y,overlap:aA(p).filter(D=>v.has(D)).length})).filter(p=>p.s&&p.overlap>0).sort((p,y)=>y.overlap-p.overlap).slice(0,3);return{answer:E.length?E.map(p=>p.h.source==="grid"?`Row ${p.h.ref}: ${p.s}`:p.s).join(`
|
|
17
|
-
`):B[0].text.slice(0,300),hits:B,generated:!1}}return{search:c,ask:k,rebuild:u,update(f){Object.assign(e,f),u()},size:()=>A.length,get engine(){return n&&xA(e.engine,A.length)?"rust":"ts"},whenEngineReady:()=>I().then(f=>f?"rust":"ts")}}var
|
|
17
|
+
`):B[0].text.slice(0,300),hits:B,generated:!1}}return{search:c,ask:k,rebuild:u,update(f){Object.assign(e,f),u()},size:()=>A.length,get engine(){return n&&xA(e.engine,A.length)?"rust":"ts"},whenEngineReady:()=>I().then(f=>f?"rust":"ts")}}var dn={high:12,medium:6,low:2};function nt(e={}){let A=ue(e.root),t=[],i=(a,s,l,I,u)=>t.push({category:a,severity:s,message:l,suggestion:I,selector:u?ke(u):void 0});if(A&&Ee()){let a=e.minFontSize??14,s=e.maxLineLength??90,l=w=>window.getComputedStyle(w),I=U(A,"h1");I.length===0&&i("hierarchy","medium","There is no h1, so the page has no clear main title.","Add one prominent h1 near the top."),I.length>1&&i("hierarchy","low",`${I.length} h1 headings compete for attention.`,"Keep one h1 and demote the rest.",I[1]);let u=w=>{let M=U(A,w)[0];return M&&parseFloat(l(M).fontSize)||0},[m,c,k]=[u("h1"),u("h2"),u("h3")];m&&c&&c>=m&&i("hierarchy","medium",`h2 (${c}px) is as large as or larger than h1 (${m}px).`,"Make each heading level visibly smaller than the one above it."),c&&k&&k>c&&i("hierarchy","low",`h3 (${k}px) is larger than h2 (${c}px).`,"Keep heading sizes in descending order.");let f=pe({root:e.root,skip:["color-contrast","target-size","duplicate-id","page-title","html-lang","form-error","positive-tabindex"]});for(let w of f.issues.filter(M=>M.rule==="heading-order").slice(0,3))i("hierarchy","low",w.message,w.fix,w.element);let C=0,B;for(let w of U(A,"p,li,td,span,a,label,small,div").slice(0,1500)){if(!BA(w))continue;(parseFloat(l(w).fontSize)||16)<a&&(C++,B??=w)}C&&i("readability",C>10?"high":"medium",`${C} text element(s) are smaller than ${a}px, e.g. "${re((B==null?void 0:B.textContent)??"",30)}".`,`Use at least ${a}px for body text (16px for senior-friendly pages).`,B);for(let w of U(A,"p").slice(0,200)){let M=l(w),L=parseFloat(M.fontSize)||16,F=w.getBoundingClientRect().width,R=F/(L*.5);if(F>0&&R>s&&(w.textContent??"").length>s){i("readability","low",`A paragraph is about ${Math.round(R)} characters wide.`,`Limit text width to ~${s} characters (e.g. max-width: 70ch).`,w);break}let H=parseFloat(M.lineHeight);if(Number.isFinite(H)&&H/L<1.3){i("readability","low",`Line height is ${(H/L).toFixed(2)}\xD7 the font size.`,"Use line-height of at least 1.5 for body text (WCAG 1.4.12).",w);break}}let v=pe({root:e.root,skip:["html-lang","page-title","image-alt","heading-order","single-h1","landmark-main","form-label","button-name","link-name","positive-tabindex","keyboard-access","duplicate-id","form-error","target-size"]});v.issues.length&&i("readability",v.issues.length>5?"high":"medium",`${v.issues.length} text element(s) have weak contrast. ${v.issues[0].message}`,"Raise contrast to at least 4.5:1 for body text.",v.issues[0].element);let E=Wr();E.length&&i("interaction","high",`Focus outlines are removed by CSS (${E.slice(0,2).join(", ")}) with no replacement.`,"Never remove outlines without a visible :focus-visible style (WCAG 2.4.7).");let h=U(A,XA).filter(w=>{let M=w.getBoundingClientRect();return M.width>0&&M.height>0&&(M.width<24||M.height<24)&&!(w.tagName==="A"&&w.closest("p,li"))});h.length&&i("interaction",h.length>5?"high":"medium",`${h.length} control(s) are smaller than 24\xD724px.`,"Give controls at least 24\xD724px, ideally 44\xD744px for touch and seniors.",h[0]);let p=window.innerHeight||800,y=U(A,nn).filter(w=>{let M=w.getBoundingClientRect();return M.height>0&&M.top<p});y.length>40&&i("clutter","medium",`${y.length} interactive elements in the first screen.`,"Group secondary actions into menus and keep the first screen focused on one task.");let D=U(A,"button,a[href],[role='button']").filter(w=>{let M=w.getBoundingClientRect();if(M.height===0||M.top>p)return!1;let L=l(w).backgroundColor;return!!L&&!/rgba\(0, 0, 0, 0\)|transparent/.test(L)&&!/rgb\(255, 255, 255\)/.test(L)});D.length>4&&i("clutter","medium",`${D.length} filled buttons compete in the first screen.`,"Keep one primary action per view; make the rest secondary (outline or text).",D[0]);let Q=new Set,x=new Set;for(let w of U(A,"body *").slice(0,2e3)){if(!BA(w))continue;let M=l(w);Q.add(M.fontFamily.split(",")[0].replace(/["']/g,"").trim().toLowerCase()),x.add(Math.round(parseFloat(M.fontSize)||0))}Q.size>4&&i("consistency","low",`${Q.size} different font families are used.`,"Stick to 1\u20132 font families (e.g. one Telugu + one Latin)."),x.size>10&&i("consistency","low",`${x.size} different font sizes are used.`,"Use a small type scale (5\u20137 sizes) for a calmer page.");let G=U(A,"img:not([width]):not([height])").filter(w=>!l(w).aspectRatio||l(w).aspectRatio==="auto");G.length>3&&i("consistency","low",`${G.length} images have no width/height, so the layout jumps while loading.`,"Set width and height (or aspect-ratio) on images.",G[0])}let o=["hierarchy","readability","interaction","clutter","consistency"].reduce((a,s)=>{let l=t.filter(I=>I.category===s);return a[s]={score:Math.max(0,100-l.reduce((I,u)=>I+dn[u.severity]*2,0)),findings:l.length},a},{}),r=Math.max(0,100-t.reduce((a,s)=>a+dn[s.severity],0)),n=Object.entries(o).sort((a,s)=>a[1].score-s[1].score)[0];return{score:r,categories:o,findings:t,summary:t.length?`Design score ${r}/100 with ${t.length} finding(s). Weakest area: ${n[0]}.`:"No design issues found by the automatic review."}}function Wr(){let e=[],A=!1,t=i=>{for(let o of Array.from(i)){let r=o.cssRules;r&&t(r);let n=o;if(!n.selectorText||!/:focus/.test(n.selectorText))continue;let a=`${n.style.outline} ${n.style.outlineStyle} ${n.style.outlineWidth}`,s=/\bnone\b|\b0(px)?\b/.test(a),l=!!(n.style.boxShadow&&n.style.boxShadow!=="none")||!!n.style.borderColor||!!n.style.backgroundColor||!!n.style.textDecoration;/:focus-visible/.test(n.selectorText)&&(!s||l)&&(A=!0),s&&!l&&e.push(n.selectorText)}};for(let i of Array.from(document.styleSheets))try{t(i.cssRules)}catch{}return A?[]:e}function un(){var A;let e=window;return e.Rewriter||((A=e.ai)==null?void 0:A.rewriter)||null}async function ai(){try{let e=un();if(!e)return!1;if(typeof e.availability=="function"){let A=await e.availability();return A==="readily"||A==="available"||A==="downloadable"}if(typeof e.capabilities=="function"){let A=await e.capabilities();return(A==null?void 0:A.available)!=="no"}return typeof e.create=="function"}catch{return!1}}async function Vr(e){if(!e||e.trim().length<20)return{success:!1,original:e,rewritten:e,error:"Text too short"};try{let A=un();if(!A)throw new Error("Rewriter API not available");let t=await A.create({tone:"more-casual",format:"plain-text",length:"as-is",outputLanguage:"en"}),i=await t.rewrite(e,{context:"Rewrite this text in simple plain English. Use short sentences. Avoid jargon. Make it easy to understand for everyone."});return t.destroy(),{success:!0,original:e,rewritten:i.trim()}}catch(A){return{success:!1,original:e,rewritten:e,error:A instanceof Error?A.message:"Rewrite failed"}}}async function Cn(){var i;if(!await ai())return{fixed:0,error:"Chrome Built-in AI Rewriter not available. Enable via chrome://flags."};let A=document.querySelectorAll("p, h1, h2, h3, h4, h5, h6, li, blockquote, td, th, label, figcaption"),t=0;for(let o of A){let r=(i=o.innerText)==null?void 0:i.trim();if(!r||r.length<20||o.closest("[data-yuktai-panel]"))continue;let n=await Vr(r);n.success&&n.rewritten!==r&&(o.dataset.yuktaiOriginal=r,o.innerText=n.rewritten,t++)}return{fixed:t}}function hn(){let e=document.querySelectorAll("[data-yuktai-original]");for(let A of e){let t=A.dataset.yuktaiOriginal;t&&(A.innerText=t,delete A.dataset.yuktaiOriginal)}}var pn="yuktai-summary-box";function yn(){var A;let e=window;return e.Summarizer||((A=e.ai)==null?void 0:A.summarizer)||null}async function si(){try{let e=yn();if(!e)return!1;if(typeof e.availability=="function"){let A=await e.availability();return A==="readily"||A==="available"||A==="downloadable"}if(typeof e.capabilities=="function"){let A=await e.capabilities();return(A==null?void 0:A.available)!=="no"}return typeof e.create=="function"}catch{return!1}}function Xr(){var t;let e=document.querySelectorAll("p, h1, h2, h3, h4, h5, h6, li, blockquote, article, section"),A=[];for(let i of e){if(i.closest("[data-yuktai-panel]"))continue;let o=window.getComputedStyle(i);if(o.display==="none"||o.visibility==="hidden")continue;let r=(t=i.innerText)==null?void 0:t.trim();r&&r.length>10&&A.push(r)}return A.join(" ").slice(0,5e3)}async function mn(){if(!await si())return{success:!1,summary:"",error:"Chrome Built-in AI Summarizer not available. Enable via chrome://flags."};let A=Xr();if(!A||A.length<100)return{success:!1,summary:"",error:"Not enough text on this page to summarise."};try{let t=yn();if(!t)throw new Error("Summarizer API not available");let i=await t.create({type:"tl;dr",format:"plain-text",length:"short",outputLanguage:"en"}),o=await i.summarize(A,{context:"Summarise this page in 2-3 simple sentences for a screen reader user who wants to know if this page is relevant to them."});return i.destroy(),jr(o.trim()),{success:!0,summary:o.trim()}}catch(t){return{success:!1,summary:"",error:t instanceof Error?t.message:"Summary failed"}}}function jr(e){rt();let A=document.createElement("div");A.id=pn,A.setAttribute("data-yuktai-panel","true"),A.setAttribute("role","region"),A.setAttribute("aria-label","Page summary by yuktai"),A.style.cssText=`
|
|
18
18
|
position: fixed;
|
|
19
19
|
top: 0;
|
|
20
20
|
left: 0;
|
|
@@ -35,7 +35,7 @@ Missing landmarks: ${n.join(", ")}.`:""}`,targets:[],suggestions:n.includes("mai
|
|
|
35
35
|
background: none; border: none; color: #ffffff;
|
|
36
36
|
font-size: 20px; cursor: pointer; padding: 0 4px;
|
|
37
37
|
line-height: 1; flex-shrink: 0;
|
|
38
|
-
`,i.addEventListener("click",
|
|
38
|
+
`,i.addEventListener("click",rt),A.appendChild(t),A.appendChild(i),document.body.prepend(A)}function rt(){let e=document.getElementById(pn);e&&e.remove()}var fn=[{code:"en",label:"English"},{code:"hi",label:"Hindi"},{code:"es",label:"Spanish"},{code:"fr",label:"French"},{code:"de",label:"German"},{code:"it",label:"Italian"},{code:"pt",label:"Portuguese"},{code:"nl",label:"Dutch"},{code:"pl",label:"Polish"},{code:"ru",label:"Russian"},{code:"ja",label:"Japanese"},{code:"ko",label:"Korean"},{code:"zh",label:"Chinese"},{code:"ar",label:"Arabic"},{code:"tr",label:"Turkish"},{code:"vi",label:"Vietnamese"},{code:"bn",label:"Bengali"},{code:"id",label:"Indonesian"}],ot="en";function Zr(){let e=window;return e.Translator||e.translation||null}async function _r(e){try{let A=window;if(!Zr())return!1;if(A.Translator&&typeof A.Translator.availability=="function")try{let i=await A.Translator.availability({sourceLanguage:"en",targetLanguage:e});return i==="readily"||i==="available"||i==="downloadable"||i==="after-download"}catch{}return A.Translator&&typeof A.Translator.canTranslate=="function"?await A.Translator.canTranslate({sourceLanguage:"en",targetLanguage:e})!=="no":A.translation&&typeof A.translation.canTranslate=="function"?await A.translation.canTranslate({sourceLanguage:"en",targetLanguage:e})!=="no":!1}catch{return!1}}async function eo(e){let A=window,t={sourceLanguage:"en",targetLanguage:e};if(A.Translator&&typeof A.Translator.create=="function")return await A.Translator.create(t);if(A.translation&&typeof A.translation.createTranslator=="function")return await A.translation.createTranslator(t);throw new Error("Translation API not available")}async function Qn(e){var t;if(e===ot)return{success:!0,language:e,fixed:0};if(e==="en")return gi(),ot="en",{success:!0,language:"en",fixed:0};if(!await _r(e))return{success:!1,language:e,fixed:0,error:`Translation to ${e} not available. Enable via chrome://flags.`};try{let i=await eo(e),o=document.querySelectorAll("p, h1, h2, h3, h4, h5, h6, li, blockquote, td, th, label, figcaption, span, a"),r=0;for(let n of o){if(n.closest("[data-yuktai-panel]")||n.children.length>0)continue;let a=(t=n.innerText)==null?void 0:t.trim();if(!a||a.length<2)continue;n.dataset.yuktaiTranslationOriginal||(n.dataset.yuktaiTranslationOriginal=a);let s=await i.translate(a);s&&s!==a&&(n.innerText=s,r++)}return typeof i.destroy=="function"&&i.destroy(),ot=e,{success:!0,language:e,fixed:r}}catch(i){return{success:!1,language:e,fixed:0,error:i instanceof Error?i.message:"Translation failed"}}}function gi(){let e=document.querySelectorAll("[data-yuktai-translation-original]");for(let A of e){let t=A.dataset.yuktaiTranslationOriginal;t&&(A.innerText=t,delete A.dataset.yuktaiTranslationOriginal)}ot="en"}var Ao=[{phrases:["go to main","skip to main","main content"],action:"focus-main",label:"Jump to main content"},{phrases:["go to navigation","go to nav","open menu"],action:"focus-nav",label:"Jump to navigation"},{phrases:["go to search","search","find"],action:"focus-search",label:"Jump to search"},{phrases:["scroll down","page down","next"],action:"scroll-down",label:"Scroll down"},{phrases:["scroll up","page up","back up"],action:"scroll-up",label:"Scroll up"},{phrases:["go back","previous page"],action:"go-back",label:"Go back"},{phrases:["click","press","select"],action:"click-focused",label:"Click focused element"},{phrases:["next item","tab forward","tab"],action:"tab-forward",label:"Move to next element"},{phrases:["previous item","tab back","shift tab"],action:"tab-back",label:"Move to previous element"},{phrases:["stop listening","stop voice","quiet"],action:"stop-voice",label:"Stop voice control"}],ge=null,at=!1,sA=null;function li(){return!!(window.SpeechRecognition||window.webkitSpeechRecognition)}function to(e){let A=e.toLowerCase().trim();for(let t of Ao)for(let i of t.phrases)if(A.includes(i))return{action:t.action,label:t.label};return null}function io(e){switch(e){case"focus-main":{let A=document.querySelector("main, [role='main'], #main");A&&(A.focus(),A.scrollIntoView({behavior:"smooth"}));break}case"focus-nav":{let A=document.querySelector("nav, [role='navigation']");A&&(A.focus(),A.scrollIntoView({behavior:"smooth"}));break}case"focus-search":{let A=document.querySelector("input[type='search'], input[role='searchbox'], [aria-label*='search' i]");A&&(A.focus(),A.scrollIntoView({behavior:"smooth"}));break}case"scroll-down":{window.scrollBy({top:400,behavior:"smooth"});break}case"scroll-up":{window.scrollBy({top:-400,behavior:"smooth"});break}case"go-back":{window.history.back();break}case"click-focused":{let A=document.activeElement;A&&A!==document.body&&A.click();break}case"tab-forward":{let A=Bn(),t=A.indexOf(document.activeElement),i=A[t+1]||A[0];i&&i.focus();break}case"tab-back":{let A=Bn(),t=A.indexOf(document.activeElement),i=A[t-1]||A[A.length-1];i&&i.focus();break}case"stop-voice":{ci();break}}}function Bn(){return Array.from(document.querySelectorAll('a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])')).filter(e=>!e.closest("[data-yuktai-panel]"))}function En(e){if(!li())return!1;if(at)return!0;e&&(sA=e);let A=window.SpeechRecognition||window.webkitSpeechRecognition;return ge=new A,ge.continuous=!0,ge.interimResults=!1,ge.lang="en-US",ge.onresult=t=>{let i=t.results[t.results.length-1][0].transcript,o=to(i);if(o){io(o.action);let r={success:!0,command:i,action:o.label};if(sA&&sA(r),o.action==="stop-voice")return}},ge.onend=()=>{at&&(ge==null||ge.start())},ge.onerror=t=>{t.error!=="no-speech"&&sA&&sA({success:!1,command:"",action:"",error:`Voice error: ${t.error}`})},ge.start(),at=!0,no(),!0}function ci(){at=!1,ge&&(ge.stop(),ge=null),sA=null,wn()}var bn="yuktai-voice-indicator";function no(){wn();let e=document.createElement("div");e.id=bn,e.setAttribute("data-yuktai-panel","true"),e.setAttribute("aria-live","polite"),e.setAttribute("aria-label","yuktai voice control is listening"),e.style.cssText=`
|
|
39
39
|
position: fixed;
|
|
40
40
|
bottom: 80px;
|
|
41
41
|
left: 50%;
|
|
@@ -65,7 +65,7 @@ Missing landmarks: ${n.join(", ")}.`:""}`,targets:[],suggestions:n.includes("mai
|
|
|
65
65
|
0%, 100% { opacity: 1; transform: scale(1); }
|
|
66
66
|
50% { opacity: 0.4; transform: scale(0.7); }
|
|
67
67
|
}
|
|
68
|
-
`,document.head.appendChild(i)}let t=document.createElement("span");t.textContent="Listening for commands...",e.appendChild(A),e.appendChild(t),document.body.appendChild(e)}function
|
|
68
|
+
`,document.head.appendChild(i)}let t=document.createElement("span");t.textContent="Listening for commands...",e.appendChild(A),e.appendChild(t),document.body.appendChild(e)}function wn(){let e=document.getElementById(bn);e&&e.remove()}var ro=["button:not([aria-label]):not([aria-labelledby])","a:not([aria-label]):not([aria-labelledby])","input:not([aria-label]):not([aria-labelledby]):not([id])","select:not([aria-label]):not([aria-labelledby])","textarea:not([aria-label]):not([aria-labelledby])","[role='button']:not([aria-label])","[role='link']:not([aria-label])","[role='checkbox']:not([aria-label])","[role='tab']:not([aria-label])"].join(", ");function vn(){var A;let e=window;return e.Writer||((A=e.ai)==null?void 0:A.writer)||null}async function Ii(){try{let e=vn();if(!e)return!1;if(typeof e.availability=="function"){let A=await e.availability();return A==="readily"||A==="available"||A==="downloadable"}if(typeof e.capabilities=="function"){let A=await e.capabilities();return(A==null?void 0:A.available)!=="no"}return typeof e.create=="function"}catch{return!1}}function oo(e){var l,I,u,m,c,k,f;let A=[],t=(l=e.innerText)==null?void 0:l.trim();t&&A.push(`element text: "${t}"`);let i=(I=e.placeholder)==null?void 0:I.trim();i&&A.push(`placeholder: "${i}"`);let o=(u=e.getAttribute("name"))==null?void 0:u.trim();o&&A.push(`name: "${o}"`);let r=(m=e.getAttribute("type"))==null?void 0:m.trim();r&&A.push(`type: "${r}"`);let n=e.id;if(n){let C=document.querySelector(`label[for="${n}"]`);C&&A.push(`label: "${(c=C.innerText)==null?void 0:c.trim()}"`)}let a=(f=(k=e.parentElement)==null?void 0:k.innerText)==null?void 0:f.trim().slice(0,60);a&&A.push(`parent context: "${a}"`),A.push(`tag: ${e.tagName.toLowerCase()}`);let s=e.getAttribute("role");return s&&A.push(`role: ${s}`),A.join(". ")}async function ao(e,A){let t=`
|
|
69
69
|
Generate a short, clear aria-label for an HTML element.
|
|
70
70
|
The label must be 2-6 words maximum.
|
|
71
71
|
The label must describe what the element does or what it is.
|
|
@@ -76,7 +76,7 @@ Missing landmarks: ${n.join(", ")}.`:""}`,targets:[],suggestions:n.includes("mai
|
|
|
76
76
|
${A}
|
|
77
77
|
|
|
78
78
|
Output only the label. Nothing else.
|
|
79
|
-
`.trim();return(await e.write(t)).trim().replace(/^["']|["']$/g,"").replace(/\.$/,"").trim()}async function
|
|
79
|
+
`.trim();return(await e.write(t)).trim().replace(/^["']|["']$/g,"").replace(/\.$/,"").trim()}async function xn(){if(!await Ii())return{success:!1,fixed:0,elements:[],error:"Chrome Built-in AI Writer not available. Enable via chrome://flags."};let A=document.querySelectorAll(ro);if(A.length===0)return{success:!0,fixed:0,elements:[]};try{let t=vn();if(!t)throw new Error("Writer API not available");let i=await t.create({tone:"neutral",format:"plain-text",length:"short",outputLanguage:"en"}),o=0,r=[];for(let n of A){if(n.closest("[data-yuktai-panel]"))continue;let a=window.getComputedStyle(n);if(a.display==="none"||a.visibility==="hidden")continue;let s=oo(n),l=await ao(i,s);l&&l.length>0&&(n.dataset.yuktaiLabelOriginal=n.getAttribute("aria-label")||"",n.setAttribute("aria-label",l),o++,r.push({tag:n.tagName.toLowerCase(),label:l}))}return i.destroy(),{success:!0,fixed:o,elements:r}}catch(t){return{success:!1,fixed:0,elements:[],error:t instanceof Error?t.message:"Label generation failed"}}}function kn(){let e=document.querySelectorAll("[data-yuktai-label-original]");for(let A of e){let t=A.dataset.yuktaiLabelOriginal;t?A.setAttribute("aria-label",t):A.removeAttribute("aria-label"),delete A.dataset.yuktaiLabelOriginal}}var lt=null,Dn=null;var Mn=null,di=null,_=null,gA=null,st=null,ui=null,le=null,gt={deuteranopia:"yuktai-cb-d",protanopia:"yuktai-cb-p",tritanopia:"yuktai-cb-t"};var Sn=new Set(["input","select","textarea"]);var Ci={nav:"navigation",header:"banner",footer:"contentinfo",main:"main",aside:"complementary"};function hi(e,A="polite"){if(typeof window>"u"||!(le!=null&&le.speechEnabled)||!window.speechSynthesis)return;window.speechSynthesis.cancel();let t=new SpeechSynthesisUtterance(e);t.rate=1,t.pitch=1,t.volume=1;let i=window.speechSynthesis.getVoices();i.length>0&&(t.voice=i[0]),window.speechSynthesis.speak(t)}function kA(e){return String(e??"").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'")}function Un(e,A="info"){if(typeof document>"u")return;let i={success:{bg:"#0a7a44",border:"#075e34",icon:"\u2713"},error:{bg:"#b52a1c",border:"#8f2116",icon:"\u2715"},warning:{bg:"#a35f00",border:"#7a4700",icon:"\u26A0"},info:{bg:"#005A9C",border:"#003F6E",icon:"\u2139"}}[A];(!_||!_.isConnected)&&(_=document.createElement("div"),_.setAttribute("role","alert"),_.setAttribute("aria-live","assertive"),_.setAttribute("aria-atomic","true"),_.style.cssText=`
|
|
80
80
|
position: fixed;
|
|
81
81
|
top: 80px;
|
|
82
82
|
right: 16px;
|
|
@@ -95,14 +95,7 @@ Missing landmarks: ${n.join(", ")}.`:""}`,targets:[],suggestions:n.includes("mai
|
|
|
95
95
|
transition: transform 0.3s, opacity 0.3s;
|
|
96
96
|
transform: translateX(120%);
|
|
97
97
|
opacity: 0;
|
|
98
|
-
`,document.body.appendChild(
|
|
99
|
-
<span style="font-size:18px;font-weight:700">${i.icon}</span>
|
|
100
|
-
<span style="flex:1;line-height:1.4">${e}</span>
|
|
101
|
-
<button
|
|
102
|
-
onclick="this.parentElement.style.transform='translateX(120%)';this.parentElement.style.opacity='0'"
|
|
103
|
-
style="background:none;border:none;color:#fff;cursor:pointer;font-size:18px;padding:0;line-height:1"
|
|
104
|
-
aria-label="Close notification">\xD7</button>
|
|
105
|
-
`,window.innerWidth<=480&&(te.style.right="8px",te.style.left="8px",te.style.maxWidth="none",te.style.width="auto"),requestAnimationFrame(()=>{te&&(te.style.transform="translateX(0)",te.style.opacity="1")}),setTimeout(()=>{te&&(te.style.transform="translateX(120%)",te.style.opacity="0")},5e3)}function z(e,A="info",t=!0){gt&&(gt.textContent=e),Yn(e,A),t&&Ci(e,A==="error"?"assertive":"polite")}function ao(){if(typeof document>"u"||Dn)return;let e=[{label:"Skip to main content",selector:"main,[role='main'],#main,#main-content"},{label:"Skip to navigation",selector:"nav,[role='navigation'],#nav,#navigation"},{label:"Skip to search",selector:"[role='search'],#search,input[type='search']"}],A=document.createElement("div");A.setAttribute("data-yuktai-skip-bar","true"),A.setAttribute("role","navigation"),A.setAttribute("aria-label","Skip links"),A.style.cssText=`
|
|
98
|
+
`,document.body.appendChild(_)),_.style.background=i.bg,_.style.border=`1px solid ${i.border}`,_.style.color="#fff";let o=document.createElement("span");o.style.cssText="font-size:18px;font-weight:700",o.setAttribute("aria-hidden","true"),o.textContent=i.icon;let r=document.createElement("span");r.style.cssText="flex:1;line-height:1.4",r.textContent=String(e??"");let n=document.createElement("button");n.type="button",n.style.cssText="background:none;border:none;color:#fff;cursor:pointer;font-size:18px;padding:0;line-height:1",n.setAttribute("aria-label","Close notification"),n.textContent="\xD7",n.addEventListener("click",()=>{let a=n.parentElement;a&&(a.style.transform="translateX(120%)",a.style.opacity="0")}),_.replaceChildren(o,r,n),window.innerWidth<=480&&(_.style.right="8px",_.style.left="8px",_.style.maxWidth="none",_.style.width="auto"),requestAnimationFrame(()=>{_&&(_.style.transform="translateX(0)",_.style.opacity="1")}),setTimeout(()=>{_&&(_.style.transform="translateX(120%)",_.style.opacity="0")},5e3)}function z(e,A="info",t=!0){lt&&(lt.textContent=e),Un(e,A),t&&hi(e,A==="error"?"assertive":"polite")}function so(){if(typeof document>"u"||Mn)return;let e=[{label:"Skip to main content",selector:"main,[role='main'],#main,#main-content"},{label:"Skip to navigation",selector:"nav,[role='navigation'],#nav,#navigation"},{label:"Skip to search",selector:"[role='search'],#search,input[type='search']"}],A=document.createElement("div");A.setAttribute("data-yuktai-skip-bar","true"),A.setAttribute("role","navigation"),A.setAttribute("aria-label","Skip links"),A.style.cssText=`
|
|
106
99
|
position: fixed;
|
|
107
100
|
top: 0;
|
|
108
101
|
left: 0;
|
|
@@ -127,7 +120,7 @@ Missing landmarks: ${n.join(", ")}.`:""}`,targets:[],suggestions:n.includes("mai
|
|
|
127
120
|
white-space: nowrap;
|
|
128
121
|
border: 2px solid transparent;
|
|
129
122
|
transition: background 0.15s, border-color 0.15s;
|
|
130
|
-
`,a.addEventListener("focus",()=>{A.style.transform="translateY(0)"}),a.addEventListener("blur",()=>{setTimeout(()=>{A.matches(":focus-within")||(A.style.transform="translateY(-100%)")},2e3)}),a.addEventListener("click",s=>{s.preventDefault(),n.focus(),n.scrollIntoView({behavior:"smooth",block:"start"}),z(`Jumped to ${o.replace("Skip to ","")}`,"info"),A.style.transform="translateY(-100%)"}),A.appendChild(a)}),!t)return;window.innerWidth<768&&(A.style.transform="translateY(0)",A.style.position="sticky"),window.addEventListener("resize",()=>{window.innerWidth<768&&(A.style.transform="translateY(0)")}),document.body.insertBefore(A,document.body.firstChild),
|
|
123
|
+
`,a.addEventListener("focus",()=>{A.style.transform="translateY(0)"}),a.addEventListener("blur",()=>{setTimeout(()=>{A.matches(":focus-within")||(A.style.transform="translateY(-100%)")},2e3)}),a.addEventListener("click",s=>{s.preventDefault(),n.focus(),n.scrollIntoView({behavior:"smooth",block:"start"}),z(`Jumped to ${o.replace("Skip to ","")}`,"info"),A.style.transform="translateY(-100%)"}),A.appendChild(a)}),!t)return;window.innerWidth<768&&(A.style.transform="translateY(0)",A.style.position="sticky"),window.addEventListener("resize",()=>{window.innerWidth<768&&(A.style.transform="translateY(0)")}),document.body.insertBefore(A,document.body.firstChild),Mn=A}function go(){if(typeof document>"u"||document.querySelector("[data-yuktai-focus-style]"))return;let e=document.createElement("style");e.setAttribute("data-yuktai-focus-style","true"),e.textContent=`
|
|
131
124
|
|
|
132
125
|
/* \u2500\u2500 Focus indicator \u2014 WCAG 2.4.11 minimum 2px solid \u2500\u2500 */
|
|
133
126
|
[data-yuktai-a11y] *:focus-visible {
|
|
@@ -273,7 +266,7 @@ Missing landmarks: ${n.join(", ")}.`:""}`,targets:[],suggestions:n.includes("mai
|
|
|
273
266
|
width: auto !important;
|
|
274
267
|
}
|
|
275
268
|
}
|
|
276
|
-
`,document.head.appendChild(e),document.documentElement.setAttribute("data-yuktai-a11y","true")}function
|
|
269
|
+
`,document.head.appendChild(e),document.documentElement.setAttribute("data-yuktai-a11y","true")}function lo(){typeof document>"u"||document.querySelector("[data-yuktai-kb-init]")||(document.documentElement.setAttribute("data-yuktai-kb-init","true"),document.addEventListener("keydown",e=>{var i,o,r,n,a,s,l;let A=document.activeElement;if(!A)return;let t=A.getAttribute("role")||"";if(e.key==="Escape"){let I=A.closest("[role='dialog'],[role='alertdialog']");if(I){I.style.display="none",z("Dialog closed","info");return}let u=A.closest("[role='menu'],[role='menubar']");u&&(u.style.display="none",z("Menu closed","info"))}if(t==="menuitem"||A.closest("[role='menu'],[role='menubar']")){let I=A.closest("[role='menu'],[role='menubar']");if(!I)return;let u=Array.from(I.querySelectorAll("[role='menuitem']:not([disabled])")),m=u.indexOf(A);e.key==="ArrowDown"||e.key==="ArrowRight"?(e.preventDefault(),(i=u[(m+1)%u.length])==null||i.focus()):e.key==="ArrowUp"||e.key==="ArrowLeft"?(e.preventDefault(),(o=u[(m-1+u.length)%u.length])==null||o.focus()):e.key==="Home"?(e.preventDefault(),(r=u[0])==null||r.focus()):e.key==="End"&&(e.preventDefault(),(n=u[u.length-1])==null||n.focus())}if(t==="tab"||A.closest("[role='tablist']")){let I=A.closest("[role='tablist']");if(!I)return;let u=Array.from(I.querySelectorAll("[role='tab']:not([disabled])")),m=u.indexOf(A);if(e.key==="ArrowRight"||e.key==="ArrowDown"){e.preventDefault();let c=u[(m+1)%u.length];c==null||c.focus(),c==null||c.click()}else if(e.key==="ArrowLeft"||e.key==="ArrowUp"){e.preventDefault();let c=u[(m-1+u.length)%u.length];c==null||c.focus(),c==null||c.click()}}if(t==="option"||A.closest("[role='listbox']")){let I=A.closest("[role='listbox']");if(!I)return;let u=Array.from(I.querySelectorAll("[role='option']:not([aria-disabled='true'])")),m=u.indexOf(A);e.key==="ArrowDown"?(e.preventDefault(),(a=u[(m+1)%u.length])==null||a.focus()):e.key==="ArrowUp"?(e.preventDefault(),(s=u[(m-1+u.length)%u.length])==null||s.focus()):(e.key==="Enter"||e.key===" ")&&(e.preventDefault(),A.setAttribute("aria-selected","true"),u.forEach(c=>{c!==A&&c.setAttribute("aria-selected","false")}),z(`Selected: ${(l=A.textContent)==null?void 0:l.trim()}`,"success"))}e.altKey&&e.key==="a"&&(e.preventDefault(),co()),e.key==="Tab"&&(le!=null&&le.speechEnabled)&&setTimeout(()=>{var c;let I=document.activeElement;if(!I)return;let u=I.getAttribute("aria-label")||I.getAttribute("title")||((c=I.textContent)==null?void 0:c.trim())||I.tagName.toLowerCase(),m=I.getAttribute("role")||I.tagName.toLowerCase();hi(`${u}, ${m}`)},100)}))}function ct(e){let A=e.querySelectorAll('button:not([disabled]),a[href],input:not([disabled]),select:not([disabled]),textarea:not([disabled]),[tabindex]:not([tabindex="-1"]),[role="button"]');if(A.length===0)return;let t=A[0],i=A[A.length-1];t.focus(),e.addEventListener("keydown",o=>{o.key==="Tab"&&(o.shiftKey?document.activeElement===t&&(o.preventDefault(),i.focus()):document.activeElement===i&&(o.preventDefault(),t.focus()))})}function co(){if(typeof document>"u")return;if(gA){gA.remove(),gA=null;return}let e=document.createElement("div");e.setAttribute("role","dialog"),e.setAttribute("aria-label","Keyboard shortcuts"),e.setAttribute("aria-modal","true"),e.setAttribute("data-yuktai-cheatsheet","true"),e.style.cssText=`
|
|
277
270
|
position: fixed;
|
|
278
271
|
top: 50%;
|
|
279
272
|
left: 50%;
|
|
@@ -303,7 +296,7 @@ Missing landmarks: ${n.join(", ")}.`:""}`,targets:[],suggestions:n.includes("mai
|
|
|
303
296
|
<span style="font-size:12px;color:#ccc;text-align:right;flex:1;margin-left:12px">${o}</span>
|
|
304
297
|
</div>
|
|
305
298
|
`).join("")}
|
|
306
|
-
`;let t=e.querySelector("[data-yuktai-close]");t==null||t.addEventListener("click",()=>{e.remove(),gA=null}),e.addEventListener("keydown",i=>{i.key==="Escape"&&(e.remove(),gA=null)}),document.body.appendChild(e),gA=e,
|
|
299
|
+
`;let t=e.querySelector("[data-yuktai-close]");t==null||t.addEventListener("click",()=>{e.remove(),gA=null}),e.addEventListener("keydown",i=>{i.key==="Escape"&&(e.remove(),gA=null)}),document.body.appendChild(e),gA=e,ct(e),z("Keyboard shortcuts opened. Press Escape to close.","info")}function Io(e){if(typeof document>"u"||!(le!=null&&le.showAuditBadge)||typeof window<"u"&&!window.location.hostname.includes("localhost")&&!window.location.hostname.includes("127.0.0.1"))return;di&&di.remove();let A=e.score,t=A>=90?"#0f9d58":A>=70?"#f29900":"#d93025",i=A>=90?"\u267F":A>=70?"\u26A0":"\u2715",o=document.createElement("button");o.setAttribute("aria-label",`Accessibility score: ${A} out of 100`),o.setAttribute("data-yuktai-badge","true"),o.style.cssText=`
|
|
307
300
|
position: fixed;
|
|
308
301
|
bottom: 16px;
|
|
309
302
|
left: 16px;
|
|
@@ -322,7 +315,7 @@ Missing landmarks: ${n.join(", ")}.`:""}`,targets:[],suggestions:n.includes("mai
|
|
|
322
315
|
align-items: center;
|
|
323
316
|
gap: 6px;
|
|
324
317
|
transition: transform 0.15s;
|
|
325
|
-
`,o.innerHTML=`${i} ${A}/100 <span style="font-weight:400;opacity:0.85">${e.details.length} issues</span>`,o.addEventListener("click",()=>
|
|
318
|
+
`,o.innerHTML=`${i} ${A}/100 <span style="font-weight:400;opacity:0.85">${e.details.length} issues</span>`,o.addEventListener("click",()=>uo(e)),document.body.appendChild(o),di=o}function uo(e){let A=document.querySelector("[data-yuktai-audit-details]");if(A){A.remove();return}let t=document.createElement("div");t.setAttribute("data-yuktai-audit-details","true"),t.setAttribute("role","dialog"),t.setAttribute("aria-label","Accessibility audit details"),t.style.cssText=`
|
|
326
319
|
position: fixed;
|
|
327
320
|
bottom: 56px;
|
|
328
321
|
left: 16px;
|
|
@@ -342,19 +335,19 @@ Missing landmarks: ${n.join(", ")}.`:""}`,targets:[],suggestions:n.includes("mai
|
|
|
342
335
|
`;let i={critical:"#d93025",serious:"#f29900",moderate:"#1a73e8",minor:"#0f9d58"};t.innerHTML=`
|
|
343
336
|
<div style="display:flex;justify-content:space-between;align-items:center;margin-bottom:12px">
|
|
344
337
|
<strong style="font-size:14px;color:#74c0fc">Audit report</strong>
|
|
345
|
-
<span style="color:#aaa">${e.fixed} fixed \xB7 ${e.renderTime}ms</span>
|
|
338
|
+
<span style="color:#aaa">${kA(e.fixed)} fixed \xB7 ${kA(e.renderTime)}ms</span>
|
|
346
339
|
</div>
|
|
347
340
|
${e.details.slice(0,20).map(o=>`
|
|
348
341
|
<div style="padding:6px 0;border-bottom:1px solid #2a2a4a">
|
|
349
342
|
<div style="display:flex;gap:6px;align-items:center">
|
|
350
|
-
<span style="background:${i[o.severity]};color:#fff;padding:1px 6px;border-radius:4px;font-size:10px;font-weight:700;text-transform:uppercase">${o.severity}</span>
|
|
351
|
-
<code style="color:#74c0fc"><${o.tag}></code>
|
|
343
|
+
<span style="background:${i[o.severity]};color:#fff;padding:1px 6px;border-radius:4px;font-size:10px;font-weight:700;text-transform:uppercase">${kA(o.severity)}</span>
|
|
344
|
+
<code style="color:#74c0fc"><${kA(o.tag)}></code>
|
|
352
345
|
</div>
|
|
353
|
-
<div style="color:#ccc;margin-top:3px">${o.fix}</div>
|
|
346
|
+
<div style="color:#ccc;margin-top:3px">${kA(o.fix)}</div>
|
|
354
347
|
</div>
|
|
355
348
|
`).join("")}
|
|
356
349
|
${e.details.length>20?`<div style="color:#888;padding:8px 0;text-align:center">+${e.details.length-20} more issues</div>`:""}
|
|
357
|
-
`,t.addEventListener("keydown",o=>{o.key==="Escape"&&t.remove()}),document.body.appendChild(t),
|
|
350
|
+
`,t.addEventListener("keydown",o=>{o.key==="Escape"&&t.remove()}),document.body.appendChild(t),ct(t)}function Jn(e){typeof document>"u"||(ui&&clearTimeout(ui),ui=setTimeout(()=>{if(st)return;let A=document.createElement("div");A.setAttribute("role","alertdialog"),A.setAttribute("aria-label","Session timeout warning"),A.setAttribute("aria-modal","true"),A.setAttribute("data-yuktai-timeout","true"),A.style.cssText=`
|
|
358
351
|
position: fixed;
|
|
359
352
|
top: 50%;
|
|
360
353
|
left: 50%;
|
|
@@ -383,22 +376,22 @@ Missing landmarks: ${n.join(", ")}.`:""}`,targets:[],suggestions:n.includes("mai
|
|
|
383
376
|
No, sign out
|
|
384
377
|
</button>
|
|
385
378
|
</div>
|
|
386
|
-
`;let t=A.querySelector("[data-yuktai-extend]"),i=A.querySelector("[data-yuktai-dismiss]");t==null||t.addEventListener("click",()=>{A.remove(),
|
|
379
|
+
`;let t=A.querySelector("[data-yuktai-extend]"),i=A.querySelector("[data-yuktai-dismiss]");t==null||t.addEventListener("click",()=>{A.remove(),st=null,z("Session extended. You have more time.","success"),le!=null&&le.timeoutWarning&&Jn(le.timeoutWarning)}),i==null||i.addEventListener("click",()=>{A.remove(),st=null}),document.body.appendChild(A),st=A,ct(A),z("Warning: Your session will expire soon. Do you need more time?","warning")},e*1e3))}function Co(e){if(typeof document>"u")return;let A=document.documentElement;if(A.toggleAttribute("data-yuktai-high-contrast",!!e.highContrast),A.toggleAttribute("data-yuktai-dark",!!e.darkMode),A.toggleAttribute("data-yuktai-reduce-motion",!!e.reduceMotion),A.toggleAttribute("data-yuktai-large-targets",!!e.largeTargets),A.toggleAttribute("data-yuktai-keyboard",!!e.keyboardHints),A.toggleAttribute("data-yuktai-dyslexia",!!e.dyslexiaFont),e.localFont?document.body.style.fontFamily=`"${e.localFont}", system-ui, sans-serif`:e.dyslexiaFont||(document.body.style.fontFamily=""),e.fontSizeMultiplier&&e.fontSizeMultiplier!==1?document.documentElement.style.fontSize=`${e.fontSizeMultiplier*100}%`:document.documentElement.style.fontSize="",e.colorBlindMode&&e.colorBlindMode!=="none"){let t=e.colorBlindMode==="achromatopsia"?"grayscale(100%)":`url(#${gt[e.colorBlindMode]})`;document.body.style.filter=t}else document.body.style.filter=""}function ho(e){try{let A=localStorage.getItem("yuktai-a11y-prefs");A&&Object.assign(e,JSON.parse(A))}catch{}}async function Gn(e){if(e){if(!await ai()){z("Plain English requires Chrome 127+","warning");return}z("Rewriting page in plain English...","info",!1);let t=await Cn();z(t.error?`Plain English failed: ${t.error}`:`${t.fixed} sections rewritten in plain English`,t.error?"error":"success",!1)}else hn(),z("Original text restored","info",!1)}async function Nn(e){if(e){if(!await si()){z("Page summariser requires Chrome 127+","warning");return}z("Generating page summary...","info",!1);let t=await mn();z(t.error?`Summary failed: ${t.error}`:"Page summary added at top",t.error?"error":"success",!1)}else rt(),z("Page summary removed","info",!1)}async function Fn(e){if(e==="en"){gi(),z("Page restored to English","info",!1);return}z(`Translating page to ${e}...`,"info",!1);let A=await Qn(e);z(A.error?`Translation failed: ${A.error}`:`Page translated to ${e}`,A.error?"error":"success",!1)}async function Rn(e){if(e){if(!li()){z("Voice control not supported in this browser","warning");return}En(A=>{A.success&&z(`Voice: ${A.action}`,"info",!1)}),z("Voice control started. Say a command.","success",!1)}else ci(),z("Voice control stopped","info",!1)}async function Tn(e){if(e){if(!await Ii()){z("Smart labels requires Chrome 127+","warning");return}z("Generating smart labels...","info",!1);let t=await xn();z(t.error?`Smart labels failed: ${t.error}`:`${t.fixed} elements labelled`,t.error?"error":"success",!1)}else kn(),z("Smart labels removed","info",!1)}function po(){if(typeof document>"u"||lt)return;let e=document.createElement("div");e.setAttribute("aria-live","polite"),e.setAttribute("aria-atomic","true"),e.setAttribute("aria-relevant","text"),e.style.cssText="position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);",document.body.appendChild(e),lt=e}function yo(){if(typeof document>"u"||Dn)return;let e=document.createElementNS("http://www.w3.org/2000/svg","svg");e.setAttribute("aria-hidden","true"),e.style.cssText="position:absolute;width:0;height:0;overflow:hidden;",e.innerHTML=`
|
|
387
380
|
<defs>
|
|
388
|
-
<filter id="${
|
|
381
|
+
<filter id="${gt.deuteranopia}">
|
|
389
382
|
<feColorMatrix type="matrix"
|
|
390
383
|
values="0.625 0.375 0 0 0 0.7 0.3 0 0 0 0 0.3 0.7 0 0 0 0 0 1 0"/>
|
|
391
384
|
</filter>
|
|
392
|
-
<filter id="${
|
|
385
|
+
<filter id="${gt.protanopia}">
|
|
393
386
|
<feColorMatrix type="matrix"
|
|
394
387
|
values="0.567 0.433 0 0 0 0.558 0.442 0 0 0 0 0.242 0.758 0 0 0 0 0 1 0"/>
|
|
395
388
|
</filter>
|
|
396
|
-
<filter id="${
|
|
389
|
+
<filter id="${gt.tritanopia}">
|
|
397
390
|
<feColorMatrix type="matrix"
|
|
398
391
|
values="0.95 0.05 0 0 0 0 0.433 0.567 0 0 0 0.475 0.525 0 0 0 0 0 1 0"/>
|
|
399
392
|
</filter>
|
|
400
393
|
</defs>
|
|
401
|
-
`,document.body.appendChild(e),kn=e}function Tn(e){var A,t,i;return(A=e.getAttribute("aria-label"))!=null&&A.trim()||e.getAttribute("aria-labelledby")||(t=e.getAttribute("title"))!=null&&t.trim()||(i=e.textContent)!=null&&i.trim()?!0:!!e.querySelector("img[alt]:not([alt='']), svg[aria-label], svg title, [aria-label]")}function Ln(e){let A={critical:20,serious:10,moderate:5,minor:2},t=e.details.reduce((i,o)=>i+(A[o.severity]||0),0);return Math.max(0,Math.min(100,100-t))}var ze={name:"yuktai-a11y",version:"4.0.0",observer:null,async execute(e){if(!e.enabled)return this.stopObserver(),"yuktai: disabled.";le=e,Co(e),ho(),po(),so(),go(),e.showSkipLinks!==!1&&ao(),e.showPreferencePanel,uo(e);let A=this.applyFixes(e);A.score=Ln(A),e.showAuditBadge&&co(A),e.timeoutWarning&&Un(e.timeoutWarning),e.autoFix&&this.startObserver(e),e.plainEnglish&&await Sn(!0),e.summarisePage&&await Gn(!0),e.translateLanguage&&e.translateLanguage!=="en"&&await Nn(e.translateLanguage),e.voiceControl&&await Fn(!0),e.smartLabels&&await Rn(!0);let t=`${A.fixed} fixes applied. Score: ${A.score}/100.`;return z(t,A.score>=90?"success":"info",!1),`yuktai v4.0.0: ${t} Scanned ${A.scanned} elements in ${A.renderTime}ms.`},applyFixes(e){let A={fixed:0,scanned:0,renderTime:0,score:100,details:[]};if(typeof document>"u")return A;let t=performance.now(),i=document.querySelectorAll("*");A.scanned=i.length;let o=(r,n,a,s)=>{A.details.push({tag:r,fix:n,severity:a,element:s.outerHTML.slice(0,100)}),A.fixed++};return i.forEach(r=>{var I,u;let n=r,a=n.tagName.toLowerCase();if(a==="html"&&!n.getAttribute("lang")&&(n.setAttribute("lang","en"),o(a,'lang="en" added',"critical",n)),a==="meta"){let m=n.getAttribute("name"),c=n.getAttribute("content")||"";m==="viewport"&&c.includes("user-scalable=no")&&(n.setAttribute("content",c.replace("user-scalable=no","user-scalable=yes")),o(a,"user-scalable=yes restored","serious",n)),m==="viewport"&&/maximum-scale=1(?:[^0-9]|$)/.test(c)&&(n.setAttribute("content",c.replace(/maximum-scale=1(?=[^0-9]|$)/,"maximum-scale=5")),o(a,"maximum-scale=5 restored","serious",n))}if(a==="main"&&!n.getAttribute("tabindex")&&(n.setAttribute("tabindex","-1"),n.getAttribute("id")||n.setAttribute("id","main-content")),a==="img"&&(n.hasAttribute("alt")||(n.setAttribute("alt",""),n.setAttribute("aria-hidden","true"),o(a,'alt="" aria-hidden="true"',"serious",n))),a==="svg"&&(!n.getAttribute("aria-hidden")&&!n.getAttribute("aria-label")&&!r.querySelector("title")&&(n.setAttribute("aria-hidden","true"),o(a,'aria-hidden="true" (decorative svg)',"minor",n)),n.getAttribute("focusable")||n.setAttribute("focusable","false")),a==="iframe"&&!n.getAttribute("title")&&!n.getAttribute("aria-label")&&(n.setAttribute("title","embedded content"),n.setAttribute("aria-label","embedded content"),o(a,"title + aria-label added","serious",n)),a==="button"){if(!Tn(n)){let m=n.getAttribute("title")||"button";n.setAttribute("aria-label",m),o(a,`aria-label="${m}" (empty button)`,"critical",n)}n.hasAttribute("disabled")&&!n.getAttribute("aria-disabled")&&(n.setAttribute("aria-disabled","true"),A.fixed++)}if(a==="a"){let m=n;Tn(n)||(n.setAttribute("aria-label",n.getAttribute("title")||"link"),o(a,"aria-label added (empty link)","critical",n)),m.target==="_blank"&&!((I=m.rel)!=null&&I.includes("noopener"))&&(m.rel="noopener noreferrer",A.fixed++)}if(Mn.has(a)){let m=n;if(!(!!(m.labels&&m.labels.length)||!!n.getAttribute("title")||m.type==="hidden"||m.type==="submit"||m.type==="button"||m.type==="reset")&&!n.getAttribute("aria-label")&&!n.getAttribute("aria-labelledby")){let k=n.getAttribute("placeholder")||n.getAttribute("name")||a;n.setAttribute("aria-label",k),o(a,`aria-label="${k}"`,"serious",n)}if(n.hasAttribute("required")&&!n.getAttribute("aria-required")&&(n.setAttribute("aria-required","true"),A.fixed++),a==="input"&&!m.autocomplete){let k=m.name||"",f=m.type==="email"||k.includes("email")?"email":m.type==="tel"||k.includes("tel")?"tel":m.type==="password"?"current-password":"";f&&(m.autocomplete=f,A.fixed++)}}a==="th"&&!n.getAttribute("scope")&&(n.setAttribute("scope",n.closest("thead")?"col":"row"),o(a,"scope added to <th>","moderate",n));let s=(a==="header"||a==="footer")&&!!((u=n.parentElement)!=null&&u.closest("article,aside,main,nav,section,[role='dialog'],[role='region']"));ui[a]&&!n.getAttribute("role")&&!s&&(n.setAttribute("role",ui[a]),o(a,`role="${ui[a]}"`,"minor",n));let l=n.getAttribute("role")||"";l==="tab"&&!n.getAttribute("aria-selected")&&(n.setAttribute("aria-selected","false"),A.fixed++),["alert","status","log"].includes(l)&&!n.getAttribute("aria-live")&&(n.setAttribute("aria-live",l==="alert"?"assertive":"polite"),o(a,`aria-live added on role=${l}`,"moderate",n)),l==="combobox"&&!n.getAttribute("aria-expanded")&&(n.setAttribute("aria-expanded","false"),o(a,'aria-expanded="false" on combobox',"serious",n)),(l==="checkbox"||l==="radio")&&!n.getAttribute("aria-checked")&&(n.setAttribute("aria-checked","false"),o(a,`aria-checked="false" on role=${l}`,"serious",n))}),A.renderTime=parseFloat((performance.now()-t).toFixed(2)),A},scan(){let e={fixed:0,scanned:0,renderTime:0,score:100,details:[]};if(typeof document>"u")return e;let A=performance.now(),t=document.querySelectorAll("*");e.scanned=t.length;let i=(o,r,n,a)=>e.details.push({tag:o,fix:r,severity:n,element:a.outerHTML.slice(0,100)});return t.forEach(o=>{var a;let r=o,n=r.tagName.toLowerCase();(n==="a"||n==="button")&&!((a=r.innerText)!=null&&a.trim())&&!r.getAttribute("aria-label")&&i(n,"needs aria-label (empty)","critical",r),n==="img"&&!r.hasAttribute("alt")&&i(n,"needs alt text","serious",r),Mn.has(n)&&!r.getAttribute("aria-label")&&!r.getAttribute("aria-labelledby")&&i(n,"needs aria-label","serious",r),n==="iframe"&&!r.getAttribute("title")&&!r.getAttribute("aria-label")&&i(n,"iframe needs title","serious",r)}),e.fixed=e.details.length,e.score=Ln(e),e.renderTime=parseFloat((performance.now()-A).toFixed(2)),e},startObserver(e){this.observer||typeof document>"u"||(this.observer=new MutationObserver(()=>this.applyFixes(e)),this.observer.observe(document.body,{childList:!0,subtree:!0,attributes:!1}))},stopObserver(){var e;(e=this.observer)==null||e.disconnect(),this.observer=null},announce:z,speak:Ci,showVisualAlert:Yn,trapFocus:lt,handlePlainEnglish:Sn,handleSummarisePage:Gn,handleTranslate:Nn,handleVoiceControl:Fn,handleSmartLabels:Rn,SUPPORTED_LANGUAGES:mn};var yo=/\b(off|disable|stop|remove|no more|turn off|switch off|deactivate)\b|ఆఫ్|ఆపు|తీసివేయి|बंद/i,mo=[{pattern:/high contrast|contrast|హై కాంట్రాస్ట్|కాంట్రాస్ట్/i,key:"highContrast",name:"High contrast"},{pattern:/dark mode|dark theme|night mode|డార్క్ మోడ్|చీకటి/i,key:"darkMode",name:"Dark mode"},{pattern:/reduce motion|less motion|stop animation|animations?|కదలికలు/i,key:"reduceMotion",name:"Reduced motion"},{pattern:/large targets?|bigger buttons?|big buttons?|larger buttons?|పెద్ద బటన్/i,key:"largeTargets",name:"Large targets"},{pattern:/dyslexia|readable font|easy font/i,key:"dyslexiaFont",name:"Dyslexia-friendly font"},{pattern:/speak on focus|read aloud|read out|screen reader|speech|చదివి వినిపించు/i,key:"speechEnabled",name:"Speak on focus"},{pattern:/skip links?/i,key:"showSkipLinks",name:"Skip links"}],fo=[[/deuteranop|green.?blind/i,"deuteranopia"],[/protanop|red.?blind/i,"protanopia"],[/tritanop|blue.?blind/i,"tritanopia"],[/grey ?scale|gray ?scale|achromat|black and white/i,"achromatopsia"]],ct=.1,hi=.8,pi=1.3;function yi(e,A={}){let t=e.trim().toLowerCase();if(!t)return null;if(/\b(next|down)\s+(row|line|record|item)\b|తర్వాతి (వరుస|అంశం)/.test(t))return{type:"grid",action:"next-row",say:"Next row."};if(/\b(previous|prev|back|up)\s+(row|line|record|item)\b|ముందరి (వరుస|అంశం)|వెనుక (వరుస|అంశం)/.test(t))return{type:"grid",action:"previous-row",say:"Previous row."};if(/\bfirst\s+(row|record|item)\b|మొదటి (వరుస|అంశం)/.test(t))return{type:"grid",action:"first-row",say:"First row."};if(/\blast\s+(row|record|item)\b|చివరి (వరుస|అంశం)/.test(t))return{type:"grid",action:"last-row",say:"Last row."};if(/\b(open|expand|read)\s+(this\s+)?(row|record|item)\b|ఈ (వరుస|అంశం) తెరువు/.test(t))return{type:"grid",action:"open-row",say:"Opening row."};if(/\b(reset|default|restore)\b.*\b(settings?|accessibility|everything|all)\b|^reset$|రీసెట్/.test(t))return{type:"reset",say:"Accessibility settings reset."};let i=A.fontSizeMultiplier??1,o=n=>Math.round(Math.min(pi,Math.max(hi,n))*100)/100;if(/\b(bigger|larger|increase|zoom in)\b.*\b(text|font|letters?)\b|\b(text|font)\b.*\b(bigger|larger|up)\b|పెద్ద అక్షరాలు|అక్షరాలు పెద్ద/.test(t)){let n=o(i+ct);return{type:"setting",patch:{fontSizeMultiplier:n},say:`Text size ${Math.round(n*100)}%.`}}if(/\b(smaller|decrease|reduce|zoom out)\b.*\b(text|font|letters?)\b|\b(text|font)\b.*\b(smaller|down)\b|చిన్న అక్షరాలు|అక్షరాలు చిన్న/.test(t)){let n=o(i-ct);return{type:"setting",patch:{fontSizeMultiplier:n},say:`Text size ${Math.round(n*100)}%.`}}if(/\b(normal|default|reset)\b.*\b(text|font)\s*(size)?\b/.test(t))return{type:"setting",patch:{fontSizeMultiplier:1},say:"Text size 100%."};let r=yo.test(t);for(let[n,a]of fo)if(n.test(t))return r?{type:"setting",patch:{colorBlindMode:"none"},say:"Colour filter off."}:{type:"setting",patch:{colorBlindMode:a},say:`${a} filter on.`};if(/colou?r.?blind/.test(t)&&r)return{type:"setting",patch:{colorBlindMode:"none"},say:"Colour filter off."};for(let n of mo){if(!n.pattern.test(t))continue;let a=/\btoggle\b/.test(t)?!A[n.key]:!r;return n.key==="reduceMotion"&&!/reduce motion|less motion|కదలికలు తగ్గించు/.test(t)&&/animations?/.test(t)&&(a=r||/\bno\b/.test(t)),{type:"setting",patch:{[n.key]:a},say:`${n.name} ${a?"on":"off"}.`}}return null}var lA={highContrast:!1,darkMode:!1,reduceMotion:!1,largeTargets:!1,dyslexiaFont:!1,speechEnabled:!1,colorBlindMode:"none",fontSizeMultiplier:1};function mi(e,A={}){var l,I;if(!Ee())return null;let t=A.root??document,i=A.rowSelector??"[data-yuktai-row-id], [role='row']",o=Array.from(t.querySelectorAll(i)).filter(u=>!u.querySelector("th,[role='columnheader']"));if(!o.length)return null;let r=(l=document.activeElement)==null?void 0:l.closest(i),n=r?o.indexOf(r):-1;if(e==="open-row"){let u=n>=0?o[n]:o[0];return u.click(),u}let a=e==="first-row"?0:e==="last-row"?o.length-1:e==="next-row"?Math.min(o.length-1,n+1):Math.max(0,n-1),s=o[a];return s.hasAttribute("tabindex")||s.setAttribute("tabindex","-1"),s.focus(),(I=s.scrollIntoView)==null||I.call(s,{block:"nearest"}),s}function It(e={}){let A={enabled:!0,...lA,...e.initial},t=null,i=!1,o=async l=>e.apply?e.apply(l):ze.execute(l),r=l=>{if(e.speak===!1||!Ee()||!("speechSynthesis"in window))return;let I=new SpeechSynthesisUtterance(l);I.lang=e.lang??"en-IN",window.speechSynthesis.cancel(),window.speechSynthesis.speak(I)};async function n(l){var u;let I=yi(l,A);if((u=e.onTranscript)==null||u.call(e,l,I),!I)return null;if(I.type==="grid"){let m=mi(I.action,{root:e.gridRoot});return r(m?I.say:"No table rows found."),I}return A=I.type==="reset"?{...A,...lA}:{...A,...I.patch},await o(A),r(I.say),I}function a(){if(!Ee()||i)return i;let l=window,I=l.SpeechRecognition??l.webkitSpeechRecognition;return I?(t=new I,t.lang=e.lang??"en-IN",t.continuous=!0,t.interimResults=!1,t.onresult=u=>{var k;let m=u.results,c=m[m.length-1];(k=c==null?void 0:c[0])!=null&&k.transcript&&n(c[0].transcript)},t.onend=()=>{i&&(t==null||t.start())},t.onerror=u=>{(u.error==="not-allowed"||u.error==="service-not-allowed")&&(i=!1)},i=!0,t.start(),!0):!1}function s(){i=!1,t==null||t.stop(),t=null}return{start:a,stop:s,handle:n,isListening:()=>i,getConfig:()=>({...A})}}function qn(){let e=new Set;return{subscribe(A){return e.add(A),()=>e.delete(A)},emit(A){e.forEach(t=>{try{t(A)}catch(i){console.error("[yuktai] listener failed",i)}})}}}var Qi=e=>e instanceof Error?e:new Error(String(e)),Qo={en:{done:"Done.",toolMissing:e=>`The action "${e}" is not available here.`,missingInput:e=>`Missing: ${e}.`,notUnderstood:"Sorry, I didn't understand. Try: a word to search, \u201Csort by <column>\u201D, or \u201Cclear filters\u201D.",noMatch:e=>`Nothing matched "${e}".`,failed:"Something went wrong while running this action."},te:{done:"\u0C2A\u0C42\u0C30\u0C4D\u0C24\u0C2F\u0C3F\u0C02\u0C26\u0C3F.",toolMissing:e=>`"${e}" \u0C38\u0C4C\u0C15\u0C30\u0C4D\u0C2F\u0C02 \u0C07\u0C15\u0C4D\u0C15\u0C21 \u0C05\u0C02\u0C26\u0C41\u0C2C\u0C3E\u0C1F\u0C41\u0C32\u0C4B \u0C32\u0C47\u0C26\u0C41.`,missingInput:e=>`\u0C07\u0C35\u0C3F \u0C15\u0C3E\u0C35\u0C3E\u0C32\u0C3F: ${e}.`,notUnderstood:"\u0C15\u0C4D\u0C37\u0C2E\u0C3F\u0C02\u0C1A\u0C02\u0C21\u0C3F, \u0C05\u0C30\u0C4D\u0C25\u0C02 \u0C15\u0C3E\u0C32\u0C47\u0C26\u0C41. \u0C07\u0C32\u0C3E \u0C2A\u0C4D\u0C30\u0C2F\u0C24\u0C4D\u0C28\u0C3F\u0C02\u0C1A\u0C02\u0C21\u0C3F: \u0C35\u0C46\u0C24\u0C15\u0C3E\u0C32\u0C4D\u0C38\u0C3F\u0C28 \u0C2A\u0C26\u0C02, \u201C<\u0C15\u0C3E\u0C32\u0C2E\u0C4D> \u0C2A\u0C4D\u0C30\u0C15\u0C3E\u0C30\u0C02 \u0C15\u0C4D\u0C30\u0C2E\u0C02\u201D, \u0C32\u0C47\u0C26\u0C3E \u201C\u0C2B\u0C3F\u0C32\u0C4D\u0C1F\u0C30\u0C4D\u0C32\u0C41 \u0C24\u0C40\u0C38\u0C47\u0C2F\u0C3F\u201D.",noMatch:e=>`"${e}" \u0C15\u0C3F \u0C0F\u0C2E\u0C40 \u0C38\u0C30\u0C3F\u0C2A\u0C4B\u0C32\u0C47\u0C26\u0C41.`,failed:"\u0C08 \u0C2A\u0C28\u0C3F \u0C1A\u0C47\u0C38\u0C4D\u0C24\u0C41\u0C02\u0C21\u0C17\u0C3E \u0C38\u0C2E\u0C38\u0C4D\u0C2F \u0C35\u0C1A\u0C4D\u0C1A\u0C3F\u0C02\u0C26\u0C3F."}},Jn=e=>String(e??"").normalize("NFC").toLowerCase().trim(),Te={clearFilters:/\b(clear|remove|reset)\b.*\bfilters?\b|ఫిల్టర్.*(తీసే|తొలగ)/i,clearSort:/\b(clear|remove|reset)\b.*\bsort(ing)?\b|క్రమం.*(తీసే|తొలగ)/i,count:/^\s*(how many|count)\b|ఎన్ని|లెక్క/i,sort:/\bsort\b|\border by\b|క్రమ|అమర్చ|సార్ట్/i,desc:/\b(desc|descending|z\s*-\s*a|highest|largest|most)\b|అవరోహణ|తగ్గే|పెద్ద|అధిక|చివర|ఎక్కువ నుండి/i,openEn:/^\s*open\s+(.+?)\s*$/i,openTe:/^\s*(.+?)\s*(తెరువు|తెరవండి|తెరవు)\s*$/,searchFiller:/^\s*(search(\s+for)?|find|show(\s+me)?|filter(\s+by)?|look\s+for|వెతుకు|వెతకండి|శోధించు|శోధించండి|చూపించు|చూపించండి)\s+|\s+(వెతుకు|వెతకండి|శోధించు|శోధించండి|చూపించు|చూపించండి)\s*$/gi};function Bo(e,A){let t=Jn(e),i=null;for(let o of A)for(let r of[o.label,o.key]){let n=Jn(r);n&&t.includes(n)&&(!i||n.length>i.len)&&(i={key:o.key,len:n.length})}return i?i.key:null}function Bi(e,A){let t=String(e??"").trim();if(!t)return null;let i=A&&A.columns||[];if(Te.clearFilters.test(t))return{kind:"tool",tool:"clear_filters",input:{}};if(Te.clearSort.test(t))return{kind:"tool",tool:"clear_sort",input:{}};if(Te.count.test(t))return{kind:"tool",tool:"count",input:{}};if(Te.sort.test(t)){let n=Bo(t,i);return n?{kind:"tool",tool:"sort",input:{key:n,direction:Te.desc.test(t)?"desc":"asc"}}:null}let o=t.match(Te.openEn)||t.match(Te.openTe);if(o&&o[1])return{kind:"open",text:o[1].trim()};let r=t.replace(Te.searchFiller,"").trim();return r?{kind:"tool",tool:"search",input:{query:r}}:null}function Eo(e){return!!e&&typeof e=="object"&&typeof e.success=="boolean"&&typeof e.message=="string"}function bo(e,A){let t=e.inputSchema&&e.inputSchema.required;return Array.isArray(t)?t.map(String).filter(i=>A[i]===void 0||A[i]===null||String(A[i]).trim()===""):[]}function wo(e,A){let t=e.find(o=>o.name===A);if(t)return t;let i=e.filter(o=>o.name.endsWith(`_${A}`)).sort((o,r)=>o.name.length-r.name.length);if(i.length&&!(i.length>1&&i[0].name.length===i[1].name.length))return i[0]}var Kn=e=>String(e??"").normalize("NFC").trim().toLocaleLowerCase();function vo(e,A){let t=Kn(e);return(A||[]).find(i=>(i.phrases||[]).some(o=>{let r=Kn(o);return r.length>0&&t.includes(r)}))}function dt(e={}){let A=v=>typeof v=="function"?v():v,t={locale:"en",rowKey:"id",historyLimit:20,customRules:[],...e},i=qn(),o=0,r=null,n=null,a=[],s=0,l=()=>Qo[t.locale==="te"?"te":"en"],I=()=>A(t.tools)||[],u=()=>({loading:o>0,lastResult:r,lastError:n,history:a.slice()}),m=()=>i.emit(u());function c(v,E,h,p,y){y===s&&(r=h),a=[...a,{id:y,tool:v,input:E,result:h,source:p,at:Date.now()}].slice(-t.historyLimit),m()}async function k(v,E,h){let p=++s,y=wo(I(),v);if(!y){let Q={success:!1,message:l().toolMissing(v),error:{code:"NOT_SUPPORTED"}};return n=new Error(Q.message),t.onError&&t.onError(n),c(v,E,Q,h,p),Q}let D=bo(y,E);if(D.length){let Q={success:!1,message:l().missingInput(D.join(", ")),error:{code:"INVALID_INPUT"},tool:y.name};return c(y.name,E,Q,h,p),t.onResult&&t.onResult(Q),Q}o++,m();try{let Q=await y.execute(E),x=Eo(Q)?{...Q,tool:y.name}:{success:!0,message:l().done,data:Q,tool:y.name};return x.success&&(n=null),c(y.name,E,x,h,p),t.onResult&&t.onResult(x),x}catch(Q){n=Qi(Q);let x={success:!1,message:l().failed,error:{code:"INTERNAL"},tool:y.name};return t.onError&&t.onError(n),c(y.name,E,x,h,p),x}finally{o=Math.max(0,o-1),m()}}let f=(v,E={})=>k(v,E||{},"tool");async function C(v){let E=A(t.columns)||[],h=vo(v,t.customRules);if(h){let Q=++s;try{let x=await h.execute({input:v,data:A(t.data)||[],columns:E,executeTool:f}),G={success:!0,message:String(x??l().done),tool:`rule:${h.name}`};return c(`rule:${h.name}`,{text:v},G,"ask",Q),t.onResult&&t.onResult(G),G}catch(x){n=Qi(x),t.onError&&t.onError(n);let G={success:!1,message:l().failed,error:{code:"INTERNAL"},tool:`rule:${h.name}`};return c(`rule:${h.name}`,{text:v},G,"ask",Q),G}}let p=(t.parseIntent||Bi)(v,{columns:E,locale:t.locale});if(!p){let Q={success:!1,message:l().notUnderstood,error:{code:"NOT_UNDERSTOOD"}};return c("ask",{text:v},Q,"ask",++s),Q}if(p.kind==="tool")return k(p.tool,p.input,"ask");let y=await k("search",{query:p.text},"ask");if(!y.success)return y;let D=Array.isArray(y.data)?y.data:[];if(!D.length){let Q={success:!1,message:l().noMatch(p.text),error:{code:"NOT_FOUND"},tool:y.tool};return c("open",{text:p.text},Q,"ask",++s),Q}return k("open",{id:ie(D[0],t.rowKey)},"ask")}function B(){a=[],r=null,n=null,m()}return{ask:C,executeTool:f,clearHistory:B,subscribe:i.subscribe,getState:u,get tools(){return I()},get loading(){return o>0},get lastResult(){return r},get lastError(){return n},get history(){return a.slice()}}}function ut(e,A={}){let t=()=>(typeof e=="function"?e():e)||[],i=a=>{o.status=a,A.onStatusChange&&A.onStatusChange(a)},o={status:{state:"unsupported",registered:[],errors:[]},done:Promise.resolve(),unregister(){n.abort()}},r=typeof document<"u"?document.modelContext:void 0,n=new AbortController;return!r||typeof r.registerTool!="function"?(i({state:"unsupported",registered:[],errors:[]}),o):(o.done=(async()=>{i({state:"registering",registered:[],errors:[]});let a=[],s=[];for(let l of t()){if(n.signal.aborted)return;try{await r.registerTool({name:l.name,title:l.title,description:l.description,inputSchema:l.inputSchema,execute:I=>{let u=t().find(m=>m.name===l.name);return u?u.execute(I||{}):{success:!1,message:`Tool "${l.name}" is no longer available.`,error:{code:"NOT_SUPPORTED"}}}},{signal:n.signal}),a.push(l.name)}catch(I){s.push({tool:l.name,message:Qi(I).message})}}n.signal.aborted||i({state:s.length===0?"ready":a.length?"partial":"error",registered:a,errors:s})})(),o)}var xo=/\b(trend|over time|this (week|month|quarter|year)|last (week|month|quarter|year)|compare|versus|vs)\b|\b(by|per|each|which)\b.*\b(total|average|avg|sum|drop|increase|growth|highest|lowest|most|least)\b|\b(total|average|avg|sum)\b.*\b(by|per|each)\b/i,ko={filters:[],search:[],sort:null,limit:null,notes:[],explanation:""};function Ct(e={}){let A=qn(),t=e.rowKey||"id",i=e.bind||null,o=Array.isArray(e.data)?e.data:[],r=Ne(e.columns||[]),n={filters:[],sort:null,highlightIds:[]},a="",s=null,l=[],I=[],u=!1,m=()=>i?i.getFilters():n.filters,c=()=>i?i.getSort():n.sort,k=()=>i?i.getHighlightIds():n.highlightIds,f=()=>i?i.getData():o,C=G=>i?i.setFilters(G):n={...n,filters:G},B=G=>i?i.setSort(G):n={...n,sort:G},v=G=>i?i.setHighlightIds(G):n={...n,highlightIds:G};function E(){return Se(f(),r,{...ko,filters:m(),sort:c()})}let h=()=>{let G=E();return{gridData:G,highlightIds:k().slice(),filters:m().slice(),sort:c(),answer:a,kind:s,table:l.slice(),steps:I.slice(),busy:u,visibleIds:G.map(w=>ie(w,t))}},p=()=>A.emit(h()),y=()=>({get data(){return f()},columns:r,rowKey:t,get filters(){return m()},onFiltersChange:G=>{C(G),p()},onSortChange:G=>{B(G),p()},onHighlightRows:G=>{v(G),p()},onOpenRow:e.onOpenRow,onSelectRow:G=>{i&&i.selectRow?i.selectRow(G):v([G]),p()}});async function D(G){let w=String(G??"").trim();if(!w)return h();u=!0,I=[],l=[],p();try{if(QA(w).length>1){let M=[],L=await OA(w,y(),{onStep:F=>{M.push(F),I=M.slice(),p()}});s="tasks",a=L.summary}else if(xo.test(w)){let M=ve(f(),r,m()),L=zA(w,M,r,{referenceDate:e.referenceDate});s="insight",a=L.answer,l=L.table||[]}else{let M=$A(w,y());s=M.kind,a=M.message}}catch(M){console.error("[yuktai] ask failed",M),s=null,a="Something went wrong while answering. Please rephrase the question."}finally{u=!1,p()}return h()}function Q(){C([]),B(null),v([]),a="",s=null,l=[],I=[],p()}function x(G={}){Array.isArray(G.data)&&(o=G.data),Array.isArray(G.columns)&&(r=Ne(G.columns)),p()}return{ask:D,reset:Q,update:x,subscribe:A.subscribe,getState:h,get gridData(){return E()},get highlightIds(){return k().slice()},get filters(){return m().slice()},get sort(){return c()},get answer(){return a},get kind(){return s},get table(){return l.slice()},get steps(){return I.slice()},get busy(){return u},get visibleIds(){return E().map(G=>ie(G,t))}}}var cA={accessibility:'<circle cx="12" cy="4" r="2"/><path d="M4 8l8-1 8 1M12 7v5m-5 9 5-8 5 8M7 12l-2 5m12-5 2 5"/>',contrast:'<circle cx="12" cy="12" r="9"/><path d="M12 3a9 9 0 0 0 0 18z"/>',moon:'<path d="M20 14.5A8.5 8.5 0 0 1 9.5 4 8.5 8.5 0 1 0 20 14.5z"/>',motion:'<path d="M4 12h12m-5-5 5 5-5 5M20 5v14"/>',reading:'<path d="M4 5h16M4 10h12M4 15h16M4 20h10"/>',target:'<circle cx="12" cy="12" r="9"/><circle cx="12" cy="12" r="4"/>',speaker:'<path d="M4 9v6h4l5 4V5L8 9H4z"/><path d="M16 9a4 4 0 0 1 0 6M18.5 6.5a8 8 0 0 1 0 11"/>',palette:'<circle cx="12" cy="12" r="9"/><circle cx="8" cy="10" r="1.3"/><circle cx="12" cy="7.5" r="1.3"/><circle cx="16" cy="10" r="1.3"/><path d="M12 21a3 3 0 0 1 0-6h2"/>',skip:'<path d="M5 5l7 7-7 7M13 5l7 7-7 7"/>',close:'<path d="m18 6-12 12M6 6l12 12"/>',plus:'<path d="M12 5v14M5 12h14"/>',minus:'<path d="M5 12h14"/>',reset:'<path d="M3 12a9 9 0 1 0 3-6.7L3 8"/><path d="M3 3v5h5"/>',search:'<circle cx="11" cy="11" r="6.5"/><path d="m16 16 5 5"/>',sort:'<path d="m8 9 4-4 4 4m-8 6 4 4 4-4"/>',sortUp:'<path d="m6 15 6-6 6 6"/>',sortDown:'<path d="m6 9 6 6 6-6"/>',chevrons:'<path d="m8 9 4-4 4 4m-8 6 4 4 4-4"/>',grid:'<rect x="3" y="3" width="7" height="7" rx="1"/><rect x="14" y="3" width="7" height="7" rx="1"/><rect x="3" y="14" width="7" height="7" rx="1"/><rect x="14" y="14" width="7" height="7" rx="1"/>',cards:'<rect x="3" y="4" width="18" height="7" rx="1.5"/><rect x="3" y="13" width="18" height="7" rx="1.5"/>',chat:'<path d="M21 11.5a8.5 8.5 0 0 1-8.5 8.5 9 9 0 0 1-4-.9L3 21l1.9-5.5a9 9 0 0 1-.9-4A8.5 8.5 0 0 1 12.5 3H13a8.5 8.5 0 0 1 8 8z"/>',mic:'<rect x="9" y="2" width="6" height="12" rx="3"/><path d="M5 10a7 7 0 0 0 14 0M12 17v5m-4 0h8"/>',stop:'<rect x="6" y="6" width="12" height="12" rx="2"/>',download:'<path d="M12 3v12m-5-5 5 5 5-5M4 21h16"/>',copy:'<rect x="9" y="9" width="11" height="11" rx="2"/><path d="M5 15V5a2 2 0 0 1 2-2h10"/>',filter:'<path d="M4 5h16l-6 7v6l-4 2v-8z"/>',check:'<path d="m5 12 4 4L19 6"/>',left:'<path d="m15 18-6-6 6-6"/>',right:'<path d="m9 18 6-6-6-6"/>',first:'<path d="m11 18-6-6 6-6M19 18l-6-6 6-6"/>',last:'<path d="m13 18 6-6-6-6M5 18l6-6-6-6"/>',spark:'<path d="m12 3 1.9 5.8L20 11l-6.1 2.2L12 19l-1.9-5.8L4 11l6.1-2.2zM19 14l1.2 2.8L23 18l-2.8 1.2L19 22l-1.2-2.8L15 18l2.8-1.2z"/>',alert:'<path d="m12 3 10 18H2L12 3z"/><path d="M12 9v5m0 3h.01"/>',info:'<circle cx="12" cy="12" r="9"/><path d="M12 11v6m0-9h.01"/>',form:'<rect x="5" y="3" width="14" height="18" rx="2"/><path d="M9 8h6M9 12h6M9 16h3"/>',eye:'<path d="M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7S2 12 2 12z"/><circle cx="12" cy="12" r="3"/>',layout:'<rect x="3" y="3" width="18" height="18" rx="2"/><path d="M3 9h18M9 21V9"/>',wand:'<path d="m15 4 5 5L9 20H4v-5z"/><path d="m13 6 5 5"/>',undo:'<path d="M9 14 4 9l5-5"/><path d="M4 9h10a6 6 0 0 1 0 12h-3"/>',tools:'<path d="M14.7 6.3a4 4 0 0 0-5.4 5.4L3 18l3 3 6.3-6.3a4 4 0 0 0 5.4-5.4l-2.5 2.5-2.4-.6-.6-2.4z"/>',plug:'<path d="M9 2v6M15 2v6M6 8h12v4a6 6 0 0 1-12 0zM12 18v4"/>',home:'<path d="M3 11 12 4l9 7"/><path d="M5 10v10h5v-6h4v6h5V10"/>',menu:'<path d="M4 6h16M4 12h16M4 18h16"/>',book:'<path d="M12 6c-2-1.5-5-2-8-2v14c3 0 6 .5 8 2 2-1.5 5-2 8-2V4c-3 0-6 .5-8 2zM12 6v14"/>',calendar:'<rect x="3" y="5" width="18" height="16" rx="2"/><path d="M3 10h18M8 3v4M16 3v4M7.5 14h2M14.5 14h2M7.5 17.5h2"/>',clock:'<circle cx="12" cy="12" r="9"/><path d="M12 7v5l3 2"/>',person:'<circle cx="12" cy="8" r="4"/><path d="M4 21a8 8 0 0 1 16 0"/>',users:'<circle cx="9" cy="8" r="3.5"/><path d="M2 20a7 7 0 0 1 14 0"/><path d="M16 4.5a3.5 3.5 0 0 1 0 7M18 13.5a7 7 0 0 1 4 6.5"/>',globe:'<circle cx="12" cy="12" r="9"/><path d="M3 12h18M12 3a14 14 0 0 1 0 18M12 3a14 14 0 0 0 0 18"/>',lamp:'<path d="M12 3c2 2.6 3 4.3 3 6a3 3 0 0 1-6 0c0-1.7 1-3.4 3-6z"/><path d="M3 14h18c0 3.5-4 6-9 6s-9-2.5-9-6z"/><path d="M12 12v2"/>',play:'<circle cx="12" cy="12" r="9"/><path d="M10 8.5v7l6-3.5z"/>',pause:'<circle cx="12" cy="12" r="9"/><path d="M10 9v6M14 9v6"/>',send:'<path d="M21 3 3 10.5l7 3 3 7.5z"/><path d="m10 13.5 4.5-4.5"/>',share:'<circle cx="18" cy="5" r="2.5"/><circle cx="6" cy="12" r="2.5"/><circle cx="18" cy="19" r="2.5"/><path d="m8.2 10.8 7.6-4.6M8.2 13.2l7.6 4.6"/>',gift:'<rect x="3" y="8" width="18" height="4" rx="1"/><path d="M5 12v9h14v-9M12 8v13M12 8C10.5 5 7 4 7 6.5S10 8 12 8zm0 0c1.5-3 5-4 5-1.5S14 8 12 8z"/>',image:'<rect x="3" y="4" width="18" height="16" rx="2"/><circle cx="8.5" cy="9.5" r="1.5"/><path d="m21 15-5-5-10 10"/>',file:'<path d="M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z"/><path d="M14 3v5h5M9 13h6M9 17h6"/>',external:'<path d="M14 4h6v6M20 4l-9 9"/><path d="M18 14v5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h5"/>',arrowUp:'<path d="M12 19V5m-6 6 6-6 6 6"/>',arrowLeft:'<path d="M19 12H5m6-6-6 6 6 6"/>',arrowRight:'<path d="M5 12h14m-6-6 6 6-6 6"/>',headphones:'<path d="M4 15v-3a8 8 0 0 1 16 0v3"/><rect x="3" y="14" width="4" height="7" rx="1.5"/><rect x="17" y="14" width="4" height="7" rx="1.5"/>',music:'<path d="M9 18V5l11-2v13"/><circle cx="6" cy="18" r="3"/><circle cx="17" cy="16" r="3"/>',pin:'<path d="M12 21s7-6.2 7-11.5a7 7 0 0 0-14 0C5 14.8 12 21 12 21z"/><circle cx="12" cy="9.5" r="2.5"/>',map:'<path d="M3 6l6-3 6 3 6-3v15l-6 3-6-3-6 3z"/><path d="M9 3v15M15 6v15"/>',pen:'<path d="M12 3 6 9l1.5 8h9L18 9z"/><path d="M12 3v7.5"/><circle cx="12" cy="12" r="1.5"/><path d="M8 21h8"/>',wallet:'<rect x="3" y="7" width="18" height="13" rx="2"/><path d="M16 13.5h2M6 7l9-4 2 4"/>',install:'<rect x="6" y="2" width="12" height="20" rx="2"/><path d="M12 6v8m-3-3 3 3 3-3M10 18h4"/>',help:'<circle cx="12" cy="12" r="9"/><path d="M9.5 9.5a2.5 2.5 0 1 1 3.5 2.3c-.6.3-1 .9-1 1.6v.6M12 17h.01"/>',temple:'<path d="M12 2v2M10 4h4l1 3H9zM8 7h8l1.5 4h-11zM6.5 11h11L19 15H5zM4 15h16v6H4z"/><path d="M10 21v-3a2 2 0 0 1 4 0v3"/>',meditate:'<circle cx="12" cy="4.5" r="2.2"/><path d="M12 8c-2.2 0-3.3 1.3-3.7 3.2L7.5 16M12 8c2.2 0 3.3 1.3 3.7 3.2l.8 4.8"/><path d="M4 18c3 2 5.5 2.4 8 1.2 2.5 1.2 5 .8 8-1.2"/><path d="M7.5 16c1.4 1.4 3 2 4.5 2s3.1-.6 4.5-2"/>',trophy:'<path d="M8 4h8v5a4 4 0 0 1-8 0z"/><path d="M8 6H5a3 3 0 0 0 3 4M16 6h3a3 3 0 0 1-3 4M12 13v4M8 21h8M9 17h6"/>',bulb:'<path d="M9 18h6M10 21h4"/><path d="M12 3a6 6 0 0 0-4 10.5c.7.7 1 1.5 1 2.5h6c0-1 .3-1.8 1-2.5A6 6 0 0 0 12 3z"/>',sun:'<circle cx="12" cy="12" r="4"/><path d="M12 2v2.5M12 19.5V22M4.9 4.9l1.8 1.8M17.3 17.3l1.8 1.8M2 12h2.5M19.5 12H22M4.9 19.1l1.8-1.8M17.3 6.7l1.8-1.8"/>',delete:'<path d="M4 7h16M10 11v6M14 11v6M6 7l1 13a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1l1-13M9 7V4h6v3"/>',robot:'<rect x="4" y="8" width="16" height="12" rx="3"/><path d="M12 8V4M9.5 4h5M2 13v3M22 13v3"/><circle cx="9" cy="14" r="1.3"/><circle cx="15" cy="14" r="1.3"/>',heart:'<path d="M12 20s-7.5-4.6-9.2-9.3A4.9 4.9 0 0 1 12 6.6a4.9 4.9 0 0 1 9.2 4.1C19.5 15.4 12 20 12 20z"/>',heartFilled:'<path fill="currentColor" d="M12 20s-7.5-4.6-9.2-9.3A4.9 4.9 0 0 1 12 6.6a4.9 4.9 0 0 1 9.2 4.1C19.5 15.4 12 20 12 20z"/>',hub:'<circle cx="12" cy="12" r="3"/><circle cx="5" cy="5" r="2"/><circle cx="19" cy="5" r="2"/><circle cx="5" cy="19" r="2"/><circle cx="19" cy="19" r="2"/><path d="m6.5 6.5 3.4 3.4M17.5 6.5l-3.4 3.4M6.5 17.5l3.4-3.4M17.5 17.5l-3.4-3.4"/>',code:'<path d="m8 7-5 5 5 5M16 7l5 5-5 5M14 4l-4 16"/>',text:'<path d="M3 7V5h11v2M8.5 5v14M6.5 19h4M14 12v-1.5h7V12M17.5 10.5V19M16 19h3"/>',bold:'<path d="M7 4h6a4 4 0 0 1 0 8H7zM7 12h7a4 4 0 0 1 0 8H7z"/>',italic:'<path d="M10 4h9M5 20h9M15 4 9 20"/>',underline:'<path d="M7 4v7a5 5 0 0 0 10 0V4M5 21h14"/>',alignLeft:'<path d="M4 5h16M4 9.5h9M4 14h16M4 18.5h9"/>',alignCenter:'<path d="M4 5h16M7.5 9.5h9M4 14h16M7.5 18.5h9"/>',alignRight:'<path d="M4 5h16M11 9.5h9M4 14h16M11 18.5h9"/>',alignJustify:'<path d="M4 5h16M4 9.5h16M4 14h16M4 18.5h16"/>',quote:'<path d="M4 18v-6.5A6.5 6.5 0 0 1 10.5 5M4 12h5.5v6H4zM13.5 18v-6.5A6.5 6.5 0 0 1 20 5M13.5 12H19v6h-5.5z"/>',title:'<path d="M5 6V4h14v2M12 4v16M9 20h6"/>',font:'<rect x="3" y="3" width="18" height="18" rx="3"/><path d="m8 17 4-10 4 10M9.4 13.5h5.2"/>',spellcheck:'<path d="m3 14 4-10 4 10M4.6 10.5h4.8M11 17l3 3 7-7"/>',abc:'<path d="m2 16 2.5-8L7 16M3 13.5h3M9.5 8v8h2.5a2 2 0 0 0 0-4H9.5h2a2 2 0 0 0 0-4H9.5M21 9.4a3.1 3.1 0 1 0 0 5.2"/>',pageBreak:'<path d="M6 3v5h12V3M6 21v-5h12v5M3 12h3M9 12h6M18 12h3"/>',link:'<path d="M10 14a4 4 0 0 0 5.7 0l3-3a4 4 0 0 0-5.7-5.7l-1 1"/><path d="M14 10a4 4 0 0 0-5.7 0l-3 3a4 4 0 0 0 5.7 5.7l1-1"/>',style:'<rect x="3" y="3" width="7" height="18" rx="2"/><path d="m10 7.5 4.4-2.6a2 2 0 0 1 2.7.7l3.2 5.6a2 2 0 0 1-.7 2.7L10 19"/><circle cx="6.5" cy="17" r="1"/>',lock:'<rect x="5" y="11" width="14" height="10" rx="2"/><path d="M8 11V8a4 4 0 0 1 8 0v3M12 15v2"/>',unlock:'<rect x="5" y="11" width="14" height="10" rx="2"/><path d="M8 11V8a4 4 0 0 1 7.6-1.8M12 15v2"/>',key:'<circle cx="8" cy="15" r="4"/><path d="m11 12 9-9M17 6l3 3M14.5 8.5l2 2"/>',redo:'<path d="m15 14 5-5-5-5"/><path d="M20 9H10a6 6 0 0 0 0 12h3"/>',swap:'<path d="M7 4 3 8l4 4M3 8h14M17 12l4 4-4 4M21 16H7"/>',shuffle:'<path d="M16 3h5v5M4 20 21 3M21 16v5h-5M15 15l6 6M4 4l5 5"/>',fullscreen:'<path d="M4 9V4h5M15 4h5v5M20 15v5h-5M9 20H4v-5"/>',fullscreenExit:'<path d="M9 4v5H4M20 9h-5V4M15 20v-5h5M4 15h5v5"/>',merge:'<circle cx="6" cy="5" r="2"/><circle cx="6" cy="19" r="2"/><circle cx="18" cy="12" r="2"/><path d="M6 7v10M6 7c0 4 4 5 10 5"/>',join:'<circle cx="9" cy="12" r="6"/><circle cx="15" cy="12" r="6"/>',touch:'<path d="M9 11V5a1.5 1.5 0 0 1 3 0v6M12 10a1.5 1.5 0 0 1 3 0v1M15 11a1.5 1.5 0 0 1 3 0v3c0 4-2.5 7-6 7-2.5 0-4-1-5.5-3.5L4.6 14a1.5 1.5 0 0 1 2.5-1.6L9 15"/>',volumeOff:'<path d="M4 9v6h4l5 4V5L8 9H4z"/><path d="m16.5 9.5 5 5M21.5 9.5l-5 5"/>',musicOff:'<path d="M9 13v5M9 7V5l11-2v9"/><circle cx="6" cy="18" r="3"/><path d="M3 3l18 18"/>',musicVideo:'<rect x="3" y="4" width="18" height="16" rx="2"/><path d="M10.5 15V8.5l5-1V13"/><circle cx="9" cy="15" r="1.5"/><circle cx="14" cy="13" r="1.5"/>',movie:'<rect x="3" y="9" width="18" height="11" rx="2"/><path d="m3.5 9-.6-3 16.6-3.4.6 3L3.5 9zM8.5 4.8l1.8 2.9M13.8 3.7l1.8 2.9"/>',slideshow:'<rect x="3" y="4" width="18" height="13" rx="2"/><path d="M10 8v5l4-2.5zM8 21h8M12 17v4"/>',storage:'<ellipse cx="12" cy="5" rx="8" ry="3"/><path d="M4 5v14c0 1.7 3.6 3 8 3s8-1.3 8-3V5M4 12c0 1.7 3.6 3 8 3s8-1.3 8-3"/>',api:'<path d="M3 17v-6a2.5 2.5 0 0 1 5 0v6M3 14h5M11 17V7h2.5a2.5 2.5 0 0 1 0 5H11M18 7h3M19.5 7v10M18 17h3"/>',dataObject:'<path d="M8 4H7a2 2 0 0 0-2 2v4l-2 2 2 2v4a2 2 0 0 0 2 2h1M16 4h1a2 2 0 0 1 2 2v4l2 2-2 2v4a2 2 0 0 1-2 2h-1"/>',computer:'<rect x="3" y="4" width="18" height="12" rx="2"/><path d="M8 20h8M12 16v4"/>',phone:'<rect x="6" y="2" width="12" height="20" rx="2"/><path d="M10.5 18.5h3"/>',cloud:'<path d="M7 19a5 5 0 0 1-.6-10A6.5 6.5 0 0 1 18.6 9.5 4.8 4.8 0 0 1 17.5 19z"/>',wifi:'<path d="M2 9a15 15 0 0 1 20 0M5 12.5a10 10 0 0 1 14 0M8.5 16a5 5 0 0 1 7 0M12 19.5h.01"/>',wifiOff:'<path d="M2 9a15 15 0 0 1 20 0M5 12.5a10 10 0 0 1 14 0M8.5 16a5 5 0 0 1 7 0M12 19.5h.01M3 3l18 18"/>',searchOff:'<circle cx="11" cy="11" r="6.5"/><path d="m16 16 5 5M8.7 8.7l4.6 4.6M13.3 8.7l-4.6 4.6"/>',eyeOff:'<path d="M10.6 5.1A10 10 0 0 1 12 5c6.5 0 10 7 10 7a17 17 0 0 1-2.2 3.2M6.6 6.6C3.8 8.4 2 12 2 12s3.5 7 10 7a9.7 9.7 0 0 0 5.4-1.6M9.9 9.9a3 3 0 0 0 4.2 4.2M3 3l18 18"/>',bookmark:'<path d="M6 3h12v18l-6-4-6 4z"/>',school:'<path d="m2 9 10-5 10 5-10 5z"/><path d="M6 11v5c0 1.5 2.7 3 6 3s6-1.5 6-3v-5M22 9v6"/>',gavel:'<path d="m13 3.5 7.5 7.5M10 6.5l7.5 7.5M11.5 5l7 7-3 3-7-7zM10 11.5 3.5 18a1.4 1.4 0 0 0 2 2L12 13.5M13 21h8"/>',architecture:'<circle cx="12" cy="5" r="2"/><path d="M12 3V2M11 7 5.5 21M13 7l5.5 14M8 15h8"/>',brain:'<path d="M11 5.5A3 3 0 0 0 5.6 7 3 3 0 0 0 4 12a3 3 0 0 0 1.6 5A3 3 0 0 0 11 18.5zM13 5.5A3 3 0 0 1 18.4 7 3 3 0 0 1 20 12a3 3 0 0 1-1.6 5 3 3 0 0 1-5.4 1.5z"/><path d="M8 10h3M13 14h3"/>',volunteer:'<path d="M12 11s-3.5-2.2-3.5-4.6a1.8 1.8 0 0 1 3.5-.7 1.8 1.8 0 0 1 3.5.7C15.5 8.8 12 11 12 11z"/><path d="M2 15h3l3.5 1.5H13a1.5 1.5 0 0 1 0 3H9.5M5 21l1.5-1.5H14l5.5-4a1.6 1.6 0 0 0-2-2.4L14 15.6"/>',radio:'<circle cx="12" cy="12" r="9"/>',radioChecked:'<circle cx="12" cy="12" r="9"/><circle cx="12" cy="12" r="4" fill="currentColor"/>',upload:'<path d="M12 15V3m-5 5 5-5 5 5M4 21h16"/>',arrowDown:'<path d="M12 5v14m-6-6 6 6 6-6"/>',factCheck:'<rect x="3" y="4" width="18" height="16" rx="2"/><path d="M7 9h4M7 13h4M7 17h2M13.5 13l2 2 3.5-3.5"/>',imageSearch:'<path d="M13 4H5a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-4"/><path d="m3 17 5-5 4 4"/><circle cx="17" cy="7" r="3"/><path d="m19.2 9.2 2.3 2.3"/>',documentScanner:'<path d="M3 7V4a1 1 0 0 1 1-1h3M17 3h3a1 1 0 0 1 1 1v3M21 17v3a1 1 0 0 1-1 1h-3M7 21H4a1 1 0 0 1-1-1v-3"/><path d="M7 8h10M7 12h10M7 16h6"/>',dashboard:'<rect x="3" y="3" width="8" height="10" rx="1.5"/><rect x="13" y="3" width="8" height="6" rx="1.5"/><rect x="3" y="15" width="8" height="6" rx="1.5"/><path d="M17 13v8M13 17h8"/>',cleaning:'<path d="m20 3-7.5 7.5"/><path d="M12.5 10.5c-2.5-1.6-6-1-7.4 1.7L3 20.5c3.2 1 7.2.4 10.2-1.6l.7-5.3c-.1-1.3-.6-2.3-1.4-3.1z"/><path d="M7.5 15.5 6 20.5M10.5 15l-1 5"/>',dragHandle:'<path d="M5 9h14M5 15h14"/>',zoomIn:'<circle cx="11" cy="11" r="6.5"/><path d="m16 16 5 5M8 11h6M11 8v6"/>',zoomOut:'<circle cx="11" cy="11" r="6.5"/><path d="m16 16 5 5M8 11h6"/>',insights:'<path d="m3 18 5-5 4 3 6-7"/><path d="M15 9h3v3"/><path d="m19 2.5.7 1.8 1.8.7-1.8.7-.7 1.8-.7-1.8-1.8-.7 1.8-.7z"/>',explore:'<circle cx="12" cy="12" r="9"/><path d="m15.5 8.5-2 5-5 2 2-5z"/>',save:'<path d="M5 3h11l5 5v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z"/><path d="M7 3v5h8V3M7 21v-7h10v7"/>',label:'<path d="M4 6h11l5 6-5 6H4z"/>',keyboard:'<rect x="2" y="6" width="20" height="12" rx="2"/><path d="M6 10h.01M10 10h.01M14 10h.01M18 10h.01M6 14h.01M18 14h.01M9 14h6"/>',trendingUp:'<path d="m3 17 6-6 4 4 8-8"/><path d="M15 7h6v6"/>',trendingDown:'<path d="m3 7 6 6 4-4 8 8"/><path d="M15 17h6v-6"/>',cake:'<path d="M4 21h16M5 21v-7a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v7M5 16.5c1.5 1 2.5 1 3.5 0s2.5-1 3.5 0 2.5 1 3.5 0 2.5-1 3.5 0M12 12V8.5M12 6c-.9-.9-.9-2 0-3.3.9 1.3.9 2.4 0 3.3z"/>',barChart:'<path d="M4 20h16M7 20v-6M12 20V5M17 20V10"/>',admin:'<path d="M12 3 4 6v6c0 4.5 3.4 8 8 9 4.6-1 8-4.5 8-9V6z"/><circle cx="12" cy="10" r="2.5"/><path d="M8 16.5c1-1.8 2.4-2.5 4-2.5s3 .7 4 2.5"/>',bugReport:'<rect x="7" y="8" width="10" height="12" rx="5"/><path d="M9 8.5a3 3 0 0 1 6 0M12 12v8M7 13H3M21 13h-4M7 17l-3 1.5M17 17l3 1.5M7.5 10 5 8M16.5 10 19 8"/>',sentimentSad:'<circle cx="12" cy="12" r="9"/><path d="M8 16.5c1-1.4 2.4-2 4-2s3 .6 4 2M9 9.5h.01M15 9.5h.01"/>',integration:'<rect x="5" y="4" width="14" height="17" rx="2"/><path d="M9 4V3h6v1M10 11l-2 2 2 2M14 11l2 2-2 2"/>',namaskar:'<path d="M12 5.5V15M12 5.5c-.6-1.7-2.4-2.2-3.1-.9L7.2 11.5 4.5 14.5l3 5H10l2-3.5M12 5.5c.6-1.7 2.4-2.2 3.1-.9l1.7 6.9 2.7 3-3 5H14l-2-3.5"/>',sunrise:'<path d="M3 19h18M7 19a5 5 0 0 1 10 0M12 3v6M9.5 5.5 12 3l2.5 2.5M4.9 11.9l1.4 1.4M19.1 11.9l-1.4 1.4M2 16h2M20 16h2"/>',sunset:'<path d="M3 19h18M7 19a5 5 0 0 1 10 0M12 3v6M9.5 6.5 12 9l2.5-2.5M4.9 11.9l1.4 1.4M19.1 11.9l-1.4 1.4M2 16h2M20 16h2"/>',login:'<path d="M14 4h4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-4M10 16l4-4-4-4M14 12H3"/>',logout:'<path d="M10 4H6a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h4M16 16l4-4-4-4M20 12H9"/>',speed:'<path d="M4.5 18a9 9 0 1 1 15 0"/><path d="m12 14 4-5"/><circle cx="12" cy="14" r="1.2"/>',repeat:'<path d="m17 2 3 3-3 3M4 11V9a4 4 0 0 1 4-4h12M7 22l-3-3 3-3M20 13v2a4 4 0 0 1-4 4H4"/>',loader:'<path d="M12 3v3M12 18v3M5.6 5.6l2.1 2.1M16.3 16.3l2.1 2.1M3 12h3M18 12h3M5.6 18.4l2.1-2.1M16.3 7.7l2.1-2.1"/>',star:'<path d="m12 3 2.8 5.7 6.2.9-4.5 4.4 1.1 6.2L12 17.3l-5.6 2.9 1.1-6.2L3 9.6l6.2-.9z"/>',shieldCheck:'<path d="M12 3 4 6v6c0 4.5 3.4 8 8 9 4.6-1 8-4.5 8-9V6z"/><path d="m8.5 12 2.5 2.5 4.5-4.5"/>'},ja=Object.keys(cA);var Do=3,Ei="#ffffff",Hn="#111827";function kA(e,A){let t=Re(e),i=Re(A);return t&&i?iA(t,i):null}function bi(e){let A=kA(Ei,e),t=kA(Hn,e);return A===null||t===null||A>=t?Ei:Hn}var $n=new Set;function Mo(e,A){$n.has(e)||($n.add(e),typeof console<"u"&&console.warn(`[yuktai icons] ${A}`))}function So(e={}){let A=e.variant==="filled"?"filled":"outline",t=e.color||"currentColor";if(A==="outline")return{variant:A,color:t,glyph:t,contrast:null};let i=e.glyphColor||bi(t),o=kA(i,t);return o!==null&&o<Do&&Mo(`${i}|${t}`,`glyph ${i} on ${t} is ${o}:1. WCAG 1.4.11 needs at least 3:1 for icons.`),{variant:A,color:t,glyph:i,contrast:o}}var Go="translate(3.6 3.6) scale(0.7)",No="@media (forced-colors: active){.yi-bg{fill:CanvasText}.yi-glyph{stroke:Canvas;color:Canvas}}",Le=e=>String(e).replace(/[&<>"']/g,A=>({"&":"&","<":"<",">":">",'"':""","'":"'"})[A]);function Pn(e,A={}){let t=cA[e]??cA.spark,i=A.size??20,{variant:o,color:r,glyph:n}=So(A),a=A.strokeWidth??(o==="filled"?2.4:1.9),l=`<svg xmlns="http://www.w3.org/2000/svg" ${A.label?`role="img" aria-label="${Le(A.label)}"`:'aria-hidden="true"'} focusable="false" width="${Le(i)}" height="${Le(i)}" viewBox="0 0 24 24" fill="none" stroke-linecap="round" stroke-linejoin="round" data-variant="${o}">`;if(o==="outline")return`${l}<g stroke="${Le(r)}" stroke-width="${a}">${t}</g></svg>`;let I=A.shape==="circle"?`<circle class="yi-bg" cx="12" cy="12" r="12" fill="${Le(r)}"/>`:`<rect class="yi-bg" width="24" height="24" rx="6" fill="${Le(r)}"/>`;return`${l}<style>${No}</style>${I}<g class="yi-glyph" color="${Le(n)}" stroke="${Le(n)}" stroke-width="${a}" transform="${Go}">${t}</g></svg>`}var Ye=()=>typeof window<"u"&&typeof document<"u";function ht(e){return String(e??"").replace(/[&<>"']/g,A=>({"&":"&","<":"<",">":">",'"':""","'":"'"})[A])}function g(e,A,...t){let i=document.createElement(e);if(A)for(let[o,r]of Object.entries(A))r==null||r===!1||(o.startsWith("on")&&typeof r=="function"?i.addEventListener(o.slice(2),r):o==="html"?i.innerHTML=r:o==="text"?i.textContent=r:r===!0?i.setAttribute(o,""):i.setAttribute(o,String(r)));for(let o of t.flat())o==null||o===!1||i.append(o instanceof Node?o:document.createTextNode(String(o)));return i}var Fo=0,X=(e="yv")=>`${e}-${++Fo}`;function pt(e,A){if(typeof e!="string"||!Ye())return A;let t=document.createElement("span");return t.style.color=e,t.style.color?e:A}var wi=()=>Ye()&&(window.matchMedia&&window.matchMedia("(prefers-reduced-motion: reduce)").matches||document.documentElement.hasAttribute("data-yuktai-reduce-motion")),zn=Object.keys(cA);function ce(e,A=20,t,i){let o=typeof A=="object"&&A!==null?{...A}:{...i||{},size:A,label:t};return Pn(e,o)}function q(e,A,t){let i=document.createElement("span");return i.className="yv-ic",i.innerHTML=ce(e,A,t),i}var Oe=null;function oe(e){!Ye()||!e||((!Oe||!document.contains(Oe))&&(Oe=g("div",{id:"yuktai-vanilla-live",class:"yv-sr",role:"status","aria-live":"polite","aria-atomic":"true"}),document.body.appendChild(Oe)),Oe.textContent="",setTimeout(()=>{Oe&&(Oe.textContent=String(e).slice(0,300))},30))}function DA(e,A,t="text/plain;charset=utf-8"){let i=URL.createObjectURL(new Blob([A],{type:t})),o=g("a",{href:i,download:e,hidden:!0});document.body.appendChild(o),o.click(),o.remove(),setTimeout(()=>URL.revokeObjectURL(i),1500)}async function On(e){try{return await navigator.clipboard.writeText(e),!0}catch{let A=g("textarea",{"aria-hidden":"true",style:"position:fixed;opacity:0;left:-9999px"});A.value=e,document.body.appendChild(A),A.select();let t=!1;try{t=document.execCommand("copy")}catch{t=!1}return A.remove(),t}}function vi(e){let A=String(e??"");return/^[=+\-@\t\r]/.test(A)&&(A="'"+A),'"'+A.replace(/"/g,'""')+'"'}function Wn(e){let A=(e||[]).map(t=>{try{return document.querySelector(t)}catch{return null}}).filter(Boolean);return A.forEach(t=>{t.setAttribute("data-yv-flash",""),setTimeout(()=>t.removeAttribute("data-yv-flash"),4e3)}),A[0]&&A[0].scrollIntoView({block:"center",behavior:wi()?"auto":"smooth"}),A.length}function yt(e,A){if(!Ye()||document.getElementById("yuktai-vanilla-css"))return;let t=document.createElement("style");t.id="yuktai-vanilla-css",t.textContent=`
|
|
394
|
+
`,document.body.appendChild(e),Dn=e}function Ln(e){var A,t,i;return(A=e.getAttribute("aria-label"))!=null&&A.trim()||e.getAttribute("aria-labelledby")||(t=e.getAttribute("title"))!=null&&t.trim()||(i=e.textContent)!=null&&i.trim()?!0:!!e.querySelector("img[alt]:not([alt='']), svg[aria-label], svg title, [aria-label]")}function Yn(e){let A={critical:20,serious:10,moderate:5,minor:2},t=e.details.reduce((i,o)=>i+(A[o.severity]||0),0);return Math.max(0,Math.min(100,100-t))}var ze={name:"yuktai-a11y",version:"4.0.0",observer:null,async execute(e){if(!e.enabled)return this.stopObserver(),"yuktai: disabled.";le=e,ho(e),po(),yo(),go(),lo(),e.showSkipLinks!==!1&&so(),e.showPreferencePanel,Co(e);let A=this.applyFixes(e);A.score=Yn(A),e.showAuditBadge&&Io(A),e.timeoutWarning&&Jn(e.timeoutWarning),e.autoFix&&this.startObserver(e),e.plainEnglish&&await Gn(!0),e.summarisePage&&await Nn(!0),e.translateLanguage&&e.translateLanguage!=="en"&&await Fn(e.translateLanguage),e.voiceControl&&await Rn(!0),e.smartLabels&&await Tn(!0);let t=`${A.fixed} fixes applied. Score: ${A.score}/100.`;return z(t,A.score>=90?"success":"info",!1),`yuktai v4.0.0: ${t} Scanned ${A.scanned} elements in ${A.renderTime}ms.`},applyFixes(e){let A={fixed:0,scanned:0,renderTime:0,score:100,details:[]};if(typeof document>"u")return A;let t=performance.now(),i=document.querySelectorAll("*");A.scanned=i.length;let o=(r,n,a,s)=>{A.details.push({tag:r,fix:n,severity:a,element:s.outerHTML.slice(0,100)}),A.fixed++};return i.forEach(r=>{var I,u;let n=r,a=n.tagName.toLowerCase();if(a==="html"&&!n.getAttribute("lang")&&(n.setAttribute("lang","en"),o(a,'lang="en" added',"critical",n)),a==="meta"){let m=n.getAttribute("name"),c=n.getAttribute("content")||"";m==="viewport"&&c.includes("user-scalable=no")&&(n.setAttribute("content",c.replace("user-scalable=no","user-scalable=yes")),o(a,"user-scalable=yes restored","serious",n)),m==="viewport"&&/maximum-scale=1(?:[^0-9]|$)/.test(c)&&(n.setAttribute("content",c.replace(/maximum-scale=1(?=[^0-9]|$)/,"maximum-scale=5")),o(a,"maximum-scale=5 restored","serious",n))}if(a==="main"&&!n.getAttribute("tabindex")&&(n.setAttribute("tabindex","-1"),n.getAttribute("id")||n.setAttribute("id","main-content")),a==="img"&&(n.hasAttribute("alt")||(n.setAttribute("alt",""),n.setAttribute("aria-hidden","true"),o(a,'alt="" aria-hidden="true"',"serious",n))),a==="svg"&&(!n.getAttribute("aria-hidden")&&!n.getAttribute("aria-label")&&!r.querySelector("title")&&(n.setAttribute("aria-hidden","true"),o(a,'aria-hidden="true" (decorative svg)',"minor",n)),n.getAttribute("focusable")||n.setAttribute("focusable","false")),a==="iframe"&&!n.getAttribute("title")&&!n.getAttribute("aria-label")&&(n.setAttribute("title","embedded content"),n.setAttribute("aria-label","embedded content"),o(a,"title + aria-label added","serious",n)),a==="button"){if(!Ln(n)){let m=n.getAttribute("title")||"button";n.setAttribute("aria-label",m),o(a,`aria-label="${m}" (empty button)`,"critical",n)}n.hasAttribute("disabled")&&!n.getAttribute("aria-disabled")&&(n.setAttribute("aria-disabled","true"),A.fixed++)}if(a==="a"){let m=n;Ln(n)||(n.setAttribute("aria-label",n.getAttribute("title")||"link"),o(a,"aria-label added (empty link)","critical",n)),m.target==="_blank"&&!((I=m.rel)!=null&&I.includes("noopener"))&&(m.rel="noopener noreferrer",A.fixed++)}if(Sn.has(a)){let m=n;if(!(!!(m.labels&&m.labels.length)||!!n.getAttribute("title")||m.type==="hidden"||m.type==="submit"||m.type==="button"||m.type==="reset")&&!n.getAttribute("aria-label")&&!n.getAttribute("aria-labelledby")){let k=n.getAttribute("placeholder")||n.getAttribute("name")||a;n.setAttribute("aria-label",k),o(a,`aria-label="${k}"`,"serious",n)}if(n.hasAttribute("required")&&!n.getAttribute("aria-required")&&(n.setAttribute("aria-required","true"),A.fixed++),a==="input"&&!m.autocomplete){let k=m.name||"",f=m.type==="email"||k.includes("email")?"email":m.type==="tel"||k.includes("tel")?"tel":m.type==="password"?"current-password":"";f&&(m.autocomplete=f,A.fixed++)}}a==="th"&&!n.getAttribute("scope")&&(n.setAttribute("scope",n.closest("thead")?"col":"row"),o(a,"scope added to <th>","moderate",n));let s=(a==="header"||a==="footer")&&!!((u=n.parentElement)!=null&&u.closest("article,aside,main,nav,section,[role='dialog'],[role='region']"));Ci[a]&&!n.getAttribute("role")&&!s&&(n.setAttribute("role",Ci[a]),o(a,`role="${Ci[a]}"`,"minor",n));let l=n.getAttribute("role")||"";l==="tab"&&!n.getAttribute("aria-selected")&&(n.setAttribute("aria-selected","false"),A.fixed++),["alert","status","log"].includes(l)&&!n.getAttribute("aria-live")&&(n.setAttribute("aria-live",l==="alert"?"assertive":"polite"),o(a,`aria-live added on role=${l}`,"moderate",n)),l==="combobox"&&!n.getAttribute("aria-expanded")&&(n.setAttribute("aria-expanded","false"),o(a,'aria-expanded="false" on combobox',"serious",n)),(l==="checkbox"||l==="radio")&&!n.getAttribute("aria-checked")&&(n.setAttribute("aria-checked","false"),o(a,`aria-checked="false" on role=${l}`,"serious",n))}),A.renderTime=parseFloat((performance.now()-t).toFixed(2)),A},scan(){let e={fixed:0,scanned:0,renderTime:0,score:100,details:[]};if(typeof document>"u")return e;let A=performance.now(),t=document.querySelectorAll("*");e.scanned=t.length;let i=(o,r,n,a)=>e.details.push({tag:o,fix:r,severity:n,element:a.outerHTML.slice(0,100)});return t.forEach(o=>{var a;let r=o,n=r.tagName.toLowerCase();(n==="a"||n==="button")&&!((a=r.innerText)!=null&&a.trim())&&!r.getAttribute("aria-label")&&i(n,"needs aria-label (empty)","critical",r),n==="img"&&!r.hasAttribute("alt")&&i(n,"needs alt text","serious",r),Sn.has(n)&&!r.getAttribute("aria-label")&&!r.getAttribute("aria-labelledby")&&i(n,"needs aria-label","serious",r),n==="iframe"&&!r.getAttribute("title")&&!r.getAttribute("aria-label")&&i(n,"iframe needs title","serious",r)}),e.fixed=e.details.length,e.score=Yn(e),e.renderTime=parseFloat((performance.now()-A).toFixed(2)),e},startObserver(e){this.observer||typeof document>"u"||(this.observer=new MutationObserver(()=>this.applyFixes(e)),this.observer.observe(document.body,{childList:!0,subtree:!0,attributes:!1}))},stopObserver(){var e;(e=this.observer)==null||e.disconnect(),this.observer=null},announce:z,speak:hi,showVisualAlert:Un,trapFocus:ct,handlePlainEnglish:Gn,handleSummarisePage:Nn,handleTranslate:Fn,handleVoiceControl:Rn,handleSmartLabels:Tn,SUPPORTED_LANGUAGES:fn};var mo=/\b(off|disable|stop|remove|no more|turn off|switch off|deactivate)\b|ఆఫ్|ఆపు|తీసివేయి|बंद/i,fo=[{pattern:/high contrast|contrast|హై కాంట్రాస్ట్|కాంట్రాస్ట్/i,key:"highContrast",name:"High contrast"},{pattern:/dark mode|dark theme|night mode|డార్క్ మోడ్|చీకటి/i,key:"darkMode",name:"Dark mode"},{pattern:/reduce motion|less motion|stop animation|animations?|కదలికలు/i,key:"reduceMotion",name:"Reduced motion"},{pattern:/large targets?|bigger buttons?|big buttons?|larger buttons?|పెద్ద బటన్/i,key:"largeTargets",name:"Large targets"},{pattern:/dyslexia|readable font|easy font/i,key:"dyslexiaFont",name:"Dyslexia-friendly font"},{pattern:/speak on focus|read aloud|read out|screen reader|speech|చదివి వినిపించు/i,key:"speechEnabled",name:"Speak on focus"},{pattern:/skip links?/i,key:"showSkipLinks",name:"Skip links"}],Qo=[[/deuteranop|green.?blind/i,"deuteranopia"],[/protanop|red.?blind/i,"protanopia"],[/tritanop|blue.?blind/i,"tritanopia"],[/grey ?scale|gray ?scale|achromat|black and white/i,"achromatopsia"]],It=.1,pi=.8,yi=1.3;function mi(e,A={}){let t=e.trim().toLowerCase();if(!t)return null;if(/\b(next|down)\s+(row|line|record|item)\b|తర్వాతి (వరుస|అంశం)/.test(t))return{type:"grid",action:"next-row",say:"Next row."};if(/\b(previous|prev|back|up)\s+(row|line|record|item)\b|ముందరి (వరుస|అంశం)|వెనుక (వరుస|అంశం)/.test(t))return{type:"grid",action:"previous-row",say:"Previous row."};if(/\bfirst\s+(row|record|item)\b|మొదటి (వరుస|అంశం)/.test(t))return{type:"grid",action:"first-row",say:"First row."};if(/\blast\s+(row|record|item)\b|చివరి (వరుస|అంశం)/.test(t))return{type:"grid",action:"last-row",say:"Last row."};if(/\b(open|expand|read)\s+(this\s+)?(row|record|item)\b|ఈ (వరుస|అంశం) తెరువు/.test(t))return{type:"grid",action:"open-row",say:"Opening row."};if(/\b(reset|default|restore)\b.*\b(settings?|accessibility|everything|all)\b|^reset$|రీసెట్/.test(t))return{type:"reset",say:"Accessibility settings reset."};let i=A.fontSizeMultiplier??1,o=n=>Math.round(Math.min(yi,Math.max(pi,n))*100)/100;if(/\b(bigger|larger|increase|zoom in)\b.*\b(text|font|letters?)\b|\b(text|font)\b.*\b(bigger|larger|up)\b|పెద్ద అక్షరాలు|అక్షరాలు పెద్ద/.test(t)){let n=o(i+It);return{type:"setting",patch:{fontSizeMultiplier:n},say:`Text size ${Math.round(n*100)}%.`}}if(/\b(smaller|decrease|reduce|zoom out)\b.*\b(text|font|letters?)\b|\b(text|font)\b.*\b(smaller|down)\b|చిన్న అక్షరాలు|అక్షరాలు చిన్న/.test(t)){let n=o(i-It);return{type:"setting",patch:{fontSizeMultiplier:n},say:`Text size ${Math.round(n*100)}%.`}}if(/\b(normal|default|reset)\b.*\b(text|font)\s*(size)?\b/.test(t))return{type:"setting",patch:{fontSizeMultiplier:1},say:"Text size 100%."};let r=mo.test(t);for(let[n,a]of Qo)if(n.test(t))return r?{type:"setting",patch:{colorBlindMode:"none"},say:"Colour filter off."}:{type:"setting",patch:{colorBlindMode:a},say:`${a} filter on.`};if(/colou?r.?blind/.test(t)&&r)return{type:"setting",patch:{colorBlindMode:"none"},say:"Colour filter off."};for(let n of fo){if(!n.pattern.test(t))continue;let a=/\btoggle\b/.test(t)?!A[n.key]:!r;return n.key==="reduceMotion"&&!/reduce motion|less motion|కదలికలు తగ్గించు/.test(t)&&/animations?/.test(t)&&(a=r||/\bno\b/.test(t)),{type:"setting",patch:{[n.key]:a},say:`${n.name} ${a?"on":"off"}.`}}return null}var lA={highContrast:!1,darkMode:!1,reduceMotion:!1,largeTargets:!1,dyslexiaFont:!1,speechEnabled:!1,colorBlindMode:"none",fontSizeMultiplier:1};function fi(e,A={}){var l,I;if(!Ee())return null;let t=A.root??document,i=A.rowSelector??"[data-yuktai-row-id], [role='row']",o=Array.from(t.querySelectorAll(i)).filter(u=>!u.querySelector("th,[role='columnheader']"));if(!o.length)return null;let r=(l=document.activeElement)==null?void 0:l.closest(i),n=r?o.indexOf(r):-1;if(e==="open-row"){let u=n>=0?o[n]:o[0];return u.click(),u}let a=e==="first-row"?0:e==="last-row"?o.length-1:e==="next-row"?Math.min(o.length-1,n+1):Math.max(0,n-1),s=o[a];return s.hasAttribute("tabindex")||s.setAttribute("tabindex","-1"),s.focus(),(I=s.scrollIntoView)==null||I.call(s,{block:"nearest"}),s}function dt(e={}){let A={enabled:!0,...lA,...e.initial},t=null,i=!1,o=async l=>e.apply?e.apply(l):ze.execute(l),r=l=>{if(e.speak===!1||!Ee()||!("speechSynthesis"in window))return;let I=new SpeechSynthesisUtterance(l);I.lang=e.lang??"en-IN",window.speechSynthesis.cancel(),window.speechSynthesis.speak(I)};async function n(l){var u;let I=mi(l,A);if((u=e.onTranscript)==null||u.call(e,l,I),!I)return null;if(I.type==="grid"){let m=fi(I.action,{root:e.gridRoot});return r(m?I.say:"No table rows found."),I}return A=I.type==="reset"?{...A,...lA}:{...A,...I.patch},await o(A),r(I.say),I}function a(){if(!Ee()||i)return i;let l=window,I=l.SpeechRecognition??l.webkitSpeechRecognition;return I?(t=new I,t.lang=e.lang??"en-IN",t.continuous=!0,t.interimResults=!1,t.onresult=u=>{var k;let m=u.results,c=m[m.length-1];(k=c==null?void 0:c[0])!=null&&k.transcript&&n(c[0].transcript)},t.onend=()=>{i&&(t==null||t.start())},t.onerror=u=>{(u.error==="not-allowed"||u.error==="service-not-allowed")&&(i=!1)},i=!0,t.start(),!0):!1}function s(){i=!1,t==null||t.stop(),t=null}return{start:a,stop:s,handle:n,isListening:()=>i,getConfig:()=>({...A})}}function Hn(){let e=new Set;return{subscribe(A){return e.add(A),()=>e.delete(A)},emit(A){e.forEach(t=>{try{t(A)}catch(i){console.error("[yuktai] listener failed",i)}})}}}var Bi=e=>e instanceof Error?e:new Error(String(e)),Bo={en:{done:"Done.",toolMissing:e=>`The action "${e}" is not available here.`,missingInput:e=>`Missing: ${e}.`,notUnderstood:"Sorry, I didn't understand. Try: a word to search, \u201Csort by <column>\u201D, or \u201Cclear filters\u201D.",noMatch:e=>`Nothing matched "${e}".`,failed:"Something went wrong while running this action."},te:{done:"\u0C2A\u0C42\u0C30\u0C4D\u0C24\u0C2F\u0C3F\u0C02\u0C26\u0C3F.",toolMissing:e=>`"${e}" \u0C38\u0C4C\u0C15\u0C30\u0C4D\u0C2F\u0C02 \u0C07\u0C15\u0C4D\u0C15\u0C21 \u0C05\u0C02\u0C26\u0C41\u0C2C\u0C3E\u0C1F\u0C41\u0C32\u0C4B \u0C32\u0C47\u0C26\u0C41.`,missingInput:e=>`\u0C07\u0C35\u0C3F \u0C15\u0C3E\u0C35\u0C3E\u0C32\u0C3F: ${e}.`,notUnderstood:"\u0C15\u0C4D\u0C37\u0C2E\u0C3F\u0C02\u0C1A\u0C02\u0C21\u0C3F, \u0C05\u0C30\u0C4D\u0C25\u0C02 \u0C15\u0C3E\u0C32\u0C47\u0C26\u0C41. \u0C07\u0C32\u0C3E \u0C2A\u0C4D\u0C30\u0C2F\u0C24\u0C4D\u0C28\u0C3F\u0C02\u0C1A\u0C02\u0C21\u0C3F: \u0C35\u0C46\u0C24\u0C15\u0C3E\u0C32\u0C4D\u0C38\u0C3F\u0C28 \u0C2A\u0C26\u0C02, \u201C<\u0C15\u0C3E\u0C32\u0C2E\u0C4D> \u0C2A\u0C4D\u0C30\u0C15\u0C3E\u0C30\u0C02 \u0C15\u0C4D\u0C30\u0C2E\u0C02\u201D, \u0C32\u0C47\u0C26\u0C3E \u201C\u0C2B\u0C3F\u0C32\u0C4D\u0C1F\u0C30\u0C4D\u0C32\u0C41 \u0C24\u0C40\u0C38\u0C47\u0C2F\u0C3F\u201D.",noMatch:e=>`"${e}" \u0C15\u0C3F \u0C0F\u0C2E\u0C40 \u0C38\u0C30\u0C3F\u0C2A\u0C4B\u0C32\u0C47\u0C26\u0C41.`,failed:"\u0C08 \u0C2A\u0C28\u0C3F \u0C1A\u0C47\u0C38\u0C4D\u0C24\u0C41\u0C02\u0C21\u0C17\u0C3E \u0C38\u0C2E\u0C38\u0C4D\u0C2F \u0C35\u0C1A\u0C4D\u0C1A\u0C3F\u0C02\u0C26\u0C3F."}},Kn=e=>String(e??"").normalize("NFC").toLowerCase().trim(),Te={clearFilters:/\b(clear|remove|reset)\b.*\bfilters?\b|ఫిల్టర్.*(తీసే|తొలగ)/i,clearSort:/\b(clear|remove|reset)\b.*\bsort(ing)?\b|క్రమం.*(తీసే|తొలగ)/i,count:/^\s*(how many|count)\b|ఎన్ని|లెక్క/i,sort:/\bsort\b|\border by\b|క్రమ|అమర్చ|సార్ట్/i,desc:/\b(desc|descending|z\s*-\s*a|highest|largest|most)\b|అవరోహణ|తగ్గే|పెద్ద|అధిక|చివర|ఎక్కువ నుండి/i,openEn:/^\s*open\s+(.+?)\s*$/i,openTe:/^\s*(.+?)\s*(తెరువు|తెరవండి|తెరవు)\s*$/,searchFiller:/^\s*(search(\s+for)?|find|show(\s+me)?|filter(\s+by)?|look\s+for|వెతుకు|వెతకండి|శోధించు|శోధించండి|చూపించు|చూపించండి)\s+|\s+(వెతుకు|వెతకండి|శోధించు|శోధించండి|చూపించు|చూపించండి)\s*$/gi};function Eo(e,A){let t=Kn(e),i=null;for(let o of A)for(let r of[o.label,o.key]){let n=Kn(r);n&&t.includes(n)&&(!i||n.length>i.len)&&(i={key:o.key,len:n.length})}return i?i.key:null}function Ei(e,A){let t=String(e??"").trim();if(!t)return null;let i=A&&A.columns||[];if(Te.clearFilters.test(t))return{kind:"tool",tool:"clear_filters",input:{}};if(Te.clearSort.test(t))return{kind:"tool",tool:"clear_sort",input:{}};if(Te.count.test(t))return{kind:"tool",tool:"count",input:{}};if(Te.sort.test(t)){let n=Eo(t,i);return n?{kind:"tool",tool:"sort",input:{key:n,direction:Te.desc.test(t)?"desc":"asc"}}:null}let o=t.match(Te.openEn)||t.match(Te.openTe);if(o&&o[1])return{kind:"open",text:o[1].trim()};let r=t.replace(Te.searchFiller,"").trim();return r?{kind:"tool",tool:"search",input:{query:r}}:null}function bo(e){return!!e&&typeof e=="object"&&typeof e.success=="boolean"&&typeof e.message=="string"}function wo(e,A){let t=e.inputSchema&&e.inputSchema.required;return Array.isArray(t)?t.map(String).filter(i=>A[i]===void 0||A[i]===null||String(A[i]).trim()===""):[]}function vo(e,A){let t=e.find(o=>o.name===A);if(t)return t;let i=e.filter(o=>o.name.endsWith(`_${A}`)).sort((o,r)=>o.name.length-r.name.length);if(i.length&&!(i.length>1&&i[0].name.length===i[1].name.length))return i[0]}var qn=e=>String(e??"").normalize("NFC").trim().toLocaleLowerCase();function xo(e,A){let t=qn(e);return(A||[]).find(i=>(i.phrases||[]).some(o=>{let r=qn(o);return r.length>0&&t.includes(r)}))}function ut(e={}){let A=v=>typeof v=="function"?v():v,t={locale:"en",rowKey:"id",historyLimit:20,customRules:[],...e},i=Hn(),o=0,r=null,n=null,a=[],s=0,l=()=>Bo[t.locale==="te"?"te":"en"],I=()=>A(t.tools)||[],u=()=>({loading:o>0,lastResult:r,lastError:n,history:a.slice()}),m=()=>i.emit(u());function c(v,E,h,p,y){y===s&&(r=h),a=[...a,{id:y,tool:v,input:E,result:h,source:p,at:Date.now()}].slice(-t.historyLimit),m()}async function k(v,E,h){let p=++s,y=vo(I(),v);if(!y){let Q={success:!1,message:l().toolMissing(v),error:{code:"NOT_SUPPORTED"}};return n=new Error(Q.message),t.onError&&t.onError(n),c(v,E,Q,h,p),Q}let D=wo(y,E);if(D.length){let Q={success:!1,message:l().missingInput(D.join(", ")),error:{code:"INVALID_INPUT"},tool:y.name};return c(y.name,E,Q,h,p),t.onResult&&t.onResult(Q),Q}o++,m();try{let Q=await y.execute(E),x=bo(Q)?{...Q,tool:y.name}:{success:!0,message:l().done,data:Q,tool:y.name};return x.success&&(n=null),c(y.name,E,x,h,p),t.onResult&&t.onResult(x),x}catch(Q){n=Bi(Q);let x={success:!1,message:l().failed,error:{code:"INTERNAL"},tool:y.name};return t.onError&&t.onError(n),c(y.name,E,x,h,p),x}finally{o=Math.max(0,o-1),m()}}let f=(v,E={})=>k(v,E||{},"tool");async function C(v){let E=A(t.columns)||[],h=xo(v,t.customRules);if(h){let Q=++s;try{let x=await h.execute({input:v,data:A(t.data)||[],columns:E,executeTool:f}),G={success:!0,message:String(x??l().done),tool:`rule:${h.name}`};return c(`rule:${h.name}`,{text:v},G,"ask",Q),t.onResult&&t.onResult(G),G}catch(x){n=Bi(x),t.onError&&t.onError(n);let G={success:!1,message:l().failed,error:{code:"INTERNAL"},tool:`rule:${h.name}`};return c(`rule:${h.name}`,{text:v},G,"ask",Q),G}}let p=(t.parseIntent||Ei)(v,{columns:E,locale:t.locale});if(!p){let Q={success:!1,message:l().notUnderstood,error:{code:"NOT_UNDERSTOOD"}};return c("ask",{text:v},Q,"ask",++s),Q}if(p.kind==="tool")return k(p.tool,p.input,"ask");let y=await k("search",{query:p.text},"ask");if(!y.success)return y;let D=Array.isArray(y.data)?y.data:[];if(!D.length){let Q={success:!1,message:l().noMatch(p.text),error:{code:"NOT_FOUND"},tool:y.tool};return c("open",{text:p.text},Q,"ask",++s),Q}return k("open",{id:ie(D[0],t.rowKey)},"ask")}function B(){a=[],r=null,n=null,m()}return{ask:C,executeTool:f,clearHistory:B,subscribe:i.subscribe,getState:u,get tools(){return I()},get loading(){return o>0},get lastResult(){return r},get lastError(){return n},get history(){return a.slice()}}}function Ct(e,A={}){let t=()=>(typeof e=="function"?e():e)||[],i=a=>{o.status=a,A.onStatusChange&&A.onStatusChange(a)},o={status:{state:"unsupported",registered:[],errors:[]},done:Promise.resolve(),unregister(){n.abort()}},r=typeof document<"u"?document.modelContext:void 0,n=new AbortController;return!r||typeof r.registerTool!="function"?(i({state:"unsupported",registered:[],errors:[]}),o):(o.done=(async()=>{i({state:"registering",registered:[],errors:[]});let a=[],s=[];for(let l of t()){if(n.signal.aborted)return;try{await r.registerTool({name:l.name,title:l.title,description:l.description,inputSchema:l.inputSchema,execute:I=>{let u=t().find(m=>m.name===l.name);return u?u.execute(I||{}):{success:!1,message:`Tool "${l.name}" is no longer available.`,error:{code:"NOT_SUPPORTED"}}}},{signal:n.signal}),a.push(l.name)}catch(I){s.push({tool:l.name,message:Bi(I).message})}}n.signal.aborted||i({state:s.length===0?"ready":a.length?"partial":"error",registered:a,errors:s})})(),o)}var ko=/\b(trend|over time|this (week|month|quarter|year)|last (week|month|quarter|year)|compare|versus|vs)\b|\b(by|per|each|which)\b.*\b(total|average|avg|sum|drop|increase|growth|highest|lowest|most|least)\b|\b(total|average|avg|sum)\b.*\b(by|per|each)\b/i,Do={filters:[],search:[],sort:null,limit:null,notes:[],explanation:""};function ht(e={}){let A=Hn(),t=e.rowKey||"id",i=e.bind||null,o=Array.isArray(e.data)?e.data:[],r=Ne(e.columns||[]),n={filters:[],sort:null,highlightIds:[]},a="",s=null,l=[],I=[],u=!1,m=()=>i?i.getFilters():n.filters,c=()=>i?i.getSort():n.sort,k=()=>i?i.getHighlightIds():n.highlightIds,f=()=>i?i.getData():o,C=G=>i?i.setFilters(G):n={...n,filters:G},B=G=>i?i.setSort(G):n={...n,sort:G},v=G=>i?i.setHighlightIds(G):n={...n,highlightIds:G};function E(){return Se(f(),r,{...Do,filters:m(),sort:c()})}let h=()=>{let G=E();return{gridData:G,highlightIds:k().slice(),filters:m().slice(),sort:c(),answer:a,kind:s,table:l.slice(),steps:I.slice(),busy:u,visibleIds:G.map(w=>ie(w,t))}},p=()=>A.emit(h()),y=()=>({get data(){return f()},columns:r,rowKey:t,get filters(){return m()},onFiltersChange:G=>{C(G),p()},onSortChange:G=>{B(G),p()},onHighlightRows:G=>{v(G),p()},onOpenRow:e.onOpenRow,onSelectRow:G=>{i&&i.selectRow?i.selectRow(G):v([G]),p()}});async function D(G){let w=String(G??"").trim();if(!w)return h();u=!0,I=[],l=[],p();try{if(QA(w).length>1){let M=[],L=await WA(w,y(),{onStep:F=>{M.push(F),I=M.slice(),p()}});s="tasks",a=L.summary}else if(ko.test(w)){let M=ve(f(),r,m()),L=OA(w,M,r,{referenceDate:e.referenceDate});s="insight",a=L.answer,l=L.table||[]}else{let M=PA(w,y());s=M.kind,a=M.message}}catch(M){console.error("[yuktai] ask failed",M),s=null,a="Something went wrong while answering. Please rephrase the question."}finally{u=!1,p()}return h()}function Q(){C([]),B(null),v([]),a="",s=null,l=[],I=[],p()}function x(G={}){Array.isArray(G.data)&&(o=G.data),Array.isArray(G.columns)&&(r=Ne(G.columns)),p()}return{ask:D,reset:Q,update:x,subscribe:A.subscribe,getState:h,get gridData(){return E()},get highlightIds(){return k().slice()},get filters(){return m().slice()},get sort(){return c()},get answer(){return a},get kind(){return s},get table(){return l.slice()},get steps(){return I.slice()},get busy(){return u},get visibleIds(){return E().map(G=>ie(G,t))}}}var cA={accessibility:'<circle cx="12" cy="4" r="2"/><path d="M4 8l8-1 8 1M12 7v5m-5 9 5-8 5 8M7 12l-2 5m12-5 2 5"/>',contrast:'<circle cx="12" cy="12" r="9"/><path d="M12 3a9 9 0 0 0 0 18z"/>',moon:'<path d="M20 14.5A8.5 8.5 0 0 1 9.5 4 8.5 8.5 0 1 0 20 14.5z"/>',motion:'<path d="M4 12h12m-5-5 5 5-5 5M20 5v14"/>',reading:'<path d="M4 5h16M4 10h12M4 15h16M4 20h10"/>',target:'<circle cx="12" cy="12" r="9"/><circle cx="12" cy="12" r="4"/>',speaker:'<path d="M4 9v6h4l5 4V5L8 9H4z"/><path d="M16 9a4 4 0 0 1 0 6M18.5 6.5a8 8 0 0 1 0 11"/>',palette:'<circle cx="12" cy="12" r="9"/><circle cx="8" cy="10" r="1.3"/><circle cx="12" cy="7.5" r="1.3"/><circle cx="16" cy="10" r="1.3"/><path d="M12 21a3 3 0 0 1 0-6h2"/>',skip:'<path d="M5 5l7 7-7 7M13 5l7 7-7 7"/>',close:'<path d="m18 6-12 12M6 6l12 12"/>',plus:'<path d="M12 5v14M5 12h14"/>',minus:'<path d="M5 12h14"/>',reset:'<path d="M3 12a9 9 0 1 0 3-6.7L3 8"/><path d="M3 3v5h5"/>',search:'<circle cx="11" cy="11" r="6.5"/><path d="m16 16 5 5"/>',sort:'<path d="m8 9 4-4 4 4m-8 6 4 4 4-4"/>',sortUp:'<path d="m6 15 6-6 6 6"/>',sortDown:'<path d="m6 9 6 6 6-6"/>',chevrons:'<path d="m8 9 4-4 4 4m-8 6 4 4 4-4"/>',grid:'<rect x="3" y="3" width="7" height="7" rx="1"/><rect x="14" y="3" width="7" height="7" rx="1"/><rect x="3" y="14" width="7" height="7" rx="1"/><rect x="14" y="14" width="7" height="7" rx="1"/>',cards:'<rect x="3" y="4" width="18" height="7" rx="1.5"/><rect x="3" y="13" width="18" height="7" rx="1.5"/>',chat:'<path d="M21 11.5a8.5 8.5 0 0 1-8.5 8.5 9 9 0 0 1-4-.9L3 21l1.9-5.5a9 9 0 0 1-.9-4A8.5 8.5 0 0 1 12.5 3H13a8.5 8.5 0 0 1 8 8z"/>',mic:'<rect x="9" y="2" width="6" height="12" rx="3"/><path d="M5 10a7 7 0 0 0 14 0M12 17v5m-4 0h8"/>',stop:'<rect x="6" y="6" width="12" height="12" rx="2"/>',download:'<path d="M12 3v12m-5-5 5 5 5-5M4 21h16"/>',copy:'<rect x="9" y="9" width="11" height="11" rx="2"/><path d="M5 15V5a2 2 0 0 1 2-2h10"/>',filter:'<path d="M4 5h16l-6 7v6l-4 2v-8z"/>',check:'<path d="m5 12 4 4L19 6"/>',left:'<path d="m15 18-6-6 6-6"/>',right:'<path d="m9 18 6-6-6-6"/>',first:'<path d="m11 18-6-6 6-6M19 18l-6-6 6-6"/>',last:'<path d="m13 18 6-6-6-6M5 18l6-6-6-6"/>',spark:'<path d="m12 3 1.9 5.8L20 11l-6.1 2.2L12 19l-1.9-5.8L4 11l6.1-2.2zM19 14l1.2 2.8L23 18l-2.8 1.2L19 22l-1.2-2.8L15 18l2.8-1.2z"/>',alert:'<path d="m12 3 10 18H2L12 3z"/><path d="M12 9v5m0 3h.01"/>',info:'<circle cx="12" cy="12" r="9"/><path d="M12 11v6m0-9h.01"/>',form:'<rect x="5" y="3" width="14" height="18" rx="2"/><path d="M9 8h6M9 12h6M9 16h3"/>',eye:'<path d="M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7S2 12 2 12z"/><circle cx="12" cy="12" r="3"/>',layout:'<rect x="3" y="3" width="18" height="18" rx="2"/><path d="M3 9h18M9 21V9"/>',wand:'<path d="m15 4 5 5L9 20H4v-5z"/><path d="m13 6 5 5"/>',undo:'<path d="M9 14 4 9l5-5"/><path d="M4 9h10a6 6 0 0 1 0 12h-3"/>',tools:'<path d="M14.7 6.3a4 4 0 0 0-5.4 5.4L3 18l3 3 6.3-6.3a4 4 0 0 0 5.4-5.4l-2.5 2.5-2.4-.6-.6-2.4z"/>',plug:'<path d="M9 2v6M15 2v6M6 8h12v4a6 6 0 0 1-12 0zM12 18v4"/>',home:'<path d="M3 11 12 4l9 7"/><path d="M5 10v10h5v-6h4v6h5V10"/>',menu:'<path d="M4 6h16M4 12h16M4 18h16"/>',book:'<path d="M12 6c-2-1.5-5-2-8-2v14c3 0 6 .5 8 2 2-1.5 5-2 8-2V4c-3 0-6 .5-8 2zM12 6v14"/>',calendar:'<rect x="3" y="5" width="18" height="16" rx="2"/><path d="M3 10h18M8 3v4M16 3v4M7.5 14h2M14.5 14h2M7.5 17.5h2"/>',clock:'<circle cx="12" cy="12" r="9"/><path d="M12 7v5l3 2"/>',person:'<circle cx="12" cy="8" r="4"/><path d="M4 21a8 8 0 0 1 16 0"/>',users:'<circle cx="9" cy="8" r="3.5"/><path d="M2 20a7 7 0 0 1 14 0"/><path d="M16 4.5a3.5 3.5 0 0 1 0 7M18 13.5a7 7 0 0 1 4 6.5"/>',globe:'<circle cx="12" cy="12" r="9"/><path d="M3 12h18M12 3a14 14 0 0 1 0 18M12 3a14 14 0 0 0 0 18"/>',lamp:'<path d="M12 3c2 2.6 3 4.3 3 6a3 3 0 0 1-6 0c0-1.7 1-3.4 3-6z"/><path d="M3 14h18c0 3.5-4 6-9 6s-9-2.5-9-6z"/><path d="M12 12v2"/>',play:'<circle cx="12" cy="12" r="9"/><path d="M10 8.5v7l6-3.5z"/>',pause:'<circle cx="12" cy="12" r="9"/><path d="M10 9v6M14 9v6"/>',send:'<path d="M21 3 3 10.5l7 3 3 7.5z"/><path d="m10 13.5 4.5-4.5"/>',share:'<circle cx="18" cy="5" r="2.5"/><circle cx="6" cy="12" r="2.5"/><circle cx="18" cy="19" r="2.5"/><path d="m8.2 10.8 7.6-4.6M8.2 13.2l7.6 4.6"/>',gift:'<rect x="3" y="8" width="18" height="4" rx="1"/><path d="M5 12v9h14v-9M12 8v13M12 8C10.5 5 7 4 7 6.5S10 8 12 8zm0 0c1.5-3 5-4 5-1.5S14 8 12 8z"/>',image:'<rect x="3" y="4" width="18" height="16" rx="2"/><circle cx="8.5" cy="9.5" r="1.5"/><path d="m21 15-5-5-10 10"/>',file:'<path d="M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z"/><path d="M14 3v5h5M9 13h6M9 17h6"/>',external:'<path d="M14 4h6v6M20 4l-9 9"/><path d="M18 14v5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1h5"/>',arrowUp:'<path d="M12 19V5m-6 6 6-6 6 6"/>',arrowLeft:'<path d="M19 12H5m6-6-6 6 6 6"/>',arrowRight:'<path d="M5 12h14m-6-6 6 6-6 6"/>',headphones:'<path d="M4 15v-3a8 8 0 0 1 16 0v3"/><rect x="3" y="14" width="4" height="7" rx="1.5"/><rect x="17" y="14" width="4" height="7" rx="1.5"/>',music:'<path d="M9 18V5l11-2v13"/><circle cx="6" cy="18" r="3"/><circle cx="17" cy="16" r="3"/>',pin:'<path d="M12 21s7-6.2 7-11.5a7 7 0 0 0-14 0C5 14.8 12 21 12 21z"/><circle cx="12" cy="9.5" r="2.5"/>',map:'<path d="M3 6l6-3 6 3 6-3v15l-6 3-6-3-6 3z"/><path d="M9 3v15M15 6v15"/>',pen:'<path d="M12 3 6 9l1.5 8h9L18 9z"/><path d="M12 3v7.5"/><circle cx="12" cy="12" r="1.5"/><path d="M8 21h8"/>',wallet:'<rect x="3" y="7" width="18" height="13" rx="2"/><path d="M16 13.5h2M6 7l9-4 2 4"/>',install:'<rect x="6" y="2" width="12" height="20" rx="2"/><path d="M12 6v8m-3-3 3 3 3-3M10 18h4"/>',help:'<circle cx="12" cy="12" r="9"/><path d="M9.5 9.5a2.5 2.5 0 1 1 3.5 2.3c-.6.3-1 .9-1 1.6v.6M12 17h.01"/>',temple:'<path d="M12 2v2M10 4h4l1 3H9zM8 7h8l1.5 4h-11zM6.5 11h11L19 15H5zM4 15h16v6H4z"/><path d="M10 21v-3a2 2 0 0 1 4 0v3"/>',meditate:'<circle cx="12" cy="4.5" r="2.2"/><path d="M12 8c-2.2 0-3.3 1.3-3.7 3.2L7.5 16M12 8c2.2 0 3.3 1.3 3.7 3.2l.8 4.8"/><path d="M4 18c3 2 5.5 2.4 8 1.2 2.5 1.2 5 .8 8-1.2"/><path d="M7.5 16c1.4 1.4 3 2 4.5 2s3.1-.6 4.5-2"/>',trophy:'<path d="M8 4h8v5a4 4 0 0 1-8 0z"/><path d="M8 6H5a3 3 0 0 0 3 4M16 6h3a3 3 0 0 1-3 4M12 13v4M8 21h8M9 17h6"/>',bulb:'<path d="M9 18h6M10 21h4"/><path d="M12 3a6 6 0 0 0-4 10.5c.7.7 1 1.5 1 2.5h6c0-1 .3-1.8 1-2.5A6 6 0 0 0 12 3z"/>',sun:'<circle cx="12" cy="12" r="4"/><path d="M12 2v2.5M12 19.5V22M4.9 4.9l1.8 1.8M17.3 17.3l1.8 1.8M2 12h2.5M19.5 12H22M4.9 19.1l1.8-1.8M17.3 6.7l1.8-1.8"/>',delete:'<path d="M4 7h16M10 11v6M14 11v6M6 7l1 13a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1l1-13M9 7V4h6v3"/>',robot:'<rect x="4" y="8" width="16" height="12" rx="3"/><path d="M12 8V4M9.5 4h5M2 13v3M22 13v3"/><circle cx="9" cy="14" r="1.3"/><circle cx="15" cy="14" r="1.3"/>',heart:'<path d="M12 20s-7.5-4.6-9.2-9.3A4.9 4.9 0 0 1 12 6.6a4.9 4.9 0 0 1 9.2 4.1C19.5 15.4 12 20 12 20z"/>',heartFilled:'<path fill="currentColor" d="M12 20s-7.5-4.6-9.2-9.3A4.9 4.9 0 0 1 12 6.6a4.9 4.9 0 0 1 9.2 4.1C19.5 15.4 12 20 12 20z"/>',hub:'<circle cx="12" cy="12" r="3"/><circle cx="5" cy="5" r="2"/><circle cx="19" cy="5" r="2"/><circle cx="5" cy="19" r="2"/><circle cx="19" cy="19" r="2"/><path d="m6.5 6.5 3.4 3.4M17.5 6.5l-3.4 3.4M6.5 17.5l3.4-3.4M17.5 17.5l-3.4-3.4"/>',code:'<path d="m8 7-5 5 5 5M16 7l5 5-5 5M14 4l-4 16"/>',text:'<path d="M3 7V5h11v2M8.5 5v14M6.5 19h4M14 12v-1.5h7V12M17.5 10.5V19M16 19h3"/>',bold:'<path d="M7 4h6a4 4 0 0 1 0 8H7zM7 12h7a4 4 0 0 1 0 8H7z"/>',italic:'<path d="M10 4h9M5 20h9M15 4 9 20"/>',underline:'<path d="M7 4v7a5 5 0 0 0 10 0V4M5 21h14"/>',alignLeft:'<path d="M4 5h16M4 9.5h9M4 14h16M4 18.5h9"/>',alignCenter:'<path d="M4 5h16M7.5 9.5h9M4 14h16M7.5 18.5h9"/>',alignRight:'<path d="M4 5h16M11 9.5h9M4 14h16M11 18.5h9"/>',alignJustify:'<path d="M4 5h16M4 9.5h16M4 14h16M4 18.5h16"/>',quote:'<path d="M4 18v-6.5A6.5 6.5 0 0 1 10.5 5M4 12h5.5v6H4zM13.5 18v-6.5A6.5 6.5 0 0 1 20 5M13.5 12H19v6h-5.5z"/>',title:'<path d="M5 6V4h14v2M12 4v16M9 20h6"/>',font:'<rect x="3" y="3" width="18" height="18" rx="3"/><path d="m8 17 4-10 4 10M9.4 13.5h5.2"/>',spellcheck:'<path d="m3 14 4-10 4 10M4.6 10.5h4.8M11 17l3 3 7-7"/>',abc:'<path d="m2 16 2.5-8L7 16M3 13.5h3M9.5 8v8h2.5a2 2 0 0 0 0-4H9.5h2a2 2 0 0 0 0-4H9.5M21 9.4a3.1 3.1 0 1 0 0 5.2"/>',pageBreak:'<path d="M6 3v5h12V3M6 21v-5h12v5M3 12h3M9 12h6M18 12h3"/>',link:'<path d="M10 14a4 4 0 0 0 5.7 0l3-3a4 4 0 0 0-5.7-5.7l-1 1"/><path d="M14 10a4 4 0 0 0-5.7 0l-3 3a4 4 0 0 0 5.7 5.7l1-1"/>',style:'<rect x="3" y="3" width="7" height="18" rx="2"/><path d="m10 7.5 4.4-2.6a2 2 0 0 1 2.7.7l3.2 5.6a2 2 0 0 1-.7 2.7L10 19"/><circle cx="6.5" cy="17" r="1"/>',lock:'<rect x="5" y="11" width="14" height="10" rx="2"/><path d="M8 11V8a4 4 0 0 1 8 0v3M12 15v2"/>',unlock:'<rect x="5" y="11" width="14" height="10" rx="2"/><path d="M8 11V8a4 4 0 0 1 7.6-1.8M12 15v2"/>',key:'<circle cx="8" cy="15" r="4"/><path d="m11 12 9-9M17 6l3 3M14.5 8.5l2 2"/>',redo:'<path d="m15 14 5-5-5-5"/><path d="M20 9H10a6 6 0 0 0 0 12h3"/>',swap:'<path d="M7 4 3 8l4 4M3 8h14M17 12l4 4-4 4M21 16H7"/>',shuffle:'<path d="M16 3h5v5M4 20 21 3M21 16v5h-5M15 15l6 6M4 4l5 5"/>',fullscreen:'<path d="M4 9V4h5M15 4h5v5M20 15v5h-5M9 20H4v-5"/>',fullscreenExit:'<path d="M9 4v5H4M20 9h-5V4M15 20v-5h5M4 15h5v5"/>',merge:'<circle cx="6" cy="5" r="2"/><circle cx="6" cy="19" r="2"/><circle cx="18" cy="12" r="2"/><path d="M6 7v10M6 7c0 4 4 5 10 5"/>',join:'<circle cx="9" cy="12" r="6"/><circle cx="15" cy="12" r="6"/>',touch:'<path d="M9 11V5a1.5 1.5 0 0 1 3 0v6M12 10a1.5 1.5 0 0 1 3 0v1M15 11a1.5 1.5 0 0 1 3 0v3c0 4-2.5 7-6 7-2.5 0-4-1-5.5-3.5L4.6 14a1.5 1.5 0 0 1 2.5-1.6L9 15"/>',volumeOff:'<path d="M4 9v6h4l5 4V5L8 9H4z"/><path d="m16.5 9.5 5 5M21.5 9.5l-5 5"/>',musicOff:'<path d="M9 13v5M9 7V5l11-2v9"/><circle cx="6" cy="18" r="3"/><path d="M3 3l18 18"/>',musicVideo:'<rect x="3" y="4" width="18" height="16" rx="2"/><path d="M10.5 15V8.5l5-1V13"/><circle cx="9" cy="15" r="1.5"/><circle cx="14" cy="13" r="1.5"/>',movie:'<rect x="3" y="9" width="18" height="11" rx="2"/><path d="m3.5 9-.6-3 16.6-3.4.6 3L3.5 9zM8.5 4.8l1.8 2.9M13.8 3.7l1.8 2.9"/>',slideshow:'<rect x="3" y="4" width="18" height="13" rx="2"/><path d="M10 8v5l4-2.5zM8 21h8M12 17v4"/>',storage:'<ellipse cx="12" cy="5" rx="8" ry="3"/><path d="M4 5v14c0 1.7 3.6 3 8 3s8-1.3 8-3V5M4 12c0 1.7 3.6 3 8 3s8-1.3 8-3"/>',api:'<path d="M3 17v-6a2.5 2.5 0 0 1 5 0v6M3 14h5M11 17V7h2.5a2.5 2.5 0 0 1 0 5H11M18 7h3M19.5 7v10M18 17h3"/>',dataObject:'<path d="M8 4H7a2 2 0 0 0-2 2v4l-2 2 2 2v4a2 2 0 0 0 2 2h1M16 4h1a2 2 0 0 1 2 2v4l2 2-2 2v4a2 2 0 0 1-2 2h-1"/>',computer:'<rect x="3" y="4" width="18" height="12" rx="2"/><path d="M8 20h8M12 16v4"/>',phone:'<rect x="6" y="2" width="12" height="20" rx="2"/><path d="M10.5 18.5h3"/>',cloud:'<path d="M7 19a5 5 0 0 1-.6-10A6.5 6.5 0 0 1 18.6 9.5 4.8 4.8 0 0 1 17.5 19z"/>',wifi:'<path d="M2 9a15 15 0 0 1 20 0M5 12.5a10 10 0 0 1 14 0M8.5 16a5 5 0 0 1 7 0M12 19.5h.01"/>',wifiOff:'<path d="M2 9a15 15 0 0 1 20 0M5 12.5a10 10 0 0 1 14 0M8.5 16a5 5 0 0 1 7 0M12 19.5h.01M3 3l18 18"/>',searchOff:'<circle cx="11" cy="11" r="6.5"/><path d="m16 16 5 5M8.7 8.7l4.6 4.6M13.3 8.7l-4.6 4.6"/>',eyeOff:'<path d="M10.6 5.1A10 10 0 0 1 12 5c6.5 0 10 7 10 7a17 17 0 0 1-2.2 3.2M6.6 6.6C3.8 8.4 2 12 2 12s3.5 7 10 7a9.7 9.7 0 0 0 5.4-1.6M9.9 9.9a3 3 0 0 0 4.2 4.2M3 3l18 18"/>',bookmark:'<path d="M6 3h12v18l-6-4-6 4z"/>',school:'<path d="m2 9 10-5 10 5-10 5z"/><path d="M6 11v5c0 1.5 2.7 3 6 3s6-1.5 6-3v-5M22 9v6"/>',gavel:'<path d="m13 3.5 7.5 7.5M10 6.5l7.5 7.5M11.5 5l7 7-3 3-7-7zM10 11.5 3.5 18a1.4 1.4 0 0 0 2 2L12 13.5M13 21h8"/>',architecture:'<circle cx="12" cy="5" r="2"/><path d="M12 3V2M11 7 5.5 21M13 7l5.5 14M8 15h8"/>',brain:'<path d="M11 5.5A3 3 0 0 0 5.6 7 3 3 0 0 0 4 12a3 3 0 0 0 1.6 5A3 3 0 0 0 11 18.5zM13 5.5A3 3 0 0 1 18.4 7 3 3 0 0 1 20 12a3 3 0 0 1-1.6 5 3 3 0 0 1-5.4 1.5z"/><path d="M8 10h3M13 14h3"/>',volunteer:'<path d="M12 11s-3.5-2.2-3.5-4.6a1.8 1.8 0 0 1 3.5-.7 1.8 1.8 0 0 1 3.5.7C15.5 8.8 12 11 12 11z"/><path d="M2 15h3l3.5 1.5H13a1.5 1.5 0 0 1 0 3H9.5M5 21l1.5-1.5H14l5.5-4a1.6 1.6 0 0 0-2-2.4L14 15.6"/>',radio:'<circle cx="12" cy="12" r="9"/>',radioChecked:'<circle cx="12" cy="12" r="9"/><circle cx="12" cy="12" r="4" fill="currentColor"/>',upload:'<path d="M12 15V3m-5 5 5-5 5 5M4 21h16"/>',arrowDown:'<path d="M12 5v14m-6-6 6 6 6-6"/>',factCheck:'<rect x="3" y="4" width="18" height="16" rx="2"/><path d="M7 9h4M7 13h4M7 17h2M13.5 13l2 2 3.5-3.5"/>',imageSearch:'<path d="M13 4H5a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-4"/><path d="m3 17 5-5 4 4"/><circle cx="17" cy="7" r="3"/><path d="m19.2 9.2 2.3 2.3"/>',documentScanner:'<path d="M3 7V4a1 1 0 0 1 1-1h3M17 3h3a1 1 0 0 1 1 1v3M21 17v3a1 1 0 0 1-1 1h-3M7 21H4a1 1 0 0 1-1-1v-3"/><path d="M7 8h10M7 12h10M7 16h6"/>',dashboard:'<rect x="3" y="3" width="8" height="10" rx="1.5"/><rect x="13" y="3" width="8" height="6" rx="1.5"/><rect x="3" y="15" width="8" height="6" rx="1.5"/><path d="M17 13v8M13 17h8"/>',cleaning:'<path d="m20 3-7.5 7.5"/><path d="M12.5 10.5c-2.5-1.6-6-1-7.4 1.7L3 20.5c3.2 1 7.2.4 10.2-1.6l.7-5.3c-.1-1.3-.6-2.3-1.4-3.1z"/><path d="M7.5 15.5 6 20.5M10.5 15l-1 5"/>',dragHandle:'<path d="M5 9h14M5 15h14"/>',zoomIn:'<circle cx="11" cy="11" r="6.5"/><path d="m16 16 5 5M8 11h6M11 8v6"/>',zoomOut:'<circle cx="11" cy="11" r="6.5"/><path d="m16 16 5 5M8 11h6"/>',insights:'<path d="m3 18 5-5 4 3 6-7"/><path d="M15 9h3v3"/><path d="m19 2.5.7 1.8 1.8.7-1.8.7-.7 1.8-.7-1.8-1.8-.7 1.8-.7z"/>',explore:'<circle cx="12" cy="12" r="9"/><path d="m15.5 8.5-2 5-5 2 2-5z"/>',save:'<path d="M5 3h11l5 5v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z"/><path d="M7 3v5h8V3M7 21v-7h10v7"/>',label:'<path d="M4 6h11l5 6-5 6H4z"/>',keyboard:'<rect x="2" y="6" width="20" height="12" rx="2"/><path d="M6 10h.01M10 10h.01M14 10h.01M18 10h.01M6 14h.01M18 14h.01M9 14h6"/>',trendingUp:'<path d="m3 17 6-6 4 4 8-8"/><path d="M15 7h6v6"/>',trendingDown:'<path d="m3 7 6 6 4-4 8 8"/><path d="M15 17h6v-6"/>',cake:'<path d="M4 21h16M5 21v-7a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v7M5 16.5c1.5 1 2.5 1 3.5 0s2.5-1 3.5 0 2.5 1 3.5 0 2.5-1 3.5 0M12 12V8.5M12 6c-.9-.9-.9-2 0-3.3.9 1.3.9 2.4 0 3.3z"/>',barChart:'<path d="M4 20h16M7 20v-6M12 20V5M17 20V10"/>',admin:'<path d="M12 3 4 6v6c0 4.5 3.4 8 8 9 4.6-1 8-4.5 8-9V6z"/><circle cx="12" cy="10" r="2.5"/><path d="M8 16.5c1-1.8 2.4-2.5 4-2.5s3 .7 4 2.5"/>',bugReport:'<rect x="7" y="8" width="10" height="12" rx="5"/><path d="M9 8.5a3 3 0 0 1 6 0M12 12v8M7 13H3M21 13h-4M7 17l-3 1.5M17 17l3 1.5M7.5 10 5 8M16.5 10 19 8"/>',sentimentSad:'<circle cx="12" cy="12" r="9"/><path d="M8 16.5c1-1.4 2.4-2 4-2s3 .6 4 2M9 9.5h.01M15 9.5h.01"/>',integration:'<rect x="5" y="4" width="14" height="17" rx="2"/><path d="M9 4V3h6v1M10 11l-2 2 2 2M14 11l2 2-2 2"/>',namaskar:'<path d="M12 5.5V15M12 5.5c-.6-1.7-2.4-2.2-3.1-.9L7.2 11.5 4.5 14.5l3 5H10l2-3.5M12 5.5c.6-1.7 2.4-2.2 3.1-.9l1.7 6.9 2.7 3-3 5H14l-2-3.5"/>',sunrise:'<path d="M3 19h18M7 19a5 5 0 0 1 10 0M12 3v6M9.5 5.5 12 3l2.5 2.5M4.9 11.9l1.4 1.4M19.1 11.9l-1.4 1.4M2 16h2M20 16h2"/>',sunset:'<path d="M3 19h18M7 19a5 5 0 0 1 10 0M12 3v6M9.5 6.5 12 9l2.5-2.5M4.9 11.9l1.4 1.4M19.1 11.9l-1.4 1.4M2 16h2M20 16h2"/>',login:'<path d="M14 4h4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-4M10 16l4-4-4-4M14 12H3"/>',logout:'<path d="M10 4H6a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h4M16 16l4-4-4-4M20 12H9"/>',speed:'<path d="M4.5 18a9 9 0 1 1 15 0"/><path d="m12 14 4-5"/><circle cx="12" cy="14" r="1.2"/>',repeat:'<path d="m17 2 3 3-3 3M4 11V9a4 4 0 0 1 4-4h12M7 22l-3-3 3-3M20 13v2a4 4 0 0 1-4 4H4"/>',loader:'<path d="M12 3v3M12 18v3M5.6 5.6l2.1 2.1M16.3 16.3l2.1 2.1M3 12h3M18 12h3M5.6 18.4l2.1-2.1M16.3 7.7l2.1-2.1"/>',star:'<path d="m12 3 2.8 5.7 6.2.9-4.5 4.4 1.1 6.2L12 17.3l-5.6 2.9 1.1-6.2L3 9.6l6.2-.9z"/>',shieldCheck:'<path d="M12 3 4 6v6c0 4.5 3.4 8 8 9 4.6-1 8-4.5 8-9V6z"/><path d="m8.5 12 2.5 2.5 4.5-4.5"/>'},Za=Object.keys(cA);var Mo=3,bi="#ffffff",$n="#111827";function DA(e,A){let t=Re(e),i=Re(A);return t&&i?iA(t,i):null}function wi(e){let A=DA(bi,e),t=DA($n,e);return A===null||t===null||A>=t?bi:$n}var Pn=new Set;function So(e,A){Pn.has(e)||(Pn.add(e),typeof console<"u"&&console.warn(`[yuktai icons] ${A}`))}function Go(e={}){let A=e.variant==="filled"?"filled":"outline",t=e.color||"currentColor";if(A==="outline")return{variant:A,color:t,glyph:t,contrast:null};let i=e.glyphColor||wi(t),o=DA(i,t);return o!==null&&o<Mo&&So(`${i}|${t}`,`glyph ${i} on ${t} is ${o}:1. WCAG 1.4.11 needs at least 3:1 for icons.`),{variant:A,color:t,glyph:i,contrast:o}}var No="translate(3.6 3.6) scale(0.7)",Fo="@media (forced-colors: active){.yi-bg{fill:CanvasText}.yi-glyph{stroke:Canvas;color:Canvas}}",Le=e=>String(e).replace(/[&<>"']/g,A=>({"&":"&","<":"<",">":">",'"':""","'":"'"})[A]);function zn(e,A={}){let t=cA[e]??cA.spark,i=A.size??20,{variant:o,color:r,glyph:n}=Go(A),a=A.strokeWidth??(o==="filled"?2.4:1.9),l=`<svg xmlns="http://www.w3.org/2000/svg" ${A.label?`role="img" aria-label="${Le(A.label)}"`:'aria-hidden="true"'} focusable="false" width="${Le(i)}" height="${Le(i)}" viewBox="0 0 24 24" fill="none" stroke-linecap="round" stroke-linejoin="round" data-variant="${o}">`;if(o==="outline")return`${l}<g stroke="${Le(r)}" stroke-width="${a}">${t}</g></svg>`;let I=A.shape==="circle"?`<circle class="yi-bg" cx="12" cy="12" r="12" fill="${Le(r)}"/>`:`<rect class="yi-bg" width="24" height="24" rx="6" fill="${Le(r)}"/>`;return`${l}<style>${Fo}</style>${I}<g class="yi-glyph" color="${Le(n)}" stroke="${Le(n)}" stroke-width="${a}" transform="${No}">${t}</g></svg>`}var Ye=()=>typeof window<"u"&&typeof document<"u";function pt(e){return String(e??"").replace(/[&<>"']/g,A=>({"&":"&","<":"<",">":">",'"':""","'":"'"})[A])}function g(e,A,...t){let i=document.createElement(e);if(A)for(let[o,r]of Object.entries(A))r==null||r===!1||(o.startsWith("on")&&typeof r=="function"?i.addEventListener(o.slice(2),r):o==="html"?i.innerHTML=r:o==="text"?i.textContent=r:r===!0?i.setAttribute(o,""):i.setAttribute(o,String(r)));for(let o of t.flat())o==null||o===!1||i.append(o instanceof Node?o:document.createTextNode(String(o)));return i}var Ro=0,X=(e="yv")=>`${e}-${++Ro}`;function yt(e,A){if(typeof e!="string"||!Ye())return A;let t=document.createElement("span");return t.style.color=e,t.style.color?e:A}var vi=()=>Ye()&&(window.matchMedia&&window.matchMedia("(prefers-reduced-motion: reduce)").matches||document.documentElement.hasAttribute("data-yuktai-reduce-motion")),On=Object.keys(cA);function ce(e,A=20,t,i){let o=typeof A=="object"&&A!==null?{...A}:{...i||{},size:A,label:t};return zn(e,o)}function q(e,A,t){let i=document.createElement("span");return i.className="yv-ic",i.innerHTML=ce(e,A,t),i}var Oe=null;function oe(e){!Ye()||!e||((!Oe||!document.contains(Oe))&&(Oe=g("div",{id:"yuktai-vanilla-live",class:"yv-sr",role:"status","aria-live":"polite","aria-atomic":"true"}),document.body.appendChild(Oe)),Oe.textContent="",setTimeout(()=>{Oe&&(Oe.textContent=String(e).slice(0,300))},30))}function MA(e,A,t="text/plain;charset=utf-8"){let i=URL.createObjectURL(new Blob([A],{type:t})),o=g("a",{href:i,download:e,hidden:!0});document.body.appendChild(o),o.click(),o.remove(),setTimeout(()=>URL.revokeObjectURL(i),1500)}async function Wn(e){try{return await navigator.clipboard.writeText(e),!0}catch{let A=g("textarea",{"aria-hidden":"true",style:"position:fixed;opacity:0;left:-9999px"});A.value=e,document.body.appendChild(A),A.select();let t=!1;try{t=document.execCommand("copy")}catch{t=!1}return A.remove(),t}}function xi(e){let A=String(e??"");return/^[=+\-@\t\r]/.test(A)&&(A="'"+A),'"'+A.replace(/"/g,'""')+'"'}function Vn(e){let A=(e||[]).map(t=>{try{return document.querySelector(t)}catch{return null}}).filter(Boolean);return A.forEach(t=>{t.setAttribute("data-yv-flash",""),setTimeout(()=>t.removeAttribute("data-yv-flash"),4e3)}),A[0]&&A[0].scrollIntoView({block:"center",behavior:vi()?"auto":"smooth"}),A.length}function mt(e,A){if(!Ye()||document.getElementById("yuktai-vanilla-css"))return;let t=document.createElement("style");t.id="yuktai-vanilla-css",t.textContent=`
|
|
402
395
|
:root{--yv-primary:${e}}
|
|
403
396
|
.yv-sr{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
|
|
404
397
|
.yv-ic{display:inline-flex;line-height:0}
|
|
@@ -539,6 +532,6 @@ Missing landmarks: ${n.join(", ")}.`:""}`,targets:[],suggestions:n.includes("mai
|
|
|
539
532
|
.yv-status:empty{display:none}
|
|
540
533
|
@media (max-width:560px){.yv-dialog{${A}:8px;width:calc(100vw - 16px)}.yv-toolbar{align-items:stretch}.yv-search{flex-basis:100%}}
|
|
541
534
|
@media (prefers-reduced-motion:reduce){.yv-switch span,.yv-switch span::after{transition:none}}
|
|
542
|
-
`,document.head.appendChild(t)}var Ro={query:"Grid query",anomalies:"Anomalies",summary:"Summary",insight:"BI insight",tasks:"Task steps"};function mt(e,A,t={}){let i=typeof e=="string"?document.querySelector(e):e;if(!i)throw new Error("mountAgenticGridBar: container not found");if(!A||typeof A.ask!="function")throw new Error("mountAgenticGridBar: pass the object from createAgenticGrid() or grid.agentic");let o=t.title||"Ask about this data",r=X("yv-q"),n=X("yv-qh"),a=g("input",{id:r,class:"yv-input",type:"text",autocomplete:"off",placeholder:t.placeholder||"Ask the grid\u2026 e.g. salary over 1 lakh in Hyderabad","aria-describedby":n}),s=g("button",{type:"submit",class:"yv-btn yv-primary"},q("spark",16),"Ask"),l=g("button",{type:"button",class:"yv-btn"},q("reset",16),"Show all rows"),I=g("p",{class:"yv-muted",style:"margin:10px 0 0",hidden:!0}),u=g("div",{class:"yv-answer",role:"status","aria-live":"polite"}),m=g("div"),c=t.examples||["salary over 1 lakh","anything unusual?","average salary by department","show salary over 80k, then sort by salary, then summarize"],k=g("div",{class:"yv-chips","aria-label":"Example questions"},...c.map(E=>g("button",{type:"button",class:"yv-chip","data-example":E},E))),f=g("form",{class:"yv-row",role:"search","aria-label":o},g("label",{for:r,class:"yv-sr"},o),a,s,l),C=g("section",{class:`yv-box yv-agentic-bar${t.theme?" yv-theme-"+t.theme:""}`,"aria-label":o},g("h3",null,q("spark",16)," ",o),g("p",{id:n,class:"yv-muted",style:"margin:0 0 8px"},t.hint||"Plain-English questions. Understands 10k, 1.5 lakh, 2cr. Every answer says which filters it used."),f,k,I,u,m);i.appendChild(C);function B(E){if(s.disabled=!!E.busy,C.setAttribute("aria-busy",String(!!E.busy)),!E.busy){if(u.textContent=E.answer||"",I.hidden=!E.kind,I.textContent=E.kind?`${Ro[E.kind]||E.kind} \xB7 ${E.visibleIds.length} row(s) shown`:"",m.replaceChildren(),E.table&&E.table.length){let h=Object.keys(E.table[0]),p=g("table",{class:"yv-mini"});p.innerHTML=`<caption class="yv-sr">Answer table</caption><thead><tr>${h.map(y=>`<th scope="col">${ht(y)}</th>`).join("")}</tr></thead><tbody>${E.table.map(y=>`<tr>${h.map(D=>`<td>${ht(y[D])}</td>`).join("")}</tr>`).join("")}</tbody>`,m.append(g("div",{style:"overflow-x:auto"},p))}E.steps&&E.steps.length&&m.append(g("ol",{class:"yv-steps","aria-label":"Steps"},...E.steps.map(h=>g("li",null,g("span",{class:h.success===!1?"yv-fail":"yv-ok"},h.success===!1?"\u2717 ":"\u2713 "),g("b",null,h.action),": ",h.message||h.text))))}}let v=A.subscribe(B);return f.addEventListener("submit",E=>{E.preventDefault(),A.ask(a.value)}),l.addEventListener("click",()=>{a.value="",A.reset()}),k.addEventListener("click",E=>{let h=E.target.closest("[data-example]");h&&(a.value=h.getAttribute("data-example"),A.ask(a.value))}),{element:C,ask:E=>(a.value=E,A.ask(E)),destroy(){v(),C.remove()}}}var To={en:{search:"Search\u2026",searchAria:"Search grid",rows:"rows",selected:"selected",loading:"Loading\u2026",noData:"No data found.",selectRow:e=>`Select row ${e}`,selectPage:"Select all rows on this page",pageSize:"Rows per page",page:(e,A)=>`Page ${e} of ${A}`,showing:(e,A,t)=>t?`Showing ${e}\u2013${A} of ${t}`:"No rows",first:"First page",previous:"Previous page",next:"Next page",last:"Last page",yes:"Yes",no:"No",sortedAsc:e=>`Sorted by ${e}, ascending`,sortedDesc:e=>`Sorted by ${e}, descending`,sortCleared:"Sorting cleared",filters:e=>`${e} filter(s) applied`,clearFilters:"Clear filters",removeFilter:e=>`Remove filter: ${e}`,export:"Export CSV",tableView:"Table view",cardView:"Card view",highlighted:"highlighted",results:e=>`${e} result(s)`,ops:{contains:"contains",equals:"is",startsWith:"starts with",endsWith:"ends with",greaterThan:">",lessThan:"<",between:"between"}},te:{search:"\u0C36\u0C4B\u0C27\u0C3F\u0C02\u0C1A\u0C02\u0C21\u0C3F\u2026",searchAria:"\u0C17\u0C4D\u0C30\u0C3F\u0C21\u0C4D\u200C\u0C32\u0C4B \u0C36\u0C4B\u0C27\u0C3F\u0C02\u0C1A\u0C02\u0C21\u0C3F",rows:"\u0C35\u0C30\u0C41\u0C38\u0C32\u0C41",selected:"\u0C0E\u0C02\u0C1A\u0C41\u0C15\u0C41\u0C28\u0C4D\u0C28\u0C35\u0C3F",loading:"\u0C32\u0C4B\u0C21\u0C4D \u0C05\u0C35\u0C41\u0C24\u0C4B\u0C02\u0C26\u0C3F\u2026",noData:"\u0C21\u0C47\u0C1F\u0C3E \u0C15\u0C28\u0C2C\u0C21\u0C32\u0C47\u0C26\u0C41.",selectRow:e=>`\u0C35\u0C30\u0C41\u0C38 ${e} \u0C0E\u0C02\u0C1A\u0C41\u0C15\u0C4B\u0C02\u0C21\u0C3F`,selectPage:"\u0C08 \u0C2A\u0C47\u0C1C\u0C40\u0C32\u0C4B\u0C28\u0C3F \u0C05\u0C28\u0C4D\u0C28\u0C3F \u0C35\u0C30\u0C41\u0C38\u0C32\u0C41 \u0C0E\u0C02\u0C1A\u0C41\u0C15\u0C4B\u0C02\u0C21\u0C3F",pageSize:"\u0C2A\u0C47\u0C1C\u0C40 \u0C2A\u0C30\u0C3F\u0C2E\u0C3E\u0C23\u0C02",page:(e,A)=>`\u0C2A\u0C47\u0C1C\u0C40 ${e} / ${A}`,showing:(e,A,t)=>t?`${t} \u0C32\u0C4B ${e}\u2013${A}`:"\u0C35\u0C30\u0C41\u0C38\u0C32\u0C41 \u0C32\u0C47\u0C35\u0C41",first:"\u0C2E\u0C4A\u0C26\u0C1F\u0C3F \u0C2A\u0C47\u0C1C\u0C40",previous:"\u0C35\u0C46\u0C28\u0C41\u0C15\u0C15\u0C41",next:"\u0C2E\u0C41\u0C02\u0C26\u0C41\u0C15\u0C41",last:"\u0C1A\u0C3F\u0C35\u0C30\u0C3F \u0C2A\u0C47\u0C1C\u0C40",yes:"\u0C05\u0C35\u0C41\u0C28\u0C41",no:"\u0C15\u0C3E\u0C26\u0C41",sortedAsc:e=>`${e} \u0C2A\u0C4D\u0C30\u0C15\u0C3E\u0C30\u0C02 \u0C06\u0C30\u0C4B\u0C39\u0C23 \u0C15\u0C4D\u0C30\u0C2E\u0C02`,sortedDesc:e=>`${e} \u0C2A\u0C4D\u0C30\u0C15\u0C3E\u0C30\u0C02 \u0C05\u0C35\u0C30\u0C4B\u0C39\u0C23 \u0C15\u0C4D\u0C30\u0C2E\u0C02`,sortCleared:"\u0C15\u0C4D\u0C30\u0C2E\u0C02 \u0C24\u0C40\u0C38\u0C47\u0C36\u0C3E\u0C30\u0C41",filters:e=>`${e} \u0C2B\u0C3F\u0C32\u0C4D\u0C1F\u0C30\u0C4D(\u0C32\u0C41) \u0C35\u0C47\u0C36\u0C3E\u0C30\u0C41`,clearFilters:"\u0C2B\u0C3F\u0C32\u0C4D\u0C1F\u0C30\u0C4D\u0C32\u0C41 \u0C24\u0C40\u0C38\u0C47\u0C2F\u0C02\u0C21\u0C3F",removeFilter:e=>`\u0C2B\u0C3F\u0C32\u0C4D\u0C1F\u0C30\u0C4D \u0C24\u0C40\u0C38\u0C47\u0C2F\u0C02\u0C21\u0C3F: ${e}`,export:"CSV \u0C21\u0C4C\u0C28\u0C4D\u200C\u0C32\u0C4B\u0C21\u0C4D",tableView:"\u0C2A\u0C1F\u0C4D\u0C1F\u0C3F\u0C15",cardView:"\u0C15\u0C3E\u0C30\u0C4D\u0C21\u0C41\u0C32\u0C41",highlighted:"\u0C39\u0C48\u0C32\u0C48\u0C1F\u0C4D",results:e=>`${e} \u0C2B\u0C32\u0C3F\u0C24\u0C3E\u0C32\u0C41`,ops:{contains:"\u0C32\u0C4B \u0C09\u0C02\u0C26\u0C3F",equals:"=",startsWith:"\u0C24\u0C4B \u0C2E\u0C4A\u0C26\u0C32\u0C41",endsWith:"\u0C24\u0C4B \u0C2E\u0C41\u0C17\u0C3F\u0C02\u0C2A\u0C41",greaterThan:">",lessThan:"<",between:"\u0C2E\u0C27\u0C4D\u0C2F"}}},Vn=["default","high-contrast","dark","color-blind","dyslexia"],MA=e=>String(e??"").normalize("NFC").toLowerCase();function Xn(e,A){return(Array.isArray(e)&&e.length?e:A[0]?Object.keys(A[0]).map(i=>({key:i,label:i})):[]).map(i=>({key:String(i.key),label:i.label==null?String(i.key):String(i.label),sortable:i.sortable!==!1,type:i.type||"text",align:i.align||(i.type==="number"?"right":"left"),render:typeof i.render=="function"?i.render:null,hiddenOnMobile:!!i.hiddenOnMobile,width:i.width}))}function jn(e,A,t,i){let o=typeof e=="string"?document.querySelector(e):e;if(!o||typeof o.appendChild!="function")throw new Error("renderGrid: container not found. Pass an element or a CSS selector.");let r=Array.isArray(A)?{...i||{},data:A,columns:t}:{...A||{}},n=r.locale||"en-IN",a=String(n).split("-")[0],s=To[a==="te"?"te":"en"],l=a==="te"?"te":"en",I=a==="en"||a==="te"?"en-IN":n,u=r.rowKey||"id",m=r.label||r.ariaLabel||"Data grid",c=r.pagination===!1?!1:typeof r.pagination=="object"?r.pagination:{},k=c&&c.sizeOptions||[10,20,50,100],f=r.selectable!==!1,C=r.autoScrollToHighlight!==!1,B=Number(r.mobileBreakpoint)||640,v=Array.isArray(r.data)?r.data.slice():[],E=Xn(r.columns,v),h=Ne(E),p=[],y=null,D="",Q=1,x=Number(c&&c.pageSize||r.pageSize)||10,G=Vn.includes(r.theme)?r.theme:"default",w=["table","card","auto"].includes(r.view)?r.view:"auto",M=!!r.loading,L=!1,F={r:1,c:0},R=new Set((r.selectedKeys||[]).map(String)),H=new Set((r.highlightIds||[]).map(String)),Ie={grid:X("yv-grid"),title:X("yv-title"),status:X("yv-status")};k.includes(x)||k.push(x),k.sort((d,b)=>d-b);let O=d=>ie(d,u)||String(v.indexOf(d)),_=d=>{let b=E.find(S=>S.type==="text")||E[0];return b?String(d[b.key]??O(d)):O(d)},ee=g("section",{class:`yv-grid yv-theme-${G}${r.wrap?" yv-wrap":""}${r.className?" "+r.className:""}`,role:"region","aria-labelledby":Ie.title,lang:r.lang||(a!=="en"?n:null)});r.maxHeight&&ee.style.setProperty("--yv-max-height",typeof r.maxHeight=="number"?`${r.maxHeight}px`:r.maxHeight);let NA=g("h3",{id:Ie.title,class:r.showTitle?"yv-grid-title":"yv-sr"},m);r.showTitle&&(NA.style.cssText="margin:0;padding:12px 12px 0;font-size:1.05em");let be=g("input",{type:"search",placeholder:s.search,"aria-label":s.searchAria,"aria-controls":Ie.grid,autocomplete:"off",spellcheck:"false"}),Qt=r.search===!1?null:g("label",{class:"yv-search"},q("search",18),be),Si=g("span",{class:"yv-info","aria-hidden":"true"}),IA=g("button",{type:"button",class:"yv-btn yv-icon","data-view-toggle":""}),Gi=r.exportable===!1?null:g("button",{type:"button",class:"yv-btn"},q("download",16),s.export),Ar=g("div",{class:"yv-tools"},w==="auto"||r.viewToggle?IA:null,Gi),tr=g("div",{class:"yv-toolbar"},Qt,Si,Ar),Ge=g("div",{class:"yv-filterbar",hidden:!0,"aria-label":s.filters(0)}),Bt=g("div",{class:"yv-slot"}),ae=g("div",{class:"yv-body",id:Ie.grid}),FA=g("div",{class:"yv-pager"}),Et=g("p",{class:"yv-sr",id:Ie.status,role:"status","aria-live":"polite","aria-atomic":"true"});ee.append(NA,tr,Ge,Bt,ae,FA,Et),o.appendChild(ee);let bt=null,RA=d=>{clearTimeout(bt),Et.textContent="",bt=setTimeout(()=>Et.textContent=d,40)},TA=r.engine==="rust"||r.engine==="auto"?r.engine:"ts",ye=null,LA=null,YA={data:null,columns:null,ready:!1};function Ni(){return ye||LA||!vA(TA,v.length)?LA||Promise.resolve(ye?"rust":"ts"):(LA=an().then(d=>(ye=d?_A.create(d):null,ye&&ee.isConnected&&V(),ye?"rust":"ts")),LA)}function ir(d){if(!ye||!vA(TA,v.length))return null;if(YA.data!==v||YA.columns!==E){let S=v.map(N=>E.map(T=>MA(N[T.key])+et+MA(We(T,N[T.key]))).join(et));YA={data:v,columns:E,ready:ye.setSearchTexts(S)}}if(!YA.ready)return null;let b=ye.search(d);return b?ti(v,b):null}function nr(d,b,S){if(!ye||!vA(TA,v.length)||b.type!=="number"&&b.type!=="date")return null;let N=new Float64Array(d.length),T=1/0,Y=-1/0;for(let $=0;$<d.length;$++){let P=d[$][b.key];if(P==null||P===""){N[$]=NaN;continue}let W=b.type==="number"?Number(P):new Date(P).getTime();if(!Number.isFinite(W))return null;N[$]=W,W<T&&(T=W),W>Y&&(Y=W)}if(T===1/0||!Number.isFinite(Y-T))return null;let J=ye.sortByKeys(N,S==="desc");return J?ti(d,J):null}function rr(d,b,S,N){let T=d[S.key],Y=b[S.key];if(T==null||T==="")return Y==null||Y===""?0:1;if(Y==null||Y==="")return-1;let J;return S.type==="number"?J=Number(T)-Number(Y):S.type==="date"?J=new Date(T).getTime()-new Date(Y).getTime():J=String(T).localeCompare(String(Y),n,{numeric:!0,sensitivity:"base"}),Number.isFinite(J)||(J=String(T).localeCompare(String(Y))),N==="desc"?-J:J}let De=null,wt=null;function Ue(){Ni();let d=performance.now(),b=null,S=null,N,T=D?MA(D):"",Y=T?ir(T):null;Y?(b="rust",N=ve(Y,h,p)):(N=ve(v,h,p),T&&(b="ts",N=N.filter($=>E.some(P=>MA($[P.key]).includes(T)||MA(We(P,$[P.key])).includes(T)))));let J=N.length;if(y&&y.key){let $=E.find(P=>P.key===y.key);if($){let P=nr(N,$,y.direction);S=P?"rust":"ts",N=P||N.slice().sort((W,K)=>rr(W,K,$,y.direction))}}return De=b||S?{query:T?D:"",ms:performance.now()-d,rows:J,engine:b==="rust"||S==="rust"?"rust":"ts"}:null,N}let vt=null,xt=null;function We(d,b){if(b==null||b==="")return"";if(d.type==="number"&&Number.isFinite(Number(b)))return vt=vt||new Intl.NumberFormat(I),vt.format(Number(b));if(d.type==="date"){let S=new Date(b);return Number.isNaN(S.getTime())?String(b):(xt=xt||new Intl.DateTimeFormat(I,{year:"numeric",month:"short",day:"numeric"}),xt.format(S))}return d.type==="boolean"?b===!0||b==="true"?s.yes:s.no:String(b)}function Fi(d,b,S){let N=b[d.key];if(d.render)try{let T=d.render(N,b,S);return T instanceof Node?T:document.createTextNode(T==null?"":String(T))}catch(T){return console.error("[yuktai] column render failed",d.key,T),document.createTextNode(We(d,N))}return d.type==="badge"&&N!=null&&N!==""?g("span",{class:"yv-cellbadge"},String(N)):document.createTextNode(We(d,N))}let dA=()=>w==="card"||w==="auto"&&L;function Ve(d){if(c===!1)return{pages:1,start:0,end:d};let b=Math.max(1,Math.ceil(d/x));return Q=Math.min(Math.max(1,Q),b),{pages:b,start:(Q-1)*x,end:Math.min(d,Q*x)}}let me=[];function V(){let d=Ue();me=d;let{pages:b,start:S,end:N}=Ve(d.length),T=d.slice(S,N);ee.className=`yv-grid yv-theme-${G}${r.wrap?" yv-wrap":""}${r.className?" "+r.className:""}`,ee.setAttribute("aria-busy",String(M)),Si.textContent=`${d.length.toLocaleString(I)} ${s.rows}${f?` \xB7 ${R.size.toLocaleString(I)} ${s.selected}`:""}${r.showSearchTime&&De?` \xB7 ${sn(De.ms)} \xB7 ${De.engine==="rust"?"Rust":"TS"}`:""}`;let Y=De?[D,y&&y.key,y&&y.direction,p,v]:null,J=!Y||!wt||Y.some((P,W)=>P!==wt[W]);De&&J&&typeof r.onSearchTime=="function"&&r.onSearchTime({...De}),wt=Y,IA.innerHTML=ce(dA()?"grid":"cards",18),IA.setAttribute("aria-label",dA()?s.tableView:s.cardView),IA.title=dA()?s.tableView:s.cardView,sr();let $=ae.contains(document.activeElement);ae.replaceChildren(M?g("div",{class:"yv-loading",role:"status"},s.loading):dA()?ar(T,S):or(T,S,d.length)),$&&!M&&Ti(),gr(d.length,b,S,N)}function or(d,b,S){let N=E,T=N.length+(f?1:0),Y=g("table",{class:"yv-table",role:"grid","aria-labelledby":Ie.title,"aria-rowcount":S+1,"aria-colcount":T,"aria-multiselectable":f?"true":null}),J=g("tr",{role:"row","aria-rowindex":1});if(f){let K=d.length>0&&d.every(Qe=>R.has(O(Qe))),fe=d.some(Qe=>R.has(O(Qe))),Ae=g("input",{type:"checkbox","data-select-page":"","aria-label":s.selectPage,tabindex:-1});Ae.checked=K,Ae.indeterminate=!K&&fe,J.append(g("th",{role:"columnheader",scope:"col","aria-colindex":1,tabindex:-1,"data-col":0},g("label",{class:"yv-check"},Ae)))}N.forEach((K,fe)=>{let Ae=fe+(f?1:0),Qe=y&&y.key===K.key?y.direction:null,Je=g("th",{role:"columnheader",scope:"col","aria-colindex":Ae+1,"aria-sort":K.sortable?Qe==="asc"?"ascending":Qe==="desc"?"descending":"none":null,class:K.align!=="left"?`yv-align-${K.align}`:null,tabindex:-1,"data-col":Ae});if(K.width&&(Je.style.width=typeof K.width=="number"?`${K.width}px`:K.width),K.sortable){let _e=g("button",{type:"button",class:"yv-sortbtn","data-sort":K.key,tabindex:-1},K.label);_e.insertAdjacentHTML("beforeend",ce(Qe==="asc"?"sortUp":Qe==="desc"?"sortDown":"sort",14)),Je.append(_e)}else Je.append(K.label);J.append(Je)});let $=g("tbody");if(!d.length){let K=r.empty instanceof Node?r.empty.cloneNode(!0):document.createTextNode(r.empty?String(r.empty):s.noData);$.append(g("tr",{role:"row","aria-rowindex":2},g("td",{role:"gridcell",class:"yv-empty",colspan:T,tabindex:-1,"data-col":0},K)))}d.forEach((K,fe)=>{let Ae=O(K),Qe=R.has(Ae),Je=H.has(Ae),_e=g("tr",{role:"row","aria-rowindex":b+fe+2,"aria-selected":f?String(Qe):null,"data-yuktai-row-id":Ae,class:Je?"yv-hl":null});if(f){let eA=g("input",{type:"checkbox","data-select":Ae,"aria-label":s.selectRow(_(K)),tabindex:-1});eA.checked=Qe,_e.append(g("td",{role:"gridcell","aria-colindex":1,tabindex:-1,"data-col":0},g("label",{class:"yv-check"},eA)))}N.forEach((eA,Yi)=>{let Ui=Yi+(f?1:0),Mt=g("td",{role:"gridcell","aria-colindex":Ui+1,tabindex:-1,"data-col":Ui,class:eA.align!=="left"?`yv-align-${eA.align}`:null});Mt.append(Fi(eA,K,b+fe)),Yi===0&&Je&&Mt.append(g("span",{class:"yv-sr"},` (${s.highlighted})`)),_e.append(Mt)}),$.append(_e)}),Y.append(g("thead",null,J),$);let P=Y.querySelectorAll("tr");F.r=Math.min(F.r,P.length-1);let W=Ri(Y,F.r,F.c)||Ri(Y,0,0);return W&&W.setAttribute("tabindex","0"),g("div",{class:"yv-tablewrap"},Y)}function ar(d,b){if(!d.length){let N=r.empty instanceof Node?r.empty.cloneNode(!0):document.createTextNode(r.empty?String(r.empty):s.noData);return g("div",{class:"yv-empty",role:"status"},N)}let S=g("ul",{class:"yv-cards","aria-labelledby":Ie.title});return d.forEach((N,T)=>{let Y=O(N),J=R.has(Y),$=H.has(Y),P=X("yv-card"),W=g("li",{class:`yv-card${$?" yv-hl":""}`,"data-yuktai-row-id":Y,"aria-labelledby":P,"aria-selected":f?String(J):null,tabindex:-1}),K=g("div",{class:"yv-card-head"},g("p",{class:"yv-card-title",id:P},_(N),$?g("span",{class:"yv-sr"},` (${s.highlighted})`):null));if(f){let Ae=g("input",{type:"checkbox","data-select":Y,"aria-label":s.selectRow(_(N))});Ae.checked=J,K.append(g("label",{class:"yv-check"},Ae))}let fe=g("dl");E.forEach(Ae=>{Ae.hiddenOnMobile||fe.append(g("dt",null,Ae.label),g("dd",null,Fi(Ae,N,b+T)))}),W.append(K,fe),typeof r.onRowClick=="function"&&W.append(g("button",{type:"button",class:"yv-btn yv-small","data-open":Y,style:"margin-top:8px"},r.openLabel||(a==="te"?"\u0C24\u0C46\u0C30\u0C41\u0C35\u0C41":"Open"))),S.append(W)}),S}function sr(){if(Ge.replaceChildren(),!p.length){Ge.hidden=!0;return}Ge.hidden=!1,Ge.setAttribute("aria-label",s.filters(p.length)),Ge.append(g("span",{class:"yv-muted"},q("filter",15)," ",s.filters(p.length))),p.forEach((d,b)=>{let S=E.find(J=>J.key===d.key),N=Array.isArray(d.value)?d.value.map(J=>We(S||{},J)).join(" \u2013 "):S?We(S,d.value):String(d.value),T=`${S?S.label:d.key} ${s.ops[d.operator]||d.operator} ${N}`,Y=g("button",{type:"button",class:"yv-chip","data-remove-filter":b,"aria-label":s.removeFilter(T)},T,q("close",14));Ge.append(Y)}),Ge.append(g("button",{type:"button",class:"yv-btn yv-small","data-clear-filters":""},s.clearFilters))}function gr(d,b,S,N){if(FA.replaceChildren(),c===!1){FA.append(g("span",{class:"yv-muted"},s.results(d.toLocaleString(I))));return}let T=P=>P.toLocaleString(I),Y=g("span",{class:"yv-muted"},d?s.showing(T(S+1),T(N),T(d)):s.showing(0,0,0)),J=g("div",{class:"yv-pages"});if(c.showSizeChanger!==!1){let P=X("yv-size"),W=g("select",{id:P,"data-page-size":""},...k.map(K=>g("option",{value:K,selected:K===x},String(K))));J.append(g("label",{for:P,class:"yv-muted"},s.pageSize),W)}let $=(P,W,K,fe)=>{let Ae=g("button",{type:"button",class:"yv-btn yv-icon","aria-label":W,title:W,disabled:K,"data-page":fe});return Ae.innerHTML=ce(P,18),Ae};J.append($("first",s.first,Q<=1,"first"),$("left",s.previous,Q<=1,"prev"),g("span",{class:"yv-muted","aria-current":"page"},s.page(T(Q),T(b))),$("right",s.next,Q>=b,"next"),$("last",s.last,Q>=b,"last")),FA.append(Y,J)}function Ri(d,b,S){let N=d.querySelectorAll("tr")[b];if(!N)return null;let T=N.querySelectorAll("th,td");return T[Math.min(S,T.length-1)]||null}function Me(d,b){let S=ae.querySelector("table");if(!S)return;let N=S.querySelectorAll("tr");d=Math.max(0,Math.min(d,N.length-1));let T=N[d].querySelectorAll("th,td");b=Math.max(0,Math.min(b,T.length-1)),S.querySelectorAll('[tabindex="0"]').forEach(J=>J.setAttribute("tabindex","-1"));let Y=T[b];Y.setAttribute("tabindex","0"),F={r:d,c:b},Y.focus()}function Ti(){if(ae.querySelector("table"))Me(F.r,F.c);else{let b=ae.querySelector(".yv-card");b&&b.focus()}}function lr(d){let b=ae.querySelector("table"),S=d.target.closest&&d.target.closest("th,td");if(!b||!S||!b.contains(S))return;let N=S.parentElement,T=Array.prototype.indexOf.call(b.querySelectorAll("tr"),N),Y=Array.prototype.indexOf.call(N.querySelectorAll("th,td"),S),J=b.querySelectorAll("tr").length-1,$=!0;switch(d.key){case"ArrowRight":Me(T,Y+1);break;case"ArrowLeft":Me(T,Y-1);break;case"ArrowDown":Me(T+1,Y);break;case"ArrowUp":Me(T-1,Y);break;case"Home":d.ctrlKey?Me(0,0):Me(T,0);break;case"End":d.ctrlKey?Me(J,999):Me(T,999);break;case"PageDown":c!==!1&&(F={r:Math.max(1,T),c:Y},je(Q+1,!0));break;case"PageUp":c!==!1&&(F={r:Math.max(1,T),c:Y},je(Q-1,!0));break;case"Enter":case" ":{let P=S.querySelector("[data-sort]"),W=S.querySelector("input[type=checkbox]");P?Li(P.getAttribute("data-sort")):W?W.click():d.key==="Enter"&&N.hasAttribute("data-yuktai-row-id")&&typeof r.onRowClick=="function"?uA(N.getAttribute("data-yuktai-row-id")):d.key===" "&&f&&N.hasAttribute("data-yuktai-row-id")?cr(N.getAttribute("data-yuktai-row-id")):$=!1;break}default:$=!1}$&&(d.preventDefault(),d.stopPropagation())}function Li(d){let b=E.find(N=>N.key===d);if(!b||!b.sortable)return;!y||y.key!==d?y={key:d,direction:"asc"}:y.direction==="asc"?y={key:d,direction:"desc"}:y=null,Q=1,ae.querySelector("table")&&ae.contains(document.activeElement)&&(F={r:0,c:F.c}),V(),RA(y?y.direction==="asc"?s.sortedAsc(b.label):s.sortedDesc(b.label):s.sortCleared),r.onSortChange&&r.onSortChange(y?{key:y.key,direction:y.direction}:null)}function Xe(){r.onSelectionChange&&r.onSelectionChange(Array.from(R)),ee.dispatchEvent(new CustomEvent("yuktai:selection",{detail:{keys:Array.from(R)},bubbles:!0}))}function cr(d,b){(b===void 0?!R.has(d):b)?R.add(d):R.delete(d),V(),Xe()}function je(d,b){let{pages:S}=Ve(me.length),N=Math.min(Math.max(1,d),S);N===Q&&!b||(Q=N,V(),RA(s.page(Q,S)),b&&ae.querySelector("table")&&Ti())}function uA(d){let b=v.find(S=>O(S)===String(d));return b?(typeof r.onRowClick=="function"&&r.onRowClick(b,v.indexOf(b)),typeof r.onOpenRow=="function"&&r.onOpenRow(String(d)),!0):!1}function CA(d,b=C){if(H.clear(),(d||[]).forEach(S=>H.add(typeof S=="object"&&S!==null?O(S):String(S))),b&&H.size){let S=me.length?me.findIndex(N=>H.has(O(N))):Ue().findIndex(N=>H.has(O(N)));S>=0&&c!==!1&&(Q=Math.floor(S/x)+1)}if(V(),b&&H.size){let S=ae.querySelector(".yv-hl");S&&S.scrollIntoView&&S.scrollIntoView({block:"nearest",behavior:wi()?"auto":"smooth"})}}let kt=null;be.addEventListener("input",()=>{clearTimeout(kt),kt=setTimeout(()=>{D=be.value.trim(),Q=1,V(),RA(s.results(me.length.toLocaleString(I)))},160)}),ee.addEventListener("click",d=>{let b=d.target.closest("button, input, tr[data-yuktai-row-id]");if(!(!b||!ee.contains(b))){if(b.matches("[data-sort]"))return Li(b.getAttribute("data-sort"));if(b.matches("[data-page]")){let S=b.getAttribute("data-page"),{pages:N}=Ve(me.length);return je(S==="first"?1:S==="prev"?Q-1:S==="next"?Q+1:N)}if(b.matches("[data-remove-filter]")){p=p.filter((S,N)=>N!==Number(b.getAttribute("data-remove-filter"))),Q=1,V(),r.onFiltersChange&&r.onFiltersChange(p.slice());return}if(b.matches("[data-clear-filters]"))return j.clearFilters();if(b.matches("[data-open]"))return uA(b.getAttribute("data-open"));if(b===IA){w=dA()?"table":"card",V();return}if(b===Gi)return j.exportCSV();b.matches("tr[data-yuktai-row-id]")&&typeof r.onRowClick=="function"&&!d.target.closest("label,input,button,a")&&uA(b.getAttribute("data-yuktai-row-id"))}}),ee.addEventListener("change",d=>{let b=d.target;if(b.matches("[data-select]"))b.checked?R.add(b.getAttribute("data-select")):R.delete(b.getAttribute("data-select")),V(),Xe();else if(b.matches("[data-select-page]")){let{start:S,end:N}=Ve(me.length);me.slice(S,N).forEach(T=>b.checked?R.add(O(T)):R.delete(O(T))),V(),Xe()}else b.matches("[data-page-size]")&&(x=Number(b.value)||x,Q=1,V(),ae.closest(".yv-grid").querySelector("[data-page-size]").focus())}),ae.addEventListener("keydown",lr),ae.addEventListener("focusin",d=>{let b=ae.querySelector("table"),S=d.target.closest&&d.target.closest("th,td");if(!b||!S)return;let N=S.parentElement,T=Array.prototype.indexOf.call(b.querySelectorAll("tr"),N),Y=Array.prototype.indexOf.call(N.querySelectorAll("th,td"),S);T<0||Y<0||(b.querySelectorAll('[tabindex="0"]').forEach(J=>J!==S&&J.setAttribute("tabindex","-1")),S.setAttribute("tabindex","0"),F={r:T,c:Y})});let UA=null;typeof ResizeObserver=="function"&&(UA=new ResizeObserver(d=>{let b=d[0]&&d[0].contentRect.width,S=b>0&&b<B;S!==L&&(L=S,w==="auto"&&V())}),UA.observe(ee));let we={get data(){return v},get columns(){return h},rowKey:u,locale:l,get filters(){return p},onHighlightRows:d=>CA(d),onSelectRow:d=>{R.add(String(d)),CA([String(d)]),Xe()},onOpenRow:typeof r.onRowClick=="function"||typeof r.onOpenRow=="function"?d=>uA(d):void 0,onFiltersChange:d=>{p=d.slice(),Q=1,V(),r.onFiltersChange&&r.onFiltersChange(p.slice())},onSortChange:d=>{y=d?{key:d.key,direction:d.direction==="desc"?"desc":"asc"}:null,Q=1,V(),r.onSortChange&&r.onSortChange(y)}},JA=tA(we,{name:r.toolName||"yuktai_grid",descriptions:r.toolDescriptions}),hA=dt({tools:()=>JA,data:()=>v,columns:()=>h.map(d=>({key:d.key,label:d.label})),rowKey:u,locale:l,customRules:r.customRules||[],parseIntent:r.parseIntent,historyLimit:r.historyLimit||20,onResult:d=>{r.onAgentResult&&r.onAgentResult({success:d.success,message:d.message,tool:d.tool})},onError:r.onAgentError}),KA={status:{state:"unsupported",registered:[],errors:[]},unregister(){}};r.webmcp&&(KA=ut(()=>JA,{onStatusChange:d=>{r.onWebMCPStatusChange&&r.onWebMCPStatusChange(d),ee.dispatchEvent(new CustomEvent("yuktai:webmcp",{detail:d,bubbles:!0}))}}));let Ze=Ct({data:v,columns:h,rowKey:u,referenceDate:r.referenceDate,onOpenRow:we.onOpenRow,bind:{getData:()=>v,getFilters:()=>p,getSort:()=>y,getHighlightIds:()=>Array.from(H),setFilters:d=>we.onFiltersChange(d),setSort:d=>we.onSortChange(d),setHighlightIds:d=>CA(d),selectRow:d=>we.onSelectRow(d)}}),pA=null;r.ai&&(pA=xi(Bt,hA,{locale:l,inputLanguage:r.inputLanguage||(l==="te"?"te-IN":"en-IN"),examples:r.assistantExamples,webmcp:()=>KA.status,showWebMCP:!!r.webmcp}),r.webmcp&&ee.addEventListener("yuktai:webmcp",()=>pA&&pA.refreshStatus()));let Dt=null;if(r.agentic){let d=typeof r.agentic=="object"?r.agentic:{};Dt=mt(Bt,Ze,d)}let j={element:ee,host:ee,get tools(){return JA},agent:hA,agentic:Ze,get webmcpStatus(){return KA.status},refresh(d){return Array.isArray(d)&&(v=d.slice(),R.clear(),H.clear(),Q=1),V(),j},setData(d,b){return Array.isArray(b)&&(E=Xn(b,d||v),h=Ne(E),JA=tA(we,{name:r.toolName||"yuktai_grid",descriptions:r.toolDescriptions})),j.refresh(d)},getData:()=>v.slice(),getRows:()=>Ue(),getPageRows(){let d=Ue(),{start:b,end:S}=Ve(d.length);return d.slice(b,S)},getSelectedRows:()=>v.filter(d=>R.has(O(d))),getSelectedKeys:()=>Array.from(R),select(d,b=!0){return[].concat(d).forEach(S=>b?R.add(String(S)):R.delete(String(S))),V(),Xe(),j},clearSelection(){return R.clear(),V(),Xe(),j},search(d){return D=String(d||"").trim(),be.value=D,Q=1,V(),me.length},setFilters(d){return we.onFiltersChange(Array.isArray(d)?d:[]),j},addFilter(d){return hA.executeTool("filter",d)},getFilters:()=>p.slice(),clearFilters(){return we.onFiltersChange([]),RA(a==="te"?"\u0C2B\u0C3F\u0C32\u0C4D\u0C1F\u0C30\u0C4D\u0C32\u0C41 \u0C24\u0C40\u0C38\u0C47\u0C36\u0C3E\u0C30\u0C41":"Filters cleared"),j},sortBy(d,b="asc"){return we.onSortChange(d?{key:d,direction:b}:null),j},clearSort(){return we.onSortChange(null),j},getSort:()=>y?{...y}:null,get engine(){return ye&&vA(TA,v.length)?"rust":"ts"},getSearchTime:()=>De?{...De}:null,whenEngineReady:()=>Ni().then(()=>j.engine),highlight(d,b){return CA(d,b===void 0?C:b),j},clearHighlight(){return CA([],!1),j},getHighlightIds:()=>Array.from(H),goToPage(d){return je(Number(d)||1),j},nextPage(){return je(Q+1),j},prevPage(){return je(Q-1),j},getPage:()=>({page:Q,pageSize:x,pages:Ve(me.length).pages,total:me.length}),setPageSize(d){return x=Number(d)||x,k.includes(x)||(k.push(x),k.sort((b,S)=>b-S)),Q=1,V(),j},setTheme(d){return G=Vn.includes(d)?d:"default",V(),j},getTheme:()=>G,setView(d){return w=["table","card","auto"].includes(d)?d:"auto",V(),j},setLoading(d){return M=!!d,V(),j},openRow:d=>uA(d),async ask(d){return(await Ze.ask(d)).answer},askDetailed:d=>Ze.ask(d),assistantAsk:d=>hA.ask(d),executeTool:(d,b)=>hA.executeTool(d,b),biSummary:()=>He(Ue(),h),anomalies:()=>qe(Ue(),h,{rowKey:u}),async runTasks(d){return(await Ze.ask(d)).answer},reset(){return Ze.reset(),D="",be.value="",V(),j},exportCSV(d=r.exportFileName||"yuktai-grid-export.csv"){let b=R.size?v.filter(N=>R.has(O(N))):Ue(),S="\uFEFF"+[E.map(N=>vi(N.label)).join(","),...b.map(N=>E.map(T=>vi(N[T.key])).join(","))].join(`\r
|
|
543
|
-
`);return DA(d,S,"text/csv;charset=utf-8"),oe(`${b.length} row(s) exported`),b.length},destroy(){clearTimeout(kt),clearTimeout(bt),UA&&UA.disconnect(),KA.unregister(),pA&&pA.destroy(),Dt&&Dt.destroy(),ee.remove()}};return typeof r.onReady=="function"&&r.onReady(j),V(),j}var Lo={en:{title:"Ask the grid",hint:"Type or speak: a word to search, \u201Csort by <column>\u201D, \u201Chow many\u201D, \u201Cclear filters\u201D, \u201Copen <name>\u201D.",placeholder:"Ask the grid\u2026",ask:"Ask",listen:"Speak",stop:"Stop",listening:"Listening\u2026",noVoice:"Voice input is not available in this browser. Type your question instead.",history:"History",clear:"Clear history",webmcp:{unsupported:"WebMCP: not available in this browser (no document.modelContext).",registering:"WebMCP: registering tools\u2026",ready:"WebMCP: tools ready",partial:"WebMCP: some tools failed",error:"WebMCP: registration failed"}},te:{title:"\u0C17\u0C4D\u0C30\u0C3F\u0C21\u0C4D\u200C\u0C28\u0C41 \u0C05\u0C21\u0C17\u0C02\u0C21\u0C3F",hint:"\u0C1F\u0C48\u0C2A\u0C4D \u0C1A\u0C47\u0C2F\u0C02\u0C21\u0C3F \u0C32\u0C47\u0C26\u0C3E \u0C2E\u0C3E\u0C1F\u0C4D\u0C32\u0C3E\u0C21\u0C02\u0C21\u0C3F: \u0C35\u0C46\u0C24\u0C15\u0C3E\u0C32\u0C4D\u0C38\u0C3F\u0C28 \u0C2A\u0C26\u0C02, \u201C<\u0C15\u0C3E\u0C32\u0C2E\u0C4D> \u0C2A\u0C4D\u0C30\u0C15\u0C3E\u0C30\u0C02 \u0C15\u0C4D\u0C30\u0C2E\u0C02\u201D, \u201C\u0C0E\u0C28\u0C4D\u0C28\u0C3F\u201D, \u201C\u0C2B\u0C3F\u0C32\u0C4D\u0C1F\u0C30\u0C4D\u0C32\u0C41 \u0C24\u0C40\u0C38\u0C47\u0C2F\u0C3F\u201D.",placeholder:"\u0C17\u0C4D\u0C30\u0C3F\u0C21\u0C4D\u200C\u0C28\u0C41 \u0C05\u0C21\u0C17\u0C02\u0C21\u0C3F\u2026",ask:"\u0C05\u0C21\u0C41\u0C17\u0C41",listen:"\u0C2E\u0C3E\u0C1F\u0C4D\u0C32\u0C3E\u0C21\u0C41",stop:"\u0C06\u0C2A\u0C41",listening:"\u0C35\u0C3F\u0C02\u0C1F\u0C41\u0C28\u0C4D\u0C28\u0C3E\u0C28\u0C41\u2026",noVoice:"\u0C08 \u0C2C\u0C4D\u0C30\u0C4C\u0C1C\u0C30\u0C4D\u200C\u0C32\u0C4B \u0C35\u0C3E\u0C2F\u0C3F\u0C38\u0C4D \u0C07\u0C28\u0C4D\u200C\u0C2A\u0C41\u0C1F\u0C4D \u0C32\u0C47\u0C26\u0C41. \u0C1F\u0C48\u0C2A\u0C4D \u0C1A\u0C47\u0C2F\u0C02\u0C21\u0C3F.",history:"\u0C1A\u0C30\u0C3F\u0C24\u0C4D\u0C30",clear:"\u0C1A\u0C30\u0C3F\u0C24\u0C4D\u0C30 \u0C24\u0C40\u0C38\u0C47\u0C2F\u0C3F",webmcp:{unsupported:"WebMCP: \u0C08 \u0C2C\u0C4D\u0C30\u0C4C\u0C1C\u0C30\u0C4D\u200C\u0C32\u0C4B \u0C32\u0C47\u0C26\u0C41.",registering:"WebMCP: \u0C28\u0C2E\u0C4B\u0C26\u0C41 \u0C1A\u0C47\u0C38\u0C4D\u0C24\u0C4B\u0C02\u0C26\u0C3F\u2026",ready:"WebMCP: \u0C38\u0C3F\u0C26\u0C4D\u0C27\u0C02",partial:"WebMCP: \u0C15\u0C4A\u0C28\u0C4D\u0C28\u0C3F \u0C35\u0C3F\u0C2B\u0C32\u0C02",error:"WebMCP: \u0C35\u0C3F\u0C2B\u0C32\u0C02"}}};function xi(e,A,t={}){let i=Lo[t.locale==="te"?"te":"en"],o=X("yv-ask"),r=X("yv-hint"),n=g("input",{id:o,class:"yv-input",type:"text",placeholder:i.placeholder,autocomplete:"off","aria-describedby":r}),a=g("button",{type:"submit",class:"yv-btn yv-primary"},q("spark",16),i.ask),s=typeof window<"u"&&(window.SpeechRecognition||window.webkitSpeechRecognition),l=g("button",{type:"button",class:"yv-btn","aria-pressed":"false"},q("mic",16),i.listen),I=g("div",{class:"yv-answer",role:"status","aria-live":"polite"}),u=g("ol"),m=g("details",{class:"yv-history"},g("summary",null,i.history),u,g("button",{type:"button",class:"yv-btn yv-small","data-clear-history":""},i.clear)),c=t.showWebMCP?g("p",{class:"yv-muted",style:"margin:8px 0 0"}):null,k=t.examples||(t.locale==="te"?["\u0C0E\u0C28\u0C4D\u0C28\u0C3F","\u0C2B\u0C3F\u0C32\u0C4D\u0C1F\u0C30\u0C4D\u0C32\u0C41 \u0C24\u0C40\u0C38\u0C47\u0C2F\u0C3F"]:["how many","clear filters","clear sort"]),f=g("div",{class:"yv-chips"},...k.map(y=>g("button",{type:"button",class:"yv-chip","data-example":y},y))),C=g("form",{class:"yv-row",role:"search","aria-label":i.title},g("label",{for:o,class:"yv-sr"},i.title),n,a,l),B=g("section",{class:"yv-box yv-assistant","aria-label":i.title},g("h3",null,q("chat",16)," ",i.title),g("p",{id:r,class:"yv-muted",style:"margin:0 0 8px"},i.hint),C,f,I,m,c);e.appendChild(B);async function v(y){let D=String(y||"").trim();if(D){a.disabled=!0;try{let Q=await A.ask(D);I.textContent=Q.message,I.className=`yv-answer ${Q.success?"":"yv-fail"}`}finally{a.disabled=!1}}}let E=A.subscribe(y=>{u.replaceChildren(...y.history.slice().reverse().map(D=>g("li",null,g("span",{class:D.result.success?"yv-ok":"yv-fail"},D.result.success?"\u2713 ":"\u2717 "),D.result.message,g("span",{class:"yv-muted"},` (${D.tool})`)))),m.querySelector("summary").textContent=`${i.history} (${y.history.length})`});C.addEventListener("submit",y=>{y.preventDefault(),v(n.value)}),B.addEventListener("click",y=>{let D=y.target.closest("[data-example],[data-clear-history]");D&&(D.hasAttribute("data-example")?(n.value=D.getAttribute("data-example"),v(n.value)):(A.clearHistory(),I.textContent=""))});let h=null;l.addEventListener("click",()=>{if(!s){I.textContent=i.noVoice;return}if(h){h.stop();return}h=new s,h.lang=t.inputLanguage||"en-IN",h.interimResults=!1,h.maxAlternatives=1,l.setAttribute("aria-pressed","true"),l.lastChild.textContent=i.stop,I.textContent=i.listening,h.onresult=y=>{let D=y.results[0][0].transcript;n.value=D,v(D)},h.onerror=y=>{I.textContent=`${i.noVoice} (${y.error})`},h.onend=()=>{h=null,l.setAttribute("aria-pressed","false"),l.lastChild.textContent=i.listen};try{h.start()}catch(y){I.textContent=`${i.noVoice} (${y.message})`,h=null}}),s||(l.title=i.noVoice);function p(){if(!c||!t.webmcp)return;let y=t.webmcp();c.textContent=i.webmcp[y.state]+(y.registered&&y.registered.length?` (${y.registered.length})`:"")}return p(),{element:B,ask:v,refreshStatus:p,destroy(){E(),h&&h.stop(),B.remove()}}}var Zn=[{id:"copilot",label:"Copilot",icon:"wand"},{id:"qa",label:"QA report",icon:"check"},{id:"forms",label:"Forms",icon:"form"},{id:"design",label:"Design",icon:"layout"},{id:"ask",label:"Ask page",icon:"chat"},{id:"voice",label:"Voice",icon:"mic"}],Yo=[["en-IN","English (India)"],["en-US","English (US)"],["te-IN","\u0C24\u0C46\u0C32\u0C41\u0C17\u0C41 (Telugu)"],["hi-IN","\u0939\u093F\u0928\u094D\u0926\u0940 (Hindi)"],["ta-IN","\u0BA4\u0BAE\u0BBF\u0BB4\u0BCD (Tamil)"],["kn-IN","\u0C95\u0CA8\u0CCD\u0CA8\u0CA1 (Kannada)"],["ml-IN","\u0D2E\u0D32\u0D2F\u0D3E\u0D33\u0D02 (Malayalam)"],["mr-IN","\u092E\u0930\u093E\u0920\u0940 (Marathi)"],["bn-IN","\u09AC\u09BE\u0982\u09B2\u09BE (Bengali)"],["gu-IN","\u0A97\u0AC1\u0A9C\u0AB0\u0ABE\u0AA4\u0AC0 (Gujarati)"]],ki=e=>g("span",{class:`yv-badge yv-sev-${e}`},e);function Di(e,A){return g("div",null,g("div",{class:"yv-score"},g("strong",null,String(e)),g("span",{class:"yv-muted"},"/ 100")),g("div",{class:"yv-meter",role:"img","aria-label":`Score ${e} out of 100`},g("span",{style:`width:${Math.max(0,Math.min(100,e))}%`})),g("p",{style:"margin:0 0 6px"},A))}function SA(e){let A=(e||[]).filter(Boolean);return A.length?g("button",{type:"button",class:"yv-btn yv-small",onclick:()=>oe(`${Wn(A)} element(s) outlined on the page`)},q("eye",14),"Show on page"):null}function ft(e,A={}){let t=e==null?null:typeof e=="string"?document.querySelector(e):e;if(e!=null&&!t)throw new Error("mountAgenticPanel: container not found");let i=X("yv-tabs"),o=g("section",{class:`yv-box yv-agentic-panel${A.theme?" yv-theme-"+A.theme:""}`,"data-yuktai-panel":"","aria-label":A.title||"Page tools"}),r=g("div",{class:"yv-tabs",role:"tablist","aria-label":"Page tools",id:i}),n={};Zn.forEach(E=>{let h=`${i}-${E.id}`,p=`${h}-panel`;r.append(g("button",{type:"button",class:"yv-tab",role:"tab",id:h,"aria-controls":p,"aria-selected":"false",tabindex:-1,"data-tab":E.id},q(E.icon,15)," ",E.label)),n[E.id]=g("div",{role:"tabpanel",id:p,"aria-labelledby":h,hidden:!0,tabindex:0})}),o.append(r,...Object.values(n)),t&&t.appendChild(o);let a={},s=null;function l(E,h){n[E]||(E="qa"),s=E,r.querySelectorAll("[role=tab]").forEach(p=>{let y=p.getAttribute("data-tab")===E;p.setAttribute("aria-selected",String(y)),p.tabIndex=y?0:-1,y&&h&&p.focus()}),Object.entries(n).forEach(([p,y])=>y.hidden=p!==E),a[E]||(a[E]=!0,v[E](n[E]))}r.addEventListener("click",E=>{let h=E.target.closest("[role=tab]");h&&l(h.getAttribute("data-tab"),!0)}),r.addEventListener("keydown",E=>{let h=Zn.map(Q=>Q.id),p=E.target.closest&&E.target.closest("[role=tab]"),y=h.indexOf(p?p.getAttribute("data-tab"):s),D=null;E.key==="ArrowRight"?D=h[(y+1)%h.length]:E.key==="ArrowLeft"?D=h[(y-1+h.length)%h.length]:E.key==="Home"?D=h[0]:E.key==="End"&&(D=h[h.length-1]),D&&(E.preventDefault(),E.stopPropagation(),l(D,!0))});let I=null;function u(E){let h=g("ul",{class:"yv-list"}),p=g("p",{class:"yv-status",role:"status","aria-live":"polite"}),y=g("div",{class:"yv-answer","aria-live":"polite"}),D=g("button",{type:"button",class:"yv-btn","aria-pressed":"false"},q("eye",16),"Watch page");I=jA({defaultLang:A.defaultLang,debounceMs:600,onUpdate:x=>Q(x)});function Q(x){let G=x.report;D.setAttribute("aria-pressed",String(x.watching)),p.textContent=G?`${G.summary} Fixes applied: ${x.appliedFixes}.${x.watching?" Watching for page changes.":""}`:"Scan the page to see issues.",h.replaceChildren(...(G?G.issues.slice(0,40):[]).map(w=>g("li",{class:"yv-item"},g("p",null,ki(w.severity)," ",g("b",null,w.message)),g("p",{class:"yv-muted"},`WCAG ${w.wcag} \xB7 `,g("code",null,w.selector)),g("div",{class:"yv-row"},g("button",{type:"button",class:"yv-btn yv-small",onclick:()=>y.textContent=I.explain(w.id)},q("info",14),"Explain"),w.autoFixable?g("button",{type:"button",class:"yv-btn yv-small",onclick:()=>oe(I.applyFix(w.id).message)},q("wand",14),"Fix"):null,SA([w.selector])))))}E.append(g("p",{class:"yv-muted"},"Finds accessibility problems, explains them in plain English, and applies safe fixes you can undo."),g("div",{class:"yv-row"},g("button",{type:"button",class:"yv-btn yv-primary",onclick:()=>I.scan()},q("search",16),"Scan page"),D,g("button",{type:"button",class:"yv-btn",onclick:()=>oe(`${I.applyAllFixes().filter(x=>x.applied).length} fix(es) applied`)},q("wand",16),"Apply all safe fixes"),g("button",{type:"button",class:"yv-btn",onclick:()=>oe(`${I.undoAll()} change(s) undone`)},q("undo",16),"Undo all")),p,y,h),D.addEventListener("click",()=>I.getState().watching?I.stop():I.start()),Q(I.getState())}function m(E){let h=g("div",{"aria-live":"polite"}),p=null,y=()=>{p=pe(A.auditOptions||{});let D=p.issues;h.replaceChildren(Di(p.score,p.summary),g("div",{class:"yv-row"},g("button",{type:"button",class:"yv-btn yv-small",onclick:async()=>oe(await On(EA(p))?"Markdown report copied":"Copy failed")},q("copy",14),"Copy Markdown"),g("button",{type:"button",class:"yv-btn yv-small",onclick:()=>DA("yuktai-qa-report.md",EA(p),"text/markdown;charset=utf-8")},q("download",14),"Markdown"),g("button",{type:"button",class:"yv-btn yv-small",onclick:()=>DA("yuktai-qa-report.json",XA(p),"application/json")},q("download",14),"JSON")),g("details",{class:"yv-history"},g("summary",null,`Checks (${p.checks.filter(Q=>Q.passed).length}/${p.checks.length} passed)`),g("ul",{class:"yv-steps"},...p.checks.map(Q=>g("li",null,g("span",{class:Q.passed?"yv-ok":"yv-fail"},Q.passed?"\u2713 ":"\u2717 "),Q.title||Q.rule,Q.issueCount?` \u2014 ${Q.issueCount} issue(s)`:"")))),g("ul",{class:"yv-list"},...D.slice(0,60).map(Q=>g("li",{class:"yv-item"},g("p",null,ki(Q.severity)," ",g("b",null,Q.message)),g("p",null,g("b",null,"Fix: "),Q.fix),g("p",{class:"yv-muted"},`${Q.rule} \xB7 WCAG ${Q.wcag} \xB7 `,g("code",null,Q.selector)),SA([Q.selector])))),D.length>60?g("p",{class:"yv-muted"},`${D.length-60} more issue(s) in the downloaded report.`):null),oe(p.summary)};E.append(g("p",{class:"yv-muted"},"15 WCAG checks on this page with a 0\u2013100 score. Heuristic: still test with a keyboard and a screen reader."),g("button",{type:"button",class:"yv-btn yv-primary",onclick:y},q("check",16),"Run QA audit"),h)}function c(E){let h=g("input",{type:"checkbox",id:X("yv-senior"),checked:A.seniorFriendly!==!1}),p=g("div",{"aria-live":"polite"}),y=()=>{let D=rA({seniorFriendly:h.checked,maxFieldsPerStep:A.maxFieldsPerStep||8});if(!D.length)return p.replaceChildren(g("p",{class:"yv-answer"},"There are no forms on this page.")),oe("No forms found");p.replaceChildren(...D.map(Q=>g("div",{class:"yv-item",style:"margin-top:10px"},Di(Q.score,Q.summary),g("ul",{class:"yv-steps"},...Q.findings.map(x=>g("li",null,g("span",{class:`yv-badge yv-sev-${x.level==="problem"?"serious":"minor"}`},x.level)," ",x.message,g("br"),g("span",{class:"yv-muted"},x.suggestion)))),SA(Q.findings.map(x=>x.selector))))),oe(`${D.length} form(s) reviewed`)};E.append(g("p",{class:"yv-muted"},"Checks labels, autocomplete, error messages and senior-friendly tips."),g("div",{class:"yv-row"},g("label",{class:"yv-check",for:h.id},h),g("label",{for:h.id},"Senior-friendly checks"),g("button",{type:"button",class:"yv-btn yv-primary",onclick:y},q("form",16),"Review forms")),p)}function k(E){let h=X("yv-min"),p=g("input",{id:h,class:"yv-input",type:"number",min:10,max:24,value:A.minFontSize||16,style:"width:90px"}),y=g("div",{"aria-live":"polite"}),D=()=>{let Q=it({minFontSize:Number(p.value)||16,maxLineLength:A.maxLineLength||90});y.replaceChildren(Di(Q.score,Q.summary),g("div",{class:"yv-cats"},...Object.entries(Q.categories).map(([x,G])=>g("div",{class:"yv-cat"},g("span",{class:"yv-muted"},x),g("strong",null,String(G.score)),g("span",{class:"yv-muted"},`${G.findings} finding(s)`)))),g("ul",{class:"yv-list"},...Q.findings.slice(0,40).map(x=>g("li",{class:"yv-item"},g("p",null,ki(x.severity)," ",g("b",null,x.category),": ",x.message),g("p",{class:"yv-muted"},x.suggestion),SA([x.selector]))))),oe(Q.summary)};E.append(g("p",{class:"yv-muted"},"Hierarchy, readability, interaction, clutter and consistency. Heuristic, not a visual-design certification."),g("div",{class:"yv-row"},g("label",{for:h},"Minimum text size (px)"),p,g("button",{type:"button",class:"yv-btn yv-primary",onclick:D},q("layout",16),"Review design")),y)}function f(E){let h=X("yv-pq"),p=g("input",{id:h,class:"yv-input",type:"text",placeholder:"What is this page about?",autocomplete:"off"}),y=g("div",{"aria-live":"polite"}),D=null,Q=async()=>{let w=p.value.trim()||"What is this page about?",M=await ZA(w,{summarize:A.summarize}),L=[g("div",{class:"yv-answer"},M.answer)];M.suggestions.length&&L.push(g("ul",{class:"yv-steps"},...M.suggestions.map(R=>g("li",null,R))));let F=SA(M.targets);if(F&&L.push(F),M.intent==="unknown"){D?D.rebuild():D=tt({includePage:!0,documents:A.documents,engine:A.engine});let R=await D.ask(w,{generate:A.generate});L.push(g("h4",{style:"margin:12px 0 4px"},R.generated?"Answer (your model)":"From the page text"),g("div",{class:"yv-answer"},R.answer))}y.replaceChildren(...L),oe(M.answer)},x=g("form",{class:"yv-row"},g("label",{for:h,class:"yv-sr"},"Ask about this page"),p,g("button",{type:"submit",class:"yv-btn yv-primary"},"Ask"));x.addEventListener("submit",w=>{w.preventDefault(),Q()});let G=["What is this page about?","Which fields have no label?","Which images have no alt text?","Show the page structure","How many links are there?","Tell me about the forms"];E.append(g("p",{class:"yv-muted"},"Answers from this page only, offline. Pass generate() to use your own model."),x,g("div",{class:"yv-chips"},...G.map(w=>g("button",{type:"button",class:"yv-chip",onclick:()=>(p.value=w,Q())},w))),y)}let C=null;function B(E){let h=X("yv-lang"),p=g("select",{id:h,class:"yv-input",style:"width:auto"},...Yo.map(([F,R])=>g("option",{value:F,selected:F===(A.voiceLang||"en-IN")},R))),y=g("button",{type:"button",class:"yv-btn yv-primary","aria-pressed":"false"},q("mic",16),"Start listening"),D=X("yv-cmd"),Q=g("input",{id:D,class:"yv-input",type:"text",placeholder:"Type a command, e.g. make text bigger",autocomplete:"off"}),x=g("div",{class:"yv-answer",role:"status","aria-live":"polite"}),G=typeof window<"u"&&!!(window.SpeechRecognition||window.webkitSpeechRecognition),w=()=>{C&&C.stop(),C=It({lang:p.value,speak:A.speak!==!1,initial:A.getSettings?A.getSettings():void 0,apply:A.applySettings,onTranscript:(F,R)=>{x.textContent=`Heard: \u201C${F}\u201D
|
|
544
|
-
${R?R.say:"Not a voice command. Try: make text bigger, high contrast on, dark mode, next row, reset."}`,A.onVoiceCommand&&A.onVoiceCommand(F,R)}})};w(),p.addEventListener("change",()=>{let F=y.getAttribute("aria-pressed")==="true";w(),F&&C.start()}),y.addEventListener("click",()=>{if(y.getAttribute("aria-pressed")==="true"){C.stop(),y.setAttribute("aria-pressed","false"),y.lastChild.textContent="Start listening";return}if(!C.start()){x.textContent="Speech recognition is not available in this browser. Typed commands below still work.";return}y.setAttribute("aria-pressed","true"),y.lastChild.textContent="Stop listening",x.textContent="Listening\u2026 say \u201Cmake text bigger\u201D or \u201Cnext row\u201D."});let M=g("form",{class:"yv-row"},g("label",{for:D,class:"yv-sr"},"Type a voice command"),Q,g("button",{type:"submit",class:"yv-btn"},"Run"));M.addEventListener("submit",async F=>{F.preventDefault(),Q.value.trim()&&await C.handle(Q.value)});let L=["make text bigger","make text smaller","high contrast on","dark mode","reduce motion","dyslexia font","next row","previous row","first row","reset","\u0C2A\u0C46\u0C26\u0C4D\u0C26 \u0C05\u0C15\u0C4D\u0C37\u0C30\u0C3E\u0C32\u0C41","\u0C39\u0C48 \u0C15\u0C3E\u0C02\u0C1F\u0C4D\u0C30\u0C3E\u0C38\u0C4D\u0C1F\u0C4D","\u0C24\u0C30\u0C4D\u0C35\u0C3E\u0C24\u0C3F \u0C35\u0C30\u0C41\u0C38"];E.append(g("p",{class:"yv-muted"},G?"Speak accessibility commands in English or Telugu. Text size moves 80\u2013130% in 10% steps.":"Your browser has no speech recognition. You can still type the same commands."),g("div",{class:"yv-row"},g("label",{for:h},"Language"),p,y),M,g("div",{class:"yv-chips"},...L.map(F=>g("button",{type:"button",class:"yv-chip",onclick:()=>(Q.value=F,C.handle(F))},F))),x)}let v={copilot:u,qa:m,forms:c,design:k,ask:f,voice:B};return l(A.defaultTab||"qa",!1),{element:o,select:E=>l(E,!1),get tab(){return s},get copilot(){return I},destroy(){I&&I.stop(),C&&C.stop(),o.remove()}}}var Mi="yuktai-a11y-prefs",GA=[.8,.9,1,1.1,1.2,1.3],Uo=[["none","None"],["deuteranopia","Deuteranopia (red-green)"],["protanopia","Protanopia (red-green)"],["tritanopia","Tritanopia (blue-yellow)"],["achromatopsia","Achromatopsia (no colour)"]],Jo=[["highContrast","High contrast","Stronger text and borders","contrast"],["darkMode","Dark mode","Light text on a dark page","moon"],["reduceMotion","Reduce motion","Stop animations and transitions","motion"],["largeTargets","Large targets","Buttons and links at least 44\xD744","target"],["dyslexiaFont","Dyslexia-friendly font","Easier letters and wider spacing","reading"],["speechEnabled","Speak on focus","Read out each control you Tab to","speaker"],["autoFix","Auto-fix page","Add missing ARIA, labels and alt text; watch new content","wand"],["showSkipLinks","Skip links","\u201CSkip to main content\u201D on Tab","skip"]];function Ko(){try{let e=localStorage.getItem(Mi);return e?JSON.parse(e):{}}catch{return{}}}function qo(e){try{let A={};["highContrast","darkMode","reduceMotion","largeTargets","speechEnabled","colorBlindMode","dyslexiaFont","fontSizeMultiplier"].forEach(t=>A[t]=e[t]),localStorage.setItem(Mi,JSON.stringify(A))}catch{}}function _n(e={}){let A={position:"left",title:"Accessibility",showPageTools:!1,...e},t=A.position==="right"?"right":"left",i=pt(A.primaryColor,"#005A9C"),o={enabled:!0,autoFix:!0,showSkipLinks:!0,showPreferencePanel:!1,...lA,...A.config||{}},r={...o,...Ko()},n,a,s,l,I,u,m,c="";async function k(w,M){r={...r,...w,enabled:!0},qo(r);try{c=await ze.execute({...r}),r.autoFix||ze.stopObserver()}catch(L){console.error("[yuktai] accessibility engine failed",L),c="Some settings could not be applied. See the browser console."}return B(),M||oe("Accessibility settings updated"),c}async function f(){try{localStorage.removeItem(Mi)}catch{}return r={...o},await k(r,!0),oe("Accessibility settings reset"),r}function C(){let w=X("yv-a11y-title"),M=X("yv-font"),L=X("yv-cb"),F=g("section",{class:"yv-dialog",role:"dialog","aria-modal":"false","aria-labelledby":w,"data-yuktai-panel":""}),R=Jo.map(([O,_,ee,NA])=>{let be=X("yv-opt"),Qt=g("input",{id:be,type:"checkbox",role:"switch","data-setting":O,"aria-describedby":`${be}-d`});return g("div",{class:"yv-option"},g("span",{class:"yv-option-icon"},q(NA,18)),g("span",{class:"yv-option-copy"},g("label",{for:be},g("b",null,_)),g("small",{id:`${be}-d`},ee)),g("span",{class:"yv-switch"},Qt,g("span",{"aria-hidden":"true"})))}),H=g("div",{class:"yv-steps-bar",role:"group","aria-labelledby":M},...GA.map(O=>g("button",{type:"button",class:"yv-step","data-font":O,"aria-label":`${Math.round(O*100)} percent`,"aria-pressed":"false"}))),Ie=g("select",{id:L,class:"yv-input","data-colorblind":""},...Uo.map(([O,_])=>g("option",{value:O},_)));return F.append(g("header",{class:"yv-dialog-head"},g("div",null,g("div",{class:"yv-muted",style:"font-weight:800;font-size:.75em;letter-spacing:.05em"},"YUKTAI"),g("h2",{id:w},A.title),g("p",{class:"yv-muted",style:"margin:2px 0 0"},"Saved on this device. Works on every page.")),g("button",{type:"button",class:"yv-btn yv-icon","data-close":"","aria-label":"Close accessibility settings",html:ce("close")})),g("div",{class:"yv-dialog-body"},...R,g("div",{style:"padding:12px 0;border-bottom:1px solid var(--yv-border)"},g("div",{style:"display:flex;justify-content:space-between"},g("b",{id:M},"Text size"),g("strong",{"data-font-value":""})),g("div",{class:"yv-row",style:"flex-wrap:nowrap;margin-top:6px"},g("button",{type:"button",class:"yv-btn yv-icon","data-font-step":"-1","aria-label":"Smaller text",html:ce("minus",16)}),H,g("button",{type:"button",class:"yv-btn yv-icon","data-font-step":"1","aria-label":"Bigger text",html:ce("plus",16)}))),g("div",{style:"padding:12px 0"},g("label",{for:L},g("b",null,"Colour-blind filter")),Ie),g("div",{class:"yv-row"},g("button",{type:"button",class:"yv-btn","data-reset":""},q("reset",16),"Reset all"),g("button",{type:"button",class:"yv-btn yv-primary","data-close":""},q("check",16),"Done")),g("p",{class:"yv-status",role:"status","aria-live":"polite","data-status":""}))),F.addEventListener("change",O=>{let _=O.target;_.matches("[data-setting]")?k({[_.getAttribute("data-setting")]:_.checked}):_.matches("[data-colorblind]")&&k({colorBlindMode:_.value})}),F.addEventListener("click",O=>{let _=O.target.closest("button");if(_){if(_.hasAttribute("data-close"))return p();if(_.hasAttribute("data-reset"))return f();if(_.hasAttribute("data-font"))return v(Number(_.getAttribute("data-font")));if(_.hasAttribute("data-font-step")){let ee=GA.indexOf(Number(r.fontSizeMultiplier||1));return v(GA[Math.min(GA.length-1,Math.max(0,(ee<0?2:ee)+Number(_.getAttribute("data-font-step"))))])}}}),F.addEventListener("keydown",O=>E(O,F,p)),F}function B(){if(!l)return;l.querySelectorAll("[data-setting]").forEach(F=>F.checked=!!r[F.getAttribute("data-setting")]&&r[F.getAttribute("data-setting")]!==!1);let w=l.querySelector('[data-setting="showSkipLinks"]');w&&(w.checked=r.showSkipLinks!==!1);let M=Number(r.fontSizeMultiplier||1);l.querySelector("[data-font-value]").textContent=`${Math.round(M*100)}%`,l.querySelectorAll("[data-font]").forEach(F=>F.setAttribute("aria-pressed",String(Math.abs(Number(F.getAttribute("data-font"))-M)<.001))),l.querySelector("[data-colorblind]").value=r.colorBlindMode||"none";let L=/(\d+) fixes applied/.exec(c);l.querySelector("[data-status]").textContent=L?`${L[1]} automatic accessibility fix(es) applied on this page.`:c}function v(w){GA.some(M=>Math.abs(M-w)<.001)&&(k({fontSizeMultiplier:w},!0),oe(`Text size ${Math.round(w*100)} percent`))}function E(w,M,L){if(w.key==="Escape"){w.preventDefault(),w.stopPropagation(),L();return}if(w.key!=="Tab")return;let F=Array.from(M.querySelectorAll("button,input,select,textarea,[tabindex]:not([tabindex='-1'])")).filter(R=>!R.disabled&&R.offsetParent!==null);F.length&&(w.shiftKey&&document.activeElement===F[0]?(w.preventDefault(),F[F.length-1].focus()):!w.shiftKey&&document.activeElement===F[F.length-1]&&(w.preventDefault(),F[0].focus()))}function h(){a||G(),!l&&(Q(),m=document.activeElement,l=C(),x().appendChild(l),a.setAttribute("aria-expanded","true"),B(),l.querySelector("[data-close]").focus(),document.addEventListener("pointerdown",y,!0))}function p(){l&&(l.remove(),l=null,a.setAttribute("aria-expanded","false"),document.removeEventListener("pointerdown",y,!0),(m&&document.contains(m)?m:a).focus())}function y(w){l&&!l.contains(w.target)&&!n.contains(w.target)&&p(),I&&!I.contains(w.target)&&!n.contains(w.target)&&Q()}function D(w){if(a||G(),I){w&&u&&u.select(w);return}p(),m=document.activeElement;let M=X("yv-tools-title");I=g("section",{class:"yv-dialog yv-wide",role:"dialog","aria-modal":"false","aria-labelledby":M,"data-yuktai-panel":""});let L=g("div",{class:"yv-dialog-body"});I.append(g("header",{class:"yv-dialog-head"},g("h2",{id:M},A.toolsTitle||"Page tools"),g("button",{type:"button",class:"yv-btn yv-icon","aria-label":"Close page tools",html:ce("close"),onclick:()=>Q()})),L),x().appendChild(I),u=ft(L,{defaultTab:w||A.defaultTab||"qa",voiceLang:A.voiceLang,generate:A.generate,summarize:A.summarize,defaultLang:A.defaultLang,getSettings:()=>({...r}),applySettings:F=>k(F,!0)}),s&&s.setAttribute("aria-expanded","true"),I.addEventListener("keydown",F=>E(F,I,Q)),I.querySelector("[role=tab][aria-selected=true]").focus(),document.addEventListener("pointerdown",y,!0)}function Q(){I&&(u&&u.destroy(),u=null,I.remove(),I=null,s&&s.setAttribute("aria-expanded","false"),document.removeEventListener("pointerdown",y,!0),(m&&document.contains(m)?m:s||a).focus())}let x=()=>document.documentElement||document.body;function G(){!Ye()||a||!document.body||(yt(i,t),n=g("div",{class:"yv-fabs","data-yuktai-fabs":""}),a=g("button",{type:"button",class:"yv-fab","aria-label":"Accessibility settings",title:"Accessibility settings","aria-haspopup":"dialog","aria-expanded":"false",html:ce("accessibility",26)}),a.addEventListener("click",()=>l?p():h()),n.append(a),A.showPageTools&&(s=g("button",{type:"button",class:"yv-fab yv-fab-alt","aria-label":"Page tools: QA, forms, design, ask, voice",title:"Page tools","aria-haspopup":"dialog","aria-expanded":"false",html:ce("tools",24)}),s.addEventListener("click",()=>I?Q():D()),n.prepend(s)),x().appendChild(n),A.applyOnLoad!==!1&&k({},!0))}return{init:G,open:h,close:p,openTools:D,closeTools:Q,apply:w=>k(w||{}),reset:f,getSettings:()=>({...r}),destroy(){p(),Q(),n&&n.remove(),a=s=n=null}}}var er="5.3.8";(function(){if(!Ye()||window.yuktai&&window.yuktai.__vanillaInitialized)return;let A=window.YUKTAI_CONFIG||{},t=pt(A.primaryColor,"#005A9C"),i=A.position==="right"?"right":"left",o=_n(A),r=()=>yt(t,i),n=s=>(...l)=>(r(),s(...l)),a={__vanillaInitialized:!0,version:er,init:()=>o.init(),open:()=>o.open(),close:()=>o.close(),openTools:s=>o.openTools(s),closeTools:()=>o.closeTools(),apply:s=>o.apply(s),reset:()=>o.reset(),getSettings:()=>o.getSettings(),renderGrid:n(jn),mountAgenticGridBar:n(mt),mountAgenticPanel:n(ft),mountGridAssistant:n(xi),createAgenticGrid:Ct,createGridAgent:dt,parseGridIntent:Bi,registerWebMCP:ut,icon:ce,iconNames:zn.slice(),iconContrast:kA,pickGlyphColor:bi,...fi,runPageQA:()=>pe().summary,getCapabilities:()=>({version:er,inlineSVG:!0,grid:!0,gridAssistant:!0,agenticGrid:!0,ruleBasedBI:!0,taskRunner:!0,anomalyChecks:!0,pageQA:!0,a11yCopilot:!0,formsReview:!0,designReview:!0,pageQandA:!0,localPageSearch:!0,voiceCommands:!0,voice:!!(window.SpeechRecognition||window.webkitSpeechRecognition),speech:"speechSynthesis"in window,webMCP:!!(document.modelContext&&typeof document.modelContext.registerTool=="function"),modelConnected:!1})};window.yuktai=a,A.autoInit!==!1&&(document.readyState==="loading"?document.addEventListener("DOMContentLoaded",()=>o.init(),{once:!0}):o.init())})();})();
|
|
535
|
+
`,document.head.appendChild(t)}var To={query:"Grid query",anomalies:"Anomalies",summary:"Summary",insight:"BI insight",tasks:"Task steps"};function ft(e,A,t={}){let i=typeof e=="string"?document.querySelector(e):e;if(!i)throw new Error("mountAgenticGridBar: container not found");if(!A||typeof A.ask!="function")throw new Error("mountAgenticGridBar: pass the object from createAgenticGrid() or grid.agentic");let o=t.title||"Ask about this data",r=X("yv-q"),n=X("yv-qh"),a=g("input",{id:r,class:"yv-input",type:"text",autocomplete:"off",placeholder:t.placeholder||"Ask the grid\u2026 e.g. salary over 1 lakh in Hyderabad","aria-describedby":n}),s=g("button",{type:"submit",class:"yv-btn yv-primary"},q("spark",16),"Ask"),l=g("button",{type:"button",class:"yv-btn"},q("reset",16),"Show all rows"),I=g("p",{class:"yv-muted",style:"margin:10px 0 0",hidden:!0}),u=g("div",{class:"yv-answer",role:"status","aria-live":"polite"}),m=g("div"),c=t.examples||["salary over 1 lakh","anything unusual?","average salary by department","show salary over 80k, then sort by salary, then summarize"],k=g("div",{class:"yv-chips","aria-label":"Example questions"},...c.map(E=>g("button",{type:"button",class:"yv-chip","data-example":E},E))),f=g("form",{class:"yv-row",role:"search","aria-label":o},g("label",{for:r,class:"yv-sr"},o),a,s,l),C=g("section",{class:`yv-box yv-agentic-bar${t.theme?" yv-theme-"+t.theme:""}`,"aria-label":o},g("h3",null,q("spark",16)," ",o),g("p",{id:n,class:"yv-muted",style:"margin:0 0 8px"},t.hint||"Plain-English questions. Understands 10k, 1.5 lakh, 2cr. Every answer says which filters it used."),f,k,I,u,m);i.appendChild(C);function B(E){if(s.disabled=!!E.busy,C.setAttribute("aria-busy",String(!!E.busy)),!E.busy){if(u.textContent=E.answer||"",I.hidden=!E.kind,I.textContent=E.kind?`${To[E.kind]||E.kind} \xB7 ${E.visibleIds.length} row(s) shown`:"",m.replaceChildren(),E.table&&E.table.length){let h=Object.keys(E.table[0]),p=g("table",{class:"yv-mini"});p.innerHTML=`<caption class="yv-sr">Answer table</caption><thead><tr>${h.map(y=>`<th scope="col">${pt(y)}</th>`).join("")}</tr></thead><tbody>${E.table.map(y=>`<tr>${h.map(D=>`<td>${pt(y[D])}</td>`).join("")}</tr>`).join("")}</tbody>`,m.append(g("div",{style:"overflow-x:auto"},p))}E.steps&&E.steps.length&&m.append(g("ol",{class:"yv-steps","aria-label":"Steps"},...E.steps.map(h=>g("li",null,g("span",{class:h.success===!1?"yv-fail":"yv-ok"},h.success===!1?"\u2717 ":"\u2713 "),g("b",null,h.action),": ",h.message||h.text))))}}let v=A.subscribe(B);return f.addEventListener("submit",E=>{E.preventDefault(),A.ask(a.value)}),l.addEventListener("click",()=>{a.value="",A.reset()}),k.addEventListener("click",E=>{let h=E.target.closest("[data-example]");h&&(a.value=h.getAttribute("data-example"),A.ask(a.value))}),{element:C,ask:E=>(a.value=E,A.ask(E)),destroy(){v(),C.remove()}}}var Lo={en:{search:"Search\u2026",searchAria:"Search grid",rows:"rows",selected:"selected",loading:"Loading\u2026",noData:"No data found.",selectRow:e=>`Select row ${e}`,selectPage:"Select all rows on this page",pageSize:"Rows per page",page:(e,A)=>`Page ${e} of ${A}`,showing:(e,A,t)=>t?`Showing ${e}\u2013${A} of ${t}`:"No rows",first:"First page",previous:"Previous page",next:"Next page",last:"Last page",yes:"Yes",no:"No",sortedAsc:e=>`Sorted by ${e}, ascending`,sortedDesc:e=>`Sorted by ${e}, descending`,sortCleared:"Sorting cleared",filters:e=>`${e} filter(s) applied`,clearFilters:"Clear filters",removeFilter:e=>`Remove filter: ${e}`,export:"Export CSV",tableView:"Table view",cardView:"Card view",highlighted:"highlighted",results:e=>`${e} result(s)`,ops:{contains:"contains",equals:"is",startsWith:"starts with",endsWith:"ends with",greaterThan:">",lessThan:"<",between:"between"}},te:{search:"\u0C36\u0C4B\u0C27\u0C3F\u0C02\u0C1A\u0C02\u0C21\u0C3F\u2026",searchAria:"\u0C17\u0C4D\u0C30\u0C3F\u0C21\u0C4D\u200C\u0C32\u0C4B \u0C36\u0C4B\u0C27\u0C3F\u0C02\u0C1A\u0C02\u0C21\u0C3F",rows:"\u0C35\u0C30\u0C41\u0C38\u0C32\u0C41",selected:"\u0C0E\u0C02\u0C1A\u0C41\u0C15\u0C41\u0C28\u0C4D\u0C28\u0C35\u0C3F",loading:"\u0C32\u0C4B\u0C21\u0C4D \u0C05\u0C35\u0C41\u0C24\u0C4B\u0C02\u0C26\u0C3F\u2026",noData:"\u0C21\u0C47\u0C1F\u0C3E \u0C15\u0C28\u0C2C\u0C21\u0C32\u0C47\u0C26\u0C41.",selectRow:e=>`\u0C35\u0C30\u0C41\u0C38 ${e} \u0C0E\u0C02\u0C1A\u0C41\u0C15\u0C4B\u0C02\u0C21\u0C3F`,selectPage:"\u0C08 \u0C2A\u0C47\u0C1C\u0C40\u0C32\u0C4B\u0C28\u0C3F \u0C05\u0C28\u0C4D\u0C28\u0C3F \u0C35\u0C30\u0C41\u0C38\u0C32\u0C41 \u0C0E\u0C02\u0C1A\u0C41\u0C15\u0C4B\u0C02\u0C21\u0C3F",pageSize:"\u0C2A\u0C47\u0C1C\u0C40 \u0C2A\u0C30\u0C3F\u0C2E\u0C3E\u0C23\u0C02",page:(e,A)=>`\u0C2A\u0C47\u0C1C\u0C40 ${e} / ${A}`,showing:(e,A,t)=>t?`${t} \u0C32\u0C4B ${e}\u2013${A}`:"\u0C35\u0C30\u0C41\u0C38\u0C32\u0C41 \u0C32\u0C47\u0C35\u0C41",first:"\u0C2E\u0C4A\u0C26\u0C1F\u0C3F \u0C2A\u0C47\u0C1C\u0C40",previous:"\u0C35\u0C46\u0C28\u0C41\u0C15\u0C15\u0C41",next:"\u0C2E\u0C41\u0C02\u0C26\u0C41\u0C15\u0C41",last:"\u0C1A\u0C3F\u0C35\u0C30\u0C3F \u0C2A\u0C47\u0C1C\u0C40",yes:"\u0C05\u0C35\u0C41\u0C28\u0C41",no:"\u0C15\u0C3E\u0C26\u0C41",sortedAsc:e=>`${e} \u0C2A\u0C4D\u0C30\u0C15\u0C3E\u0C30\u0C02 \u0C06\u0C30\u0C4B\u0C39\u0C23 \u0C15\u0C4D\u0C30\u0C2E\u0C02`,sortedDesc:e=>`${e} \u0C2A\u0C4D\u0C30\u0C15\u0C3E\u0C30\u0C02 \u0C05\u0C35\u0C30\u0C4B\u0C39\u0C23 \u0C15\u0C4D\u0C30\u0C2E\u0C02`,sortCleared:"\u0C15\u0C4D\u0C30\u0C2E\u0C02 \u0C24\u0C40\u0C38\u0C47\u0C36\u0C3E\u0C30\u0C41",filters:e=>`${e} \u0C2B\u0C3F\u0C32\u0C4D\u0C1F\u0C30\u0C4D(\u0C32\u0C41) \u0C35\u0C47\u0C36\u0C3E\u0C30\u0C41`,clearFilters:"\u0C2B\u0C3F\u0C32\u0C4D\u0C1F\u0C30\u0C4D\u0C32\u0C41 \u0C24\u0C40\u0C38\u0C47\u0C2F\u0C02\u0C21\u0C3F",removeFilter:e=>`\u0C2B\u0C3F\u0C32\u0C4D\u0C1F\u0C30\u0C4D \u0C24\u0C40\u0C38\u0C47\u0C2F\u0C02\u0C21\u0C3F: ${e}`,export:"CSV \u0C21\u0C4C\u0C28\u0C4D\u200C\u0C32\u0C4B\u0C21\u0C4D",tableView:"\u0C2A\u0C1F\u0C4D\u0C1F\u0C3F\u0C15",cardView:"\u0C15\u0C3E\u0C30\u0C4D\u0C21\u0C41\u0C32\u0C41",highlighted:"\u0C39\u0C48\u0C32\u0C48\u0C1F\u0C4D",results:e=>`${e} \u0C2B\u0C32\u0C3F\u0C24\u0C3E\u0C32\u0C41`,ops:{contains:"\u0C32\u0C4B \u0C09\u0C02\u0C26\u0C3F",equals:"=",startsWith:"\u0C24\u0C4B \u0C2E\u0C4A\u0C26\u0C32\u0C41",endsWith:"\u0C24\u0C4B \u0C2E\u0C41\u0C17\u0C3F\u0C02\u0C2A\u0C41",greaterThan:">",lessThan:"<",between:"\u0C2E\u0C27\u0C4D\u0C2F"}}},Xn=["default","high-contrast","dark","color-blind","dyslexia"],SA=e=>String(e??"").normalize("NFC").toLowerCase();function jn(e,A){return(Array.isArray(e)&&e.length?e:A[0]?Object.keys(A[0]).map(i=>({key:i,label:i})):[]).map(i=>({key:String(i.key),label:i.label==null?String(i.key):String(i.label),sortable:i.sortable!==!1,type:i.type||"text",align:i.align||(i.type==="number"?"right":"left"),render:typeof i.render=="function"?i.render:null,hiddenOnMobile:!!i.hiddenOnMobile,width:i.width}))}function Zn(e,A,t,i){let o=typeof e=="string"?document.querySelector(e):e;if(!o||typeof o.appendChild!="function")throw new Error("renderGrid: container not found. Pass an element or a CSS selector.");let r=Array.isArray(A)?{...i||{},data:A,columns:t}:{...A||{}},n=r.locale||"en-IN",a=String(n).split("-")[0],s=Lo[a==="te"?"te":"en"],l=a==="te"?"te":"en",I=a==="en"||a==="te"?"en-IN":n,u=r.rowKey||"id",m=r.label||r.ariaLabel||"Data grid",c=r.pagination===!1?!1:typeof r.pagination=="object"?r.pagination:{},k=c&&c.sizeOptions||[10,20,50,100],f=r.selectable!==!1,C=r.autoScrollToHighlight!==!1,B=Number(r.mobileBreakpoint)||640,v=Array.isArray(r.data)?r.data.slice():[],E=jn(r.columns,v),h=Ne(E),p=[],y=null,D="",Q=1,x=Number(c&&c.pageSize||r.pageSize)||10,G=Xn.includes(r.theme)?r.theme:"default",w=["table","card","auto"].includes(r.view)?r.view:"auto",M=!!r.loading,L=!1,F={r:1,c:0},R=new Set((r.selectedKeys||[]).map(String)),H=new Set((r.highlightIds||[]).map(String)),Ie={grid:X("yv-grid"),title:X("yv-title"),status:X("yv-status")};k.includes(x)||k.push(x),k.sort((d,b)=>d-b);let O=d=>ie(d,u)||String(v.indexOf(d)),ee=d=>{let b=E.find(S=>S.type==="text")||E[0];return b?String(d[b.key]??O(d)):O(d)},Ae=g("section",{class:`yv-grid yv-theme-${G}${r.wrap?" yv-wrap":""}${r.className?" "+r.className:""}`,role:"region","aria-labelledby":Ie.title,lang:r.lang||(a!=="en"?n:null)});r.maxHeight&&Ae.style.setProperty("--yv-max-height",typeof r.maxHeight=="number"?`${r.maxHeight}px`:r.maxHeight);let FA=g("h3",{id:Ie.title,class:r.showTitle?"yv-grid-title":"yv-sr"},m);r.showTitle&&(FA.style.cssText="margin:0;padding:12px 12px 0;font-size:1.05em");let be=g("input",{type:"search",placeholder:s.search,"aria-label":s.searchAria,"aria-controls":Ie.grid,autocomplete:"off",spellcheck:"false"}),Bt=r.search===!1?null:g("label",{class:"yv-search"},q("search",18),be),Gi=g("span",{class:"yv-info","aria-hidden":"true"}),IA=g("button",{type:"button",class:"yv-btn yv-icon","data-view-toggle":""}),Ni=r.exportable===!1?null:g("button",{type:"button",class:"yv-btn"},q("download",16),s.export),tr=g("div",{class:"yv-tools"},w==="auto"||r.viewToggle?IA:null,Ni),ir=g("div",{class:"yv-toolbar"},Bt,Gi,tr),Ge=g("div",{class:"yv-filterbar",hidden:!0,"aria-label":s.filters(0)}),Et=g("div",{class:"yv-slot"}),ae=g("div",{class:"yv-body",id:Ie.grid}),RA=g("div",{class:"yv-pager"}),bt=g("p",{class:"yv-sr",id:Ie.status,role:"status","aria-live":"polite","aria-atomic":"true"});Ae.append(FA,ir,Ge,Et,ae,RA,bt),o.appendChild(Ae);let wt=null,TA=d=>{clearTimeout(wt),bt.textContent="",wt=setTimeout(()=>bt.textContent=d,40)},LA=r.engine==="rust"||r.engine==="auto"?r.engine:"ts",ye=null,YA=null,UA={data:null,columns:null,ready:!1};function Fi(){return ye||YA||!vA(LA,v.length)?YA||Promise.resolve(ye?"rust":"ts"):(YA=sn().then(d=>(ye=d?et.create(d):null,ye&&Ae.isConnected&&V(),ye?"rust":"ts")),YA)}function nr(d){if(!ye||!vA(LA,v.length))return null;if(UA.data!==v||UA.columns!==E){let S=v.map(N=>E.map(T=>SA(N[T.key])+At+SA(We(T,N[T.key]))).join(At));UA={data:v,columns:E,ready:ye.setSearchTexts(S)}}if(!UA.ready)return null;let b=ye.search(d);return b?ii(v,b):null}function rr(d,b,S){if(!ye||!vA(LA,v.length)||b.type!=="number"&&b.type!=="date")return null;let N=new Float64Array(d.length),T=1/0,Y=-1/0;for(let $=0;$<d.length;$++){let P=d[$][b.key];if(P==null||P===""){N[$]=NaN;continue}let W=b.type==="number"?Number(P):new Date(P).getTime();if(!Number.isFinite(W))return null;N[$]=W,W<T&&(T=W),W>Y&&(Y=W)}if(T===1/0||!Number.isFinite(Y-T))return null;let J=ye.sortByKeys(N,S==="desc");return J?ii(d,J):null}function or(d,b,S,N){let T=d[S.key],Y=b[S.key];if(T==null||T==="")return Y==null||Y===""?0:1;if(Y==null||Y==="")return-1;let J;return S.type==="number"?J=Number(T)-Number(Y):S.type==="date"?J=new Date(T).getTime()-new Date(Y).getTime():J=String(T).localeCompare(String(Y),n,{numeric:!0,sensitivity:"base"}),Number.isFinite(J)||(J=String(T).localeCompare(String(Y))),N==="desc"?-J:J}let De=null,vt=null;function Ue(){Fi();let d=performance.now(),b=null,S=null,N,T=D?SA(D):"",Y=T?nr(T):null;Y?(b="rust",N=ve(Y,h,p)):(N=ve(v,h,p),T&&(b="ts",N=N.filter($=>E.some(P=>SA($[P.key]).includes(T)||SA(We(P,$[P.key])).includes(T)))));let J=N.length;if(y&&y.key){let $=E.find(P=>P.key===y.key);if($){let P=rr(N,$,y.direction);S=P?"rust":"ts",N=P||N.slice().sort((W,K)=>or(W,K,$,y.direction))}}return De=b||S?{query:T?D:"",ms:performance.now()-d,rows:J,engine:b==="rust"||S==="rust"?"rust":"ts"}:null,N}let xt=null,kt=null;function We(d,b){if(b==null||b==="")return"";if(d.type==="number"&&Number.isFinite(Number(b)))return xt=xt||new Intl.NumberFormat(I),xt.format(Number(b));if(d.type==="date"){let S=new Date(b);return Number.isNaN(S.getTime())?String(b):(kt=kt||new Intl.DateTimeFormat(I,{year:"numeric",month:"short",day:"numeric"}),kt.format(S))}return d.type==="boolean"?b===!0||b==="true"?s.yes:s.no:String(b)}function Ri(d,b,S){let N=b[d.key];if(d.render)try{let T=d.render(N,b,S);return T instanceof Node?T:document.createTextNode(T==null?"":String(T))}catch(T){return console.error("[yuktai] column render failed",d.key,T),document.createTextNode(We(d,N))}return d.type==="badge"&&N!=null&&N!==""?g("span",{class:"yv-cellbadge"},String(N)):document.createTextNode(We(d,N))}let dA=()=>w==="card"||w==="auto"&&L;function Ve(d){if(c===!1)return{pages:1,start:0,end:d};let b=Math.max(1,Math.ceil(d/x));return Q=Math.min(Math.max(1,Q),b),{pages:b,start:(Q-1)*x,end:Math.min(d,Q*x)}}let me=[];function V(){let d=Ue();me=d;let{pages:b,start:S,end:N}=Ve(d.length),T=d.slice(S,N);Ae.className=`yv-grid yv-theme-${G}${r.wrap?" yv-wrap":""}${r.className?" "+r.className:""}`,Ae.setAttribute("aria-busy",String(M)),Gi.textContent=`${d.length.toLocaleString(I)} ${s.rows}${f?` \xB7 ${R.size.toLocaleString(I)} ${s.selected}`:""}${r.showSearchTime&&De?` \xB7 ${gn(De.ms)} \xB7 ${De.engine==="rust"?"Rust":"TS"}`:""}`;let Y=De?[D,y&&y.key,y&&y.direction,p,v]:null,J=!Y||!vt||Y.some((P,W)=>P!==vt[W]);De&&J&&typeof r.onSearchTime=="function"&&r.onSearchTime({...De}),vt=Y,IA.innerHTML=ce(dA()?"grid":"cards",18),IA.setAttribute("aria-label",dA()?s.tableView:s.cardView),IA.title=dA()?s.tableView:s.cardView,gr();let $=ae.contains(document.activeElement);ae.replaceChildren(M?g("div",{class:"yv-loading",role:"status"},s.loading):dA()?sr(T,S):ar(T,S,d.length)),$&&!M&&Li(),lr(d.length,b,S,N)}function ar(d,b,S){let N=E,T=N.length+(f?1:0),Y=g("table",{class:"yv-table",role:"grid","aria-labelledby":Ie.title,"aria-rowcount":S+1,"aria-colcount":T,"aria-multiselectable":f?"true":null}),J=g("tr",{role:"row","aria-rowindex":1});if(f){let K=d.length>0&&d.every(Qe=>R.has(O(Qe))),fe=d.some(Qe=>R.has(O(Qe))),te=g("input",{type:"checkbox","data-select-page":"","aria-label":s.selectPage,tabindex:-1});te.checked=K,te.indeterminate=!K&&fe,J.append(g("th",{role:"columnheader",scope:"col","aria-colindex":1,tabindex:-1,"data-col":0},g("label",{class:"yv-check"},te)))}N.forEach((K,fe)=>{let te=fe+(f?1:0),Qe=y&&y.key===K.key?y.direction:null,Je=g("th",{role:"columnheader",scope:"col","aria-colindex":te+1,"aria-sort":K.sortable?Qe==="asc"?"ascending":Qe==="desc"?"descending":"none":null,class:K.align!=="left"?`yv-align-${K.align}`:null,tabindex:-1,"data-col":te});if(K.width&&(Je.style.width=typeof K.width=="number"?`${K.width}px`:K.width),K.sortable){let _e=g("button",{type:"button",class:"yv-sortbtn","data-sort":K.key,tabindex:-1},K.label);_e.insertAdjacentHTML("beforeend",ce(Qe==="asc"?"sortUp":Qe==="desc"?"sortDown":"sort",14)),Je.append(_e)}else Je.append(K.label);J.append(Je)});let $=g("tbody");if(!d.length){let K=r.empty instanceof Node?r.empty.cloneNode(!0):document.createTextNode(r.empty?String(r.empty):s.noData);$.append(g("tr",{role:"row","aria-rowindex":2},g("td",{role:"gridcell",class:"yv-empty",colspan:T,tabindex:-1,"data-col":0},K)))}d.forEach((K,fe)=>{let te=O(K),Qe=R.has(te),Je=H.has(te),_e=g("tr",{role:"row","aria-rowindex":b+fe+2,"aria-selected":f?String(Qe):null,"data-yuktai-row-id":te,class:Je?"yv-hl":null});if(f){let eA=g("input",{type:"checkbox","data-select":te,"aria-label":s.selectRow(ee(K)),tabindex:-1});eA.checked=Qe,_e.append(g("td",{role:"gridcell","aria-colindex":1,tabindex:-1,"data-col":0},g("label",{class:"yv-check"},eA)))}N.forEach((eA,Ui)=>{let Ji=Ui+(f?1:0),St=g("td",{role:"gridcell","aria-colindex":Ji+1,tabindex:-1,"data-col":Ji,class:eA.align!=="left"?`yv-align-${eA.align}`:null});St.append(Ri(eA,K,b+fe)),Ui===0&&Je&&St.append(g("span",{class:"yv-sr"},` (${s.highlighted})`)),_e.append(St)}),$.append(_e)}),Y.append(g("thead",null,J),$);let P=Y.querySelectorAll("tr");F.r=Math.min(F.r,P.length-1);let W=Ti(Y,F.r,F.c)||Ti(Y,0,0);return W&&W.setAttribute("tabindex","0"),g("div",{class:"yv-tablewrap"},Y)}function sr(d,b){if(!d.length){let N=r.empty instanceof Node?r.empty.cloneNode(!0):document.createTextNode(r.empty?String(r.empty):s.noData);return g("div",{class:"yv-empty",role:"status"},N)}let S=g("ul",{class:"yv-cards","aria-labelledby":Ie.title});return d.forEach((N,T)=>{let Y=O(N),J=R.has(Y),$=H.has(Y),P=X("yv-card"),W=g("li",{class:`yv-card${$?" yv-hl":""}`,"data-yuktai-row-id":Y,"aria-labelledby":P,"aria-selected":f?String(J):null,tabindex:-1}),K=g("div",{class:"yv-card-head"},g("p",{class:"yv-card-title",id:P},ee(N),$?g("span",{class:"yv-sr"},` (${s.highlighted})`):null));if(f){let te=g("input",{type:"checkbox","data-select":Y,"aria-label":s.selectRow(ee(N))});te.checked=J,K.append(g("label",{class:"yv-check"},te))}let fe=g("dl");E.forEach(te=>{te.hiddenOnMobile||fe.append(g("dt",null,te.label),g("dd",null,Ri(te,N,b+T)))}),W.append(K,fe),typeof r.onRowClick=="function"&&W.append(g("button",{type:"button",class:"yv-btn yv-small","data-open":Y,style:"margin-top:8px"},r.openLabel||(a==="te"?"\u0C24\u0C46\u0C30\u0C41\u0C35\u0C41":"Open"))),S.append(W)}),S}function gr(){if(Ge.replaceChildren(),!p.length){Ge.hidden=!0;return}Ge.hidden=!1,Ge.setAttribute("aria-label",s.filters(p.length)),Ge.append(g("span",{class:"yv-muted"},q("filter",15)," ",s.filters(p.length))),p.forEach((d,b)=>{let S=E.find(J=>J.key===d.key),N=Array.isArray(d.value)?d.value.map(J=>We(S||{},J)).join(" \u2013 "):S?We(S,d.value):String(d.value),T=`${S?S.label:d.key} ${s.ops[d.operator]||d.operator} ${N}`,Y=g("button",{type:"button",class:"yv-chip","data-remove-filter":b,"aria-label":s.removeFilter(T)},T,q("close",14));Ge.append(Y)}),Ge.append(g("button",{type:"button",class:"yv-btn yv-small","data-clear-filters":""},s.clearFilters))}function lr(d,b,S,N){if(RA.replaceChildren(),c===!1){RA.append(g("span",{class:"yv-muted"},s.results(d.toLocaleString(I))));return}let T=P=>P.toLocaleString(I),Y=g("span",{class:"yv-muted"},d?s.showing(T(S+1),T(N),T(d)):s.showing(0,0,0)),J=g("div",{class:"yv-pages"});if(c.showSizeChanger!==!1){let P=X("yv-size"),W=g("select",{id:P,"data-page-size":""},...k.map(K=>g("option",{value:K,selected:K===x},String(K))));J.append(g("label",{for:P,class:"yv-muted"},s.pageSize),W)}let $=(P,W,K,fe)=>{let te=g("button",{type:"button",class:"yv-btn yv-icon","aria-label":W,title:W,disabled:K,"data-page":fe});return te.innerHTML=ce(P,18),te};J.append($("first",s.first,Q<=1,"first"),$("left",s.previous,Q<=1,"prev"),g("span",{class:"yv-muted","aria-current":"page"},s.page(T(Q),T(b))),$("right",s.next,Q>=b,"next"),$("last",s.last,Q>=b,"last")),RA.append(Y,J)}function Ti(d,b,S){let N=d.querySelectorAll("tr")[b];if(!N)return null;let T=N.querySelectorAll("th,td");return T[Math.min(S,T.length-1)]||null}function Me(d,b){let S=ae.querySelector("table");if(!S)return;let N=S.querySelectorAll("tr");d=Math.max(0,Math.min(d,N.length-1));let T=N[d].querySelectorAll("th,td");b=Math.max(0,Math.min(b,T.length-1)),S.querySelectorAll('[tabindex="0"]').forEach(J=>J.setAttribute("tabindex","-1"));let Y=T[b];Y.setAttribute("tabindex","0"),F={r:d,c:b},Y.focus()}function Li(){if(ae.querySelector("table"))Me(F.r,F.c);else{let b=ae.querySelector(".yv-card");b&&b.focus()}}function cr(d){let b=ae.querySelector("table"),S=d.target.closest&&d.target.closest("th,td");if(!b||!S||!b.contains(S))return;let N=S.parentElement,T=Array.prototype.indexOf.call(b.querySelectorAll("tr"),N),Y=Array.prototype.indexOf.call(N.querySelectorAll("th,td"),S),J=b.querySelectorAll("tr").length-1,$=!0;switch(d.key){case"ArrowRight":Me(T,Y+1);break;case"ArrowLeft":Me(T,Y-1);break;case"ArrowDown":Me(T+1,Y);break;case"ArrowUp":Me(T-1,Y);break;case"Home":d.ctrlKey?Me(0,0):Me(T,0);break;case"End":d.ctrlKey?Me(J,999):Me(T,999);break;case"PageDown":c!==!1&&(F={r:Math.max(1,T),c:Y},je(Q+1,!0));break;case"PageUp":c!==!1&&(F={r:Math.max(1,T),c:Y},je(Q-1,!0));break;case"Enter":case" ":{let P=S.querySelector("[data-sort]"),W=S.querySelector("input[type=checkbox]");P?Yi(P.getAttribute("data-sort")):W?W.click():d.key==="Enter"&&N.hasAttribute("data-yuktai-row-id")&&typeof r.onRowClick=="function"?uA(N.getAttribute("data-yuktai-row-id")):d.key===" "&&f&&N.hasAttribute("data-yuktai-row-id")?Ir(N.getAttribute("data-yuktai-row-id")):$=!1;break}default:$=!1}$&&(d.preventDefault(),d.stopPropagation())}function Yi(d){let b=E.find(N=>N.key===d);if(!b||!b.sortable)return;!y||y.key!==d?y={key:d,direction:"asc"}:y.direction==="asc"?y={key:d,direction:"desc"}:y=null,Q=1,ae.querySelector("table")&&ae.contains(document.activeElement)&&(F={r:0,c:F.c}),V(),TA(y?y.direction==="asc"?s.sortedAsc(b.label):s.sortedDesc(b.label):s.sortCleared),r.onSortChange&&r.onSortChange(y?{key:y.key,direction:y.direction}:null)}function Xe(){r.onSelectionChange&&r.onSelectionChange(Array.from(R)),Ae.dispatchEvent(new CustomEvent("yuktai:selection",{detail:{keys:Array.from(R)},bubbles:!0}))}function Ir(d,b){(b===void 0?!R.has(d):b)?R.add(d):R.delete(d),V(),Xe()}function je(d,b){let{pages:S}=Ve(me.length),N=Math.min(Math.max(1,d),S);N===Q&&!b||(Q=N,V(),TA(s.page(Q,S)),b&&ae.querySelector("table")&&Li())}function uA(d){let b=v.find(S=>O(S)===String(d));return b?(typeof r.onRowClick=="function"&&r.onRowClick(b,v.indexOf(b)),typeof r.onOpenRow=="function"&&r.onOpenRow(String(d)),!0):!1}function CA(d,b=C){if(H.clear(),(d||[]).forEach(S=>H.add(typeof S=="object"&&S!==null?O(S):String(S))),b&&H.size){let S=me.length?me.findIndex(N=>H.has(O(N))):Ue().findIndex(N=>H.has(O(N)));S>=0&&c!==!1&&(Q=Math.floor(S/x)+1)}if(V(),b&&H.size){let S=ae.querySelector(".yv-hl");S&&S.scrollIntoView&&S.scrollIntoView({block:"nearest",behavior:vi()?"auto":"smooth"})}}let Dt=null;be.addEventListener("input",()=>{clearTimeout(Dt),Dt=setTimeout(()=>{D=be.value.trim(),Q=1,V(),TA(s.results(me.length.toLocaleString(I)))},160)}),Ae.addEventListener("click",d=>{let b=d.target.closest("button, input, tr[data-yuktai-row-id]");if(!(!b||!Ae.contains(b))){if(b.matches("[data-sort]"))return Yi(b.getAttribute("data-sort"));if(b.matches("[data-page]")){let S=b.getAttribute("data-page"),{pages:N}=Ve(me.length);return je(S==="first"?1:S==="prev"?Q-1:S==="next"?Q+1:N)}if(b.matches("[data-remove-filter]")){p=p.filter((S,N)=>N!==Number(b.getAttribute("data-remove-filter"))),Q=1,V(),r.onFiltersChange&&r.onFiltersChange(p.slice());return}if(b.matches("[data-clear-filters]"))return j.clearFilters();if(b.matches("[data-open]"))return uA(b.getAttribute("data-open"));if(b===IA){w=dA()?"table":"card",V();return}if(b===Ni)return j.exportCSV();b.matches("tr[data-yuktai-row-id]")&&typeof r.onRowClick=="function"&&!d.target.closest("label,input,button,a")&&uA(b.getAttribute("data-yuktai-row-id"))}}),Ae.addEventListener("change",d=>{let b=d.target;if(b.matches("[data-select]"))b.checked?R.add(b.getAttribute("data-select")):R.delete(b.getAttribute("data-select")),V(),Xe();else if(b.matches("[data-select-page]")){let{start:S,end:N}=Ve(me.length);me.slice(S,N).forEach(T=>b.checked?R.add(O(T)):R.delete(O(T))),V(),Xe()}else b.matches("[data-page-size]")&&(x=Number(b.value)||x,Q=1,V(),ae.closest(".yv-grid").querySelector("[data-page-size]").focus())}),ae.addEventListener("keydown",cr),ae.addEventListener("focusin",d=>{let b=ae.querySelector("table"),S=d.target.closest&&d.target.closest("th,td");if(!b||!S)return;let N=S.parentElement,T=Array.prototype.indexOf.call(b.querySelectorAll("tr"),N),Y=Array.prototype.indexOf.call(N.querySelectorAll("th,td"),S);T<0||Y<0||(b.querySelectorAll('[tabindex="0"]').forEach(J=>J!==S&&J.setAttribute("tabindex","-1")),S.setAttribute("tabindex","0"),F={r:T,c:Y})});let JA=null;typeof ResizeObserver=="function"&&(JA=new ResizeObserver(d=>{let b=d[0]&&d[0].contentRect.width,S=b>0&&b<B;S!==L&&(L=S,w==="auto"&&V())}),JA.observe(Ae));let we={get data(){return v},get columns(){return h},rowKey:u,locale:l,get filters(){return p},onHighlightRows:d=>CA(d),onSelectRow:d=>{R.add(String(d)),CA([String(d)]),Xe()},onOpenRow:typeof r.onRowClick=="function"||typeof r.onOpenRow=="function"?d=>uA(d):void 0,onFiltersChange:d=>{p=d.slice(),Q=1,V(),r.onFiltersChange&&r.onFiltersChange(p.slice())},onSortChange:d=>{y=d?{key:d.key,direction:d.direction==="desc"?"desc":"asc"}:null,Q=1,V(),r.onSortChange&&r.onSortChange(y)}},KA=tA(we,{name:r.toolName||"yuktai_grid",descriptions:r.toolDescriptions}),hA=ut({tools:()=>KA,data:()=>v,columns:()=>h.map(d=>({key:d.key,label:d.label})),rowKey:u,locale:l,customRules:r.customRules||[],parseIntent:r.parseIntent,historyLimit:r.historyLimit||20,onResult:d=>{r.onAgentResult&&r.onAgentResult({success:d.success,message:d.message,tool:d.tool})},onError:r.onAgentError}),qA={status:{state:"unsupported",registered:[],errors:[]},unregister(){}};r.webmcp&&(qA=Ct(()=>KA,{onStatusChange:d=>{r.onWebMCPStatusChange&&r.onWebMCPStatusChange(d),Ae.dispatchEvent(new CustomEvent("yuktai:webmcp",{detail:d,bubbles:!0}))}}));let Ze=ht({data:v,columns:h,rowKey:u,referenceDate:r.referenceDate,onOpenRow:we.onOpenRow,bind:{getData:()=>v,getFilters:()=>p,getSort:()=>y,getHighlightIds:()=>Array.from(H),setFilters:d=>we.onFiltersChange(d),setSort:d=>we.onSortChange(d),setHighlightIds:d=>CA(d),selectRow:d=>we.onSelectRow(d)}}),pA=null;r.ai&&(pA=ki(Et,hA,{locale:l,inputLanguage:r.inputLanguage||(l==="te"?"te-IN":"en-IN"),examples:r.assistantExamples,webmcp:()=>qA.status,showWebMCP:!!r.webmcp}),r.webmcp&&Ae.addEventListener("yuktai:webmcp",()=>pA&&pA.refreshStatus()));let Mt=null;if(r.agentic){let d=typeof r.agentic=="object"?r.agentic:{};Mt=ft(Et,Ze,d)}let j={element:Ae,host:Ae,get tools(){return KA},agent:hA,agentic:Ze,get webmcpStatus(){return qA.status},refresh(d){return Array.isArray(d)&&(v=d.slice(),R.clear(),H.clear(),Q=1),V(),j},setData(d,b){return Array.isArray(b)&&(E=jn(b,d||v),h=Ne(E),KA=tA(we,{name:r.toolName||"yuktai_grid",descriptions:r.toolDescriptions})),j.refresh(d)},getData:()=>v.slice(),getRows:()=>Ue(),getPageRows(){let d=Ue(),{start:b,end:S}=Ve(d.length);return d.slice(b,S)},getSelectedRows:()=>v.filter(d=>R.has(O(d))),getSelectedKeys:()=>Array.from(R),select(d,b=!0){return[].concat(d).forEach(S=>b?R.add(String(S)):R.delete(String(S))),V(),Xe(),j},clearSelection(){return R.clear(),V(),Xe(),j},search(d){return D=String(d||"").trim(),be.value=D,Q=1,V(),me.length},setFilters(d){return we.onFiltersChange(Array.isArray(d)?d:[]),j},addFilter(d){return hA.executeTool("filter",d)},getFilters:()=>p.slice(),clearFilters(){return we.onFiltersChange([]),TA(a==="te"?"\u0C2B\u0C3F\u0C32\u0C4D\u0C1F\u0C30\u0C4D\u0C32\u0C41 \u0C24\u0C40\u0C38\u0C47\u0C36\u0C3E\u0C30\u0C41":"Filters cleared"),j},sortBy(d,b="asc"){return we.onSortChange(d?{key:d,direction:b}:null),j},clearSort(){return we.onSortChange(null),j},getSort:()=>y?{...y}:null,get engine(){return ye&&vA(LA,v.length)?"rust":"ts"},getSearchTime:()=>De?{...De}:null,whenEngineReady:()=>Fi().then(()=>j.engine),highlight(d,b){return CA(d,b===void 0?C:b),j},clearHighlight(){return CA([],!1),j},getHighlightIds:()=>Array.from(H),goToPage(d){return je(Number(d)||1),j},nextPage(){return je(Q+1),j},prevPage(){return je(Q-1),j},getPage:()=>({page:Q,pageSize:x,pages:Ve(me.length).pages,total:me.length}),setPageSize(d){return x=Number(d)||x,k.includes(x)||(k.push(x),k.sort((b,S)=>b-S)),Q=1,V(),j},setTheme(d){return G=Xn.includes(d)?d:"default",V(),j},getTheme:()=>G,setView(d){return w=["table","card","auto"].includes(d)?d:"auto",V(),j},setLoading(d){return M=!!d,V(),j},openRow:d=>uA(d),async ask(d){return(await Ze.ask(d)).answer},askDetailed:d=>Ze.ask(d),assistantAsk:d=>hA.ask(d),executeTool:(d,b)=>hA.executeTool(d,b),biSummary:()=>He(Ue(),h),anomalies:()=>qe(Ue(),h,{rowKey:u}),async runTasks(d){return(await Ze.ask(d)).answer},reset(){return Ze.reset(),D="",be.value="",V(),j},exportCSV(d=r.exportFileName||"yuktai-grid-export.csv"){let b=R.size?v.filter(N=>R.has(O(N))):Ue(),S="\uFEFF"+[E.map(N=>xi(N.label)).join(","),...b.map(N=>E.map(T=>xi(N[T.key])).join(","))].join(`\r
|
|
536
|
+
`);return MA(d,S,"text/csv;charset=utf-8"),oe(`${b.length} row(s) exported`),b.length},destroy(){clearTimeout(Dt),clearTimeout(wt),JA&&JA.disconnect(),qA.unregister(),pA&&pA.destroy(),Mt&&Mt.destroy(),Ae.remove()}};return typeof r.onReady=="function"&&r.onReady(j),V(),j}var Yo={en:{title:"Ask the grid",hint:"Type or speak: a word to search, \u201Csort by <column>\u201D, \u201Chow many\u201D, \u201Cclear filters\u201D, \u201Copen <name>\u201D.",placeholder:"Ask the grid\u2026",ask:"Ask",listen:"Speak",stop:"Stop",listening:"Listening\u2026",noVoice:"Voice input is not available in this browser. Type your question instead.",history:"History",clear:"Clear history",webmcp:{unsupported:"WebMCP: not available in this browser (no document.modelContext).",registering:"WebMCP: registering tools\u2026",ready:"WebMCP: tools ready",partial:"WebMCP: some tools failed",error:"WebMCP: registration failed"}},te:{title:"\u0C17\u0C4D\u0C30\u0C3F\u0C21\u0C4D\u200C\u0C28\u0C41 \u0C05\u0C21\u0C17\u0C02\u0C21\u0C3F",hint:"\u0C1F\u0C48\u0C2A\u0C4D \u0C1A\u0C47\u0C2F\u0C02\u0C21\u0C3F \u0C32\u0C47\u0C26\u0C3E \u0C2E\u0C3E\u0C1F\u0C4D\u0C32\u0C3E\u0C21\u0C02\u0C21\u0C3F: \u0C35\u0C46\u0C24\u0C15\u0C3E\u0C32\u0C4D\u0C38\u0C3F\u0C28 \u0C2A\u0C26\u0C02, \u201C<\u0C15\u0C3E\u0C32\u0C2E\u0C4D> \u0C2A\u0C4D\u0C30\u0C15\u0C3E\u0C30\u0C02 \u0C15\u0C4D\u0C30\u0C2E\u0C02\u201D, \u201C\u0C0E\u0C28\u0C4D\u0C28\u0C3F\u201D, \u201C\u0C2B\u0C3F\u0C32\u0C4D\u0C1F\u0C30\u0C4D\u0C32\u0C41 \u0C24\u0C40\u0C38\u0C47\u0C2F\u0C3F\u201D.",placeholder:"\u0C17\u0C4D\u0C30\u0C3F\u0C21\u0C4D\u200C\u0C28\u0C41 \u0C05\u0C21\u0C17\u0C02\u0C21\u0C3F\u2026",ask:"\u0C05\u0C21\u0C41\u0C17\u0C41",listen:"\u0C2E\u0C3E\u0C1F\u0C4D\u0C32\u0C3E\u0C21\u0C41",stop:"\u0C06\u0C2A\u0C41",listening:"\u0C35\u0C3F\u0C02\u0C1F\u0C41\u0C28\u0C4D\u0C28\u0C3E\u0C28\u0C41\u2026",noVoice:"\u0C08 \u0C2C\u0C4D\u0C30\u0C4C\u0C1C\u0C30\u0C4D\u200C\u0C32\u0C4B \u0C35\u0C3E\u0C2F\u0C3F\u0C38\u0C4D \u0C07\u0C28\u0C4D\u200C\u0C2A\u0C41\u0C1F\u0C4D \u0C32\u0C47\u0C26\u0C41. \u0C1F\u0C48\u0C2A\u0C4D \u0C1A\u0C47\u0C2F\u0C02\u0C21\u0C3F.",history:"\u0C1A\u0C30\u0C3F\u0C24\u0C4D\u0C30",clear:"\u0C1A\u0C30\u0C3F\u0C24\u0C4D\u0C30 \u0C24\u0C40\u0C38\u0C47\u0C2F\u0C3F",webmcp:{unsupported:"WebMCP: \u0C08 \u0C2C\u0C4D\u0C30\u0C4C\u0C1C\u0C30\u0C4D\u200C\u0C32\u0C4B \u0C32\u0C47\u0C26\u0C41.",registering:"WebMCP: \u0C28\u0C2E\u0C4B\u0C26\u0C41 \u0C1A\u0C47\u0C38\u0C4D\u0C24\u0C4B\u0C02\u0C26\u0C3F\u2026",ready:"WebMCP: \u0C38\u0C3F\u0C26\u0C4D\u0C27\u0C02",partial:"WebMCP: \u0C15\u0C4A\u0C28\u0C4D\u0C28\u0C3F \u0C35\u0C3F\u0C2B\u0C32\u0C02",error:"WebMCP: \u0C35\u0C3F\u0C2B\u0C32\u0C02"}}};function ki(e,A,t={}){let i=Yo[t.locale==="te"?"te":"en"],o=X("yv-ask"),r=X("yv-hint"),n=g("input",{id:o,class:"yv-input",type:"text",placeholder:i.placeholder,autocomplete:"off","aria-describedby":r}),a=g("button",{type:"submit",class:"yv-btn yv-primary"},q("spark",16),i.ask),s=typeof window<"u"&&(window.SpeechRecognition||window.webkitSpeechRecognition),l=g("button",{type:"button",class:"yv-btn","aria-pressed":"false"},q("mic",16),i.listen),I=g("div",{class:"yv-answer",role:"status","aria-live":"polite"}),u=g("ol"),m=g("details",{class:"yv-history"},g("summary",null,i.history),u,g("button",{type:"button",class:"yv-btn yv-small","data-clear-history":""},i.clear)),c=t.showWebMCP?g("p",{class:"yv-muted",style:"margin:8px 0 0"}):null,k=t.examples||(t.locale==="te"?["\u0C0E\u0C28\u0C4D\u0C28\u0C3F","\u0C2B\u0C3F\u0C32\u0C4D\u0C1F\u0C30\u0C4D\u0C32\u0C41 \u0C24\u0C40\u0C38\u0C47\u0C2F\u0C3F"]:["how many","clear filters","clear sort"]),f=g("div",{class:"yv-chips"},...k.map(y=>g("button",{type:"button",class:"yv-chip","data-example":y},y))),C=g("form",{class:"yv-row",role:"search","aria-label":i.title},g("label",{for:o,class:"yv-sr"},i.title),n,a,l),B=g("section",{class:"yv-box yv-assistant","aria-label":i.title},g("h3",null,q("chat",16)," ",i.title),g("p",{id:r,class:"yv-muted",style:"margin:0 0 8px"},i.hint),C,f,I,m,c);e.appendChild(B);async function v(y){let D=String(y||"").trim();if(D){a.disabled=!0;try{let Q=await A.ask(D);I.textContent=Q.message,I.className=`yv-answer ${Q.success?"":"yv-fail"}`}finally{a.disabled=!1}}}let E=A.subscribe(y=>{u.replaceChildren(...y.history.slice().reverse().map(D=>g("li",null,g("span",{class:D.result.success?"yv-ok":"yv-fail"},D.result.success?"\u2713 ":"\u2717 "),D.result.message,g("span",{class:"yv-muted"},` (${D.tool})`)))),m.querySelector("summary").textContent=`${i.history} (${y.history.length})`});C.addEventListener("submit",y=>{y.preventDefault(),v(n.value)}),B.addEventListener("click",y=>{let D=y.target.closest("[data-example],[data-clear-history]");D&&(D.hasAttribute("data-example")?(n.value=D.getAttribute("data-example"),v(n.value)):(A.clearHistory(),I.textContent=""))});let h=null;l.addEventListener("click",()=>{if(!s){I.textContent=i.noVoice;return}if(h){h.stop();return}h=new s,h.lang=t.inputLanguage||"en-IN",h.interimResults=!1,h.maxAlternatives=1,l.setAttribute("aria-pressed","true"),l.lastChild.textContent=i.stop,I.textContent=i.listening,h.onresult=y=>{let D=y.results[0][0].transcript;n.value=D,v(D)},h.onerror=y=>{I.textContent=`${i.noVoice} (${y.error})`},h.onend=()=>{h=null,l.setAttribute("aria-pressed","false"),l.lastChild.textContent=i.listen};try{h.start()}catch(y){I.textContent=`${i.noVoice} (${y.message})`,h=null}}),s||(l.title=i.noVoice);function p(){if(!c||!t.webmcp)return;let y=t.webmcp();c.textContent=i.webmcp[y.state]+(y.registered&&y.registered.length?` (${y.registered.length})`:"")}return p(),{element:B,ask:v,refreshStatus:p,destroy(){E(),h&&h.stop(),B.remove()}}}var _n=[{id:"copilot",label:"Copilot",icon:"wand"},{id:"qa",label:"QA report",icon:"check"},{id:"forms",label:"Forms",icon:"form"},{id:"design",label:"Design",icon:"layout"},{id:"ask",label:"Ask page",icon:"chat"},{id:"voice",label:"Voice",icon:"mic"}],Uo=[["en-IN","English (India)"],["en-US","English (US)"],["te-IN","\u0C24\u0C46\u0C32\u0C41\u0C17\u0C41 (Telugu)"],["hi-IN","\u0939\u093F\u0928\u094D\u0926\u0940 (Hindi)"],["ta-IN","\u0BA4\u0BAE\u0BBF\u0BB4\u0BCD (Tamil)"],["kn-IN","\u0C95\u0CA8\u0CCD\u0CA8\u0CA1 (Kannada)"],["ml-IN","\u0D2E\u0D32\u0D2F\u0D3E\u0D33\u0D02 (Malayalam)"],["mr-IN","\u092E\u0930\u093E\u0920\u0940 (Marathi)"],["bn-IN","\u09AC\u09BE\u0982\u09B2\u09BE (Bengali)"],["gu-IN","\u0A97\u0AC1\u0A9C\u0AB0\u0ABE\u0AA4\u0AC0 (Gujarati)"]],Di=e=>g("span",{class:`yv-badge yv-sev-${e}`},e);function Mi(e,A){return g("div",null,g("div",{class:"yv-score"},g("strong",null,String(e)),g("span",{class:"yv-muted"},"/ 100")),g("div",{class:"yv-meter",role:"img","aria-label":`Score ${e} out of 100`},g("span",{style:`width:${Math.max(0,Math.min(100,e))}%`})),g("p",{style:"margin:0 0 6px"},A))}function GA(e){let A=(e||[]).filter(Boolean);return A.length?g("button",{type:"button",class:"yv-btn yv-small",onclick:()=>oe(`${Vn(A)} element(s) outlined on the page`)},q("eye",14),"Show on page"):null}function Qt(e,A={}){let t=e==null?null:typeof e=="string"?document.querySelector(e):e;if(e!=null&&!t)throw new Error("mountAgenticPanel: container not found");let i=X("yv-tabs"),o=g("section",{class:`yv-box yv-agentic-panel${A.theme?" yv-theme-"+A.theme:""}`,"data-yuktai-panel":"","aria-label":A.title||"Page tools"}),r=g("div",{class:"yv-tabs",role:"tablist","aria-label":"Page tools",id:i}),n={};_n.forEach(E=>{let h=`${i}-${E.id}`,p=`${h}-panel`;r.append(g("button",{type:"button",class:"yv-tab",role:"tab",id:h,"aria-controls":p,"aria-selected":"false",tabindex:-1,"data-tab":E.id},q(E.icon,15)," ",E.label)),n[E.id]=g("div",{role:"tabpanel",id:p,"aria-labelledby":h,hidden:!0,tabindex:0})}),o.append(r,...Object.values(n)),t&&t.appendChild(o);let a={},s=null;function l(E,h){n[E]||(E="qa"),s=E,r.querySelectorAll("[role=tab]").forEach(p=>{let y=p.getAttribute("data-tab")===E;p.setAttribute("aria-selected",String(y)),p.tabIndex=y?0:-1,y&&h&&p.focus()}),Object.entries(n).forEach(([p,y])=>y.hidden=p!==E),a[E]||(a[E]=!0,v[E](n[E]))}r.addEventListener("click",E=>{let h=E.target.closest("[role=tab]");h&&l(h.getAttribute("data-tab"),!0)}),r.addEventListener("keydown",E=>{let h=_n.map(Q=>Q.id),p=E.target.closest&&E.target.closest("[role=tab]"),y=h.indexOf(p?p.getAttribute("data-tab"):s),D=null;E.key==="ArrowRight"?D=h[(y+1)%h.length]:E.key==="ArrowLeft"?D=h[(y-1+h.length)%h.length]:E.key==="Home"?D=h[0]:E.key==="End"&&(D=h[h.length-1]),D&&(E.preventDefault(),E.stopPropagation(),l(D,!0))});let I=null;function u(E){let h=g("ul",{class:"yv-list"}),p=g("p",{class:"yv-status",role:"status","aria-live":"polite"}),y=g("div",{class:"yv-answer","aria-live":"polite"}),D=g("button",{type:"button",class:"yv-btn","aria-pressed":"false"},q("eye",16),"Watch page");I=ZA({defaultLang:A.defaultLang,debounceMs:600,onUpdate:x=>Q(x)});function Q(x){let G=x.report;D.setAttribute("aria-pressed",String(x.watching)),p.textContent=G?`${G.summary} Fixes applied: ${x.appliedFixes}.${x.watching?" Watching for page changes.":""}`:"Scan the page to see issues.",h.replaceChildren(...(G?G.issues.slice(0,40):[]).map(w=>g("li",{class:"yv-item"},g("p",null,Di(w.severity)," ",g("b",null,w.message)),g("p",{class:"yv-muted"},`WCAG ${w.wcag} \xB7 `,g("code",null,w.selector)),g("div",{class:"yv-row"},g("button",{type:"button",class:"yv-btn yv-small",onclick:()=>y.textContent=I.explain(w.id)},q("info",14),"Explain"),w.autoFixable?g("button",{type:"button",class:"yv-btn yv-small",onclick:()=>oe(I.applyFix(w.id).message)},q("wand",14),"Fix"):null,GA([w.selector])))))}E.append(g("p",{class:"yv-muted"},"Finds accessibility problems, explains them in plain English, and applies safe fixes you can undo."),g("div",{class:"yv-row"},g("button",{type:"button",class:"yv-btn yv-primary",onclick:()=>I.scan()},q("search",16),"Scan page"),D,g("button",{type:"button",class:"yv-btn",onclick:()=>oe(`${I.applyAllFixes().filter(x=>x.applied).length} fix(es) applied`)},q("wand",16),"Apply all safe fixes"),g("button",{type:"button",class:"yv-btn",onclick:()=>oe(`${I.undoAll()} change(s) undone`)},q("undo",16),"Undo all")),p,y,h),D.addEventListener("click",()=>I.getState().watching?I.stop():I.start()),Q(I.getState())}function m(E){let h=g("div",{"aria-live":"polite"}),p=null,y=()=>{p=pe(A.auditOptions||{});let D=p.issues;h.replaceChildren(Mi(p.score,p.summary),g("div",{class:"yv-row"},g("button",{type:"button",class:"yv-btn yv-small",onclick:async()=>oe(await Wn(EA(p))?"Markdown report copied":"Copy failed")},q("copy",14),"Copy Markdown"),g("button",{type:"button",class:"yv-btn yv-small",onclick:()=>MA("yuktai-qa-report.md",EA(p),"text/markdown;charset=utf-8")},q("download",14),"Markdown"),g("button",{type:"button",class:"yv-btn yv-small",onclick:()=>MA("yuktai-qa-report.json",jA(p),"application/json")},q("download",14),"JSON")),g("details",{class:"yv-history"},g("summary",null,`Checks (${p.checks.filter(Q=>Q.passed).length}/${p.checks.length} passed)`),g("ul",{class:"yv-steps"},...p.checks.map(Q=>g("li",null,g("span",{class:Q.passed?"yv-ok":"yv-fail"},Q.passed?"\u2713 ":"\u2717 "),Q.title||Q.rule,Q.issueCount?` \u2014 ${Q.issueCount} issue(s)`:"")))),g("ul",{class:"yv-list"},...D.slice(0,60).map(Q=>g("li",{class:"yv-item"},g("p",null,Di(Q.severity)," ",g("b",null,Q.message)),g("p",null,g("b",null,"Fix: "),Q.fix),g("p",{class:"yv-muted"},`${Q.rule} \xB7 WCAG ${Q.wcag} \xB7 `,g("code",null,Q.selector)),GA([Q.selector])))),D.length>60?g("p",{class:"yv-muted"},`${D.length-60} more issue(s) in the downloaded report.`):null),oe(p.summary)};E.append(g("p",{class:"yv-muted"},"15 WCAG checks on this page with a 0\u2013100 score. Heuristic: still test with a keyboard and a screen reader."),g("button",{type:"button",class:"yv-btn yv-primary",onclick:y},q("check",16),"Run QA audit"),h)}function c(E){let h=g("input",{type:"checkbox",id:X("yv-senior"),checked:A.seniorFriendly!==!1}),p=g("div",{"aria-live":"polite"}),y=()=>{let D=rA({seniorFriendly:h.checked,maxFieldsPerStep:A.maxFieldsPerStep||8});if(!D.length)return p.replaceChildren(g("p",{class:"yv-answer"},"There are no forms on this page.")),oe("No forms found");p.replaceChildren(...D.map(Q=>g("div",{class:"yv-item",style:"margin-top:10px"},Mi(Q.score,Q.summary),g("ul",{class:"yv-steps"},...Q.findings.map(x=>g("li",null,g("span",{class:`yv-badge yv-sev-${x.level==="problem"?"serious":"minor"}`},x.level)," ",x.message,g("br"),g("span",{class:"yv-muted"},x.suggestion)))),GA(Q.findings.map(x=>x.selector))))),oe(`${D.length} form(s) reviewed`)};E.append(g("p",{class:"yv-muted"},"Checks labels, autocomplete, error messages and senior-friendly tips."),g("div",{class:"yv-row"},g("label",{class:"yv-check",for:h.id},h),g("label",{for:h.id},"Senior-friendly checks"),g("button",{type:"button",class:"yv-btn yv-primary",onclick:y},q("form",16),"Review forms")),p)}function k(E){let h=X("yv-min"),p=g("input",{id:h,class:"yv-input",type:"number",min:10,max:24,value:A.minFontSize||16,style:"width:90px"}),y=g("div",{"aria-live":"polite"}),D=()=>{let Q=nt({minFontSize:Number(p.value)||16,maxLineLength:A.maxLineLength||90});y.replaceChildren(Mi(Q.score,Q.summary),g("div",{class:"yv-cats"},...Object.entries(Q.categories).map(([x,G])=>g("div",{class:"yv-cat"},g("span",{class:"yv-muted"},x),g("strong",null,String(G.score)),g("span",{class:"yv-muted"},`${G.findings} finding(s)`)))),g("ul",{class:"yv-list"},...Q.findings.slice(0,40).map(x=>g("li",{class:"yv-item"},g("p",null,Di(x.severity)," ",g("b",null,x.category),": ",x.message),g("p",{class:"yv-muted"},x.suggestion),GA([x.selector]))))),oe(Q.summary)};E.append(g("p",{class:"yv-muted"},"Hierarchy, readability, interaction, clutter and consistency. Heuristic, not a visual-design certification."),g("div",{class:"yv-row"},g("label",{for:h},"Minimum text size (px)"),p,g("button",{type:"button",class:"yv-btn yv-primary",onclick:D},q("layout",16),"Review design")),y)}function f(E){let h=X("yv-pq"),p=g("input",{id:h,class:"yv-input",type:"text",placeholder:"What is this page about?",autocomplete:"off"}),y=g("div",{"aria-live":"polite"}),D=null,Q=async()=>{let w=p.value.trim()||"What is this page about?",M=await _A(w,{summarize:A.summarize}),L=[g("div",{class:"yv-answer"},M.answer)];M.suggestions.length&&L.push(g("ul",{class:"yv-steps"},...M.suggestions.map(R=>g("li",null,R))));let F=GA(M.targets);if(F&&L.push(F),M.intent==="unknown"){D?D.rebuild():D=it({includePage:!0,documents:A.documents,engine:A.engine});let R=await D.ask(w,{generate:A.generate});L.push(g("h4",{style:"margin:12px 0 4px"},R.generated?"Answer (your model)":"From the page text"),g("div",{class:"yv-answer"},R.answer))}y.replaceChildren(...L),oe(M.answer)},x=g("form",{class:"yv-row"},g("label",{for:h,class:"yv-sr"},"Ask about this page"),p,g("button",{type:"submit",class:"yv-btn yv-primary"},"Ask"));x.addEventListener("submit",w=>{w.preventDefault(),Q()});let G=["What is this page about?","Which fields have no label?","Which images have no alt text?","Show the page structure","How many links are there?","Tell me about the forms"];E.append(g("p",{class:"yv-muted"},"Answers from this page only, offline. Pass generate() to use your own model."),x,g("div",{class:"yv-chips"},...G.map(w=>g("button",{type:"button",class:"yv-chip",onclick:()=>(p.value=w,Q())},w))),y)}let C=null;function B(E){let h=X("yv-lang"),p=g("select",{id:h,class:"yv-input",style:"width:auto"},...Uo.map(([F,R])=>g("option",{value:F,selected:F===(A.voiceLang||"en-IN")},R))),y=g("button",{type:"button",class:"yv-btn yv-primary","aria-pressed":"false"},q("mic",16),"Start listening"),D=X("yv-cmd"),Q=g("input",{id:D,class:"yv-input",type:"text",placeholder:"Type a command, e.g. make text bigger",autocomplete:"off"}),x=g("div",{class:"yv-answer",role:"status","aria-live":"polite"}),G=typeof window<"u"&&!!(window.SpeechRecognition||window.webkitSpeechRecognition),w=()=>{C&&C.stop(),C=dt({lang:p.value,speak:A.speak!==!1,initial:A.getSettings?A.getSettings():void 0,apply:A.applySettings,onTranscript:(F,R)=>{x.textContent=`Heard: \u201C${F}\u201D
|
|
537
|
+
${R?R.say:"Not a voice command. Try: make text bigger, high contrast on, dark mode, next row, reset."}`,A.onVoiceCommand&&A.onVoiceCommand(F,R)}})};w(),p.addEventListener("change",()=>{let F=y.getAttribute("aria-pressed")==="true";w(),F&&C.start()}),y.addEventListener("click",()=>{if(y.getAttribute("aria-pressed")==="true"){C.stop(),y.setAttribute("aria-pressed","false"),y.lastChild.textContent="Start listening";return}if(!C.start()){x.textContent="Speech recognition is not available in this browser. Typed commands below still work.";return}y.setAttribute("aria-pressed","true"),y.lastChild.textContent="Stop listening",x.textContent="Listening\u2026 say \u201Cmake text bigger\u201D or \u201Cnext row\u201D."});let M=g("form",{class:"yv-row"},g("label",{for:D,class:"yv-sr"},"Type a voice command"),Q,g("button",{type:"submit",class:"yv-btn"},"Run"));M.addEventListener("submit",async F=>{F.preventDefault(),Q.value.trim()&&await C.handle(Q.value)});let L=["make text bigger","make text smaller","high contrast on","dark mode","reduce motion","dyslexia font","next row","previous row","first row","reset","\u0C2A\u0C46\u0C26\u0C4D\u0C26 \u0C05\u0C15\u0C4D\u0C37\u0C30\u0C3E\u0C32\u0C41","\u0C39\u0C48 \u0C15\u0C3E\u0C02\u0C1F\u0C4D\u0C30\u0C3E\u0C38\u0C4D\u0C1F\u0C4D","\u0C24\u0C30\u0C4D\u0C35\u0C3E\u0C24\u0C3F \u0C35\u0C30\u0C41\u0C38"];E.append(g("p",{class:"yv-muted"},G?"Speak accessibility commands in English or Telugu. Text size moves 80\u2013130% in 10% steps.":"Your browser has no speech recognition. You can still type the same commands."),g("div",{class:"yv-row"},g("label",{for:h},"Language"),p,y),M,g("div",{class:"yv-chips"},...L.map(F=>g("button",{type:"button",class:"yv-chip",onclick:()=>(Q.value=F,C.handle(F))},F))),x)}let v={copilot:u,qa:m,forms:c,design:k,ask:f,voice:B};return l(A.defaultTab||"qa",!1),{element:o,select:E=>l(E,!1),get tab(){return s},get copilot(){return I},destroy(){I&&I.stop(),C&&C.stop(),o.remove()}}}var Si="yuktai-a11y-prefs",NA=[.8,.9,1,1.1,1.2,1.3],Jo=[["none","None"],["deuteranopia","Deuteranopia (red-green)"],["protanopia","Protanopia (red-green)"],["tritanopia","Tritanopia (blue-yellow)"],["achromatopsia","Achromatopsia (no colour)"]],Ko=[["highContrast","High contrast","Stronger text and borders","contrast"],["darkMode","Dark mode","Light text on a dark page","moon"],["reduceMotion","Reduce motion","Stop animations and transitions","motion"],["largeTargets","Large targets","Buttons and links at least 44\xD744","target"],["dyslexiaFont","Dyslexia-friendly font","Easier letters and wider spacing","reading"],["speechEnabled","Speak on focus","Read out each control you Tab to","speaker"],["autoFix","Auto-fix page","Add missing ARIA, labels and alt text; watch new content","wand"],["showSkipLinks","Skip links","\u201CSkip to main content\u201D on Tab","skip"]];function qo(){try{let e=localStorage.getItem(Si);return e?JSON.parse(e):{}}catch{return{}}}function Ho(e){try{let A={};["highContrast","darkMode","reduceMotion","largeTargets","speechEnabled","colorBlindMode","dyslexiaFont","fontSizeMultiplier"].forEach(t=>A[t]=e[t]),localStorage.setItem(Si,JSON.stringify(A))}catch{}}function er(e={}){let A={position:"left",title:"Accessibility",showPageTools:!1,...e},t=A.position==="right"?"right":"left",i=yt(A.primaryColor,"#005A9C"),o={enabled:!0,autoFix:!0,showSkipLinks:!0,showPreferencePanel:!1,...lA,...A.config||{}},r={...o,...qo()},n,a,s,l,I,u,m,c="";async function k(w,M){r={...r,...w,enabled:!0},Ho(r);try{c=await ze.execute({...r}),r.autoFix||ze.stopObserver()}catch(L){console.error("[yuktai] accessibility engine failed",L),c="Some settings could not be applied. See the browser console."}return B(),M||oe("Accessibility settings updated"),c}async function f(){try{localStorage.removeItem(Si)}catch{}return r={...o},await k(r,!0),oe("Accessibility settings reset"),r}function C(){let w=X("yv-a11y-title"),M=X("yv-font"),L=X("yv-cb"),F=g("section",{class:"yv-dialog",role:"dialog","aria-modal":"false","aria-labelledby":w,"data-yuktai-panel":""}),R=Ko.map(([O,ee,Ae,FA])=>{let be=X("yv-opt"),Bt=g("input",{id:be,type:"checkbox",role:"switch","data-setting":O,"aria-describedby":`${be}-d`});return g("div",{class:"yv-option"},g("span",{class:"yv-option-icon"},q(FA,18)),g("span",{class:"yv-option-copy"},g("label",{for:be},g("b",null,ee)),g("small",{id:`${be}-d`},Ae)),g("span",{class:"yv-switch"},Bt,g("span",{"aria-hidden":"true"})))}),H=g("div",{class:"yv-steps-bar",role:"group","aria-labelledby":M},...NA.map(O=>g("button",{type:"button",class:"yv-step","data-font":O,"aria-label":`${Math.round(O*100)} percent`,"aria-pressed":"false"}))),Ie=g("select",{id:L,class:"yv-input","data-colorblind":""},...Jo.map(([O,ee])=>g("option",{value:O},ee)));return F.append(g("header",{class:"yv-dialog-head"},g("div",null,g("div",{class:"yv-muted",style:"font-weight:800;font-size:.75em;letter-spacing:.05em"},"YUKTAI"),g("h2",{id:w},A.title),g("p",{class:"yv-muted",style:"margin:2px 0 0"},"Saved on this device. Works on every page.")),g("button",{type:"button",class:"yv-btn yv-icon","data-close":"","aria-label":"Close accessibility settings",html:ce("close")})),g("div",{class:"yv-dialog-body"},...R,g("div",{style:"padding:12px 0;border-bottom:1px solid var(--yv-border)"},g("div",{style:"display:flex;justify-content:space-between"},g("b",{id:M},"Text size"),g("strong",{"data-font-value":""})),g("div",{class:"yv-row",style:"flex-wrap:nowrap;margin-top:6px"},g("button",{type:"button",class:"yv-btn yv-icon","data-font-step":"-1","aria-label":"Smaller text",html:ce("minus",16)}),H,g("button",{type:"button",class:"yv-btn yv-icon","data-font-step":"1","aria-label":"Bigger text",html:ce("plus",16)}))),g("div",{style:"padding:12px 0"},g("label",{for:L},g("b",null,"Colour-blind filter")),Ie),g("div",{class:"yv-row"},g("button",{type:"button",class:"yv-btn","data-reset":""},q("reset",16),"Reset all"),g("button",{type:"button",class:"yv-btn yv-primary","data-close":""},q("check",16),"Done")),g("p",{class:"yv-status",role:"status","aria-live":"polite","data-status":""}))),F.addEventListener("change",O=>{let ee=O.target;ee.matches("[data-setting]")?k({[ee.getAttribute("data-setting")]:ee.checked}):ee.matches("[data-colorblind]")&&k({colorBlindMode:ee.value})}),F.addEventListener("click",O=>{let ee=O.target.closest("button");if(ee){if(ee.hasAttribute("data-close"))return p();if(ee.hasAttribute("data-reset"))return f();if(ee.hasAttribute("data-font"))return v(Number(ee.getAttribute("data-font")));if(ee.hasAttribute("data-font-step")){let Ae=NA.indexOf(Number(r.fontSizeMultiplier||1));return v(NA[Math.min(NA.length-1,Math.max(0,(Ae<0?2:Ae)+Number(ee.getAttribute("data-font-step"))))])}}}),F.addEventListener("keydown",O=>E(O,F,p)),F}function B(){if(!l)return;l.querySelectorAll("[data-setting]").forEach(F=>F.checked=!!r[F.getAttribute("data-setting")]&&r[F.getAttribute("data-setting")]!==!1);let w=l.querySelector('[data-setting="showSkipLinks"]');w&&(w.checked=r.showSkipLinks!==!1);let M=Number(r.fontSizeMultiplier||1);l.querySelector("[data-font-value]").textContent=`${Math.round(M*100)}%`,l.querySelectorAll("[data-font]").forEach(F=>F.setAttribute("aria-pressed",String(Math.abs(Number(F.getAttribute("data-font"))-M)<.001))),l.querySelector("[data-colorblind]").value=r.colorBlindMode||"none";let L=/(\d+) fixes applied/.exec(c);l.querySelector("[data-status]").textContent=L?`${L[1]} automatic accessibility fix(es) applied on this page.`:c}function v(w){NA.some(M=>Math.abs(M-w)<.001)&&(k({fontSizeMultiplier:w},!0),oe(`Text size ${Math.round(w*100)} percent`))}function E(w,M,L){if(w.key==="Escape"){w.preventDefault(),w.stopPropagation(),L();return}if(w.key!=="Tab")return;let F=Array.from(M.querySelectorAll("button,input,select,textarea,[tabindex]:not([tabindex='-1'])")).filter(R=>!R.disabled&&R.offsetParent!==null);F.length&&(w.shiftKey&&document.activeElement===F[0]?(w.preventDefault(),F[F.length-1].focus()):!w.shiftKey&&document.activeElement===F[F.length-1]&&(w.preventDefault(),F[0].focus()))}function h(){a||G(),!l&&(Q(),m=document.activeElement,l=C(),x().appendChild(l),a.setAttribute("aria-expanded","true"),B(),l.querySelector("[data-close]").focus(),document.addEventListener("pointerdown",y,!0))}function p(){l&&(l.remove(),l=null,a.setAttribute("aria-expanded","false"),document.removeEventListener("pointerdown",y,!0),(m&&document.contains(m)?m:a).focus())}function y(w){l&&!l.contains(w.target)&&!n.contains(w.target)&&p(),I&&!I.contains(w.target)&&!n.contains(w.target)&&Q()}function D(w){if(a||G(),I){w&&u&&u.select(w);return}p(),m=document.activeElement;let M=X("yv-tools-title");I=g("section",{class:"yv-dialog yv-wide",role:"dialog","aria-modal":"false","aria-labelledby":M,"data-yuktai-panel":""});let L=g("div",{class:"yv-dialog-body"});I.append(g("header",{class:"yv-dialog-head"},g("h2",{id:M},A.toolsTitle||"Page tools"),g("button",{type:"button",class:"yv-btn yv-icon","aria-label":"Close page tools",html:ce("close"),onclick:()=>Q()})),L),x().appendChild(I),u=Qt(L,{defaultTab:w||A.defaultTab||"qa",voiceLang:A.voiceLang,generate:A.generate,summarize:A.summarize,defaultLang:A.defaultLang,getSettings:()=>({...r}),applySettings:F=>k(F,!0)}),s&&s.setAttribute("aria-expanded","true"),I.addEventListener("keydown",F=>E(F,I,Q)),I.querySelector("[role=tab][aria-selected=true]").focus(),document.addEventListener("pointerdown",y,!0)}function Q(){I&&(u&&u.destroy(),u=null,I.remove(),I=null,s&&s.setAttribute("aria-expanded","false"),document.removeEventListener("pointerdown",y,!0),(m&&document.contains(m)?m:s||a).focus())}let x=()=>document.documentElement||document.body;function G(){!Ye()||a||!document.body||(mt(i,t),n=g("div",{class:"yv-fabs","data-yuktai-fabs":""}),a=g("button",{type:"button",class:"yv-fab","aria-label":"Accessibility settings",title:"Accessibility settings","aria-haspopup":"dialog","aria-expanded":"false",html:ce("accessibility",26)}),a.addEventListener("click",()=>l?p():h()),n.append(a),A.showPageTools&&(s=g("button",{type:"button",class:"yv-fab yv-fab-alt","aria-label":"Page tools: QA, forms, design, ask, voice",title:"Page tools","aria-haspopup":"dialog","aria-expanded":"false",html:ce("tools",24)}),s.addEventListener("click",()=>I?Q():D()),n.prepend(s)),x().appendChild(n),A.applyOnLoad!==!1&&k({},!0))}return{init:G,open:h,close:p,openTools:D,closeTools:Q,apply:w=>k(w||{}),reset:f,getSettings:()=>({...r}),destroy(){p(),Q(),n&&n.remove(),a=s=n=null}}}var Ar="5.3.10";(function(){if(!Ye()||window.yuktai&&window.yuktai.__vanillaInitialized)return;let A=window.YUKTAI_CONFIG||{},t=yt(A.primaryColor,"#005A9C"),i=A.position==="right"?"right":"left",o=er(A),r=()=>mt(t,i),n=s=>(...l)=>(r(),s(...l)),a={__vanillaInitialized:!0,version:Ar,init:()=>o.init(),open:()=>o.open(),close:()=>o.close(),openTools:s=>o.openTools(s),closeTools:()=>o.closeTools(),apply:s=>o.apply(s),reset:()=>o.reset(),getSettings:()=>o.getSettings(),renderGrid:n(Zn),mountAgenticGridBar:n(ft),mountAgenticPanel:n(Qt),mountGridAssistant:n(ki),createAgenticGrid:ht,createGridAgent:ut,parseGridIntent:Ei,registerWebMCP:Ct,icon:ce,iconNames:On.slice(),iconContrast:DA,pickGlyphColor:wi,...Qi,runPageQA:()=>pe().summary,getCapabilities:()=>({version:Ar,inlineSVG:!0,grid:!0,gridAssistant:!0,agenticGrid:!0,ruleBasedBI:!0,taskRunner:!0,anomalyChecks:!0,pageQA:!0,a11yCopilot:!0,formsReview:!0,designReview:!0,pageQandA:!0,localPageSearch:!0,voiceCommands:!0,voice:!!(window.SpeechRecognition||window.webkitSpeechRecognition),speech:"speechSynthesis"in window,webMCP:!!(document.modelContext&&typeof document.modelContext.registerTool=="function"),modelConnected:!1})};window.yuktai=a,A.autoInit!==!1&&(document.readyState==="loading"?document.addEventListener("DOMContentLoaded",()=>o.init(),{once:!0}):o.init())})();})();
|