@kanunilabs/datagrid 1.9.9 → 1.9.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.
@@ -4,7 +4,7 @@ Columns:
4
4
  `+zh(t),...Iu(r),...Object.keys(n).length>0?{$defs:n}:{}}}var zt=e=>typeof e=="object"&&e!==null&&!Array.isArray(e),mo=e=>typeof e=="string"&&!Number.isNaN(Date.parse(e)),Br=e=>{let t=typeof e=="number"?e:typeof e=="string"&&e.trim()!==""?Number(e):Number.NaN;return Number.isFinite(t)?t:null};function _h(e,t,u){let r=e.columnId,n=e.operator,a=typeof r=="string"?t.get(r):void 0,o=c=>(u.push(`filter on ${String(r)} (${String(n)}): ${c}`),null);if(!a)return o("no such column");if(!a.filterable)return o("the column cannot be filtered");let l=a.id,i=a.dataType,s=e.value,h=typeof n=="string"?a.operators?.find(c=>c.id===n):void 0;if(h){if(h.operandType==="none")return{columnId:l,operator:h.id};if(h.operandType==="number"){let c=Br(s);return c===null?o("expected a number"):{columnId:l,operator:h.id,value:c}}return h.operandType==="date"&&!mo(s)?o("expected a YYYY-MM-DD date"):s==null||typeof s=="object"?o("expected a value"):{columnId:l,operator:h.id,value:String(s)}}if(H0.includes(n))return{columnId:l,operator:n};if(n==="in")return!Array.isArray(s)||s.length===0?o('"in" needs a non-empty list'):{columnId:l,operator:n,value:[...s]};if(i==="boolean"){if(n!=="=")return o('a yes/no column only takes "="');let c=s===!0||s==="true"?!0:s===!1||s==="false"?!1:null;return c===null?o("expected true or false"):{columnId:l,operator:n,value:c}}if(i==="number"){if(n==="between"){let p=Array.isArray(s)&&s.length===2?s.map(Br):null;return!p||p[0]===null||p[1]===null?o("expected [min, max] numbers"):{columnId:l,operator:n,value:p}}if(!ur.includes(n))return o("not an operator for numbers");let c=Br(s);return c===null?o("expected a number"):{columnId:l,operator:n,value:c}}if(i==="bigint"){let c=C=>{let E=typeof C=="number"&&Number.isSafeInteger(C)?String(C):typeof C=="string"?C.trim():null;return E!==null&&/^[+-]?\d+$/.test(E)?E:null};if(n==="between"){let C=Array.isArray(s)&&s.length===2?s.map(c):null;return!C||C[0]===null||C[1]===null?o("expected [min, max] integers"):{columnId:l,operator:n,value:C}}if(!ur.includes(n))return o("not an operator for integers");let p=c(s);return p===null?o("expected an integer written as digits"):{columnId:l,operator:n,value:p}}if(i==="date"){if(n==="period"){let c=zt(s)?s:null,p=c?.period;if(!p||!Gr.includes(p))return o("unknown period");if(Hh.includes(p)){let C=Br(c.days);return C===null||C<1||!Number.isInteger(C)?o(`${p} needs a whole number of days`):{columnId:l,operator:n,value:{period:p,days:C}}}return{columnId:l,operator:n,value:{period:p}}}return n==="between"?!Array.isArray(s)||s.length!==2||!s.every(mo)?o("expected [from, to] dates"):{columnId:l,operator:n,value:[s[0],s[1]]}:ur.includes(n)?mo(s)?{columnId:l,operator:n,value:s}:o("expected a YYYY-MM-DD date"):o("not an operator for dates")}if(!V0.includes(n))return o("not an operator for text");if(s==null||typeof s=="object")return o("expected a value");let m=a.values?.find(c=>String(c.value)===String(s));return{columnId:l,operator:n,value:m&&(n==="="||n==="<>")?m.value:String(s)}}function K0(e,t,u,r){if(!zt(e))return u.push("filter: a condition that is not an object"),null;if(Array.isArray(e.nodes)){if(r>8)return u.push("filter: groups nested more than 8 deep"),null;let n=e.logic==="or"?"or":"and";e.logic!=="and"&&e.logic!=="or"&&u.push('filter: a group without and/or, read as "and"');let a=e.nodes.map(o=>K0(o,t,u,r+1)).filter(o=>o!==null);return a.length===0?null:a.length===1?a[0]:{logic:n,nodes:a}}return _h(e,t,u)}function Uh(e,t){let u=[],r=e;if(typeof r=="string")try{r=JSON.parse(r)}catch{return{state:{},dropped:["the answer is not valid JSON"]}}if(!zt(r))return{state:{},dropped:["the answer is not an object"]};let{features:n}=t,a=new Map(t.columns.map(l=>[l.id,l])),o={};if(n.has("filter")&&"filter"in r&&(o.filter=r.filter===null?null:K0(r.filter,a,u,0)),n.has("sort")&&"sort"in r)if(!Array.isArray(r.sort))u.push("sort: not a list");else{let l=new Set;o.sort=[];for(let i of r.sort){let s=zt(i)&&typeof i.columnId=="string"?a.get(i.columnId):void 0,h=zt(i)?i.direction:void 0;!s||!s.sortable?u.push(`sort by ${zt(i)?String(i.columnId):"?"}: not a sortable column`):h!=="asc"&&h!=="desc"?u.push(`sort by ${s.id}: direction must be asc or desc`):l.has(s.id)||(l.add(s.id),o.sort.push({columnId:s.id,direction:h}))}}if(n.has("grouping")&&"groupBy"in r)if(!Array.isArray(r.groupBy))u.push("groupBy: not a list");else{let l=[];for(let i of r.groupBy){let s=typeof i=="string"?a.get(i):void 0;!s||!s.groupable?u.push(`group by ${String(i)}: not a groupable column`):l.includes(s.id)||l.push(s.id)}o.groupBy=l}if((n.has("columnVisibility")||n.has("columnSizing")||n.has("columnPinning"))&&"columns"in r)if(!Array.isArray(r.columns))u.push("columns: not a list");else{let l=new Map;for(let i of r.columns){let s=zt(i)&&typeof i.columnId=="string"?a.get(i.columnId):void 0;if(!s||!zt(i)){u.push(`column ${zt(i)?String(i.columnId):"?"}: no such column`);continue}let h={columnId:s.id};if(n.has("columnVisibility")&&"visible"in i&&(typeof i.visible=="boolean"?h.visible=i.visible:u.push(`column ${s.id}: visible must be true or false`)),n.has("columnSizing")&&i.width!==null&&i.width!==void 0){let m=Br(i.width);m===null||m<=0?u.push(`column ${s.id}: width must be a positive number`):s.resizable?h.width=m:u.push(`column ${s.id}: cannot be resized`)}n.has("columnPinning")&&"pinned"in i&&(i.pinned==="left"||i.pinned==="right"||i.pinned===null?h.pinned=i.pinned:u.push(`column ${s.id}: pinned must be left, right or null`)),l.set(s.id,{...l.get(s.id),...h})}o.columns=[...l.values()]}return n.has("search")&&"searchText"in r&&(typeof r.searchText=="string"?o.searchText=r.searchText:r.searchText===null?o.searchText="":u.push("searchText: not text")),{state:o,dropped:u}}function z0(e,t=new Set){if(Je(e))for(let u of e.nodes)z0(u,t);else t.add(e.columnId);return t}function qh(e){if(typeof e=="function")return e;let t=e;return u=>u[t]}function Xe(e,t,u){return{kind:"data",key:t,sourceIndex:u,data:e}}var $0=class{nodes=[];rows=null;invalidate(){this.nodes=[],this.rows=null}invalidateSourceIndex(e){e>=0&&e<this.nodes.length&&(this.nodes[e]=void 0)}rebase(e,t){if(this.rows===null||this.nodes.length!==e.length){this.rows=e,this.nodes=new Array(e.length);return}this.rows=e;for(let u of t)this.invalidateSourceIndex(u)}project(e,t,u){this.rows!==t&&(this.nodes=new Array(t.length),this.rows=t);let r=this.nodes,n=new Array(e.length);for(let a=0;a<e.length;a++){let o=e[a],l=r[o];if(l===void 0){let i=t[o];l=Xe(i,u(i),o),r[o]=l}n[a]=l}return n}},jh="\0nil";function Yh(e){return e.map(t=>t==null?jh:String(t)).join("")}function ks(){return{key:"",path:[],level:-1,label:"",value:null,count:0,expanded:!0,childCount:0,childCountKnown:!1,blocks:new Map}}function Qh(e,t,u){return e.blocks.get(Math.floor(t/u))?.[t%u]}function $n(e,t,u){let r=u?.get(e);if(r!==void 0)return r;let n=e.childCountKnown?e.childCount:1;for(let a of e.blocks.values())for(let o of a)o&&$t(o)&&o.expanded&&(n+=$n(o,t,u));return u?.set(e,n),n}function $t(e){return e.kind!=="data"}function Bs(e,t){let{blockSize:u,columnIds:r}=t,n=new Map,a=$n(e,u,n),o=t.range?Math.max(0,t.range.start):0,l=t.range?Math.min(a,t.range.end):a,i=new Array(a),s=[],h=[],m=t.failedSlots,c=t.staleSlots,p=new Set,C=0,E=D=>{if(!D.childCountKnown){C>=o&&C<l&&(m?.has(`${D.key}@0`)?h.push(C):p.has(`${D.key}@0`)||(p.add(`${D.key}@0`),s.push({nodeKey:D.key,path:D.path,childIndex:0}))),C++;return}for(let F=0;F<D.childCount;F++){if(C>=l)return;let x=Qh(D,F,u);if(x!==void 0&&c&&C>=o){let k=`${D.key}@${Math.floor(F/u)}`;c.has(k)&&!m?.has(k)&&!p.has(k)&&(p.add(k),s.push({nodeKey:D.key,path:D.path,childIndex:F}))}if(x===void 0){if(C>=o){let k=`${D.key}@${Math.floor(F/u)}`;m?.has(k)?h.push(C):p.has(k)||(p.add(k),s.push({nodeKey:D.key,path:D.path,childIndex:F}))}C++;continue}if(!$t(x)){C>=o&&(i[C]=x),C++;continue}if(C>=o&&x.record)i[C]={kind:"data",key:x.record.key,sourceIndex:x.record.sourceIndex,data:x.record.data,tree:{depth:x.level,hasChildren:!0,expanded:x.expanded,ancestorOnly:!1}};else if(C>=o){let k={kind:"group",key:x.key,columnId:r[x.level]??"",value:x.value,label:x.label,count:x.count,level:x.level,expanded:x.expanded,...x.aggregates?{aggregates:x.aggregates}:{}};i[C]=k}if(C++,x.expanded){let k=$n(x,u,n);C+k<=o?C+=k:E(x)}}};return E(e),{nodes:i,pending:s,failed:h}}var fo=class extends Error{constructor(){super("[datagrid] export cancelled"),this.name="ExportCancelled"}},Xh=100,Zh=100;function Jh(e,t){return JSON.stringify({sort:e.sort,filter:e.filter,searchText:e.searchText,group:t,summaries:e.summaries})}var Ts=class{mode="remote";source;keyGetter;blockSize;maxBlocks;group;groupColumnIds;root=ks();expandedByDefault=!1;toggled=new Set;onError;debugMode;tree;blocks=new Map;inFlight=new Map;failedBlocks=new Set;failedSlots=new Set;failedRows=new Set;staleBlocks=new Set;staleSlots=new Set;countStale=!1;treeInFlight=new Map;currentKey="";generation=0;clock=0;distinctCache=new Map;distinctStores=new Map;distinctInFlight=new Map;summaries={};visibleCount=0;totalCount=0;countKnown=!1;disposed=!1;constructor(e,t){this.source=e,this.keyGetter=t.keyGetter,this.blockSize=Math.max(1,t.blockSize??Xh),this.maxBlocks=Math.max(1,t.maxBlocks??Zh),this.group=t.group,this.groupColumnIds=t.groupColumnIds??[],this.onError=t.onError,this.debugMode=t.debugMode??!1,this.tree=t.tree}isTree(){return this.tree!==void 0}syncTreeExpansion(e){for(let t of e.blocks.values())for(let u of t)u&&$t(u)&&u.record&&(u.expanded=this.tree.isExpanded(u.record.key),this.syncTreeExpansion(u))}getTotalCount(){return this.totalCount}invalidate(){this.forgetFailures(),this.inFlight.clear(),this.treeInFlight.clear(),this.staleBlocks=new Set(this.blocks.keys()),this.countStale=this.countKnown,this.staleSlots=new Set,this.collectTreeSlots(this.root,this.staleSlots),this.distinctCache.clear(),this.distinctStores.clear(),this.generation++}collectTreeSlots(e,t){for(let[u,r]of e.blocks){t.add(`${e.key}@${u}`);for(let n of r)n&&$t(n)&&this.collectTreeSlots(n,t)}}dispose(){this.disposed=!0,this.blocks.clear(),this.staleBlocks.clear(),this.inFlight.clear(),this.treeInFlight.clear(),this.distinctCache.clear(),this.distinctStores.clear(),this.distinctInFlight.clear(),this.resetTree()}setGrouping(e,t){this.group=e&&e.length>0?e:void 0,this.groupColumnIds=t,this.resetTree(),this.expandedByDefault=!1,this.toggled.clear(),this.treeInFlight.clear(),this.inFlight.clear(),this.generation++}isGrouped(){return(this.group?.length??0)>0}toggleGroupPath(e){let t=this.findNode(e);return t?(t.expanded=!t.expanded,t.expanded===this.expandedByDefault?this.toggled.delete(e):this.toggled.add(e),!0):!1}setExpandedPaths(e){this.expandedByDefault=!1,this.toggled=new Set(e),this.applyExpansion(this.root)}expandAllPaths(){this.expandedByDefault=!0,this.toggled.clear(),this.applyExpansion(this.root)}getExpansion(){return{expandedByDefault:this.expandedByDefault,toggled:[...this.toggled]}}setExpansion(e,t){this.expandedByDefault=e,this.toggled=new Set(t),this.applyExpansion(this.root)}isPathExpanded(e){return this.expandedByDefault!==this.toggled.has(e)}applyExpansion(e){for(let t of e.blocks.values())for(let u of t)u&&$t(u)&&(u.expanded=this.isPathExpanded(u.key),this.applyExpansion(u))}findNode(e,t=this.root){if(t.key===e)return t;for(let u of t.blocks.values())for(let r of u)if(r&&$t(r)){let n=this.findNode(e,r);if(n)return n}return null}resetTree(){this.root=ks(),this.failedSlots.clear(),this.failedRows.clear(),this.staleSlots.clear()}forgetFailures(){this.failedBlocks.clear(),this.failedSlots.clear(),this.failedRows.clear()}isLoadFailed(e){if(e<0)return!1;if(this.isGrouped()||this.isTree())return this.failedRows.has(e);if(!this.countKnown)return this.failedBlocks.has(0)&&e<Math.max(1,this.visibleCount);let t=Math.floor(e/this.blockSize);return this.failedBlocks.has(t)&&!this.blocks.has(t)}retryFailed(){return this.failedBlocks.size===0&&this.failedSlots.size===0?!1:(this.forgetFailures(),!0)}async loadAllRows(e,t){if(this.isGrouped()||this.isTree())throw new Error("[datagrid] cannot export a server-grouped grid: the rows live in a tree the server expands on demand. Clear the grouping and export the flat result, or produce the file on the server.");let u=[],r=Math.max(1,t.pageSize),n=Number.POSITIVE_INFINITY;for(;u.length<n;){if(t.isCancelled?.()||this.disposed)throw new fo;let a=await this.source.load({skip:u.length,take:r,sort:e.sort,filter:e.filter,searchText:e.searchText});if(n=a.totalCount,n>t.maxRows)throw new Error(`[datagrid] the export would cover ${n.toLocaleString("en-US")} rows, above the ${t.maxRows.toLocaleString("en-US")} limit. Raise \`remote.exportMaxRows\` if the machine can hold that much, narrow the filter, or build the file on the server.`);if(a.rows.length===0)break;for(let o of a.rows)u.push(Xe(o,this.keyGetter(o),u.length));t.onProgress?.(u.length,n)}return u}async*streamRows(e,t){if(this.isGrouped()||this.isTree())throw new Error("[datagrid] cannot export a server-grouped grid: the rows live in a tree the server expands on demand. Clear the grouping and export the flat result, or produce the file on the server.");let u=l=>new Error(`[datagrid] the export would cover more than ${t.maxRows.toLocaleString("en-US")} rows (\`remote.exportMaxRows\`). Raise it \u2014 \`Infinity\` removes the cap \u2014 narrow the filter, or build the file on the server. Rows counted: ${l.toLocaleString("en-US")}.`),r=0,n=l=>l.map(i=>Xe(i,this.keyGetter(i),r++));if(this.source.exportRows){let l=this.source.exportRows({sort:e.sort,filter:e.filter,searchText:e.searchText,columnIds:t.columnIds},t.signal);for await(let i of l){if(t.signal.aborted||this.disposed)throw new fo;if(r+i.length>t.maxRows)throw u(r+i.length);let s=n(i);t.onProgress?.(r,null),yield s}return}let a=Math.max(1,t.pageSize),o=Number.POSITIVE_INFINITY;for(;r<o;){if(t.signal.aborted||this.disposed)throw new fo;let l=await this.source.load({skip:r,take:a,sort:e.sort,filter:e.filter,searchText:e.searchText});if(o=l.totalCount,o>t.maxRows)throw u(o);if(l.rows.length===0)break;let i=n(l.rows);t.onProgress?.(r,o),yield i}}patchRows(e){if(e.length===0)return 0;let t=new Map;for(let a of e)t.set(this.keyGetter(a),a);let u=0,r=a=>{for(let o=0;o<a.length;o++){let l=a[o];if(!l)continue;let i=t.get(l.key);i!==void 0&&(a[o]=Xe(i,l.key,l.sourceIndex),u++)}};for(let a of this.blocks.values())r(a.nodes);let n=a=>{for(let o of a.blocks.values())for(let l=0;l<o.length;l++){let i=o[l];if(!i)continue;if($t(i)){n(i);continue}let s=t.get(i.key);s!==void 0&&(o[l]=Xe(s,i.key,i.sourceIndex),u++)}};return n(this.root),u}getSummaries(){return this.summaries}supportsDistinctValues(){return typeof this.source.loadDistinctValues=="function"}loadDistinctPage(e){let t=this.source.loadDistinctValues;return t?t.call(this.source,e):Promise.resolve([])}distinctStore(e,t){let u=`${e}\0${t}`,r=this.distinctStores.get(u);return r||(r=new Map,this.distinctStores.set(u,r)),r}async loadDistinctValues(e,t){let u=this.source.loadDistinctValues;if(!u)return[];let r=`${e}@${t}`,n=this.distinctCache.get(r);if(n)return n;let a=this.distinctInFlight.get(r);if(a)return a;let o=this.generation,l=u.call(this.source,{columnId:e,limit:t}).then(i=>{let s=Array.isArray(i)?i:i.values??[];return!this.disposed&&o===this.generation&&this.distinctCache.set(r,s),s}).catch(i=>(this.onError?.(i),this.debugMode&&console.error("[datagrid] loadDistinctValues failed",i),[])).finally(()=>{this.distinctInFlight.delete(r)});return this.distinctInFlight.set(r,l),l}async getRows(e,t){let u=Jh(t,this.group);if(u!==this.currentKey&&(this.currentKey=u,this.forgetFailures(),this.blocks.clear(),this.staleBlocks.clear(),this.countStale=!1,this.inFlight.clear(),this.treeInFlight.clear(),this.resetTree(),this.countKnown=!1,this.summaries={},this.generation++),this.isGrouped()||this.isTree())return this.getGroupedRows(t);(!this.countKnown||this.countStale)&&await this.fetchBlock(0,t);let r=t.range??{start:0,end:this.blockSize},n=Math.max(0,Math.floor(r.start/this.blockSize)),a=Math.max(n,Math.floor(Math.max(0,r.end-1)/this.blockSize)),o=[];for(let l=n;l<=a;l++)this.blocks.has(l)&&(this.blocks.get(l).touched=++this.clock),(!this.blocks.has(l)||this.staleBlocks.has(l))&&o.push(l);return o.length>0&&await Promise.all(o.map(l=>this.fetchBlock(l,t))),this.snapshot()}async getGroupedRows(e){let t=e.range,u=this.tree?64:(this.group?.length??0)+2,r=this.generation;for(let l=0;l<u&&!(this.disposed||r!==this.generation);l++){if(this.tree&&this.syncTreeExpansion(this.root),!this.root.childCountKnown){if(await this.loadChildren(this.root,0,e),!this.root.childCountKnown)break;continue}let{pending:i}=Bs(this.root,{blockSize:this.blockSize,columnIds:this.groupColumnIds,range:t,failedSlots:this.failedSlots,staleSlots:this.staleSlots});if(i.length===0)break;await Promise.all(i.map(s=>{let h=this.findNode(s.nodeKey);return h?this.loadChildren(h,s.childIndex,e):Promise.resolve()}))}this.tree&&this.syncTreeExpansion(this.root);let{nodes:n,failed:a}=Bs(this.root,{blockSize:this.blockSize,columnIds:this.groupColumnIds,range:t,failedSlots:this.failedSlots});this.failedRows=new Set(a);let o=$n(this.root,this.blockSize);return this.visibleCount=o,{nodes:n,visibleCount:o,totalCount:this.totalCount}}loadChildren(e,t,u){let r=Math.floor(t/this.blockSize),n=`${e.key}@${r}`;if(e.blocks.has(r)&&!this.staleSlots.has(n)||this.failedSlots.has(n))return Promise.resolve();let a=this.treeInFlight.get(n);if(a)return a;let o=this.loadChildrenBlock(e,r,u).finally(()=>{this.treeInFlight.get(n)===o&&this.treeInFlight.delete(n)});return this.treeInFlight.set(n,o),o}async loadChildrenBlock(e,t,u){let r=this.generation,n=this.group?.length??0,a=e.path.length>=n,o=this.tree?{skip:t*this.blockSize,take:this.blockSize,sort:u.sort,filter:u.filter,searchText:u.searchText,parentKey:e.record?e.record.key:null,...e===this.root?{summaries:u.summaries}:{}}:{skip:t*this.blockSize,take:this.blockSize,sort:u.sort,filter:u.filter,searchText:u.searchText,group:this.group,groupKeys:[...e.path],...e.path.length===0||!a?{summaries:u.summaries}:{}};try{let l=await this.source.load(o);if(this.disposed||r!==this.generation)return;l.summaries&&e===this.root&&(this.summaries=l.summaries);let i=t*this.blockSize,s=new Map;for(let m of e.blocks.values())for(let c of m)c&&$t(c)&&s.set(c.key,c);let h=this.tree?l.rows.map((m,c)=>this.reuse(s,this.treeChild(e,m,i+c))):a?l.rows.map((m,c)=>Xe(m,this.keyGetter(m),i+c)):(l.groups??[]).map(m=>{let c=[...e.path,m.value],p=Yh(c);return this.reuse(s,{key:p,path:c,level:e.level+1,label:m.label??(m.value==null?"":String(m.value)),value:m.value,count:m.count,...m.aggregates?{aggregates:m.aggregates}:{},expanded:this.isPathExpanded(p),childCount:0,childCountKnown:!1,blocks:new Map})});e.blocks.set(t,h),this.staleSlots.delete(`${e.key}@${t}`),e.childCount=l.totalCount,e.childCountKnown=!0,e===this.root&&(this.totalCount=l.totalCount,this.countKnown=!0)}catch(l){this.debugMode&&console.error("[datagrid] remote group load failed",e.key,l),!this.disposed&&r===this.generation&&this.failedSlots.add(`${e.key}@${t}`),this.onError?.(l)}}treeChild(e,t,u){let r=this.keyGetter(t),n=e.level+1;return this.tree.hasChildren(t)?{key:String(r),path:[...e.path,r],level:n,label:"",value:r,count:0,expanded:this.tree.isExpanded(r),childCount:0,childCountKnown:!1,blocks:new Map,record:{key:r,data:t,sourceIndex:u}}:{...Xe(t,r,u),tree:{depth:n,hasChildren:!1,expanded:!1,ancestorOnly:!1}}}reuse(e,t){if(!$t(t))return t;let u=e.get(t.key);return u?(u.label=t.label,u.value=t.value,u.count=t.count,u.aggregates=t.aggregates,u.record=t.record,u.expanded=t.expanded,u):t}snapshot(){if(!this.countKnown&&this.failedBlocks.has(0)&&this.visibleCount===0)return{nodes:new Array(1),visibleCount:1,totalCount:0};let e=new Array(this.visibleCount);for(let[t,u]of this.blocks){let r=t*this.blockSize;for(let n=0;n<u.nodes.length;n++){let a=r+n;a<this.visibleCount&&(e[a]=u.nodes[n])}}return{nodes:e,visibleCount:this.visibleCount,totalCount:this.totalCount}}fetchBlock(e,t){if(this.disposed||this.failedBlocks.has(e)||this.blocks.has(e)&&!this.staleBlocks.has(e))return Promise.resolve();let u=this.inFlight.get(e);if(u)return u;let r=this.loadBlock(e,t).finally(()=>{this.inFlight.get(e)===r&&this.inFlight.delete(e)});return this.inFlight.set(e,r),r}async loadBlock(e,t){let u=this.generation,r={skip:e*this.blockSize,take:this.blockSize,sort:t.sort,filter:t.filter,searchText:t.searchText,group:this.group,summaries:t.summaries};try{let n=await this.source.load(r);if(this.disposed||u!==this.generation)return;n.summaries&&(this.summaries=n.summaries);let a=e*this.blockSize,o=n.rows.map((l,i)=>Xe(l,this.keyGetter(l),a+i));this.blocks.set(e,{nodes:o,touched:++this.clock}),this.staleBlocks.delete(e),this.countStale=!1,this.evict(),this.visibleCount=n.totalCount,this.totalCount=n.totalCount,this.countKnown=!0}catch(n){this.debugMode&&console.error("[datagrid] remote block load failed",e,n),!this.disposed&&u===this.generation&&this.failedBlocks.add(e),this.onError?.(n)}}evict(){if(this.blocks.size<=this.maxBlocks)return;let e=[...this.blocks.entries()].sort((u,r)=>u[1].touched-r[1].touched),t=this.blocks.size-this.maxBlocks;for(let u=0;u<t;u++)this.blocks.delete(e[u][0]),this.staleBlocks.delete(e[u][0])}};var em=e=>`__detail__${String(e)}`;function tm(e,t){let{expandedKeys:u,expandedByDefault:r=!1}=t,n=Math.max(1,t.height);if(!r&&u.size===0)return e;let a=r?e.length:u.size,o=new Array(e.length+a),l=0;for(let i of e)o[l++]=i,!(i.kind!=="data"||!(r?!u.has(i.key):u.has(i.key)))&&(o[l++]={kind:"detail",key:em(i.key),parentKey:i.key,data:i.data,height:n});return o.length=l,o}var W0=260,Rs=e=>e===null?"__editform__new":`__editform__${String(e)}`;function um(e,t){let{rowKey:u,atTop:r=!1}=t;if(u===null)return e;let n=Math.max(1,t.height),a=e.findIndex(i=>i.kind==="data"&&i.key===u);if(r)return[{kind:"editform",key:Rs(u),parentKey:u,data:a<0?void 0:e[a].data,height:n},...e];if(a<0)return e;let o={kind:"editform",key:Rs(u),parentKey:u,data:e[a].data,height:n},l=new Array(e.length+1);for(let i=0;i<=a;i++)l[i]=e[i];l[a+1]=o;for(let i=a+1;i<e.length;i++)l[i+1]=e[i];return l}var rm=e=>`__message__${String(e)}`;function nm(e,t){if(t.rowKeys.size===0)return e;let u=Math.max(1,t.height),r=[];for(let n of e){if(r.push(n),n.kind!=="data"||!t.rowKeys.has(String(n.key)))continue;let a={kind:"message",key:rm(n.key),parentKey:n.key,data:n.data,height:u};r.push(a)}return r}var Yu=(e,t)=>`${String(e)}\0${t}`,am=class{cells=new Map;byRow=new Map;removed=new Set;inserted=new Map;rev=0;get revision(){return this.rev}writeCell(e,t){this.rev++,this.cells.set(e,t);let u=this.byRow.get(t.rowKey);u||(u=new Map,this.byRow.set(t.rowKey,u)),u.set(t.columnId,t)}dropCell(e){let t=this.cells.get(e);if(!t)return!1;this.rev++,this.cells.delete(e);let u=this.byRow.get(t.rowKey);return u&&(u.delete(t.columnId),u.size===0&&this.byRow.delete(t.rowKey)),!0}clearCells(){this.cells.size>0&&this.rev++,this.cells.clear(),this.byRow.clear()}set(e,t,u,r){let n=Yu(e,t),a=this.cells.get(n);if(a){if(Object.is(a.oldValue,u)){this.dropCell(n);return}Object.is(a.newValue,u)||this.rev++,a.newValue=u;return}Object.is(r,u)||this.writeCell(n,{rowKey:e,columnId:t,oldValue:r,newValue:u})}get(e,t){return this.cells.get(Yu(e,t))}isDirty(e,t){return t!==void 0?this.cells.has(Yu(e,t)):this.removed.has(e)||this.inserted.has(e)?!0:this.byRow.has(e)}effectiveValue(e,t,u){if(this.cells.size===0)return u;let r=this.cells.get(Yu(e,t));return r?r.newValue:u}revertCell(e,t){return this.dropCell(Yu(e,t))}revertRow(e){let t=this.removed.delete(e)||this.inserted.delete(e);t&&this.rev++;let u=this.byRow.get(e);if(u)for(let r of[...u.keys()])this.dropCell(Yu(e,r)),t=!0;return t}markRemoved(e){this.rev++,this.inserted.delete(e),this.removed.add(e)}markInserted(e,t){this.rev++,this.inserted.set(e,t)}isInserted(e){return this.inserted.has(e)}isRemoved(e){return this.removed.has(e)}hasCellChanges(e){return this.byRow.has(e)}hasChanges(){return this.cells.size>0||this.removed.size>0||this.inserted.size>0}getChangeCount(){return this.cells.size+this.removed.size+this.inserted.size}getRowChangeCount(){if(this.inserted.size===0&&this.removed.size===0)return this.byRow.size;let e=new Set(this.byRow.keys());for(let t of this.inserted.keys())e.add(t);for(let t of this.removed)e.add(t);return e.size}getCellChanges(){return[...this.cells.values()]}applyPendingTo(e,t){if(this.cells.size===0)return t;let u=this.byRow.get(e);if(!u)return t;let r={...t};for(let n of u.values())r[n.columnId]=n.newValue;return r}getChanges(e){let t=new Map;for(let u of this.cells.values()){let r=t.get(u.rowKey);r||(r={rowKey:u.rowKey,type:"update",values:{},oldValues:{},row:e?.(u.rowKey)},t.set(u.rowKey,r)),r.values[u.columnId]=u.newValue,r.oldValues[u.columnId]=u.oldValue}for(let[u,r]of this.inserted){let n=t.get(u)?.values;t.set(u,{rowKey:u,type:"insert",values:n?{...r,...n}:{...r},oldValues:{}})}for(let u of this.removed)t.set(u,{rowKey:u,type:"remove",values:{},oldValues:{},row:e?.(u)});return[...t.values()]}clear(){(this.removed.size>0||this.inserted.size>0)&&this.rev++,this.clearCells(),this.removed.clear(),this.inserted.clear()}retainKeys(e){let t=!1;for(let u of[...this.cells.keys()]){let r=this.cells.get(u);r&&!e.has(r.rowKey)&&(this.dropCell(u),t=!0)}for(let u of this.removed)e.has(u)||(this.removed.delete(u),this.rev++,t=!0);return t}},om=class{undoStack=[];redoStack=[];limit;applying=!1;seq=0;stamps=new WeakMap;constructor(e={}){this.limit=Math.max(1,e.limit??100)}push(e){this.applying||(this.stamps.set(e,++this.seq),this.undoStack.push(e),this.undoStack.length>this.limit&&this.undoStack.shift(),this.redoStack=[])}canUndo(){return this.undoStack.length>0}canRedo(){return this.redoStack.length>0}undo(){let e=this.undoStack.pop();if(!e)return null;this.applying=!0;try{e.undo()}finally{this.applying=!1}return this.redoStack.push(e),e}redo(){let e=this.redoStack.pop();if(!e)return null;this.applying=!0;try{e.redo()}finally{this.applying=!1}return this.undoStack.push(e),e}peekUndo(){return this.undoStack[this.undoStack.length-1]}peekRedo(){return this.redoStack[this.redoStack.length-1]}getDepth(){return{undo:this.undoStack.length,redo:this.redoStack.length}}mark(){return this.seq}drop(e){let t=r=>!e(r,this.stamps.get(r)??0),u=this.undoStack.length+this.redoStack.length;return this.undoStack=this.undoStack.filter(t),this.redoStack=this.redoStack.filter(t),u-this.undoStack.length-this.redoStack.length}clear(){this.undoStack=[],this.redoStack=[]}},ri={ok:"OK",cancel:"Cancel",apply:"Apply",close:"Close",clear:"Clear",save:"Save",search:"Search\u2026",selectAll:"Select all",showAll:"Show all",remove:"Remove",none:"None",toolbarSearch:"Search\u2026",exportMenu:"Export",exportCsv:"Export to CSV",exportExcel:"Export all data to Excel",exportExcelSelected:"Export selected rows to Excel",exportPdf:"Export to PDF",exporting:"Exporting\u2026",columns:"Columns",hiddenColumns:"Hidden columns",noHiddenColumns:"No hidden columns.",sortAsc:"Sort A \u2192 Z",sortDesc:"Sort Z \u2192 A",clearSort:"Clear sorting",cardSortBy:"Sort by",groupByColumn:"Group by this column",ungroupColumn:"Remove from grouping",showGroupPanel:"Show group panel",hideGroupPanel:"Hide group panel",showFooter:"Show footer",hideFooter:"Hide footer",showGroupFooters:"Show group footers",hideGroupFooters:"Hide group footers",hideColumn:"Hide this column",fieldChooser:"Field chooser\u2026",bestFit:"Best fit",bestFitAll:"Best fit (all columns)",pinRowTop:"Pin row to top",pinRowBottom:"Pin row to bottom",unpinRow:"Unpin row",findLabel:"Find in grid",findPrevious:"Previous match",findNext:"Next match",findClose:"Close find",findCount:"{n} of {count}",findNone:"No matches",renameColumn:"Rename column",fixedPosition:"Set fixed position",pinLeft:"Left",pinRight:"Right",pinSticky:"Sticky",unpin:"Unfix",moveLeft:"Move to the left",moveRight:"Move to the right",filterPlaceholder:"Filter\u2026",filterColumnAria:"Filter {column}",filterOperatorDefault:"Default",filterOperatorAria:"Filter operator for {column}",filterSelectAll:"Select all",filterBlank:"(Blanks)",filterNonBlank:"(Non-blanks)",filterEmptyText:"(empty text)",filterSpace:"(1 space)",filterSpaces:"({n} spaces)",filterNoMatch:"No matching values",filterLoading:"Loading values\u2026",filterTruncated:"Showing the first values only \u2014 search to find the rest.",filterRemove:"Remove the filter",filterToggle:"Apply the filter",filterEditBuilder:"Edit the filter",filterNone:"No filter",filterActive:"Filter active",opEquals:"is",opNotEquals:"is not",opGreater:">",opGreaterOrEqual:"\u2265",opLess:"<",opLessOrEqual:"\u2264",opContains:"contains",opNotContains:"does not contain",opStartsWith:"starts with",opEndsWith:"ends with",opIsBlank:"is blank",opIsNotBlank:"is not blank",opIsOneOf:"is one of",opIsBetween:"is between",opValuesCount:"{n} values",opInPeriod:"is in",periodToday:"today",periodYesterday:"yesterday",periodTomorrow:"tomorrow",periodThisWeek:"this week",periodLastWeek:"last week",periodNextWeek:"next week",periodThisMonth:"this month",periodLastMonth:"last month",periodNextMonth:"next month",periodThisQuarter:"this quarter",periodLastQuarter:"last quarter",periodNextQuarter:"next quarter",periodThisYear:"this year",periodLastYear:"last year",periodNextYear:"next year",periodYearToDate:"year to date",periodLastDays:"the last {n} days",periodNextDays:"the next {n} days",filterAnd:"AND",filterOr:"OR",builderTitle:"Filter builder",builderCombine:"Combine conditions with",builderAddCondition:"Add condition",builderAddGroup:"Add group",builderRemoveGroup:"Remove group",builderRemoveCondition:"Remove condition",builderEmpty:"No conditions yet.",builderColumn:"Column",builderOperator:"Operator",builderValue:"Value",builderValueFrom:"From",builderValueTo:"To",builderValuePlaceholder:"Enter a value",builderOpen:"Filter builder\u2026",builderClearAll:"Clear all",builderConditionButton:"+ Condition",builderGroupButton:"+ Group",builderTrue:"true",builderFalse:"false",builderPeriod:"Period",builderDays:"Days",filterCustom:"(Custom\u2026)",filterPopupAria:"{column} filter",importOpen:"Import\u2026",groupPanelHint:"Drag a column here to group by it",groupAddLevel:"Add grouping level",groupAddLevelButton:"+ Add level\u2026",groupNoGrouping:"(no grouping)",groupLevelAria:"Grouping level {n}",groupRemoveAria:"Remove {column}",groupExpandAll:"Expand all",groupCollapseAll:"Collapse all",pagerFirst:"First page",pagerPrevious:"Previous page",pagerNext:"Next page",pagerLast:"Last page",pagerPage:"Page",pagerOf:"of",pagerRowsPerPage:"Rows per page",pagerAria:"Pagination",pagerPageButton:"Page {n}",selectAllRows:"Select all rows",selectRowAria:"Select row {row}",selectGroupAria:"Select the {count} rows of {group}",summaryAria:"Summary",columnTotalsAria:"Column totals",rowActions:"Row actions",detailsAria:"Details",rowNumberAria:"Row number",noteEditorAria:"Cell note",notePlaceholder:"Write a note about this cell\u2026",addNote:"Add note\u2026",editNote:"Edit note\u2026",deleteNote:"Delete note",expandDetails:"Expand details",collapseDetails:"Collapse details",expandTreeRow:"Expand row",collapseTreeRow:"Collapse row",expandColumnGroup:"Expand column group",collapseColumnGroup:"Collapse column group",dragToReorder:"Drag to reorder",menuCopy:"Copy",menuCopyWithHeaders:"Copy with headers",menuCopyWithGroupHeaders:"Copy with group headers",menuCut:"Cut",menuPaste:"Paste",menuExport:"Export",menuChartRange:"Chart selected cells",statsSum:"Sum",statsCount:"Count",statsAvg:"Average",statsMin:"Min",statsMax:"Max",statsCells:"Cells",statsTooLarge:"Selection too large to total",statusRows:"Rows",statusFiltered:"Filtered",statusSelected:"Selected",summaryRows:"rows",announceRows:"{n} rows",announceSortedBy:"sorted by {columns}",announceSelected:"{n} selected",announceAscending:"ascending",announceDescending:"descending",sideFilters:"Filters",sideBarAria:"Tool panels",sideClearFilters:"Clear all filters",summarySum:"Sum",summaryAvg:"Avg",summaryMin:"Min",summaryMax:"Max",summaryCount:"Count",summaryDistinct:"Distinct",summaryCustom:"Custom",noTotal:"No total",busy:"Working\u2026",busyLoading:"Loading rows\u2026",rowsLoadFailed:"Couldn't load these rows.",retryLoad:"Retry",busyEncoding:"Preparing data\u2026",busyFiltering:"Filtering rows\u2026",busySorting:"Sorting rows\u2026",busyComputing:"Filtering and sorting\u2026",busyGrouping:"Building groups\u2026",busyAggregating:"Calculating totals\u2026",busyProjecting:"Updating the view\u2026",busyExporting:"Building the file\u2026",noData:"No data",editNewRow:"New row",editSaveChanges:"Save changes",editDiscardChanges:"Discard changes",editRow:"Edit row",editRowMenu:"Edit row\u2026",editDeleteRow:"Delete row",editUndoDelete:"Undo delete",editActions:"Actions",editSaveRow:"Save row",editSaving:"Saving\u2026",editEditingRow:"Editing row {row}",editSaveCount:"Save {n} row(s)",editCannotSave:"Cannot save",editSaveFailed:"Could not save the changes.",rowStatusNew:"New row, not saved",rowStatusChanged:"Unsaved changes",rowStatusRemoved:"Marked for deletion",rowStatusSaving:"Saving\u2026",rowStatusSaved:"Saved",rowStatusError:"Save failed",rowStatusRetry:"Retry",rowStatusDelete:"Delete row",editDeleteConfirm:"Delete this row?",editAddRowUndo:"Add row",editDeleteRowUndo:"Delete row",editCellUndo:"Edit {column}",editFillUndo:"Fill {count} cells",editPasteUndo:"Paste {count} cells",editCutUndo:"Cut {count} cells",editGroupTotal:"Group total",editGroupTotalUndo:"Change {column} total ({count} rows)",editNoMatch:"No match",formEditTitle:"Edit row",formAddTitle:"New row",formShortcut:"{key}+Enter to save \xB7 Esc to cancel",validationRequired:"This field is required",validationNumber:"Must be a number",validationNumberLocale:"Not a valid number. Write it like {example}",validationMin:"Must be at least {min}",validationMax:"Must be at most {max}",validationFormat:"Invalid format",validationEmail:"Invalid email address",validationInvalid:"Invalid value",dateCalendar:"Calendar",dateOpenCalendar:"Open calendar",datePreviousMonth:"Previous month",dateNextMonth:"Next month",monthJanuary:"January",monthFebruary:"February",monthMarch:"March",monthApril:"April",monthMay:"May",monthJune:"June",monthJuly:"July",monthAugust:"August",monthSeptember:"September",monthOctober:"October",monthNovember:"November",monthDecember:"December",weekStartsOn:"0",weekdaySu:"Su",weekdayMo:"Mo",weekdayTu:"Tu",weekdayWe:"We",weekdayTh:"Th",weekdayFr:"Fr",weekdaySa:"Sa",importTitle:"Import data",importStepSource:"1. Source",importStepMap:"2. Map columns",importFile:"CSV file",importPaste:"\u2026or paste rows",importSeparator:"Separator",importSeparatorAuto:"Detect automatically",importSeparatorComma:"Comma ,",importSeparatorSemicolon:"Semicolon ;",importSeparatorTab:"Tab",importSeparatorPipe:"Pipe |",importFileColumn:"File column",importDetected:"Detected",importGridColumn:"Grid column",importSample:"Sample",importSkip:"\u2014 skip \u2014",importPreview:"Preview",importNoSource:"Choose a file or paste some rows first.",importNoRows:"No data rows were found.",importAction:"Import",exportAborted:"Export aborted",exportSheetName:"Data",chart:"Chart",chartCategory:"Category",chartSeries:"Series",chartAddSeries:"Add series",chartRemoveSeries:"Remove",chartSource:"Data",chartSourceView:"Filtered rows",chartSourceSelection:"Selected rows",chartSourceAll:"All rows",chartSourceRange:"Selected range (rows {from}\u2013{to})",chartClose:"Close chart",chartFullscreen:"Fullscreen",chartExitFullscreen:"Exit fullscreen",chartFloat:"Pop out",chartDock:"Dock",chartNewWindow:"New window",chartMoveWindow:"Move chart window",chartResizeWindow:"Resize chart window",chartResizeDock:"Drag to change the chart height",chartSwitch:"Swap category and series",chartUnlink:"Unlink",chartLink:"Link",chartUnlinked:"Unlinked: the chart keeps its data and no longer follows the grid.",chartExportPng:"PNG",chartExportSvg:"SVG",chartExportFailed:"The chart could not be exported.",chartCrossFiltered:"The grid is filtered to {value}.",chartBlankCategory:"(blank)",chartTruncated:'Showing the top {n} categories; the rest are grouped as "Other".',chartOther:"Other",chartEmpty:"Nothing to chart yet.",chartNoVisibleSeries:"No visible series.",chartNeedsMoreSeries:"This chart type needs at least two value columns (for example a low and a high) \u2014 add a second series.",chartLoading:"Loading\u2026",chartNeedsRecharts:"Charts need the optional peer `recharts`. Install it to draw them.",chartOnlyOneSeries:"This chart type shows one series.",chartByColumn:"Chart by this column",chartGroupBy:"By",chartGroupNone:"Each value",chartGroupAuto:"Auto",chartGroupDay:"Day",chartGroupWeek:"Week",chartGroupMonth:"Month",chartGroupQuarter:"Quarter",chartGroupYear:"Year",chartGroupBins:"{n} bins",chartBucketAdjusted:"Too many intervals for one axis \u2014 grouped more coarsely.",chartWindowed:"Showing {shown} of {total}.",chartShowAll:"Show all",chartCanvasHint:"Chart. Scroll to zoom, drag to pan, arrow keys to move, 0 to show all.",chartCanvasHintPick:"Chart. Arrow keys choose a category, Enter or Space filters the grid by it (Ctrl adds one), + and \u2212 zoom, 0 shows all.",chartCategoryFocus:"{category}: {values} \u2014 {position} of {count}",chartCategoryFiltered:"filtering the grid",chartAggSum:"Sum",chartAggAvg:"Average",chartAggMin:"Min",chartAggMax:"Max",chartAggCount:"Count",chartAggDistinct:"Distinct",chartAggFirst:"First",chartAggLast:"Last",chartTypeColumn:"Column",chartTypeBar:"Bar",chartTypeLine:"Line",chartTypeArea:"Area",chartTypePie:"Pie",chartTypeDonut:"Donut",chartStacking:"Series layout",chartStackGrouped:"Grouped",chartStackStacked:"Stacked",chartStackNormalized:"100% stacked",chartFormat:"Format",chartFormatTitle:"Title",chartFormatCategoryAxis:"Category axis title",chartFormatValueAxis:"Value axis title",chartFormatLegend:"Legend",chartLegendTop:"Top",chartLegendBottom:"Bottom",chartLegendLeft:"Left",chartLegendRight:"Right",chartLegendNone:"Hidden",chartFormatDataLabels:"Data labels",chartFormatScale:"Value scale",chartScaleLinear:"Linear",chartScaleLog:"Logarithmic",chartFormatTextSize:"Text size",chartFormatTextColor:"Text colour",chartFormatDefault:"Default",chartFormatLabelAngle:"Category labels",chartAngleAuto:"Auto",chartAngleFlat:"Flat",chartFormatGridLines:"Grid lines",chartGridValue:"Value axis",chartGridBoth:"Both axes",chartGridNone:"None",chartFormatGridDashed:"Dashed grid",chartFormatLineWidth:"Line width",chartFormatLineDashed:"Dashed lines",chartFormatFillOpacity:"Fill opacity",chartFormatDateFormat:"Date format",chartFormatPalette:"Colours",chartPaletteTheme:"Theme",chartPaletteClassic:"Classic",chartPaletteColorblind:"Colour-blind safe",chartPaletteVivid:"Vivid",chartPaletteMonochrome:"One colour",sparklineSummary:"{count} values from {min} to {max}, ending at {last}",chartTypeWaterfall:"Waterfall",chartTypeFunnel:"Funnel",chartTypeTreemap:"Treemap",chartTypeHeatmap:"Heatmap",chartTypeBox:"Box plot",chartTypeRadar:"Radar",chartTypeRangeBar:"Range",chartBoxQ1:"Q1",chartBoxMedian:"Median",chartBoxQ3:"Q3",chartBoxOutlier:"Outlier",chartTotal:"Total",chartTypeScatter:"Scatter",chartTypeBubble:"Bubble",chartXAxis:"X axis",chartBubbleSize:"Size",chartXYSampled:"{shown} of {total} points, sampled evenly",licenseMissing:"Unlicensed",licenseExpired:"License expired",licenseReleaseNotCovered:"This version is not covered by the license",licenseDomainMismatch:"License not valid for this domain",licenseRevoked:"License revoked",licenseInvalidFormat:"Malformed license key",licenseInvalidSignature:"Invalid license signature",licenseEngineUnavailable:"Browser cannot verify the license (HTTPS required)",calcAdd:"Add calculated column\u2026",calcEdit:"Edit calculated column\u2026",calcRemove:"Remove calculated column",calcTitleAdd:"Add calculated column",calcTitleEdit:"Edit calculated column",calcName:"Name",calcFormula:"Formula",calcFormulaHint:"Write a column as [Name]. Example: [Price] * [Qty]",calcColumns:"Columns",calcFunctions:"Functions",calcPreview:"Preview",calcPreviewEmpty:"No rows to preview",calcErrorAt:"{message} (character {position})",calcAddButton:"Add",calcArgsAtLeast:"{min} or more",formulaError_empty:"Write a formula",formulaError_unclosedText:'Text is not closed: a " is missing',formulaError_unclosedColumn:"Column name is not closed: a ] is missing",formulaError_emptyColumn:"Empty column name []",formulaError_unexpectedChar:"Unexpected character {text}",formulaError_expected:"{text} is missing",formulaError_cellAfterColon:'A cell is missing after ":"',formulaError_unknownName:"Unknown name {name} \u2014 write a column as [{name}]",formulaError_unexpected:"Unexpected {text}",formulaError_endsEarly:"The formula ends too early",formulaError_trailing:"Unexpected text at the end",formulaError_unknownColumn:"There is no column [{name}]",formulaError_unknownFunction:"Unknown function {name}",formulaError_argCount:"{name} takes {range} argument(s)",formulaError_cellsNotAllowed:"Cell references such as A1 are not used here \u2014 write a column as [Name]"},im={ok:"Tamam",cancel:"\u0130ptal",apply:"Uygula",close:"Kapat",clear:"Temizle",save:"Kaydet",search:"Ara...",selectAll:"T\xFCm\xFCn\xFC Se\xE7",showAll:"T\xFCm\xFCn\xFC g\xF6ster",remove:"Kald\u0131r",none:"Yok",toolbarSearch:"Ara...",exportMenu:"D\u0131\u015Fa Aktar",exportCsv:"CSV'ye aktar",exportExcel:"T\xFCm veriyi Excel'e aktar",exportExcelSelected:"Se\xE7ili sat\u0131rlar\u0131 Excel'e aktar",exportPdf:"PDF'e aktar",exporting:"D\u0131\u015Fa aktar\u0131l\u0131yor\u2026",columns:"S\xFCtunlar",hiddenColumns:"Gizli s\xFCtunlar",noHiddenColumns:"Gizli s\xFCtun yok.",sortAsc:"A'dan Z'ye S\u0131rala",sortDesc:"Z'den A'ya S\u0131rala",clearSort:"S\u0131ralamay\u0131 Temizle",cardSortBy:"S\u0131rala",groupByColumn:"Bu s\xFCtuna g\xF6re grupla",ungroupColumn:"Gruplamadan \xE7\u0131kar",showGroupPanel:"Gruplama panelini g\xF6ster",hideGroupPanel:"Gruplama panelini gizle",showFooter:"Alt bilgiyi g\xF6ster",hideFooter:"Alt bilgiyi gizle",showGroupFooters:"Grup alt bilgilerini g\xF6ster",hideGroupFooters:"Grup alt bilgilerini gizle",hideColumn:"Bu s\xFCtunu gizle",fieldChooser:"Alan se\xE7ici\u2026",bestFit:"En uygun geni\u015Flik",bestFitAll:"En uygun geni\u015Flik (t\xFCm s\xFCtunlar)",pinRowTop:"Sat\u0131r\u0131 \xFCste sabitle",pinRowBottom:"Sat\u0131r\u0131 alta sabitle",unpinRow:"Sat\u0131r\u0131n sabitlemesini kald\u0131r",findLabel:"Tabloda bul",findPrevious:"\xD6nceki e\u015Fle\u015Fme",findNext:"Sonraki e\u015Fle\u015Fme",findClose:"Bulmay\u0131 kapat",findCount:"{n} / {count}",findNone:"E\u015Fle\u015Fme yok",renameColumn:"S\xFCtunu yeniden adland\u0131r",fixedPosition:"Sabit konum ayarla",pinLeft:"Sol",pinRight:"Sa\u011F",pinSticky:"Yap\u0131\u015Fkan",unpin:"Sabitlemeyi kald\u0131r",moveLeft:"Sola ta\u015F\u0131",moveRight:"Sa\u011Fa ta\u015F\u0131",filterPlaceholder:"Filtrele\u2026",filterColumnAria:"{column} filtrele",filterOperatorDefault:"Varsay\u0131lan",filterOperatorAria:"{column} filtre i\u015Fleci",filterSelectAll:"T\xFCm\xFCn\xFC se\xE7",filterBlank:"(Bo\u015F Olanlar)",filterNonBlank:"(Bo\u015F Olmayanlar)",filterEmptyText:"(bo\u015F metin)",filterSpace:"(1 bo\u015Fluk)",filterSpaces:"({n} bo\u015Fluk)",filterNoMatch:"E\u015Fle\u015Fen de\u011Fer yok",filterLoading:"De\u011Ferler y\xFCkleniyor\u2026",filterTruncated:"Yaln\u0131zca ilk de\u011Ferler g\xF6steriliyor \u2014 kalan\u0131n\u0131 bulmak i\xE7in aray\u0131n.",filterRemove:"Filtreyi kald\u0131r",filterToggle:"Filtreyi uygula",filterEditBuilder:"Filtreyi d\xFCzenle",filterNone:"Filtre yok",filterActive:"Filtre etkin",opEquals:"e\u015Fittir",opNotEquals:"e\u015Fit de\u011Fildir",opGreater:">",opGreaterOrEqual:"\u2265",opLess:"<",opLessOrEqual:"\u2264",opContains:"i\xE7erir",opNotContains:"i\xE7ermez",opStartsWith:"ile ba\u015Flar",opEndsWith:"ile biter",opIsBlank:"bo\u015Ftur",opIsNotBlank:"bo\u015F de\u011Fildir",opIsOneOf:"\u015Funlardan biridir",opIsBetween:"aras\u0131ndad\u0131r",opValuesCount:"{n} de\u011Fer",opInPeriod:"d\xF6nem i\xE7inde",periodToday:"bug\xFCn",periodYesterday:"d\xFCn",periodTomorrow:"yar\u0131n",periodThisWeek:"bu hafta",periodLastWeek:"ge\xE7en hafta",periodNextWeek:"gelecek hafta",periodThisMonth:"bu ay",periodLastMonth:"ge\xE7en ay",periodNextMonth:"gelecek ay",periodThisQuarter:"bu \xE7eyrek",periodLastQuarter:"ge\xE7en \xE7eyrek",periodNextQuarter:"gelecek \xE7eyrek",periodThisYear:"bu y\u0131l",periodLastYear:"ge\xE7en y\u0131l",periodNextYear:"gelecek y\u0131l",periodYearToDate:"y\u0131lba\u015F\u0131ndan bug\xFCne",periodLastDays:"son {n} g\xFCn",periodNextDays:"\xF6n\xFCm\xFCzdeki {n} g\xFCn",filterAnd:"VE",filterOr:"VEYA",builderTitle:"Filtre olu\u015Fturucu",builderCombine:"Ko\u015Fullar\u0131 \u015Fununla birle\u015Ftir",builderAddCondition:"Ko\u015Ful ekle",builderAddGroup:"Grup ekle",builderRemoveGroup:"Grubu kald\u0131r",builderRemoveCondition:"Ko\u015Fulu kald\u0131r",builderEmpty:"Hen\xFCz ko\u015Ful yok.",builderColumn:"S\xFCtun",builderOperator:"Operat\xF6r",builderValue:"De\u011Fer",builderValueFrom:"Ba\u015Flang\u0131\xE7",builderValueTo:"Biti\u015F",builderValuePlaceholder:"Bir de\u011Fer girin",builderOpen:"Filtre olu\u015Fturucu\u2026",builderClearAll:"T\xFCm\xFCn\xFC temizle",builderConditionButton:"+ Ko\u015Ful",builderGroupButton:"+ Grup",builderTrue:"do\u011Fru",builderFalse:"yanl\u0131\u015F",builderPeriod:"D\xF6nem",builderDays:"G\xFCn",filterCustom:"(\xD6zel\u2026)",filterPopupAria:"{column} filtresi",importOpen:"\u0130\xE7e aktar\u2026",groupPanelHint:"Gruplamak i\xE7in buraya bir s\xFCtun s\xFCr\xFCkleyin",groupAddLevel:"Gruplama d\xFCzeyi ekle",groupAddLevelButton:"+ D\xFCzey ekle\u2026",groupNoGrouping:"(gruplama yok)",groupLevelAria:"{n}. gruplama d\xFCzeyi",groupRemoveAria:"{column} kald\u0131r",groupExpandAll:"T\xFCm\xFCn\xFC geni\u015Flet",groupCollapseAll:"T\xFCm\xFCn\xFC daralt",pagerFirst:"\u0130lk sayfa",pagerPrevious:"\xD6nceki sayfa",pagerNext:"Sonraki sayfa",pagerLast:"Son sayfa",pagerPage:"Sayfa",pagerOf:"/",pagerRowsPerPage:"Sayfa ba\u015F\u0131na sat\u0131r",pagerAria:"Sayfalama",pagerPageButton:"Sayfa {n}",selectAllRows:"T\xFCm sat\u0131rlar\u0131 se\xE7",selectRowAria:"{row} numaral\u0131 sat\u0131r\u0131 se\xE7",selectGroupAria:"{group} grubundaki {count} sat\u0131r\u0131 se\xE7",summaryAria:"\xD6zet",columnTotalsAria:"S\xFCtun toplamlar\u0131",rowActions:"Sat\u0131r i\u015Flemleri",detailsAria:"Ayr\u0131nt\u0131lar",rowNumberAria:"Sat\u0131r numaras\u0131",noteEditorAria:"H\xFCcre notu",notePlaceholder:"Bu h\xFCcre hakk\u0131nda bir not yaz\u0131n\u2026",addNote:"Not ekle\u2026",editNote:"Notu d\xFCzenle\u2026",deleteNote:"Notu sil",expandDetails:"Ayr\u0131nt\u0131lar\u0131 geni\u015Flet",collapseDetails:"Ayr\u0131nt\u0131lar\u0131 daralt",expandTreeRow:"Sat\u0131r\u0131 a\xE7",collapseTreeRow:"Sat\u0131r\u0131 kapat",expandColumnGroup:"S\xFCtun grubunu geni\u015Flet",collapseColumnGroup:"S\xFCtun grubunu daralt",dragToReorder:"S\u0131ralamak i\xE7in s\xFCr\xFCkleyin",menuCopy:"Kopyala",menuCopyWithHeaders:"Ba\u015Fl\u0131klarla kopyala",menuCopyWithGroupHeaders:"Grup ba\u015Fl\u0131klar\u0131yla kopyala",menuCut:"Kes",menuPaste:"Yap\u0131\u015Ft\u0131r",menuExport:"D\u0131\u015Fa aktar",menuChartRange:"Se\xE7ili h\xFCcreleri grafi\u011Fe d\xF6k",statsSum:"Toplam",statsCount:"Say",statsAvg:"Ortalama",statsMin:"Min",statsMax:"Max",statsCells:"H\xFCcre",statsTooLarge:"Se\xE7im toplanamayacak kadar b\xFCy\xFCk",statusRows:"Sat\u0131r",statusFiltered:"Filtreli",statusSelected:"Se\xE7ili",summaryRows:"sat\u0131r",announceRows:"{n} sat\u0131r",announceSortedBy:"{columns} ile s\u0131ral\u0131",announceSelected:"{n} se\xE7ili",announceAscending:"artan",announceDescending:"azalan",sideFilters:"Filtreler",sideBarAria:"Ara\xE7 panelleri",sideClearFilters:"T\xFCm filtreleri temizle",summarySum:"Toplam",summaryAvg:"Ortalama",summaryMin:"Min",summaryMax:"Max",summaryCount:"Say",summaryDistinct:"Benzersiz",summaryCustom:"\xD6zel",noTotal:"Toplam yok",busy:"\xC7al\u0131\u015F\u0131yor\u2026",busyLoading:"Sat\u0131rlar y\xFCkleniyor\u2026",rowsLoadFailed:"Bu sat\u0131rlar y\xFCklenemedi.",retryLoad:"Tekrar dene",busyEncoding:"Veri haz\u0131rlan\u0131yor\u2026",busyFiltering:"Sat\u0131rlar filtreleniyor\u2026",busySorting:"Sat\u0131rlar s\u0131ralan\u0131yor\u2026",busyComputing:"Filtreleniyor ve s\u0131ralan\u0131yor\u2026",busyGrouping:"Gruplar olu\u015Fturuluyor\u2026",busyAggregating:"Toplamlar hesaplan\u0131yor\u2026",busyProjecting:"G\xF6r\xFCn\xFCm g\xFCncelleniyor\u2026",busyExporting:"Dosya olu\u015Fturuluyor\u2026",noData:"Veri Bulunamad\u0131",editNewRow:"Yeni sat\u0131r",editSaveChanges:"De\u011Fi\u015Fiklikleri kaydet",editDiscardChanges:"De\u011Fi\u015Fiklikleri iptal et",editRow:"Sat\u0131r\u0131 d\xFCzenle",editRowMenu:"Sat\u0131r\u0131 d\xFCzenle\u2026",editDeleteRow:"Sat\u0131r\u0131 sil",editUndoDelete:"Silmeyi geri al",editActions:"Aksiyonlar",editSaveRow:"Sat\u0131r\u0131 kaydet",editSaving:"Kaydediliyor\u2026",editEditingRow:"{row} numaral\u0131 sat\u0131r d\xFCzenleniyor",editSaveCount:"{n} sat\u0131r\u0131 kaydet",editCannotSave:"Kaydedilemiyor",editSaveFailed:"De\u011Fi\u015Fiklikler kaydedilemedi.",rowStatusNew:"Yeni sat\u0131r, kaydedilmedi",rowStatusChanged:"Kaydedilmemi\u015F de\u011Fi\u015Fiklikler",rowStatusRemoved:"Silinmek \xFCzere i\u015Faretlendi",rowStatusSaving:"Kaydediliyor\u2026",rowStatusSaved:"Kaydedildi",rowStatusError:"Kaydedilemedi",rowStatusRetry:"Tekrar dene",rowStatusDelete:"Sat\u0131r\u0131 sil",editDeleteConfirm:"Bu sat\u0131r silinsin mi?",editAddRowUndo:"Sat\u0131r ekle",editDeleteRowUndo:"Sat\u0131r sil",editCellUndo:"{column} d\xFCzenle",editFillUndo:"{count} h\xFCcre doldur",editPasteUndo:"{count} h\xFCcre yap\u0131\u015Ft\u0131r",editCutUndo:"{count} h\xFCcre kes",editGroupTotal:"Grup toplam\u0131",editGroupTotalUndo:"{column} toplam\u0131n\u0131 de\u011Fi\u015Ftir ({count} sat\u0131r)",editNoMatch:"Kay\u0131t bulunamad\u0131",formEditTitle:"Sat\u0131r\u0131 d\xFCzenle",formAddTitle:"Yeni sat\u0131r",formShortcut:"Kaydetmek i\xE7in {key}+Enter \xB7 \u0130ptal i\xE7in Esc",validationRequired:"Bu alan zorunludur",validationNumber:"Say\u0131 olmal\u0131d\u0131r",validationNumberLocale:"Ge\xE7erli bir say\u0131 de\u011Fil. \u015E\xF6yle yaz\u0131n: {example}",validationMin:"En az {min} olmal\u0131d\u0131r",validationMax:"En \xE7ok {max} olmal\u0131d\u0131r",validationFormat:"Ge\xE7ersiz bi\xE7im",validationEmail:"Ge\xE7ersiz e-posta adresi",validationInvalid:"Ge\xE7ersiz de\u011Fer",dateCalendar:"Takvim",dateOpenCalendar:"Takvimi a\xE7",datePreviousMonth:"\xD6nceki ay",dateNextMonth:"Sonraki ay",monthJanuary:"Ocak",monthFebruary:"\u015Eubat",monthMarch:"Mart",monthApril:"Nisan",monthMay:"May\u0131s",monthJune:"Haziran",monthJuly:"Temmuz",monthAugust:"A\u011Fustos",monthSeptember:"Eyl\xFCl",monthOctober:"Ekim",monthNovember:"Kas\u0131m",monthDecember:"Aral\u0131k",weekStartsOn:"1",weekdaySu:"Pz",weekdayMo:"Pt",weekdayTu:"Sa",weekdayWe:"\xC7a",weekdayTh:"Pe",weekdayFr:"Cu",weekdaySa:"Ct",importTitle:"Veri i\xE7e aktar",importStepSource:"1. Kaynak",importStepMap:"2. S\xFCtun e\u015Fleme",importFile:"CSV dosyas\u0131",importPaste:"\u2026veya sat\u0131rlar\u0131 yap\u0131\u015Ft\u0131r\u0131n",importSeparator:"Ay\u0131r\u0131c\u0131",importSeparatorAuto:"Otomatik alg\u0131la",importSeparatorComma:"Virg\xFCl ,",importSeparatorSemicolon:"Noktal\u0131 virg\xFCl ;",importSeparatorTab:"Sekme",importSeparatorPipe:"Dikey \xE7izgi |",importFileColumn:"Dosya s\xFCtunu",importDetected:"Alg\u0131lanan",importGridColumn:"Tablo s\xFCtunu",importSample:"\xD6rnek",importSkip:"\u2014 atla \u2014",importPreview:"\xD6nizleme",importNoSource:"\xD6nce bir dosya se\xE7in veya sat\u0131r yap\u0131\u015Ft\u0131r\u0131n.",importNoRows:"Veri sat\u0131r\u0131 bulunamad\u0131.",importAction:"\u0130\xE7e aktar",exportAborted:"D\u0131\u015Fa aktarma iptal edildi",exportSheetName:"Veri",chart:"Grafik",chartCategory:"Kategori",chartSeries:"Seri",chartAddSeries:"Seri ekle",chartRemoveSeries:"Kald\u0131r",chartSource:"Veri",chartSourceView:"Filtrelenmi\u015F sat\u0131rlar",chartSourceSelection:"Se\xE7ili sat\u0131rlar",chartSourceAll:"T\xFCm sat\u0131rlar",chartSourceRange:"Se\xE7ili aral\u0131k ({from}\u2013{to}. sat\u0131rlar)",chartClose:"Grafi\u011Fi kapat",chartFullscreen:"Tam ekran",chartExitFullscreen:"Tam ekrandan \xE7\u0131k",chartFloat:"Pencereye al",chartDock:"Yerine yerle\u015Ftir",chartNewWindow:"Yeni pencere",chartMoveWindow:"Grafik penceresini ta\u015F\u0131",chartResizeWindow:"Grafik penceresini boyutland\u0131r",chartResizeDock:"Grafi\u011Fin y\xFCksekli\u011Fini de\u011Fi\u015Ftirmek i\xE7in s\xFCr\xFCkleyin",chartSwitch:"Kategori ile seriyi de\u011Fi\u015Ftir",chartUnlink:"Gridden kopar",chartLink:"Gride ba\u011Fla",chartUnlinked:"Kopar\u0131ld\u0131: grafik verisini koruyor, grid de\u011Fi\u015Fse de de\u011Fi\u015Fmiyor.",chartExportPng:"PNG",chartExportSvg:"SVG",chartExportFailed:"Grafik d\u0131\u015Fa aktar\u0131lamad\u0131.",chartCrossFiltered:"Tablo {value} de\u011Ferine filtrelendi.",chartBlankCategory:"(bo\u015F)",chartTruncated:'En y\xFCksek {n} kategori g\xF6steriliyor; kalanlar "Di\u011Fer" alt\u0131nda topland\u0131.',chartOther:"Di\u011Fer",chartEmpty:"Hen\xFCz grafi\u011Fe d\xF6k\xFClecek bir \u015Fey yok.",chartNoVisibleSeries:"G\xF6r\xFCn\xFCr seri yok.",chartNeedsMoreSeries:"Bu grafik t\xFCr\xFC en az iki de\u011Fer s\xFCtunu ister (\xF6rne\u011Fin en d\xFC\u015F\xFCk ve en y\xFCksek) \u2014 ikinci bir seri ekleyin.",chartLoading:"Y\xFCkleniyor\u2026",chartNeedsRecharts:"Grafikler iste\u011Fe ba\u011Fl\u0131 `recharts` paketini gerektirir. \xC7izmek i\xE7in kurun.",chartOnlyOneSeries:"Bu grafik t\xFCr\xFC tek seri g\xF6sterir.",chartByColumn:"Bu s\xFCtuna g\xF6re grafik",chartGroupBy:"\u015Euna g\xF6re",chartGroupNone:"Her de\u011Fer",chartGroupAuto:"Otomatik",chartGroupDay:"G\xFCn",chartGroupWeek:"Hafta",chartGroupMonth:"Ay",chartGroupQuarter:"\xC7eyrek",chartGroupYear:"Y\u0131l",chartGroupBins:"{n} aral\u0131k",chartBucketAdjusted:"Bir eksen i\xE7in fazla aral\u0131k \u2014 daha kaba grupland\u0131.",chartWindowed:"{total} i\xE7inden {shown} g\xF6steriliyor.",chartShowAll:"T\xFCm\xFCn\xFC g\xF6ster",chartCanvasHint:"Grafik. Yak\u0131nla\u015Ft\u0131rmak i\xE7in kayd\u0131r\u0131n, kayd\u0131rmak i\xE7in s\xFCr\xFCkleyin, ok tu\u015Flar\u0131yla gezinin, t\xFCm\xFC i\xE7in 0.",chartCanvasHintPick:"Grafik. Ok tu\u015Flar\u0131yla bir kategori se\xE7in, Enter ya da Bo\u015Fluk tabloyu ona g\xF6re s\xFCzer (Ctrl ile eklenir), + ve \u2212 yak\u0131nla\u015Ft\u0131r\u0131r, 0 t\xFCm\xFCn\xFC g\xF6sterir.",chartCategoryFocus:"{category}: {values} \u2014 {position}/{count}",chartCategoryFiltered:"tabloyu s\xFCz\xFCyor",chartAggSum:"Toplam",chartAggAvg:"Ortalama",chartAggMin:"Min",chartAggMax:"Max",chartAggCount:"Say",chartAggDistinct:"Benzersiz",chartAggFirst:"\u0130lk",chartAggLast:"Son",chartTypeColumn:"S\xFCtun",chartTypeBar:"\xC7ubuk",chartTypeLine:"\xC7izgi",chartTypeArea:"Alan",chartTypePie:"Pasta",chartTypeDonut:"Halka",chartStacking:"Seri yerle\u015Fimi",chartStackGrouped:"Yan yana",chartStackStacked:"Y\u0131\u011F\u0131lm\u0131\u015F",chartStackNormalized:"%100 y\u0131\u011F\u0131lm\u0131\u015F",chartFormat:"Bi\xE7im",chartFormatTitle:"Ba\u015Fl\u0131k",chartFormatCategoryAxis:"Kategori ekseni ba\u015Fl\u0131\u011F\u0131",chartFormatValueAxis:"De\u011Fer ekseni ba\u015Fl\u0131\u011F\u0131",chartFormatLegend:"Lejant",chartLegendTop:"\xDCstte",chartLegendBottom:"Altta",chartLegendLeft:"Solda",chartLegendRight:"Sa\u011Fda",chartLegendNone:"Gizli",chartFormatDataLabels:"Veri etiketleri",chartFormatScale:"De\u011Fer \xF6l\xE7e\u011Fi",chartScaleLinear:"Do\u011Frusal",chartScaleLog:"Logaritmik",chartFormatTextSize:"Yaz\u0131 boyutu",chartFormatTextColor:"Yaz\u0131 rengi",chartFormatDefault:"Varsay\u0131lan",chartFormatLabelAngle:"Kategori etiketleri",chartAngleAuto:"Otomatik",chartAngleFlat:"D\xFCz",chartFormatGridLines:"Izgara \xE7izgileri",chartGridValue:"De\u011Fer ekseni",chartGridBoth:"\u0130ki eksen",chartGridNone:"Yok",chartFormatGridDashed:"Kesik \u0131zgara",chartFormatLineWidth:"\xC7izgi kal\u0131nl\u0131\u011F\u0131",chartFormatLineDashed:"Kesik \xE7izgiler",chartFormatFillOpacity:"Dolgu opakl\u0131\u011F\u0131",chartFormatDateFormat:"Tarih bi\xE7imi",chartFormatPalette:"Renkler",chartPaletteTheme:"Tema",chartPaletteClassic:"Klasik",chartPaletteColorblind:"Renk k\xF6rl\xFC\u011F\xFCne uygun",chartPaletteVivid:"Canl\u0131",chartPaletteMonochrome:"Tek renk",sparklineSummary:"{count} de\u011Fer, {min} ile {max} aras\u0131, son de\u011Fer {last}",chartTypeWaterfall:"\u015Eelale",chartTypeFunnel:"Huni",chartTypeTreemap:"A\u011Fa\xE7 haritas\u0131",chartTypeHeatmap:"Is\u0131 haritas\u0131",chartTypeBox:"Kutu grafi\u011Fi",chartTypeRadar:"Radar",chartTypeRangeBar:"Aral\u0131k",chartBoxQ1:"\xC71",chartBoxMedian:"Ortanca",chartBoxQ3:"\xC73",chartBoxOutlier:"Ayk\u0131r\u0131 de\u011Fer",chartTotal:"Toplam",chartTypeScatter:"Da\u011F\u0131l\u0131m",chartTypeBubble:"Kabarc\u0131k",chartXAxis:"X ekseni",chartBubbleSize:"Boyut",chartXYSampled:"{total} noktan\u0131n {shown} tanesi, e\u015Fit aral\u0131kla \xF6rneklendi",licenseMissing:"Lisanss\u0131z",licenseExpired:"Lisans\u0131n s\xFCresi dolmu\u015F",licenseReleaseNotCovered:"Bu s\xFCr\xFCm lisans kapsam\u0131nda de\u011Fil",licenseDomainMismatch:"Lisans bu alan ad\u0131 i\xE7in ge\xE7erli de\u011Fil",licenseRevoked:"Lisans iptal edilmi\u015F",licenseInvalidFormat:"Lisans anahtar\u0131 hatal\u0131",licenseInvalidSignature:"Lisans imzas\u0131 ge\xE7ersiz",licenseEngineUnavailable:"Taray\u0131c\u0131 lisans\u0131 do\u011Frulayam\u0131yor (HTTPS gerekli)",calcAdd:"Hesaplanm\u0131\u015F s\xFCtun ekle\u2026",calcEdit:"Hesaplanm\u0131\u015F s\xFCtunu d\xFCzenle\u2026",calcRemove:"Hesaplanm\u0131\u015F s\xFCtunu kald\u0131r",calcTitleAdd:"Hesaplanm\u0131\u015F s\xFCtun ekle",calcTitleEdit:"Hesaplanm\u0131\u015F s\xFCtunu d\xFCzenle",calcName:"Ad",calcFormula:"Form\xFCl",calcFormulaHint:"S\xFCtunu [Ad] diye yaz\u0131n. \xD6rnek: [Fiyat] * [Adet]",calcColumns:"S\xFCtunlar",calcFunctions:"\u0130\u015Flevler",calcPreview:"\xD6nizleme",calcPreviewEmpty:"\xD6nizlenecek sat\u0131r yok",calcErrorAt:"{message} ({position}. karakter)",calcAddButton:"Ekle",calcArgsAtLeast:"{min} veya daha fazla",formulaError_empty:"Bir form\xFCl yaz\u0131n",formulaError_unclosedText:'Metin kapanmam\u0131\u015F: bir " eksik',formulaError_unclosedColumn:"S\xFCtun ad\u0131 kapanmam\u0131\u015F: bir ] eksik",formulaError_emptyColumn:"Bo\u015F s\xFCtun ad\u0131 []",formulaError_unexpectedChar:"Beklenmeyen karakter {text}",formulaError_expected:"{text} eksik",formulaError_cellAfterColon:'":" i\u015Faretinden sonra bir h\xFCcre eksik',formulaError_unknownName:"Bilinmeyen ad {name} \u2014 s\xFCtunu [{name}] diye yaz\u0131n",formulaError_unexpected:"Beklenmeyen {text}",formulaError_endsEarly:"Form\xFCl erken bitiyor",formulaError_trailing:"Sonda beklenmeyen metin",formulaError_unknownColumn:"[{name}] ad\u0131nda bir s\xFCtun yok",formulaError_unknownFunction:"Bilinmeyen i\u015Flev {name}",formulaError_argCount:"{name} {range} ba\u011F\u0131ms\u0131z de\u011Fi\u015Fken al\u0131r",formulaError_cellsNotAllowed:"A1 gibi h\xFCcre ba\u015Fvurular\u0131 burada kullan\u0131lmaz \u2014 s\xFCtunu [Ad] diye yaz\u0131n"},lm={ok:"OK",cancel:"Abbrechen",apply:"Anwenden",close:"Schlie\xDFen",clear:"L\xF6schen",save:"Speichern",search:"Suchen...",selectAll:"Alles ausw\xE4hlen",showAll:"Alle anzeigen",remove:"Entfernen",none:"Keine",toolbarSearch:"Suchen...",exportMenu:"Exportieren",exportCsv:"Als CSV exportieren",exportExcel:"Alle Daten nach Excel exportieren",exportExcelSelected:"Ausgew\xE4hlte Zeilen nach Excel exportieren",exportPdf:"Als PDF exportieren",exporting:"Wird exportiert\u2026",columns:"Spalten",hiddenColumns:"Ausgeblendete Spalten",noHiddenColumns:"Keine ausgeblendeten Spalten.",sortAsc:"Sortieren A \u2192 Z",sortDesc:"Sortieren Z \u2192 A",clearSort:"Sortierung l\xF6schen",cardSortBy:"Sortieren nach",groupByColumn:"Nach dieser Spalte gruppieren",ungroupColumn:"Aus Gruppierung entfernen",showGroupPanel:"Gruppierungsbereich anzeigen",hideGroupPanel:"Gruppierungsbereich ausblenden",showFooter:"Fu\xDFzeile anzeigen",hideFooter:"Fu\xDFzeile ausblenden",showGroupFooters:"Gruppenfu\xDFzeilen anzeigen",hideGroupFooters:"Gruppenfu\xDFzeilen ausblenden",hideColumn:"Diese Spalte ausblenden",fieldChooser:"Feldauswahl\u2026",bestFit:"Optimale Breite",bestFitAll:"Optimale Breite (alle Spalten)",pinRowTop:"Zeile oben fixieren",pinRowBottom:"Zeile unten fixieren",unpinRow:"Zeilenfixierung aufheben",findLabel:"In der Tabelle suchen",findPrevious:"Vorheriger Treffer",findNext:"N\xE4chster Treffer",findClose:"Suche schlie\xDFen",findCount:"{n} von {count}",findNone:"Keine Treffer",renameColumn:"Spalte umbenennen",fixedPosition:"Feste Position festlegen",pinLeft:"Links",pinRight:"Rechts",pinSticky:"Fixiert",unpin:"Fixierung aufheben",moveLeft:"Nach links verschieben",moveRight:"Nach rechts verschieben",filterPlaceholder:"Filtern\u2026",filterColumnAria:"{column} filtern",filterOperatorDefault:"Standard",filterOperatorAria:"Filteroperator f\xFCr {column}",filterSelectAll:"Alles ausw\xE4hlen",filterBlank:"(Leer)",filterNonBlank:"(Nicht leer)",filterEmptyText:"(leerer Text)",filterSpace:"(1 Leerzeichen)",filterSpaces:"({n} Leerzeichen)",filterNoMatch:"Keine passenden Werte",filterLoading:"Werte werden geladen\u2026",filterTruncated:"Es werden nur die ersten Werte angezeigt \u2014 suchen Sie nach den \xFCbrigen.",filterRemove:"Filter entfernen",filterToggle:"Filter anwenden",filterEditBuilder:"Filter bearbeiten",filterNone:"Kein Filter",filterActive:"Filter aktiv",opEquals:"ist",opNotEquals:"ist nicht",opGreater:">",opGreaterOrEqual:"\u2265",opLess:"<",opLessOrEqual:"\u2264",opContains:"enth\xE4lt",opNotContains:"enth\xE4lt nicht",opStartsWith:"beginnt mit",opEndsWith:"endet mit",opIsBlank:"ist leer",opIsNotBlank:"ist nicht leer",opIsOneOf:"ist eines von",opIsBetween:"liegt zwischen",opValuesCount:"{n} Werte",opInPeriod:"liegt in",periodToday:"heute",periodYesterday:"gestern",periodTomorrow:"morgen",periodThisWeek:"diese Woche",periodLastWeek:"letzte Woche",periodNextWeek:"n\xE4chste Woche",periodThisMonth:"diesen Monat",periodLastMonth:"letzten Monat",periodNextMonth:"n\xE4chsten Monat",periodThisQuarter:"dieses Quartal",periodLastQuarter:"letztes Quartal",periodNextQuarter:"n\xE4chstes Quartal",periodThisYear:"dieses Jahr",periodLastYear:"letztes Jahr",periodNextYear:"n\xE4chstes Jahr",periodYearToDate:"seit Jahresbeginn",periodLastDays:"die letzten {n} Tage",periodNextDays:"die n\xE4chsten {n} Tage",filterAnd:"UND",filterOr:"ODER",builderTitle:"Filter-Editor",builderCombine:"Bedingungen verkn\xFCpfen mit",builderAddCondition:"Bedingung hinzuf\xFCgen",builderAddGroup:"Gruppe hinzuf\xFCgen",builderRemoveGroup:"Gruppe entfernen",builderRemoveCondition:"Bedingung entfernen",builderEmpty:"Noch keine Bedingungen.",builderColumn:"Spalte",builderOperator:"Operator",builderValue:"Wert",builderValueFrom:"Von",builderValueTo:"Bis",builderValuePlaceholder:"Wert eingeben",builderOpen:"Filter-Editor\u2026",builderClearAll:"Alle l\xF6schen",builderConditionButton:"+ Bedingung",builderGroupButton:"+ Gruppe",builderTrue:"wahr",builderFalse:"falsch",builderPeriod:"Zeitraum",builderDays:"Tage",filterCustom:"(Benutzerdefiniert\u2026)",filterPopupAria:"Filter {column}",importOpen:"Importieren\u2026",groupPanelHint:"Ziehen Sie eine Spalte hierher, um danach zu gruppieren",groupAddLevel:"Gruppierungsebene hinzuf\xFCgen",groupAddLevelButton:"+ Ebene hinzuf\xFCgen\u2026",groupNoGrouping:"(keine Gruppierung)",groupLevelAria:"Gruppierungsebene {n}",groupRemoveAria:"{column} entfernen",groupExpandAll:"Alle erweitern",groupCollapseAll:"Alle reduzieren",pagerFirst:"Erste Seite",pagerPrevious:"Vorherige Seite",pagerNext:"N\xE4chste Seite",pagerLast:"Letzte Seite",pagerPage:"Seite",pagerOf:"von",pagerRowsPerPage:"Zeilen pro Seite",pagerAria:"Seitennavigation",pagerPageButton:"Seite {n}",selectAllRows:"Alle Zeilen ausw\xE4hlen",selectRowAria:"Zeile {row} ausw\xE4hlen",selectGroupAria:"Die {count} Zeilen von {group} ausw\xE4hlen",summaryAria:"Zusammenfassung",columnTotalsAria:"Spaltensummen",rowActions:"Zeilenaktionen",detailsAria:"Details",rowNumberAria:"Zeilennummer",noteEditorAria:"Zellennotiz",notePlaceholder:"Notiz zu dieser Zelle schreiben\u2026",addNote:"Notiz hinzuf\xFCgen\u2026",editNote:"Notiz bearbeiten\u2026",deleteNote:"Notiz l\xF6schen",expandDetails:"Details erweitern",collapseDetails:"Details reduzieren",expandTreeRow:"Zeile aufklappen",collapseTreeRow:"Zeile zuklappen",expandColumnGroup:"Spaltengruppe aufklappen",collapseColumnGroup:"Spaltengruppe zuklappen",dragToReorder:"Zum Umsortieren ziehen",menuCopy:"Kopieren",menuCopyWithHeaders:"Mit Spaltenk\xF6pfen kopieren",menuCopyWithGroupHeaders:"Mit Gruppenk\xF6pfen kopieren",menuCut:"Ausschneiden",menuPaste:"Einf\xFCgen",menuExport:"Exportieren",menuChartRange:"Ausgew\xE4hlte Zellen als Diagramm",statsSum:"Summe",statsCount:"Anzahl",statsAvg:"Durchschnitt",statsMin:"Min",statsMax:"Max",statsCells:"Zellen",statsTooLarge:"Auswahl zu gro\xDF f\xFCr eine Summe",statusRows:"Zeilen",statusFiltered:"Gefiltert",statusSelected:"Ausgew\xE4hlt",summaryRows:"Zeilen",announceRows:"{n} Zeilen",announceSortedBy:"sortiert nach {columns}",announceSelected:"{n} ausgew\xE4hlt",announceAscending:"aufsteigend",announceDescending:"absteigend",sideFilters:"Filter",sideBarAria:"Werkzeugbereiche",sideClearFilters:"Alle Filter l\xF6schen",summarySum:"Summe",summaryAvg:"Durchschnitt",summaryMin:"Min",summaryMax:"Max",summaryCount:"Anzahl",summaryDistinct:"Eindeutig",summaryCustom:"Benutzerdefiniert",noTotal:"Keine Summe",busy:"Wird bearbeitet\u2026",busyLoading:"Zeilen werden geladen\u2026",rowsLoadFailed:"Diese Zeilen konnten nicht geladen werden.",retryLoad:"Erneut versuchen",busyEncoding:"Daten werden vorbereitet\u2026",busyFiltering:"Zeilen werden gefiltert\u2026",busySorting:"Zeilen werden sortiert\u2026",busyComputing:"Filtern und Sortieren\u2026",busyGrouping:"Gruppen werden erstellt\u2026",busyAggregating:"Summen werden berechnet\u2026",busyProjecting:"Ansicht wird aktualisiert\u2026",busyExporting:"Datei wird erstellt\u2026",noData:"Keine Daten gefunden",editNewRow:"Neue Zeile",editSaveChanges:"\xC4nderungen speichern",editDiscardChanges:"\xC4nderungen verwerfen",editRow:"Zeile bearbeiten",editRowMenu:"Zeile bearbeiten\u2026",editDeleteRow:"Zeile l\xF6schen",editUndoDelete:"L\xF6schen r\xFCckg\xE4ngig",editActions:"Aktionen",editSaveRow:"Zeile speichern",editSaving:"Wird gespeichert\u2026",editEditingRow:"Zeile {row} wird bearbeitet",editSaveCount:"{n} Zeile(n) speichern",editCannotSave:"Speichern nicht m\xF6glich",editSaveFailed:"Die \xC4nderungen konnten nicht gespeichert werden.",rowStatusNew:"Neue Zeile, nicht gespeichert",rowStatusChanged:"Ungespeicherte \xC4nderungen",rowStatusRemoved:"Zum L\xF6schen markiert",rowStatusSaving:"Wird gespeichert\u2026",rowStatusSaved:"Gespeichert",rowStatusError:"Speichern fehlgeschlagen",rowStatusRetry:"Erneut versuchen",rowStatusDelete:"Zeile l\xF6schen",editDeleteConfirm:"Diese Zeile l\xF6schen?",editAddRowUndo:"Zeile hinzuf\xFCgen",editDeleteRowUndo:"Zeile l\xF6schen",editCellUndo:"{column} bearbeiten",editFillUndo:"{count} Zellen f\xFCllen",editPasteUndo:"{count} Zellen einf\xFCgen",editCutUndo:"{count} Zellen ausschneiden",editGroupTotal:"Gruppensumme",editGroupTotalUndo:"Summe von {column} \xE4ndern ({count} Zeilen)",editNoMatch:"Keine \xDCbereinstimmung",formEditTitle:"Zeile bearbeiten",formAddTitle:"Neue Zeile",formShortcut:"{key}+Enter zum Speichern \xB7 Esc zum Abbrechen",validationRequired:"Dieses Feld ist erforderlich",validationNumber:"Muss eine Zahl sein",validationNumberLocale:"Keine g\xFCltige Zahl. Schreiben Sie z. B. {example}",validationMin:"Muss mindestens {min} sein",validationMax:"Darf h\xF6chstens {max} sein",validationFormat:"Ung\xFCltiges Format",validationEmail:"Ung\xFCltige E-Mail-Adresse",validationInvalid:"Ung\xFCltiger Wert",dateCalendar:"Kalender",dateOpenCalendar:"Kalender \xF6ffnen",datePreviousMonth:"Vorheriger Monat",dateNextMonth:"N\xE4chster Monat",monthJanuary:"Januar",monthFebruary:"Februar",monthMarch:"M\xE4rz",monthApril:"April",monthMay:"Mai",monthJune:"Juni",monthJuly:"Juli",monthAugust:"August",monthSeptember:"September",monthOctober:"Oktober",monthNovember:"November",monthDecember:"Dezember",weekStartsOn:"1",weekdaySu:"So",weekdayMo:"Mo",weekdayTu:"Di",weekdayWe:"Mi",weekdayTh:"Do",weekdayFr:"Fr",weekdaySa:"Sa",importTitle:"Daten importieren",importStepSource:"1. Quelle",importStepMap:"2. Spalten zuordnen",importFile:"CSV-Datei",importPaste:"\u2026oder Zeilen einf\xFCgen",importSeparator:"Trennzeichen",importSeparatorAuto:"Automatisch erkennen",importSeparatorComma:"Komma ,",importSeparatorSemicolon:"Semikolon ;",importSeparatorTab:"Tabulator",importSeparatorPipe:"Pipe |",importFileColumn:"Dateispalte",importDetected:"Erkannt",importGridColumn:"Tabellenspalte",importSample:"Beispiel",importSkip:"\u2014 \xFCberspringen \u2014",importPreview:"Vorschau",importNoSource:"W\xE4hlen Sie zuerst eine Datei oder f\xFCgen Sie Zeilen ein.",importNoRows:"Es wurden keine Datenzeilen gefunden.",importAction:"Importieren",exportAborted:"Export abgebrochen",exportSheetName:"Daten",chart:"Diagramm",chartCategory:"Kategorie",chartSeries:"Reihe",chartAddSeries:"Reihe hinzuf\xFCgen",chartRemoveSeries:"Entfernen",chartSource:"Daten",chartSourceView:"Gefilterte Zeilen",chartSourceSelection:"Ausgew\xE4hlte Zeilen",chartSourceAll:"Alle Zeilen",chartSourceRange:"Ausgew\xE4hlter Bereich (Zeilen {from}\u2013{to})",chartClose:"Diagramm schlie\xDFen",chartFullscreen:"Vollbild",chartExitFullscreen:"Vollbild beenden",chartFloat:"Abdocken",chartDock:"Andocken",chartNewWindow:"Neues Fenster",chartMoveWindow:"Diagrammfenster verschieben",chartResizeWindow:"Gr\xF6\xDFe des Diagrammfensters \xE4ndern",chartResizeDock:"Ziehen, um die Diagrammh\xF6he zu \xE4ndern",chartSwitch:"Kategorie und Reihen tauschen",chartUnlink:"Entkoppeln",chartLink:"Verkn\xFCpfen",chartUnlinked:"Entkoppelt: Das Diagramm beh\xE4lt seine Daten und folgt dem Raster nicht mehr.",chartExportPng:"PNG",chartExportSvg:"SVG",chartExportFailed:"Das Diagramm konnte nicht exportiert werden.",chartCrossFiltered:"Die Tabelle ist auf {value} gefiltert.",chartBlankCategory:"(leer)",chartTruncated:"Es werden die obersten {n} Kategorien angezeigt; die \xFCbrigen sind als \u201ESonstige\u201C zusammengefasst.",chartOther:"Sonstige",chartEmpty:"Noch nichts darzustellen.",chartNoVisibleSeries:"Keine sichtbaren Reihen.",chartNeedsMoreSeries:"Dieser Diagrammtyp braucht mindestens zwei Wertspalten (zum Beispiel Tief und Hoch) \u2014 f\xFCgen Sie eine zweite Reihe hinzu.",chartLoading:"Wird geladen\u2026",chartNeedsRecharts:"Diagramme ben\xF6tigen das optionale Paket `recharts`. Installieren Sie es, um sie zu zeichnen.",chartOnlyOneSeries:"Dieser Diagrammtyp zeigt eine Reihe.",chartByColumn:"Diagramm nach dieser Spalte",chartGroupBy:"Nach",chartGroupNone:"Jeder Wert",chartGroupAuto:"Automatisch",chartGroupDay:"Tag",chartGroupWeek:"Woche",chartGroupMonth:"Monat",chartGroupQuarter:"Quartal",chartGroupYear:"Jahr",chartGroupBins:"{n} Klassen",chartBucketAdjusted:"Zu viele Intervalle f\xFCr eine Achse \u2014 gr\xF6ber gruppiert.",chartWindowed:"{shown} von {total} werden angezeigt.",chartShowAll:"Alle anzeigen",chartCanvasHint:"Diagramm. Scrollen zum Zoomen, Ziehen zum Verschieben, Pfeiltasten zum Bewegen, 0 f\xFCr alle.",chartCanvasHintPick:"Diagramm. Pfeiltasten w\xE4hlen eine Kategorie, Enter oder Leertaste filtert das Raster danach (Strg f\xFCgt hinzu), + und \u2212 zoomen, 0 zeigt alles.",chartCategoryFocus:"{category}: {values} \u2014 {position} von {count}",chartCategoryFiltered:"filtert das Raster",chartAggSum:"Summe",chartAggAvg:"Durchschnitt",chartAggMin:"Min",chartAggMax:"Max",chartAggCount:"Anzahl",chartAggDistinct:"Eindeutig",chartAggFirst:"Erster",chartAggLast:"Letzter",chartTypeColumn:"S\xE4ule",chartTypeBar:"Balken",chartTypeLine:"Linie",chartTypeArea:"Fl\xE4che",chartTypePie:"Kreis",chartTypeDonut:"Ring",chartStacking:"Reihenanordnung",chartStackGrouped:"Gruppiert",chartStackStacked:"Gestapelt",chartStackNormalized:"Gestapelt 100 %",chartFormat:"Format",chartFormatTitle:"Titel",chartFormatCategoryAxis:"Titel der Kategorieachse",chartFormatValueAxis:"Titel der Werteachse",chartFormatLegend:"Legende",chartLegendTop:"Oben",chartLegendBottom:"Unten",chartLegendLeft:"Links",chartLegendRight:"Rechts",chartLegendNone:"Ausgeblendet",chartFormatDataLabels:"Datenbeschriftungen",chartFormatScale:"Werteskala",chartScaleLinear:"Linear",chartScaleLog:"Logarithmisch",chartFormatTextSize:"Textgr\xF6\xDFe",chartFormatTextColor:"Textfarbe",chartFormatDefault:"Standard",chartFormatLabelAngle:"Kategoriebeschriftungen",chartAngleAuto:"Automatisch",chartAngleFlat:"Waagerecht",chartFormatGridLines:"Gitternetzlinien",chartGridValue:"Werteachse",chartGridBoth:"Beide Achsen",chartGridNone:"Keine",chartFormatGridDashed:"Gestricheltes Gitter",chartFormatLineWidth:"Linienst\xE4rke",chartFormatLineDashed:"Gestrichelte Linien",chartFormatFillOpacity:"Deckkraft der F\xFCllung",chartFormatDateFormat:"Datumsformat",chartFormatPalette:"Farben",chartPaletteTheme:"Design",chartPaletteClassic:"Klassisch",chartPaletteColorblind:"Farbenblind-sicher",chartPaletteVivid:"Kr\xE4ftig",chartPaletteMonochrome:"Eine Farbe",sparklineSummary:"{count} Werte von {min} bis {max}, zuletzt {last}",chartTypeWaterfall:"Wasserfall",chartTypeFunnel:"Trichter",chartTypeTreemap:"Treemap",chartTypeHeatmap:"Heatmap",chartTypeBox:"Boxplot",chartTypeRadar:"Netz",chartTypeRangeBar:"Spanne",chartBoxQ1:"Q1",chartBoxMedian:"Median",chartBoxQ3:"Q3",chartBoxOutlier:"Ausrei\xDFer",chartTotal:"Gesamt",chartTypeScatter:"Punkt (XY)",chartTypeBubble:"Blase",chartXAxis:"X-Achse",chartBubbleSize:"Gr\xF6\xDFe",chartXYSampled:"{shown} von {total} Punkten, gleichm\xE4\xDFig ausgew\xE4hlt",licenseMissing:"Nicht lizenziert",licenseExpired:"Lizenz abgelaufen",licenseReleaseNotCovered:"Diese Version ist nicht durch die Lizenz abgedeckt",licenseDomainMismatch:"Lizenz gilt nicht f\xFCr diese Domain",licenseRevoked:"Lizenz widerrufen",licenseInvalidFormat:"Lizenzschl\xFCssel fehlerhaft",licenseInvalidSignature:"Ung\xFCltige Lizenzsignatur",licenseEngineUnavailable:"Browser kann die Lizenz nicht pr\xFCfen (HTTPS erforderlich)",calcAdd:"Berechnete Spalte hinzuf\xFCgen\u2026",calcEdit:"Berechnete Spalte bearbeiten\u2026",calcRemove:"Berechnete Spalte entfernen",calcTitleAdd:"Berechnete Spalte hinzuf\xFCgen",calcTitleEdit:"Berechnete Spalte bearbeiten",calcName:"Name",calcFormula:"Formel",calcFormulaHint:"Spalten als [Name] schreiben. Beispiel: [Preis] * [Menge]",calcColumns:"Spalten",calcFunctions:"Funktionen",calcPreview:"Vorschau",calcPreviewEmpty:"Keine Zeilen f\xFCr die Vorschau",calcErrorAt:"{message} (Zeichen {position})",calcAddButton:"Hinzuf\xFCgen",calcArgsAtLeast:"{min} oder mehr",formulaError_empty:"Formel eingeben",formulaError_unclosedText:'Text nicht geschlossen: ein " fehlt',formulaError_unclosedColumn:"Spaltenname nicht geschlossen: ein ] fehlt",formulaError_emptyColumn:"Leerer Spaltenname []",formulaError_unexpectedChar:"Unerwartetes Zeichen {text}",formulaError_expected:"{text} fehlt",formulaError_cellAfterColon:'Nach ":" fehlt eine Zelle',formulaError_unknownName:"Unbekannter Name {name} \u2014 Spalten als [{name}] schreiben",formulaError_unexpected:"Unerwartetes {text}",formulaError_endsEarly:"Die Formel endet zu fr\xFCh",formulaError_trailing:"Unerwarteter Text am Ende",formulaError_unknownColumn:"Es gibt keine Spalte [{name}]",formulaError_unknownFunction:"Unbekannte Funktion {name}",formulaError_argCount:"{name} erwartet {range} Argument(e)",formulaError_cellsNotAllowed:"Zellbez\xFCge wie A1 gibt es hier nicht \u2014 Spalten als [Name] schreiben"},sm={ok:"OK",cancel:"Annuler",apply:"Appliquer",close:"Fermer",clear:"Effacer",save:"Enregistrer",search:"Rechercher...",selectAll:"Tout s\xE9lectionner",showAll:"Tout afficher",remove:"Supprimer",none:"Aucun",toolbarSearch:"Rechercher...",exportMenu:"Exporter",exportCsv:"Exporter en CSV",exportExcel:"Exporter toutes les donn\xE9es vers Excel",exportExcelSelected:"Exporter les lignes s\xE9lectionn\xE9es vers Excel",exportPdf:"Exporter en PDF",exporting:"Exportation\u2026",columns:"Colonnes",hiddenColumns:"Colonnes masqu\xE9es",noHiddenColumns:"Aucune colonne masqu\xE9e.",sortAsc:"Trier de A \xE0 Z",sortDesc:"Trier de Z \xE0 A",clearSort:"Effacer le tri",cardSortBy:"Trier par",groupByColumn:"Grouper par cette colonne",ungroupColumn:"Retirer du groupement",showGroupPanel:"Afficher le panneau de groupement",hideGroupPanel:"Masquer le panneau de groupement",showFooter:"Afficher le pied de tableau",hideFooter:"Masquer le pied de tableau",showGroupFooters:"Afficher les pieds de groupe",hideGroupFooters:"Masquer les pieds de groupe",hideColumn:"Masquer cette colonne",fieldChooser:"S\xE9lecteur de champs\u2026",bestFit:"Ajuster la largeur",bestFitAll:"Ajuster la largeur (toutes les colonnes)",pinRowTop:"\xC9pingler la ligne en haut",pinRowBottom:"\xC9pingler la ligne en bas",unpinRow:"D\xE9s\xE9pingler la ligne",findLabel:"Rechercher dans la grille",findPrevious:"R\xE9sultat pr\xE9c\xE9dent",findNext:"R\xE9sultat suivant",findClose:"Fermer la recherche",findCount:"{n} sur {count}",findNone:"Aucun r\xE9sultat",renameColumn:"Renommer la colonne",fixedPosition:"D\xE9finir une position fixe",pinLeft:"Gauche",pinRight:"Droite",pinSticky:"Fixe",unpin:"Lib\xE9rer",moveLeft:"D\xE9placer vers la gauche",moveRight:"D\xE9placer vers la droite",filterPlaceholder:"Filtrer\u2026",filterColumnAria:"Filtrer {column}",filterOperatorDefault:"Par d\xE9faut",filterOperatorAria:"Op\xE9rateur de filtre pour {column}",filterSelectAll:"Tout s\xE9lectionner",filterBlank:"(Vides)",filterNonBlank:"(Non vides)",filterEmptyText:"(texte vide)",filterSpace:"(1 espace)",filterSpaces:"({n} espaces)",filterNoMatch:"Aucune valeur correspondante",filterLoading:"Chargement des valeurs\u2026",filterTruncated:"Seules les premi\xE8res valeurs sont affich\xE9es \u2014 recherchez pour trouver les autres.",filterRemove:"Supprimer le filtre",filterToggle:"Appliquer le filtre",filterEditBuilder:"Modifier le filtre",filterNone:"Aucun filtre",filterActive:"Filtre actif",opEquals:"est",opNotEquals:"n'est pas",opGreater:">",opGreaterOrEqual:"\u2265",opLess:"<",opLessOrEqual:"\u2264",opContains:"contient",opNotContains:"ne contient pas",opStartsWith:"commence par",opEndsWith:"se termine par",opIsBlank:"est vide",opIsNotBlank:"n'est pas vide",opIsOneOf:"fait partie de",opIsBetween:"est entre",opValuesCount:"{n} valeurs",opInPeriod:"est dans",periodToday:"aujourd'hui",periodYesterday:"hier",periodTomorrow:"demain",periodThisWeek:"cette semaine",periodLastWeek:"la semaine derni\xE8re",periodNextWeek:"la semaine prochaine",periodThisMonth:"ce mois-ci",periodLastMonth:"le mois dernier",periodNextMonth:"le mois prochain",periodThisQuarter:"ce trimestre",periodLastQuarter:"le trimestre dernier",periodNextQuarter:"le trimestre prochain",periodThisYear:"cette ann\xE9e",periodLastYear:"l'ann\xE9e derni\xE8re",periodNextYear:"l'ann\xE9e prochaine",periodYearToDate:"depuis le d\xE9but de l'ann\xE9e",periodLastDays:"les {n} derniers jours",periodNextDays:"les {n} prochains jours",filterAnd:"ET",filterOr:"OU",builderTitle:"G\xE9n\xE9rateur de filtre",builderCombine:"Combiner les conditions avec",builderAddCondition:"Ajouter une condition",builderAddGroup:"Ajouter un groupe",builderRemoveGroup:"Supprimer le groupe",builderRemoveCondition:"Supprimer la condition",builderEmpty:"Aucune condition pour le moment.",builderColumn:"Colonne",builderOperator:"Op\xE9rateur",builderValue:"Valeur",builderValueFrom:"De",builderValueTo:"\xC0",builderValuePlaceholder:"Saisissez une valeur",builderOpen:"G\xE9n\xE9rateur de filtre\u2026",builderClearAll:"Tout effacer",builderConditionButton:"+ Condition",builderGroupButton:"+ Groupe",builderTrue:"vrai",builderFalse:"faux",builderPeriod:"P\xE9riode",builderDays:"Jours",filterCustom:"(Personnalis\xE9\u2026)",filterPopupAria:"Filtre {column}",importOpen:"Importer\u2026",groupPanelHint:"Faites glisser une colonne ici pour grouper",groupAddLevel:"Ajouter un niveau de groupement",groupAddLevelButton:"+ Ajouter un niveau\u2026",groupNoGrouping:"(aucun groupement)",groupLevelAria:"Niveau de groupement {n}",groupRemoveAria:"Supprimer {column}",groupExpandAll:"D\xE9velopper tout",groupCollapseAll:"R\xE9duire tout",pagerFirst:"Premi\xE8re page",pagerPrevious:"Page pr\xE9c\xE9dente",pagerNext:"Page suivante",pagerLast:"Derni\xE8re page",pagerPage:"Page",pagerOf:"sur",pagerRowsPerPage:"Lignes par page",pagerAria:"Pagination",pagerPageButton:"Page {n}",selectAllRows:"S\xE9lectionner toutes les lignes",selectRowAria:"S\xE9lectionner la ligne {row}",selectGroupAria:"S\xE9lectionner les {count} lignes de {group}",summaryAria:"Synth\xE8se",columnTotalsAria:"Totaux des colonnes",rowActions:"Actions de ligne",detailsAria:"D\xE9tails",rowNumberAria:"Num\xE9ro de ligne",noteEditorAria:"Note de cellule",notePlaceholder:"\xC9crivez une note sur cette cellule\u2026",addNote:"Ajouter une note\u2026",editNote:"Modifier la note\u2026",deleteNote:"Supprimer la note",expandDetails:"D\xE9velopper les d\xE9tails",collapseDetails:"R\xE9duire les d\xE9tails",expandTreeRow:"D\xE9velopper la ligne",collapseTreeRow:"R\xE9duire la ligne",expandColumnGroup:"D\xE9velopper le groupe de colonnes",collapseColumnGroup:"R\xE9duire le groupe de colonnes",dragToReorder:"Faire glisser pour r\xE9ordonner",menuCopy:"Copier",menuCopyWithHeaders:"Copier avec les en-t\xEAtes",menuCopyWithGroupHeaders:"Copier avec les en-t\xEAtes de groupe",menuCut:"Couper",menuPaste:"Coller",menuExport:"Exporter",menuChartRange:"Graphique des cellules s\xE9lectionn\xE9es",statsSum:"Somme",statsCount:"Nombre",statsAvg:"Moyenne",statsMin:"Min",statsMax:"Max",statsCells:"Cellules",statsTooLarge:"S\xE9lection trop grande pour \xEAtre totalis\xE9e",statusRows:"Lignes",statusFiltered:"Filtr\xE9es",statusSelected:"S\xE9lectionn\xE9es",summaryRows:"lignes",announceRows:"{n} lignes",announceSortedBy:"tri\xE9 par {columns}",announceSelected:"{n} s\xE9lectionn\xE9es",announceAscending:"croissant",announceDescending:"d\xE9croissant",sideFilters:"Filtres",sideBarAria:"Panneaux d'outils",sideClearFilters:"Effacer tous les filtres",summarySum:"Somme",summaryAvg:"Moyenne",summaryMin:"Min",summaryMax:"Max",summaryCount:"Nombre",summaryDistinct:"Distinct",summaryCustom:"Personnalis\xE9",noTotal:"Aucun total",busy:"En cours\u2026",busyLoading:"Chargement des lignes\u2026",rowsLoadFailed:"Impossible de charger ces lignes.",retryLoad:"R\xE9essayer",busyEncoding:"Pr\xE9paration des donn\xE9es\u2026",busyFiltering:"Filtrage des lignes\u2026",busySorting:"Tri des lignes\u2026",busyComputing:"Filtrage et tri\u2026",busyGrouping:"Construction des groupes\u2026",busyAggregating:"Calcul des totaux\u2026",busyProjecting:"Mise \xE0 jour de la vue\u2026",busyExporting:"Cr\xE9ation du fichier\u2026",noData:"Aucune donn\xE9e trouv\xE9e",editNewRow:"Nouvelle ligne",editSaveChanges:"Enregistrer les modifications",editDiscardChanges:"Annuler les modifications",editRow:"Modifier la ligne",editRowMenu:"Modifier la ligne\u2026",editDeleteRow:"Supprimer la ligne",editUndoDelete:"Annuler la suppression",editActions:"Actions",editSaveRow:"Enregistrer la ligne",editSaving:"Enregistrement\u2026",editEditingRow:"Modification de la ligne {row}",editSaveCount:"Enregistrer {n} ligne(s)",editCannotSave:"Enregistrement impossible",editSaveFailed:"Les modifications n'ont pas pu \xEAtre enregistr\xE9es.",rowStatusNew:"Nouvelle ligne non enregistr\xE9e",rowStatusChanged:"Modifications non enregistr\xE9es",rowStatusRemoved:"Marqu\xE9e pour suppression",rowStatusSaving:"Enregistrement\u2026",rowStatusSaved:"Enregistr\xE9",rowStatusError:"\xC9chec de l'enregistrement",rowStatusRetry:"R\xE9essayer",rowStatusDelete:"Supprimer la ligne",editDeleteConfirm:"Supprimer cette ligne ?",editAddRowUndo:"Ajouter une ligne",editDeleteRowUndo:"Supprimer la ligne",editCellUndo:"Modifier {column}",editFillUndo:"Remplir {count} cellules",editPasteUndo:"Coller {count} cellules",editCutUndo:"Couper {count} cellules",editGroupTotal:"Total du groupe",editGroupTotalUndo:"Modifier le total de {column} ({count} lignes)",editNoMatch:"Aucune correspondance",formEditTitle:"Modifier la ligne",formAddTitle:"Nouvelle ligne",formShortcut:"{key}+Entr\xE9e pour enregistrer \xB7 \xC9chap pour annuler",validationRequired:"Ce champ est obligatoire",validationNumber:"Doit \xEAtre un nombre",validationNumberLocale:"Nombre non valide. \xC9crivez par exemple {example}",validationMin:"Doit \xEAtre au moins {min}",validationMax:"Doit \xEAtre au plus {max}",validationFormat:"Format invalide",validationEmail:"Adresse e-mail invalide",validationInvalid:"Valeur invalide",dateCalendar:"Calendrier",dateOpenCalendar:"Ouvrir le calendrier",datePreviousMonth:"Mois pr\xE9c\xE9dent",dateNextMonth:"Mois suivant",monthJanuary:"Janvier",monthFebruary:"F\xE9vrier",monthMarch:"Mars",monthApril:"Avril",monthMay:"Mai",monthJune:"Juin",monthJuly:"Juillet",monthAugust:"Ao\xFBt",monthSeptember:"Septembre",monthOctober:"Octobre",monthNovember:"Novembre",monthDecember:"D\xE9cembre",weekStartsOn:"1",weekdaySu:"Di",weekdayMo:"Lu",weekdayTu:"Ma",weekdayWe:"Me",weekdayTh:"Je",weekdayFr:"Ve",weekdaySa:"Sa",importTitle:"Importer des donn\xE9es",importStepSource:"1. Source",importStepMap:"2. Associer les colonnes",importFile:"Fichier CSV",importPaste:"\u2026ou collez des lignes",importSeparator:"S\xE9parateur",importSeparatorAuto:"D\xE9tecter automatiquement",importSeparatorComma:"Virgule ,",importSeparatorSemicolon:"Point-virgule ;",importSeparatorTab:"Tabulation",importSeparatorPipe:"Barre verticale |",importFileColumn:"Colonne du fichier",importDetected:"D\xE9tect\xE9",importGridColumn:"Colonne du tableau",importSample:"Exemple",importSkip:"\u2014 ignorer \u2014",importPreview:"Aper\xE7u",importNoSource:"Choisissez d'abord un fichier ou collez des lignes.",importNoRows:"Aucune ligne de donn\xE9es trouv\xE9e.",importAction:"Importer",exportAborted:"Exportation interrompue",exportSheetName:"Donn\xE9es",chart:"Graphique",chartCategory:"Cat\xE9gorie",chartSeries:"S\xE9rie",chartAddSeries:"Ajouter une s\xE9rie",chartRemoveSeries:"Supprimer",chartSource:"Donn\xE9es",chartSourceView:"Lignes filtr\xE9es",chartSourceSelection:"Lignes s\xE9lectionn\xE9es",chartSourceAll:"Toutes les lignes",chartSourceRange:"Plage s\xE9lectionn\xE9e (lignes {from}\u2013{to})",chartClose:"Fermer le graphique",chartFullscreen:"Plein \xE9cran",chartExitFullscreen:"Quitter le plein \xE9cran",chartFloat:"D\xE9tacher",chartDock:"Ancrer",chartNewWindow:"Nouvelle fen\xEAtre",chartMoveWindow:"D\xE9placer la fen\xEAtre du graphique",chartResizeWindow:"Redimensionner la fen\xEAtre du graphique",chartResizeDock:"Faites glisser pour changer la hauteur du graphique",chartSwitch:"Permuter cat\xE9gories et s\xE9ries",chartUnlink:"Dissocier",chartLink:"Lier",chartUnlinked:"Dissoci\xE9 : le graphique garde ses donn\xE9es et ne suit plus la grille.",chartExportPng:"PNG",chartExportSvg:"SVG",chartExportFailed:"Le graphique n'a pas pu \xEAtre export\xE9.",chartCrossFiltered:"Le tableau est filtr\xE9 sur {value}.",chartBlankCategory:"(vide)",chartTruncated:"Affichage des {n} premi\xE8res cat\xE9gories ; les autres sont regroup\xE9es sous \xAB Autres \xBB.",chartOther:"Autres",chartEmpty:"Rien \xE0 repr\xE9senter pour le moment.",chartNoVisibleSeries:"Aucune s\xE9rie visible.",chartNeedsMoreSeries:"Ce type de graphique demande au moins deux colonnes de valeurs (par exemple un minimum et un maximum) \u2014 ajoutez une deuxi\xE8me s\xE9rie.",chartLoading:"Chargement\u2026",chartNeedsRecharts:"Les graphiques n\xE9cessitent le paquet optionnel `recharts`. Installez-le pour les dessiner.",chartOnlyOneSeries:"Ce type de graphique affiche une seule s\xE9rie.",chartByColumn:"Graphique par cette colonne",chartGroupBy:"Par",chartGroupNone:"Chaque valeur",chartGroupAuto:"Automatique",chartGroupDay:"Jour",chartGroupWeek:"Semaine",chartGroupMonth:"Mois",chartGroupQuarter:"Trimestre",chartGroupYear:"Ann\xE9e",chartGroupBins:"{n} classes",chartBucketAdjusted:"Trop d\u2019intervalles pour un axe \u2014 regroupement plus large.",chartWindowed:"Affichage de {shown} sur {total}.",chartShowAll:"Tout afficher",chartCanvasHint:"Graphique. Faites d\xE9filer pour zoomer, glissez pour d\xE9placer, fl\xE8ches pour parcourir, 0 pour tout afficher.",chartCanvasHintPick:"Graphique. Les fl\xE8ches choisissent une cat\xE9gorie, Entr\xE9e ou Espace filtre la grille sur elle (Ctrl en ajoute une), + et \u2212 zooment, 0 affiche tout.",chartCategoryFocus:"{category} : {values} \u2014 {position} sur {count}",chartCategoryFiltered:"filtre la grille",chartAggSum:"Somme",chartAggAvg:"Moyenne",chartAggMin:"Min",chartAggMax:"Max",chartAggCount:"Nombre",chartAggDistinct:"Distinct",chartAggFirst:"Premier",chartAggLast:"Dernier",chartTypeColumn:"Colonnes",chartTypeBar:"Barres",chartTypeLine:"Courbe",chartTypeArea:"Aires",chartTypePie:"Secteurs",chartTypeDonut:"Anneau",chartStacking:"Disposition des s\xE9ries",chartStackGrouped:"Group\xE9",chartStackStacked:"Empil\xE9",chartStackNormalized:"Empil\xE9 100 %",chartFormat:"Format",chartFormatTitle:"Titre",chartFormatCategoryAxis:"Titre de l\u2019axe des cat\xE9gories",chartFormatValueAxis:"Titre de l\u2019axe des valeurs",chartFormatLegend:"L\xE9gende",chartLegendTop:"En haut",chartLegendBottom:"En bas",chartLegendLeft:"\xC0 gauche",chartLegendRight:"\xC0 droite",chartLegendNone:"Masqu\xE9e",chartFormatDataLabels:"\xC9tiquettes de donn\xE9es",chartFormatScale:"\xC9chelle des valeurs",chartScaleLinear:"Lin\xE9aire",chartScaleLog:"Logarithmique",chartFormatTextSize:"Taille du texte",chartFormatTextColor:"Couleur du texte",chartFormatDefault:"Par d\xE9faut",chartFormatLabelAngle:"\xC9tiquettes de cat\xE9gorie",chartAngleAuto:"Automatique",chartAngleFlat:"Horizontales",chartFormatGridLines:"Quadrillage",chartGridValue:"Axe des valeurs",chartGridBoth:"Les deux axes",chartGridNone:"Aucun",chartFormatGridDashed:"Quadrillage en pointill\xE9s",chartFormatLineWidth:"\xC9paisseur du trait",chartFormatLineDashed:"Traits en pointill\xE9s",chartFormatFillOpacity:"Opacit\xE9 du remplissage",chartFormatDateFormat:"Format de date",chartFormatPalette:"Couleurs",chartPaletteTheme:"Th\xE8me",chartPaletteClassic:"Classique",chartPaletteColorblind:"Adapt\xE9e au daltonisme",chartPaletteVivid:"Vives",chartPaletteMonochrome:"Une couleur",sparklineSummary:"{count} valeurs de {min} \xE0 {max}, derni\xE8re {last}",chartTypeWaterfall:"Cascade",chartTypeFunnel:"Entonnoir",chartTypeTreemap:"Compartimentage",chartTypeHeatmap:"Carte thermique",chartTypeBox:"Bo\xEEte \xE0 moustaches",chartTypeRadar:"Radar",chartTypeRangeBar:"Plage",chartBoxQ1:"Q1",chartBoxMedian:"M\xE9diane",chartBoxQ3:"Q3",chartBoxOutlier:"Valeur aberrante",chartTotal:"Total",chartTypeScatter:"Nuage de points",chartTypeBubble:"Bulles",chartXAxis:"Axe X",chartBubbleSize:"Taille",chartXYSampled:"{shown} points sur {total}, \xE9chantillonn\xE9s r\xE9guli\xE8rement",licenseMissing:"Sans licence",licenseExpired:"Licence expir\xE9e",licenseReleaseNotCovered:"Cette version n\u2019est pas couverte par la licence",licenseDomainMismatch:"Licence non valide pour ce domaine",licenseRevoked:"Licence r\xE9voqu\xE9e",licenseInvalidFormat:"Cl\xE9 de licence mal form\xE9e",licenseInvalidSignature:"Signature de licence invalide",licenseEngineUnavailable:"Le navigateur ne peut pas v\xE9rifier la licence (HTTPS requis)",calcAdd:"Ajouter une colonne calcul\xE9e\u2026",calcEdit:"Modifier la colonne calcul\xE9e\u2026",calcRemove:"Supprimer la colonne calcul\xE9e",calcTitleAdd:"Ajouter une colonne calcul\xE9e",calcTitleEdit:"Modifier la colonne calcul\xE9e",calcName:"Nom",calcFormula:"Formule",calcFormulaHint:"\xC9crivez une colonne [Nom]. Exemple : [Prix] * [Qt\xE9]",calcColumns:"Colonnes",calcFunctions:"Fonctions",calcPreview:"Aper\xE7u",calcPreviewEmpty:"Aucune ligne \xE0 pr\xE9visualiser",calcErrorAt:"{message} (caract\xE8re {position})",calcAddButton:"Ajouter",calcArgsAtLeast:"{min} ou plus",formulaError_empty:"Saisissez une formule",formulaError_unclosedText:'Texte non ferm\xE9 : il manque un "',formulaError_unclosedColumn:"Nom de colonne non ferm\xE9 : il manque un ]",formulaError_emptyColumn:"Nom de colonne vide []",formulaError_unexpectedChar:"Caract\xE8re inattendu {text}",formulaError_expected:"{text} manquant",formulaError_cellAfterColon:"Une cellule manque apr\xE8s \xAB : \xBB",formulaError_unknownName:"Nom inconnu {name} \u2014 \xE9crivez la colonne [{name}]",formulaError_unexpected:"{text} inattendu",formulaError_endsEarly:"La formule se termine trop t\xF4t",formulaError_trailing:"Texte inattendu \xE0 la fin",formulaError_unknownColumn:"Il n'y a pas de colonne [{name}]",formulaError_unknownFunction:"Fonction inconnue {name}",formulaError_argCount:"{name} attend {range} argument(s)",formulaError_cellsNotAllowed:"Les r\xE9f\xE9rences de cellule comme A1 ne servent pas ici \u2014 \xE9crivez une colonne [Nom]"},dm={ok:"Aceptar",cancel:"Cancelar",apply:"Aplicar",close:"Cerrar",clear:"Borrar",save:"Guardar",search:"Buscar...",selectAll:"Seleccionar todo",showAll:"Mostrar todo",remove:"Quitar",none:"Ninguno",toolbarSearch:"Buscar...",exportMenu:"Exportar",exportCsv:"Exportar a CSV",exportExcel:"Exportar todos los datos a Excel",exportExcelSelected:"Exportar las filas seleccionadas a Excel",exportPdf:"Exportar a PDF",exporting:"Exportando\u2026",columns:"Columnas",hiddenColumns:"Columnas ocultas",noHiddenColumns:"No hay columnas ocultas.",sortAsc:"Ordenar de la A a la Z",sortDesc:"Ordenar de la Z a la A",clearSort:"Borrar ordenaci\xF3n",cardSortBy:"Ordenar por",groupByColumn:"Agrupar por esta columna",ungroupColumn:"Quitar de la agrupaci\xF3n",showGroupPanel:"Mostrar panel de agrupaci\xF3n",hideGroupPanel:"Ocultar panel de agrupaci\xF3n",showFooter:"Mostrar pie de tabla",hideFooter:"Ocultar pie de tabla",showGroupFooters:"Mostrar pies de grupo",hideGroupFooters:"Ocultar pies de grupo",hideColumn:"Ocultar esta columna",fieldChooser:"Selector de campos\u2026",bestFit:"Ajustar ancho",bestFitAll:"Ajustar ancho (todas las columnas)",pinRowTop:"Fijar fila arriba",pinRowBottom:"Fijar fila abajo",unpinRow:"Desfijar fila",findLabel:"Buscar en la tabla",findPrevious:"Coincidencia anterior",findNext:"Coincidencia siguiente",findClose:"Cerrar b\xFAsqueda",findCount:"{n} de {count}",findNone:"Sin coincidencias",renameColumn:"Cambiar nombre de columna",fixedPosition:"Establecer posici\xF3n fija",pinLeft:"Izquierda",pinRight:"Derecha",pinSticky:"Fija",unpin:"Liberar",moveLeft:"Mover a la izquierda",moveRight:"Mover a la derecha",filterPlaceholder:"Filtrar\u2026",filterColumnAria:"Filtrar {column}",filterOperatorDefault:"Predeterminado",filterOperatorAria:"Operador de filtro para {column}",filterSelectAll:"Seleccionar todo",filterBlank:"(En blanco)",filterNonBlank:"(No en blanco)",filterEmptyText:"(texto vac\xEDo)",filterSpace:"(1 espacio)",filterSpaces:"({n} espacios)",filterNoMatch:"No hay valores coincidentes",filterLoading:"Cargando valores\u2026",filterTruncated:"Solo se muestran los primeros valores \u2014 busque para encontrar el resto.",filterRemove:"Quitar el filtro",filterToggle:"Aplicar el filtro",filterEditBuilder:"Editar el filtro",filterNone:"Sin filtro",filterActive:"Filtro activo",opEquals:"es",opNotEquals:"no es",opGreater:">",opGreaterOrEqual:"\u2265",opLess:"<",opLessOrEqual:"\u2264",opContains:"contiene",opNotContains:"no contiene",opStartsWith:"empieza por",opEndsWith:"termina en",opIsBlank:"est\xE1 en blanco",opIsNotBlank:"no est\xE1 en blanco",opIsOneOf:"es uno de",opIsBetween:"est\xE1 entre",opValuesCount:"{n} valores",opInPeriod:"est\xE1 en",periodToday:"hoy",periodYesterday:"ayer",periodTomorrow:"ma\xF1ana",periodThisWeek:"esta semana",periodLastWeek:"la semana pasada",periodNextWeek:"la pr\xF3xima semana",periodThisMonth:"este mes",periodLastMonth:"el mes pasado",periodNextMonth:"el pr\xF3ximo mes",periodThisQuarter:"este trimestre",periodLastQuarter:"el trimestre pasado",periodNextQuarter:"el pr\xF3ximo trimestre",periodThisYear:"este a\xF1o",periodLastYear:"el a\xF1o pasado",periodNextYear:"el pr\xF3ximo a\xF1o",periodYearToDate:"en lo que va de a\xF1o",periodLastDays:"los \xFAltimos {n} d\xEDas",periodNextDays:"los pr\xF3ximos {n} d\xEDas",filterAnd:"Y",filterOr:"O",builderTitle:"Generador de filtros",builderCombine:"Combinar condiciones con",builderAddCondition:"A\xF1adir condici\xF3n",builderAddGroup:"A\xF1adir grupo",builderRemoveGroup:"Quitar grupo",builderRemoveCondition:"Quitar condici\xF3n",builderEmpty:"Todav\xEDa no hay condiciones.",builderColumn:"Columna",builderOperator:"Operador",builderValue:"Valor",builderValueFrom:"Desde",builderValueTo:"Hasta",builderValuePlaceholder:"Introduzca un valor",builderOpen:"Generador de filtros\u2026",builderClearAll:"Borrar todo",builderConditionButton:"+ Condici\xF3n",builderGroupButton:"+ Grupo",builderTrue:"verdadero",builderFalse:"falso",builderPeriod:"Per\xEDodo",builderDays:"D\xEDas",filterCustom:"(Personalizado\u2026)",filterPopupAria:"Filtro {column}",importOpen:"Importar\u2026",groupPanelHint:"Arrastre una columna aqu\xED para agrupar por ella",groupAddLevel:"A\xF1adir nivel de agrupaci\xF3n",groupAddLevelButton:"+ A\xF1adir nivel\u2026",groupNoGrouping:"(sin agrupaci\xF3n)",groupLevelAria:"Nivel de agrupaci\xF3n {n}",groupRemoveAria:"Quitar {column}",groupExpandAll:"Expandir todo",groupCollapseAll:"Contraer todo",pagerFirst:"Primera p\xE1gina",pagerPrevious:"P\xE1gina anterior",pagerNext:"P\xE1gina siguiente",pagerLast:"\xDAltima p\xE1gina",pagerPage:"P\xE1gina",pagerOf:"de",pagerRowsPerPage:"Filas por p\xE1gina",pagerAria:"Paginaci\xF3n",pagerPageButton:"P\xE1gina {n}",selectAllRows:"Seleccionar todas las filas",selectRowAria:"Seleccionar la fila {row}",selectGroupAria:"Seleccionar las {count} filas de {group}",summaryAria:"Resumen",columnTotalsAria:"Totales de columna",rowActions:"Acciones de fila",detailsAria:"Detalles",rowNumberAria:"N\xFAmero de fila",noteEditorAria:"Nota de celda",notePlaceholder:"Escriba una nota sobre esta celda\u2026",addNote:"A\xF1adir nota\u2026",editNote:"Editar nota\u2026",deleteNote:"Eliminar nota",expandDetails:"Expandir detalles",collapseDetails:"Contraer detalles",expandTreeRow:"Expandir fila",collapseTreeRow:"Contraer fila",expandColumnGroup:"Expandir grupo de columnas",collapseColumnGroup:"Contraer grupo de columnas",dragToReorder:"Arrastre para reordenar",menuCopy:"Copiar",menuCopyWithHeaders:"Copiar con encabezados",menuCopyWithGroupHeaders:"Copiar con encabezados de grupo",menuCut:"Cortar",menuPaste:"Pegar",menuExport:"Exportar",menuChartRange:"Graficar celdas seleccionadas",statsSum:"Suma",statsCount:"Recuento",statsAvg:"Promedio",statsMin:"M\xEDnimo",statsMax:"M\xE1ximo",statsCells:"Celdas",statsTooLarge:"Selecci\xF3n demasiado grande para sumarla",statusRows:"Filas",statusFiltered:"Filtradas",statusSelected:"Seleccionadas",summaryRows:"filas",announceRows:"{n} filas",announceSortedBy:"ordenado por {columns}",announceSelected:"{n} seleccionadas",announceAscending:"ascendente",announceDescending:"descendente",sideFilters:"Filtros",sideBarAria:"Paneles de herramientas",sideClearFilters:"Borrar todos los filtros",summarySum:"Suma",summaryAvg:"Promedio",summaryMin:"M\xEDnimo",summaryMax:"M\xE1ximo",summaryCount:"Recuento",summaryDistinct:"Distintos",summaryCustom:"Personalizado",noTotal:"Sin total",busy:"Trabajando\u2026",busyLoading:"Cargando filas\u2026",rowsLoadFailed:"No se pudieron cargar estas filas.",retryLoad:"Reintentar",busyEncoding:"Preparando datos\u2026",busyFiltering:"Filtrando filas\u2026",busySorting:"Ordenando filas\u2026",busyComputing:"Filtrando y ordenando\u2026",busyGrouping:"Creando grupos\u2026",busyAggregating:"Calculando totales\u2026",busyProjecting:"Actualizando la vista\u2026",busyExporting:"Creando el archivo\u2026",noData:"No se encontraron datos",editNewRow:"Nueva fila",editSaveChanges:"Guardar cambios",editDiscardChanges:"Descartar cambios",editRow:"Editar fila",editRowMenu:"Editar fila\u2026",editDeleteRow:"Eliminar fila",editUndoDelete:"Deshacer eliminaci\xF3n",editActions:"Acciones",editSaveRow:"Guardar fila",editSaving:"Guardando\u2026",editEditingRow:"Editando la fila {row}",editSaveCount:"Guardar {n} fila(s)",editCannotSave:"No se puede guardar",editSaveFailed:"No se pudieron guardar los cambios.",rowStatusNew:"Fila nueva sin guardar",rowStatusChanged:"Cambios sin guardar",rowStatusRemoved:"Marcada para eliminar",rowStatusSaving:"Guardando\u2026",rowStatusSaved:"Guardado",rowStatusError:"Error al guardar",rowStatusRetry:"Reintentar",rowStatusDelete:"Eliminar fila",editDeleteConfirm:"\xBFEliminar esta fila?",editAddRowUndo:"A\xF1adir fila",editDeleteRowUndo:"Eliminar fila",editCellUndo:"Editar {column}",editFillUndo:"Rellenar {count} celdas",editPasteUndo:"Pegar {count} celdas",editCutUndo:"Cortar {count} celdas",editGroupTotal:"Total del grupo",editGroupTotalUndo:"Cambiar total de {column} ({count} filas)",editNoMatch:"Sin coincidencias",formEditTitle:"Editar fila",formAddTitle:"Nueva fila",formShortcut:"{key}+Intro para guardar \xB7 Esc para cancelar",validationRequired:"Este campo es obligatorio",validationNumber:"Debe ser un n\xFAmero",validationNumberLocale:"No es un n\xFAmero v\xE1lido. Escr\xEDbalo as\xED: {example}",validationMin:"Debe ser como m\xEDnimo {min}",validationMax:"Debe ser como m\xE1ximo {max}",validationFormat:"Formato no v\xE1lido",validationEmail:"Direcci\xF3n de correo no v\xE1lida",validationInvalid:"Valor no v\xE1lido",dateCalendar:"Calendario",dateOpenCalendar:"Abrir calendario",datePreviousMonth:"Mes anterior",dateNextMonth:"Mes siguiente",monthJanuary:"Enero",monthFebruary:"Febrero",monthMarch:"Marzo",monthApril:"Abril",monthMay:"Mayo",monthJune:"Junio",monthJuly:"Julio",monthAugust:"Agosto",monthSeptember:"Septiembre",monthOctober:"Octubre",monthNovember:"Noviembre",monthDecember:"Diciembre",weekStartsOn:"1",weekdaySu:"Do",weekdayMo:"Lu",weekdayTu:"Ma",weekdayWe:"Mi",weekdayTh:"Ju",weekdayFr:"Vi",weekdaySa:"S\xE1",importTitle:"Importar datos",importStepSource:"1. Origen",importStepMap:"2. Asignar columnas",importFile:"Archivo CSV",importPaste:"\u2026o pegue filas",importSeparator:"Separador",importSeparatorAuto:"Detectar autom\xE1ticamente",importSeparatorComma:"Coma ,",importSeparatorSemicolon:"Punto y coma ;",importSeparatorTab:"Tabulador",importSeparatorPipe:"Barra vertical |",importFileColumn:"Columna del archivo",importDetected:"Detectado",importGridColumn:"Columna de la tabla",importSample:"Muestra",importSkip:"\u2014 omitir \u2014",importPreview:"Vista previa",importNoSource:"Elija primero un archivo o pegue algunas filas.",importNoRows:"No se encontraron filas de datos.",importAction:"Importar",exportAborted:"Exportaci\xF3n cancelada",exportSheetName:"Datos",chart:"Gr\xE1fico",chartCategory:"Categor\xEDa",chartSeries:"Serie",chartAddSeries:"A\xF1adir serie",chartRemoveSeries:"Quitar",chartSource:"Datos",chartSourceView:"Filas filtradas",chartSourceSelection:"Filas seleccionadas",chartSourceAll:"Todas las filas",chartSourceRange:"Rango seleccionado (filas {from}\u2013{to})",chartClose:"Cerrar el gr\xE1fico",chartFullscreen:"Pantalla completa",chartExitFullscreen:"Salir de pantalla completa",chartFloat:"Desacoplar",chartDock:"Acoplar",chartNewWindow:"Nueva ventana",chartMoveWindow:"Mover la ventana del gr\xE1fico",chartResizeWindow:"Cambiar el tama\xF1o de la ventana del gr\xE1fico",chartResizeDock:"Arrastre para cambiar la altura del gr\xE1fico",chartSwitch:"Intercambiar categor\xEDas y series",chartUnlink:"Desvincular",chartLink:"Vincular",chartUnlinked:"Desvinculado: el gr\xE1fico conserva sus datos y ya no sigue a la cuadr\xEDcula.",chartExportPng:"PNG",chartExportSvg:"SVG",chartExportFailed:"No se pudo exportar el gr\xE1fico.",chartCrossFiltered:"La tabla est\xE1 filtrada por {value}.",chartBlankCategory:"(en blanco)",chartTruncated:"Se muestran las {n} categor\xEDas principales; el resto se agrupa como \xABOtros\xBB.",chartOther:"Otros",chartEmpty:"Todav\xEDa no hay nada que representar.",chartNoVisibleSeries:"No hay series visibles.",chartNeedsMoreSeries:"Este tipo de gr\xE1fico necesita al menos dos columnas de valores (por ejemplo, m\xEDnimo y m\xE1ximo): a\xF1ada una segunda serie.",chartLoading:"Cargando\u2026",chartNeedsRecharts:"Los gr\xE1ficos necesitan el paquete opcional `recharts`. Inst\xE1lelo para dibujarlos.",chartOnlyOneSeries:"Este tipo de gr\xE1fico muestra una serie.",chartByColumn:"Gr\xE1fico por esta columna",chartGroupBy:"Por",chartGroupNone:"Cada valor",chartGroupAuto:"Autom\xE1tico",chartGroupDay:"D\xEDa",chartGroupWeek:"Semana",chartGroupMonth:"Mes",chartGroupQuarter:"Trimestre",chartGroupYear:"A\xF1o",chartGroupBins:"{n} intervalos",chartBucketAdjusted:"Demasiados intervalos para un eje \u2014 se agrup\xF3 de forma m\xE1s amplia.",chartWindowed:"Mostrando {shown} de {total}.",chartShowAll:"Mostrar todo",chartCanvasHint:"Gr\xE1fico. Desplace para acercar, arrastre para mover, flechas para navegar, 0 para verlo todo.",chartCanvasHintPick:"Gr\xE1fico. Las flechas eligen una categor\xEDa, Intro o Espacio filtra la cuadr\xEDcula por ella (Ctrl a\xF1ade otra), + y \u2212 hacen zoom, 0 muestra todo.",chartCategoryFocus:"{category}: {values} \u2014 {position} de {count}",chartCategoryFiltered:"filtrando la cuadr\xEDcula",chartAggSum:"Suma",chartAggAvg:"Promedio",chartAggMin:"M\xEDnimo",chartAggMax:"M\xE1ximo",chartAggCount:"Recuento",chartAggDistinct:"Distintos",chartAggFirst:"Primero",chartAggLast:"\xDAltimo",chartTypeColumn:"Columnas",chartTypeBar:"Barras",chartTypeLine:"L\xEDneas",chartTypeArea:"\xC1reas",chartTypePie:"Circular",chartTypeDonut:"Anillo",chartStacking:"Disposici\xF3n de series",chartStackGrouped:"Agrupado",chartStackStacked:"Apilado",chartStackNormalized:"Apilado 100 %",chartFormat:"Formato",chartFormatTitle:"T\xEDtulo",chartFormatCategoryAxis:"T\xEDtulo del eje de categor\xEDas",chartFormatValueAxis:"T\xEDtulo del eje de valores",chartFormatLegend:"Leyenda",chartLegendTop:"Arriba",chartLegendBottom:"Abajo",chartLegendLeft:"Izquierda",chartLegendRight:"Derecha",chartLegendNone:"Oculta",chartFormatDataLabels:"Etiquetas de datos",chartFormatScale:"Escala de valores",chartScaleLinear:"Lineal",chartScaleLog:"Logar\xEDtmica",chartFormatTextSize:"Tama\xF1o del texto",chartFormatTextColor:"Color del texto",chartFormatDefault:"Predeterminado",chartFormatLabelAngle:"Etiquetas de categor\xEDa",chartAngleAuto:"Autom\xE1tico",chartAngleFlat:"Horizontales",chartFormatGridLines:"L\xEDneas de cuadr\xEDcula",chartGridValue:"Eje de valores",chartGridBoth:"Ambos ejes",chartGridNone:"Ninguna",chartFormatGridDashed:"Cuadr\xEDcula discontinua",chartFormatLineWidth:"Grosor de l\xEDnea",chartFormatLineDashed:"L\xEDneas discontinuas",chartFormatFillOpacity:"Opacidad del relleno",chartFormatDateFormat:"Formato de fecha",chartFormatPalette:"Colores",chartPaletteTheme:"Tema",chartPaletteClassic:"Cl\xE1sica",chartPaletteColorblind:"Apta para daltonismo",chartPaletteVivid:"Vivos",chartPaletteMonochrome:"Un solo color",sparklineSummary:"{count} valores de {min} a {max}, \xFAltimo {last}",chartTypeWaterfall:"Cascada",chartTypeFunnel:"Embudo",chartTypeTreemap:"Mapa de \xE1rbol",chartTypeHeatmap:"Mapa de calor",chartTypeBox:"Diagrama de caja",chartTypeRadar:"Radar",chartTypeRangeBar:"Rango",chartBoxQ1:"Q1",chartBoxMedian:"Mediana",chartBoxQ3:"Q3",chartBoxOutlier:"Valor at\xEDpico",chartTotal:"Total",chartTypeScatter:"Dispersi\xF3n",chartTypeBubble:"Burbujas",chartXAxis:"Eje X",chartBubbleSize:"Tama\xF1o",chartXYSampled:"{shown} de {total} puntos, muestreados de forma uniforme",licenseMissing:"Sin licencia",licenseExpired:"Licencia caducada",licenseReleaseNotCovered:"Esta versi\xF3n no est\xE1 cubierta por la licencia",licenseDomainMismatch:"Licencia no v\xE1lida para este dominio",licenseRevoked:"Licencia revocada",licenseInvalidFormat:"Clave de licencia mal formada",licenseInvalidSignature:"Firma de licencia no v\xE1lida",licenseEngineUnavailable:"El navegador no puede verificar la licencia (se requiere HTTPS)",calcAdd:"A\xF1adir columna calculada\u2026",calcEdit:"Editar columna calculada\u2026",calcRemove:"Quitar columna calculada",calcTitleAdd:"A\xF1adir columna calculada",calcTitleEdit:"Editar columna calculada",calcName:"Nombre",calcFormula:"F\xF3rmula",calcFormulaHint:"Escriba una columna como [Nombre]. Ejemplo: [Precio] * [Cant]",calcColumns:"Columnas",calcFunctions:"Funciones",calcPreview:"Vista previa",calcPreviewEmpty:"No hay filas para la vista previa",calcErrorAt:"{message} (car\xE1cter {position})",calcAddButton:"A\xF1adir",calcArgsAtLeast:"{min} o m\xE1s",formulaError_empty:"Escriba una f\xF3rmula",formulaError_unclosedText:'Texto sin cerrar: falta un "',formulaError_unclosedColumn:"Nombre de columna sin cerrar: falta un ]",formulaError_emptyColumn:"Nombre de columna vac\xEDo []",formulaError_unexpectedChar:"Car\xE1cter inesperado {text}",formulaError_expected:"Falta {text}",formulaError_cellAfterColon:'Falta una celda despu\xE9s de ":"',formulaError_unknownName:"Nombre desconocido {name}: escriba la columna como [{name}]",formulaError_unexpected:"{text} inesperado",formulaError_endsEarly:"La f\xF3rmula termina antes de tiempo",formulaError_trailing:"Texto inesperado al final",formulaError_unknownColumn:"No hay ninguna columna [{name}]",formulaError_unknownFunction:"Funci\xF3n desconocida {name}",formulaError_argCount:"{name} admite {range} argumento(s)",formulaError_cellsNotAllowed:"Aqu\xED no se usan referencias de celda como A1: escriba la columna como [Nombre]"},cm={ok:"OK",cancel:"Annulla",apply:"Applica",close:"Chiudi",clear:"Cancella",save:"Salva",search:"Cerca...",selectAll:"Seleziona tutto",showAll:"Mostra tutto",remove:"Rimuovi",none:"Nessuno",toolbarSearch:"Cerca...",exportMenu:"Esporta",exportCsv:"Esporta in CSV",exportExcel:"Esporta tutti i dati in Excel",exportExcelSelected:"Esporta le righe selezionate in Excel",exportPdf:"Esporta in PDF",exporting:"Esportazione\u2026",columns:"Colonne",hiddenColumns:"Colonne nascoste",noHiddenColumns:"Nessuna colonna nascosta.",sortAsc:"Ordina dalla A alla Z",sortDesc:"Ordina dalla Z alla A",clearSort:"Cancella ordinamento",cardSortBy:"Ordina per",groupByColumn:"Raggruppa per questa colonna",ungroupColumn:"Rimuovi dal raggruppamento",showGroupPanel:"Mostra pannello di raggruppamento",hideGroupPanel:"Nascondi pannello di raggruppamento",showFooter:"Mostra pi\xE8 di tabella",hideFooter:"Nascondi pi\xE8 di tabella",showGroupFooters:"Mostra pi\xE8 di gruppo",hideGroupFooters:"Nascondi pi\xE8 di gruppo",hideColumn:"Nascondi questa colonna",fieldChooser:"Selettore campi\u2026",bestFit:"Adatta larghezza",bestFitAll:"Adatta larghezza (tutte le colonne)",pinRowTop:"Blocca riga in alto",pinRowBottom:"Blocca riga in basso",unpinRow:"Sblocca riga",findLabel:"Trova nella griglia",findPrevious:"Risultato precedente",findNext:"Risultato successivo",findClose:"Chiudi ricerca",findCount:"{n} di {count}",findNone:"Nessun risultato",renameColumn:"Rinomina colonna",fixedPosition:"Imposta posizione fissa",pinLeft:"Sinistra",pinRight:"Destra",pinSticky:"Fissa",unpin:"Sblocca",moveLeft:"Sposta a sinistra",moveRight:"Sposta a destra",filterPlaceholder:"Filtra\u2026",filterColumnAria:"Filtra {column}",filterOperatorDefault:"Predefinito",filterOperatorAria:"Operatore di filtro per {column}",filterSelectAll:"Seleziona tutto",filterBlank:"(Vuoti)",filterNonBlank:"(Non vuoti)",filterEmptyText:"(testo vuoto)",filterSpace:"(1 spazio)",filterSpaces:"({n} spazi)",filterNoMatch:"Nessun valore corrispondente",filterLoading:"Caricamento valori\u2026",filterTruncated:"Vengono mostrati solo i primi valori \u2014 cerca per trovare gli altri.",filterRemove:"Rimuovi il filtro",filterToggle:"Applica il filtro",filterEditBuilder:"Modifica il filtro",filterNone:"Nessun filtro",filterActive:"Filtro attivo",opEquals:"\xE8",opNotEquals:"non \xE8",opGreater:">",opGreaterOrEqual:"\u2265",opLess:"<",opLessOrEqual:"\u2264",opContains:"contiene",opNotContains:"non contiene",opStartsWith:"inizia con",opEndsWith:"finisce con",opIsBlank:"\xE8 vuoto",opIsNotBlank:"non \xE8 vuoto",opIsOneOf:"\xE8 uno di",opIsBetween:"\xE8 compreso tra",opValuesCount:"{n} valori",opInPeriod:"\xE8 in",periodToday:"oggi",periodYesterday:"ieri",periodTomorrow:"domani",periodThisWeek:"questa settimana",periodLastWeek:"la settimana scorsa",periodNextWeek:"la prossima settimana",periodThisMonth:"questo mese",periodLastMonth:"il mese scorso",periodNextMonth:"il prossimo mese",periodThisQuarter:"questo trimestre",periodLastQuarter:"il trimestre scorso",periodNextQuarter:"il prossimo trimestre",periodThisYear:"quest'anno",periodLastYear:"l'anno scorso",periodNextYear:"l'anno prossimo",periodYearToDate:"da inizio anno",periodLastDays:"gli ultimi {n} giorni",periodNextDays:"i prossimi {n} giorni",filterAnd:"E",filterOr:"O",builderTitle:"Generatore di filtri",builderCombine:"Combina le condizioni con",builderAddCondition:"Aggiungi condizione",builderAddGroup:"Aggiungi gruppo",builderRemoveGroup:"Rimuovi gruppo",builderRemoveCondition:"Rimuovi condizione",builderEmpty:"Ancora nessuna condizione.",builderColumn:"Colonna",builderOperator:"Operatore",builderValue:"Valore",builderValueFrom:"Da",builderValueTo:"A",builderValuePlaceholder:"Inserisci un valore",builderOpen:"Generatore di filtri\u2026",builderClearAll:"Cancella tutto",builderConditionButton:"+ Condizione",builderGroupButton:"+ Gruppo",builderTrue:"vero",builderFalse:"falso",builderPeriod:"Periodo",builderDays:"Giorni",filterCustom:"(Personalizzato\u2026)",filterPopupAria:"Filtro {column}",importOpen:"Importa\u2026",groupPanelHint:"Trascina qui una colonna per raggrupparla",groupAddLevel:"Aggiungi livello di raggruppamento",groupAddLevelButton:"+ Aggiungi livello\u2026",groupNoGrouping:"(nessun raggruppamento)",groupLevelAria:"Livello di raggruppamento {n}",groupRemoveAria:"Rimuovi {column}",groupExpandAll:"Espandi tutto",groupCollapseAll:"Comprimi tutto",pagerFirst:"Prima pagina",pagerPrevious:"Pagina precedente",pagerNext:"Pagina successiva",pagerLast:"Ultima pagina",pagerPage:"Pagina",pagerOf:"di",pagerRowsPerPage:"Righe per pagina",pagerAria:"Paginazione",pagerPageButton:"Pagina {n}",selectAllRows:"Seleziona tutte le righe",selectRowAria:"Seleziona la riga {row}",selectGroupAria:"Seleziona le {count} righe di {group}",summaryAria:"Riepilogo",columnTotalsAria:"Totali di colonna",rowActions:"Azioni riga",detailsAria:"Dettagli",rowNumberAria:"Numero di riga",noteEditorAria:"Nota della cella",notePlaceholder:"Scrivi una nota su questa cella\u2026",addNote:"Aggiungi nota\u2026",editNote:"Modifica nota\u2026",deleteNote:"Elimina nota",expandDetails:"Espandi i dettagli",collapseDetails:"Comprimi i dettagli",expandTreeRow:"Espandi riga",collapseTreeRow:"Comprimi riga",expandColumnGroup:"Espandi gruppo di colonne",collapseColumnGroup:"Comprimi gruppo di colonne",dragToReorder:"Trascina per riordinare",menuCopy:"Copia",menuCopyWithHeaders:"Copia con intestazioni",menuCopyWithGroupHeaders:"Copia con intestazioni di gruppo",menuCut:"Taglia",menuPaste:"Incolla",menuExport:"Esporta",menuChartRange:"Grafico delle celle selezionate",statsSum:"Somma",statsCount:"Conteggio",statsAvg:"Media",statsMin:"Min",statsMax:"Max",statsCells:"Celle",statsTooLarge:"Selezione troppo grande per essere totalizzata",statusRows:"Righe",statusFiltered:"Filtrate",statusSelected:"Selezionate",summaryRows:"righe",announceRows:"{n} righe",announceSortedBy:"ordinato per {columns}",announceSelected:"{n} selezionate",announceAscending:"crescente",announceDescending:"decrescente",sideFilters:"Filtri",sideBarAria:"Pannelli degli strumenti",sideClearFilters:"Cancella tutti i filtri",summarySum:"Somma",summaryAvg:"Media",summaryMin:"Min",summaryMax:"Max",summaryCount:"Conteggio",summaryDistinct:"Distinti",summaryCustom:"Personalizzato",noTotal:"Nessun totale",busy:"Elaborazione\u2026",busyLoading:"Caricamento righe\u2026",rowsLoadFailed:"Impossibile caricare queste righe.",retryLoad:"Riprova",busyEncoding:"Preparazione dei dati\u2026",busyFiltering:"Filtraggio righe\u2026",busySorting:"Ordinamento righe\u2026",busyComputing:"Filtraggio e ordinamento\u2026",busyGrouping:"Creazione dei gruppi\u2026",busyAggregating:"Calcolo dei totali\u2026",busyProjecting:"Aggiornamento della vista\u2026",busyExporting:"Creazione del file\u2026",noData:"Nessun dato trovato",editNewRow:"Nuova riga",editSaveChanges:"Salva le modifiche",editDiscardChanges:"Annulla le modifiche",editRow:"Modifica riga",editRowMenu:"Modifica riga\u2026",editDeleteRow:"Elimina riga",editUndoDelete:"Annulla eliminazione",editActions:"Azioni",editSaveRow:"Salva riga",editSaving:"Salvataggio\u2026",editEditingRow:"Modifica della riga {row}",editSaveCount:"Salva {n} riga/righe",editCannotSave:"Impossibile salvare",editSaveFailed:"Non \xE8 stato possibile salvare le modifiche.",rowStatusNew:"Nuova riga non salvata",rowStatusChanged:"Modifiche non salvate",rowStatusRemoved:"Contrassegnata per l'eliminazione",rowStatusSaving:"Salvataggio\u2026",rowStatusSaved:"Salvato",rowStatusError:"Salvataggio non riuscito",rowStatusRetry:"Riprova",rowStatusDelete:"Elimina riga",editDeleteConfirm:"Eliminare questa riga?",editAddRowUndo:"Aggiungi riga",editDeleteRowUndo:"Elimina riga",editCellUndo:"Modifica {column}",editFillUndo:"Riempi {count} celle",editPasteUndo:"Incolla {count} celle",editCutUndo:"Taglia {count} celle",editGroupTotal:"Totale del gruppo",editGroupTotalUndo:"Modifica totale di {column} ({count} righe)",editNoMatch:"Nessuna corrispondenza",formEditTitle:"Modifica riga",formAddTitle:"Nuova riga",formShortcut:"{key}+Invio per salvare \xB7 Esc per annullare",validationRequired:"Questo campo \xE8 obbligatorio",validationNumber:"Deve essere un numero",validationNumberLocale:"Numero non valido. Scrivilo cos\xEC: {example}",validationMin:"Deve essere almeno {min}",validationMax:"Deve essere al massimo {max}",validationFormat:"Formato non valido",validationEmail:"Indirizzo e-mail non valido",validationInvalid:"Valore non valido",dateCalendar:"Calendario",dateOpenCalendar:"Apri il calendario",datePreviousMonth:"Mese precedente",dateNextMonth:"Mese successivo",monthJanuary:"Gennaio",monthFebruary:"Febbraio",monthMarch:"Marzo",monthApril:"Aprile",monthMay:"Maggio",monthJune:"Giugno",monthJuly:"Luglio",monthAugust:"Agosto",monthSeptember:"Settembre",monthOctober:"Ottobre",monthNovember:"Novembre",monthDecember:"Dicembre",weekStartsOn:"1",weekdaySu:"Do",weekdayMo:"Lu",weekdayTu:"Ma",weekdayWe:"Me",weekdayTh:"Gi",weekdayFr:"Ve",weekdaySa:"Sa",importTitle:"Importa dati",importStepSource:"1. Origine",importStepMap:"2. Associa colonne",importFile:"File CSV",importPaste:"\u2026oppure incolla delle righe",importSeparator:"Separatore",importSeparatorAuto:"Rileva automaticamente",importSeparatorComma:"Virgola ,",importSeparatorSemicolon:"Punto e virgola ;",importSeparatorTab:"Tabulazione",importSeparatorPipe:"Barra verticale |",importFileColumn:"Colonna del file",importDetected:"Rilevato",importGridColumn:"Colonna della tabella",importSample:"Esempio",importSkip:"\u2014 salta \u2014",importPreview:"Anteprima",importNoSource:"Scegli prima un file oppure incolla delle righe.",importNoRows:"Non \xE8 stata trovata alcuna riga di dati.",importAction:"Importa",exportAborted:"Esportazione interrotta",exportSheetName:"Dati",chart:"Grafico",chartCategory:"Categoria",chartSeries:"Serie",chartAddSeries:"Aggiungi serie",chartRemoveSeries:"Rimuovi",chartSource:"Dati",chartSourceView:"Righe filtrate",chartSourceSelection:"Righe selezionate",chartSourceAll:"Tutte le righe",chartSourceRange:"Intervallo selezionato (righe {from}\u2013{to})",chartClose:"Chiudi il grafico",chartFullscreen:"Schermo intero",chartExitFullscreen:"Esci da schermo intero",chartFloat:"Sgancia",chartDock:"Aggancia",chartNewWindow:"Nuova finestra",chartMoveWindow:"Sposta la finestra del grafico",chartResizeWindow:"Ridimensiona la finestra del grafico",chartResizeDock:"Trascina per cambiare l\u2019altezza del grafico",chartSwitch:"Scambia categorie e serie",chartUnlink:"Scollega",chartLink:"Collega",chartUnlinked:"Scollegato: il grafico mantiene i suoi dati e non segue pi\xF9 la griglia.",chartExportPng:"PNG",chartExportSvg:"SVG",chartExportFailed:"Non \xE8 stato possibile esportare il grafico.",chartCrossFiltered:"La tabella \xE8 filtrata su {value}.",chartBlankCategory:"(vuoto)",chartTruncated:"Vengono mostrate le prime {n} categorie; le altre sono raggruppate come \xABAltro\xBB.",chartOther:"Altro",chartEmpty:"Non c\u2019\xE8 ancora nulla da rappresentare.",chartNoVisibleSeries:"Nessuna serie visibile.",chartNeedsMoreSeries:"Questo tipo di grafico richiede almeno due colonne di valori (ad esempio minimo e massimo): aggiungi una seconda serie.",chartLoading:"Caricamento\u2026",chartNeedsRecharts:"I grafici richiedono il pacchetto opzionale `recharts`. Installalo per disegnarli.",chartOnlyOneSeries:"Questo tipo di grafico mostra una sola serie.",chartByColumn:"Grafico per questa colonna",chartGroupBy:"Per",chartGroupNone:"Ogni valore",chartGroupAuto:"Automatico",chartGroupDay:"Giorno",chartGroupWeek:"Settimana",chartGroupMonth:"Mese",chartGroupQuarter:"Trimestre",chartGroupYear:"Anno",chartGroupBins:"{n} intervalli",chartBucketAdjusted:"Troppi intervalli per un asse \u2014 raggruppati in modo pi\xF9 ampio.",chartWindowed:"Vengono mostrati {shown} di {total}.",chartShowAll:"Mostra tutto",chartCanvasHint:"Grafico. Scorri per ingrandire, trascina per spostare, frecce per navigare, 0 per mostrare tutto.",chartCanvasHintPick:"Grafico. Le frecce scelgono una categoria, Invio o Spazio filtra la griglia su di essa (Ctrl ne aggiunge una), + e \u2212 ingrandiscono, 0 mostra tutto.",chartCategoryFocus:"{category}: {values} \u2014 {position} di {count}",chartCategoryFiltered:"filtra la griglia",chartAggSum:"Somma",chartAggAvg:"Media",chartAggMin:"Min",chartAggMax:"Max",chartAggCount:"Conteggio",chartAggDistinct:"Distinti",chartAggFirst:"Primo",chartAggLast:"Ultimo",chartTypeColumn:"Colonne",chartTypeBar:"Barre",chartTypeLine:"Linee",chartTypeArea:"Aree",chartTypePie:"Torta",chartTypeDonut:"Ciambella",chartStacking:"Disposizione serie",chartStackGrouped:"Raggruppato",chartStackStacked:"In pila",chartStackNormalized:"In pila 100%",chartFormat:"Formato",chartFormatTitle:"Titolo",chartFormatCategoryAxis:"Titolo asse categorie",chartFormatValueAxis:"Titolo asse valori",chartFormatLegend:"Legenda",chartLegendTop:"In alto",chartLegendBottom:"In basso",chartLegendLeft:"A sinistra",chartLegendRight:"A destra",chartLegendNone:"Nascosta",chartFormatDataLabels:"Etichette dati",chartFormatScale:"Scala dei valori",chartScaleLinear:"Lineare",chartScaleLog:"Logaritmica",chartFormatTextSize:"Dimensione testo",chartFormatTextColor:"Colore testo",chartFormatDefault:"Predefinito",chartFormatLabelAngle:"Etichette di categoria",chartAngleAuto:"Automatico",chartAngleFlat:"Orizzontali",chartFormatGridLines:"Griglia",chartGridValue:"Asse dei valori",chartGridBoth:"Entrambi gli assi",chartGridNone:"Nessuna",chartFormatGridDashed:"Griglia tratteggiata",chartFormatLineWidth:"Spessore linea",chartFormatLineDashed:"Linee tratteggiate",chartFormatFillOpacity:"Opacit\xE0 riempimento",chartFormatDateFormat:"Formato data",chartFormatPalette:"Colori",chartPaletteTheme:"Tema",chartPaletteClassic:"Classica",chartPaletteColorblind:"Adatta al daltonismo",chartPaletteVivid:"Vivaci",chartPaletteMonochrome:"Un colore",sparklineSummary:"{count} valori da {min} a {max}, ultimo {last}",chartTypeWaterfall:"Cascata",chartTypeFunnel:"Imbuto",chartTypeTreemap:"Treemap",chartTypeHeatmap:"Mappa di calore",chartTypeBox:"Box plot",chartTypeRadar:"Radar",chartTypeRangeBar:"Intervallo",chartBoxQ1:"Q1",chartBoxMedian:"Mediana",chartBoxQ3:"Q3",chartBoxOutlier:"Valore anomalo",chartTotal:"Totale",chartTypeScatter:"Dispersione",chartTypeBubble:"Bolle",chartXAxis:"Asse X",chartBubbleSize:"Dimensione",chartXYSampled:"{shown} di {total} punti, campionati in modo uniforme",licenseMissing:"Senza licenza",licenseExpired:"Licenza scaduta",licenseReleaseNotCovered:"Questa versione non \xE8 coperta dalla licenza",licenseDomainMismatch:"Licenza non valida per questo dominio",licenseRevoked:"Licenza revocata",licenseInvalidFormat:"Chiave di licenza malformata",licenseInvalidSignature:"Firma della licenza non valida",licenseEngineUnavailable:"Il browser non pu\xF2 verificare la licenza (HTTPS richiesto)",calcAdd:"Aggiungi colonna calcolata\u2026",calcEdit:"Modifica colonna calcolata\u2026",calcRemove:"Rimuovi colonna calcolata",calcTitleAdd:"Aggiungi colonna calcolata",calcTitleEdit:"Modifica colonna calcolata",calcName:"Nome",calcFormula:"Formula",calcFormulaHint:"Scrivi una colonna come [Nome]. Esempio: [Prezzo] * [Qt\xE0]",calcColumns:"Colonne",calcFunctions:"Funzioni",calcPreview:"Anteprima",calcPreviewEmpty:"Nessuna riga da mostrare",calcErrorAt:"{message} (carattere {position})",calcAddButton:"Aggiungi",calcArgsAtLeast:"{min} o pi\xF9",formulaError_empty:"Scrivi una formula",formulaError_unclosedText:'Testo non chiuso: manca un "',formulaError_unclosedColumn:"Nome di colonna non chiuso: manca una ]",formulaError_emptyColumn:"Nome di colonna vuoto []",formulaError_unexpectedChar:"Carattere inatteso {text}",formulaError_expected:"Manca {text}",formulaError_cellAfterColon:'Manca una cella dopo ":"',formulaError_unknownName:"Nome sconosciuto {name}: scrivi la colonna come [{name}]",formulaError_unexpected:"{text} inatteso",formulaError_endsEarly:"La formula finisce troppo presto",formulaError_trailing:"Testo inatteso alla fine",formulaError_unknownColumn:"Non esiste la colonna [{name}]",formulaError_unknownFunction:"Funzione sconosciuta {name}",formulaError_argCount:"{name} accetta {range} argomenti",formulaError_cellsNotAllowed:"I riferimenti di cella come A1 non si usano qui: scrivi la colonna come [Nome]"},hm={ok:"OK",cancel:"Cancelar",apply:"Aplicar",close:"Fechar",clear:"Limpar",save:"Guardar",search:"Pesquisar...",selectAll:"Selecionar tudo",showAll:"Mostrar tudo",remove:"Remover",none:"Nenhum",toolbarSearch:"Pesquisar...",exportMenu:"Exportar",exportCsv:"Exportar para CSV",exportExcel:"Exportar todos os dados para Excel",exportExcelSelected:"Exportar as linhas selecionadas para Excel",exportPdf:"Exportar para PDF",exporting:"A exportar\u2026",columns:"Colunas",hiddenColumns:"Colunas ocultas",noHiddenColumns:"Nenhuma coluna oculta.",sortAsc:"Classificar de A a Z",sortDesc:"Classificar de Z a A",clearSort:"Limpar classifica\xE7\xE3o",cardSortBy:"Ordenar por",groupByColumn:"Agrupar por esta coluna",ungroupColumn:"Remover do agrupamento",showGroupPanel:"Mostrar painel de agrupamento",hideGroupPanel:"Ocultar painel de agrupamento",showFooter:"Mostrar rodap\xE9",hideFooter:"Ocultar rodap\xE9",showGroupFooters:"Mostrar rodap\xE9s de grupo",hideGroupFooters:"Ocultar rodap\xE9s de grupo",hideColumn:"Ocultar esta coluna",fieldChooser:"Seletor de campos\u2026",bestFit:"Ajustar largura",bestFitAll:"Ajustar largura (todas as colunas)",pinRowTop:"Fixar linha no topo",pinRowBottom:"Fixar linha em baixo",unpinRow:"Desafixar linha",findLabel:"Localizar na tabela",findPrevious:"Ocorr\xEAncia anterior",findNext:"Pr\xF3xima ocorr\xEAncia",findClose:"Fechar localizar",findCount:"{n} de {count}",findNone:"Nenhuma ocorr\xEAncia",renameColumn:"Renomear coluna",fixedPosition:"Definir posi\xE7\xE3o fixa",pinLeft:"Esquerda",pinRight:"Direita",pinSticky:"Fixa",unpin:"Libertar",moveLeft:"Mover para a esquerda",moveRight:"Mover para a direita",filterPlaceholder:"Filtrar\u2026",filterColumnAria:"Filtrar {column}",filterOperatorDefault:"Padr\xE3o",filterOperatorAria:"Operador de filtro para {column}",filterSelectAll:"Selecionar tudo",filterBlank:"(Em branco)",filterNonBlank:"(N\xE3o vazios)",filterEmptyText:"(texto vazio)",filterSpace:"(1 espa\xE7o)",filterSpaces:"({n} espa\xE7os)",filterNoMatch:"Nenhum valor correspondente",filterLoading:"A carregar valores\u2026",filterTruncated:"S\xE3o mostrados apenas os primeiros valores \u2014 pesquise para encontrar os restantes.",filterRemove:"Remover o filtro",filterToggle:"Aplicar o filtro",filterEditBuilder:"Editar o filtro",filterNone:"Sem filtro",filterActive:"Filtro ativo",opEquals:"\xE9",opNotEquals:"n\xE3o \xE9",opGreater:">",opGreaterOrEqual:"\u2265",opLess:"<",opLessOrEqual:"\u2264",opContains:"cont\xE9m",opNotContains:"n\xE3o cont\xE9m",opStartsWith:"come\xE7a por",opEndsWith:"termina em",opIsBlank:"est\xE1 em branco",opIsNotBlank:"n\xE3o est\xE1 em branco",opIsOneOf:"\xE9 um de",opIsBetween:"est\xE1 entre",opValuesCount:"{n} valores",opInPeriod:"est\xE1 em",periodToday:"hoje",periodYesterday:"ontem",periodTomorrow:"amanh\xE3",periodThisWeek:"esta semana",periodLastWeek:"a semana passada",periodNextWeek:"a pr\xF3xima semana",periodThisMonth:"este m\xEAs",periodLastMonth:"o m\xEAs passado",periodNextMonth:"o pr\xF3ximo m\xEAs",periodThisQuarter:"este trimestre",periodLastQuarter:"o trimestre passado",periodNextQuarter:"o pr\xF3ximo trimestre",periodThisYear:"este ano",periodLastYear:"o ano passado",periodNextYear:"o pr\xF3ximo ano",periodYearToDate:"no acumulado do ano",periodLastDays:"os \xFAltimos {n} dias",periodNextDays:"os pr\xF3ximos {n} dias",filterAnd:"E",filterOr:"OU",builderTitle:"Construtor de filtros",builderCombine:"Combinar condi\xE7\xF5es com",builderAddCondition:"Adicionar condi\xE7\xE3o",builderAddGroup:"Adicionar grupo",builderRemoveGroup:"Remover grupo",builderRemoveCondition:"Remover condi\xE7\xE3o",builderEmpty:"Ainda n\xE3o h\xE1 condi\xE7\xF5es.",builderColumn:"Coluna",builderOperator:"Operador",builderValue:"Valor",builderValueFrom:"De",builderValueTo:"At\xE9",builderValuePlaceholder:"Introduza um valor",builderOpen:"Construtor de filtros\u2026",builderClearAll:"Limpar tudo",builderConditionButton:"+ Condi\xE7\xE3o",builderGroupButton:"+ Grupo",builderTrue:"verdadeiro",builderFalse:"falso",builderPeriod:"Per\xEDodo",builderDays:"Dias",filterCustom:"(Personalizado\u2026)",filterPopupAria:"Filtro {column}",importOpen:"Importar\u2026",groupPanelHint:"Arraste uma coluna para aqui para agrupar por ela",groupAddLevel:"Adicionar n\xEDvel de agrupamento",groupAddLevelButton:"+ Adicionar n\xEDvel\u2026",groupNoGrouping:"(sem agrupamento)",groupLevelAria:"N\xEDvel de agrupamento {n}",groupRemoveAria:"Remover {column}",groupExpandAll:"Expandir tudo",groupCollapseAll:"Recolher tudo",pagerFirst:"Primeira p\xE1gina",pagerPrevious:"P\xE1gina anterior",pagerNext:"P\xE1gina seguinte",pagerLast:"\xDAltima p\xE1gina",pagerPage:"P\xE1gina",pagerOf:"de",pagerRowsPerPage:"Linhas por p\xE1gina",pagerAria:"Pagina\xE7\xE3o",pagerPageButton:"P\xE1gina {n}",selectAllRows:"Selecionar todas as linhas",selectRowAria:"Selecionar a linha {row}",selectGroupAria:"Selecionar as {count} linhas de {group}",summaryAria:"Resumo",columnTotalsAria:"Totais das colunas",rowActions:"A\xE7\xF5es da linha",detailsAria:"Detalhes",rowNumberAria:"N\xFAmero da linha",noteEditorAria:"Nota da c\xE9lula",notePlaceholder:"Escreva uma nota sobre esta c\xE9lula\u2026",addNote:"Adicionar nota\u2026",editNote:"Editar nota\u2026",deleteNote:"Excluir nota",expandDetails:"Expandir detalhes",collapseDetails:"Recolher detalhes",expandTreeRow:"Expandir linha",collapseTreeRow:"Recolher linha",expandColumnGroup:"Expandir grupo de colunas",collapseColumnGroup:"Recolher grupo de colunas",dragToReorder:"Arraste para reordenar",menuCopy:"Copiar",menuCopyWithHeaders:"Copiar com cabe\xE7alhos",menuCopyWithGroupHeaders:"Copiar com cabe\xE7alhos de grupo",menuCut:"Recortar",menuPaste:"Colar",menuExport:"Exportar",menuChartRange:"Gr\xE1fico das c\xE9lulas selecionadas",statsSum:"Soma",statsCount:"Contagem",statsAvg:"M\xE9dia",statsMin:"M\xEDn",statsMax:"M\xE1x",statsCells:"C\xE9lulas",statsTooLarge:"Sele\xE7\xE3o demasiado grande para totalizar",statusRows:"Linhas",statusFiltered:"Filtradas",statusSelected:"Selecionadas",summaryRows:"linhas",announceRows:"{n} linhas",announceSortedBy:"ordenado por {columns}",announceSelected:"{n} selecionadas",announceAscending:"crescente",announceDescending:"decrescente",sideFilters:"Filtros",sideBarAria:"Pain\xE9is de ferramentas",sideClearFilters:"Limpar todos os filtros",summarySum:"Soma",summaryAvg:"M\xE9dia",summaryMin:"M\xEDn",summaryMax:"M\xE1x",summaryCount:"Contagem",summaryDistinct:"Distintos",summaryCustom:"Personalizado",noTotal:"Sem total",busy:"A processar\u2026",busyLoading:"A carregar linhas\u2026",rowsLoadFailed:"N\xE3o foi poss\xEDvel carregar estas linhas.",retryLoad:"Tentar novamente",busyEncoding:"A preparar os dados\u2026",busyFiltering:"A filtrar linhas\u2026",busySorting:"A classificar linhas\u2026",busyComputing:"A filtrar e classificar\u2026",busyGrouping:"A criar grupos\u2026",busyAggregating:"A calcular totais\u2026",busyProjecting:"A atualizar a vista\u2026",busyExporting:"A criar o ficheiro\u2026",noData:"Nenhum dado encontrado",editNewRow:"Nova linha",editSaveChanges:"Guardar altera\xE7\xF5es",editDiscardChanges:"Descartar altera\xE7\xF5es",editRow:"Editar linha",editRowMenu:"Editar linha\u2026",editDeleteRow:"Eliminar linha",editUndoDelete:"Anular elimina\xE7\xE3o",editActions:"A\xE7\xF5es",editSaveRow:"Guardar linha",editSaving:"A guardar\u2026",editEditingRow:"A editar a linha {row}",editSaveCount:"Guardar {n} linha(s)",editCannotSave:"N\xE3o \xE9 poss\xEDvel guardar",editSaveFailed:"N\xE3o foi poss\xEDvel guardar as altera\xE7\xF5es.",rowStatusNew:"Nova linha n\xE3o guardada",rowStatusChanged:"Altera\xE7\xF5es n\xE3o guardadas",rowStatusRemoved:"Marcada para elimina\xE7\xE3o",rowStatusSaving:"A guardar\u2026",rowStatusSaved:"Guardado",rowStatusError:"Falha ao guardar",rowStatusRetry:"Tentar novamente",rowStatusDelete:"Eliminar linha",editDeleteConfirm:"Eliminar esta linha?",editAddRowUndo:"Adicionar linha",editDeleteRowUndo:"Eliminar linha",editCellUndo:"Editar {column}",editFillUndo:"Preencher {count} c\xE9lulas",editPasteUndo:"Colar {count} c\xE9lulas",editCutUndo:"Recortar {count} c\xE9lulas",editGroupTotal:"Total do grupo",editGroupTotalUndo:"Alterar total de {column} ({count} linhas)",editNoMatch:"Sem correspond\xEAncia",formEditTitle:"Editar linha",formAddTitle:"Nova linha",formShortcut:"{key}+Enter para guardar \xB7 Esc para cancelar",validationRequired:"Este campo \xE9 obrigat\xF3rio",validationNumber:"Tem de ser um n\xFAmero",validationNumberLocale:"N\xFAmero inv\xE1lido. Escreva assim: {example}",validationMin:"Tem de ser pelo menos {min}",validationMax:"Tem de ser no m\xE1ximo {max}",validationFormat:"Formato inv\xE1lido",validationEmail:"Endere\xE7o de e-mail inv\xE1lido",validationInvalid:"Valor inv\xE1lido",dateCalendar:"Calend\xE1rio",dateOpenCalendar:"Abrir calend\xE1rio",datePreviousMonth:"M\xEAs anterior",dateNextMonth:"M\xEAs seguinte",monthJanuary:"Janeiro",monthFebruary:"Fevereiro",monthMarch:"Mar\xE7o",monthApril:"Abril",monthMay:"Maio",monthJune:"Junho",monthJuly:"Julho",monthAugust:"Agosto",monthSeptember:"Setembro",monthOctober:"Outubro",monthNovember:"Novembro",monthDecember:"Dezembro",weekStartsOn:"1",weekdaySu:"Do",weekdayMo:"Se",weekdayTu:"Te",weekdayWe:"Qa",weekdayTh:"Qi",weekdayFr:"Sx",weekdaySa:"S\xE1",importTitle:"Importar dados",importStepSource:"1. Origem",importStepMap:"2. Mapear colunas",importFile:"Ficheiro CSV",importPaste:"\u2026ou cole linhas",importSeparator:"Separador",importSeparatorAuto:"Detetar automaticamente",importSeparatorComma:"V\xEDrgula ,",importSeparatorSemicolon:"Ponto e v\xEDrgula ;",importSeparatorTab:"Tabula\xE7\xE3o",importSeparatorPipe:"Barra vertical |",importFileColumn:"Coluna do ficheiro",importDetected:"Detetado",importGridColumn:"Coluna da tabela",importSample:"Amostra",importSkip:"\u2014 ignorar \u2014",importPreview:"Pr\xE9-visualiza\xE7\xE3o",importNoSource:"Escolha primeiro um ficheiro ou cole algumas linhas.",importNoRows:"N\xE3o foram encontradas linhas de dados.",importAction:"Importar",exportAborted:"Exporta\xE7\xE3o cancelada",exportSheetName:"Dados",chart:"Gr\xE1fico",chartCategory:"Categoria",chartSeries:"S\xE9rie",chartAddSeries:"Adicionar s\xE9rie",chartRemoveSeries:"Remover",chartSource:"Dados",chartSourceView:"Linhas filtradas",chartSourceSelection:"Linhas selecionadas",chartSourceAll:"Todas as linhas",chartSourceRange:"Intervalo selecionado (linhas {from}\u2013{to})",chartClose:"Fechar o gr\xE1fico",chartFullscreen:"Ecr\xE3 inteiro",chartExitFullscreen:"Sair do ecr\xE3 inteiro",chartFloat:"Destacar",chartDock:"Ancorar",chartNewWindow:"Nova janela",chartMoveWindow:"Mover a janela do gr\xE1fico",chartResizeWindow:"Redimensionar a janela do gr\xE1fico",chartResizeDock:"Arraste para alterar a altura do gr\xE1fico",chartSwitch:"Trocar categorias e s\xE9ries",chartUnlink:"Desligar",chartLink:"Ligar",chartUnlinked:"Desligado: o gr\xE1fico mant\xE9m os dados e j\xE1 n\xE3o acompanha a grelha.",chartExportPng:"PNG",chartExportSvg:"SVG",chartExportFailed:"N\xE3o foi poss\xEDvel exportar o gr\xE1fico.",chartCrossFiltered:"A tabela est\xE1 filtrada por {value}.",chartBlankCategory:"(em branco)",chartTruncated:"A mostrar as {n} principais categorias; as restantes est\xE3o agrupadas como \xABOutros\xBB.",chartOther:"Outros",chartEmpty:"Ainda n\xE3o h\xE1 nada para representar.",chartNoVisibleSeries:"Nenhuma s\xE9rie vis\xEDvel.",chartNeedsMoreSeries:"Este tipo de gr\xE1fico precisa de pelo menos duas colunas de valores (por exemplo, m\xEDnimo e m\xE1ximo) \u2014 adicione uma segunda s\xE9rie.",chartLoading:"A carregar\u2026",chartNeedsRecharts:"Os gr\xE1ficos precisam do pacote opcional `recharts`. Instale-o para os desenhar.",chartOnlyOneSeries:"Este tipo de gr\xE1fico mostra uma s\xE9rie.",chartByColumn:"Gr\xE1fico por esta coluna",chartGroupBy:"Por",chartGroupNone:"Cada valor",chartGroupAuto:"Autom\xE1tico",chartGroupDay:"Dia",chartGroupWeek:"Semana",chartGroupMonth:"M\xEAs",chartGroupQuarter:"Trimestre",chartGroupYear:"Ano",chartGroupBins:"{n} intervalos",chartBucketAdjusted:"Demasiados intervalos para um eixo \u2014 agrupados de forma mais ampla.",chartWindowed:"A mostrar {shown} de {total}.",chartShowAll:"Mostrar tudo",chartCanvasHint:"Gr\xE1fico. Desloque para ampliar, arraste para mover, setas para navegar, 0 para mostrar tudo.",chartCanvasHintPick:"Gr\xE1fico. As setas escolhem uma categoria, Enter ou Espa\xE7o filtra a grade por ela (Ctrl adiciona), + e \u2212 aproximam, 0 mostra tudo.",chartCategoryFocus:"{category}: {values} \u2014 {position} de {count}",chartCategoryFiltered:"filtrando a grade",chartAggSum:"Soma",chartAggAvg:"M\xE9dia",chartAggMin:"M\xEDn",chartAggMax:"M\xE1x",chartAggCount:"Contagem",chartAggDistinct:"Distintos",chartAggFirst:"Primeiro",chartAggLast:"\xDAltimo",chartTypeColumn:"Colunas",chartTypeBar:"Barras",chartTypeLine:"Linhas",chartTypeArea:"\xC1reas",chartTypePie:"Circular",chartTypeDonut:"Anel",chartStacking:"Disposi\xE7\xE3o das s\xE9ries",chartStackGrouped:"Agrupado",chartStackStacked:"Empilhado",chartStackNormalized:"Empilhado 100%",chartFormat:"Formato",chartFormatTitle:"T\xEDtulo",chartFormatCategoryAxis:"T\xEDtulo do eixo de categorias",chartFormatValueAxis:"T\xEDtulo do eixo de valores",chartFormatLegend:"Legenda",chartLegendTop:"Em cima",chartLegendBottom:"Em baixo",chartLegendLeft:"\xC0 esquerda",chartLegendRight:"\xC0 direita",chartLegendNone:"Oculta",chartFormatDataLabels:"R\xF3tulos de dados",chartFormatScale:"Escala de valores",chartScaleLinear:"Linear",chartScaleLog:"Logar\xEDtmica",chartFormatTextSize:"Tamanho do texto",chartFormatTextColor:"Cor do texto",chartFormatDefault:"Padr\xE3o",chartFormatLabelAngle:"R\xF3tulos de categoria",chartAngleAuto:"Autom\xE1tico",chartAngleFlat:"Horizontais",chartFormatGridLines:"Linhas de grade",chartGridValue:"Eixo de valores",chartGridBoth:"Ambos os eixos",chartGridNone:"Nenhuma",chartFormatGridDashed:"Grade tracejada",chartFormatLineWidth:"Espessura da linha",chartFormatLineDashed:"Linhas tracejadas",chartFormatFillOpacity:"Opacidade do preenchimento",chartFormatDateFormat:"Formato de data",chartFormatPalette:"Cores",chartPaletteTheme:"Tema",chartPaletteClassic:"Cl\xE1ssica",chartPaletteColorblind:"Segura para daltonismo",chartPaletteVivid:"Vivas",chartPaletteMonochrome:"Uma cor",sparklineSummary:"{count} valores de {min} a {max}, \xFAltimo {last}",chartTypeWaterfall:"Cascata",chartTypeFunnel:"Funil",chartTypeTreemap:"Mapa de \xE1rvore",chartTypeHeatmap:"Mapa de calor",chartTypeBox:"Diagrama de caixa",chartTypeRadar:"Radar",chartTypeRangeBar:"Intervalo",chartBoxQ1:"Q1",chartBoxMedian:"Mediana",chartBoxQ3:"Q3",chartBoxOutlier:"Valor at\xEDpico",chartTotal:"Total",chartTypeScatter:"Dispers\xE3o",chartTypeBubble:"Bolhas",chartXAxis:"Eixo X",chartBubbleSize:"Tamanho",chartXYSampled:"{shown} de {total} pontos, amostrados de forma uniforme",licenseMissing:"Sem licen\xE7a",licenseExpired:"Licen\xE7a expirada",licenseReleaseNotCovered:"Esta vers\xE3o n\xE3o \xE9 coberta pela licen\xE7a",licenseDomainMismatch:"Licen\xE7a n\xE3o v\xE1lida para este dom\xEDnio",licenseRevoked:"Licen\xE7a revogada",licenseInvalidFormat:"Chave de licen\xE7a malformada",licenseInvalidSignature:"Assinatura da licen\xE7a inv\xE1lida",licenseEngineUnavailable:"O navegador n\xE3o consegue verificar a licen\xE7a (HTTPS necess\xE1rio)",calcAdd:"Adicionar coluna calculada\u2026",calcEdit:"Editar coluna calculada\u2026",calcRemove:"Remover coluna calculada",calcTitleAdd:"Adicionar coluna calculada",calcTitleEdit:"Editar coluna calculada",calcName:"Nome",calcFormula:"F\xF3rmula",calcFormulaHint:"Escreva uma coluna como [Nome]. Exemplo: [Pre\xE7o] * [Qtd]",calcColumns:"Colunas",calcFunctions:"Fun\xE7\xF5es",calcPreview:"Pr\xE9-visualiza\xE7\xE3o",calcPreviewEmpty:"N\xE3o h\xE1 linhas para pr\xE9-visualizar",calcErrorAt:"{message} (caractere {position})",calcAddButton:"Adicionar",calcArgsAtLeast:"{min} ou mais",formulaError_empty:"Escreva uma f\xF3rmula",formulaError_unclosedText:'Texto n\xE3o fechado: falta um "',formulaError_unclosedColumn:"Nome de coluna n\xE3o fechado: falta um ]",formulaError_emptyColumn:"Nome de coluna vazio []",formulaError_unexpectedChar:"Caractere inesperado {text}",formulaError_expected:"Falta {text}",formulaError_cellAfterColon:'Falta uma c\xE9lula depois de ":"',formulaError_unknownName:"Nome desconhecido {name}: escreva a coluna como [{name}]",formulaError_unexpected:"{text} inesperado",formulaError_endsEarly:"A f\xF3rmula termina cedo demais",formulaError_trailing:"Texto inesperado no fim",formulaError_unknownColumn:"N\xE3o existe a coluna [{name}]",formulaError_unknownFunction:"Fun\xE7\xE3o desconhecida {name}",formulaError_argCount:"{name} aceita {range} argumento(s)",formulaError_cellsNotAllowed:"Refer\xEAncias de c\xE9lula como A1 n\xE3o s\xE3o usadas aqui: escreva a coluna como [Nome]"},mm={ok:"\u041E\u041A",cancel:"\u041E\u0442\u043C\u0435\u043D\u0430",apply:"\u041F\u0440\u0438\u043C\u0435\u043D\u0438\u0442\u044C",close:"\u0417\u0430\u043A\u0440\u044B\u0442\u044C",clear:"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C",save:"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C",search:"\u041F\u043E\u0438\u0441\u043A...",selectAll:"\u0412\u044B\u0431\u0440\u0430\u0442\u044C \u0432\u0441\u0435",showAll:"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0432\u0441\u0435",remove:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C",none:"\u041D\u0435\u0442",toolbarSearch:"\u041F\u043E\u0438\u0441\u043A...",exportMenu:"\u042D\u043A\u0441\u043F\u043E\u0440\u0442",exportCsv:"\u042D\u043A\u0441\u043F\u043E\u0440\u0442 \u0432 CSV",exportExcel:"\u042D\u043A\u0441\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0432\u0441\u0435 \u0434\u0430\u043D\u043D\u044B\u0435 \u0432 Excel",exportExcelSelected:"\u042D\u043A\u0441\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0435 \u0441\u0442\u0440\u043E\u043A\u0438 \u0432 Excel",exportPdf:"\u042D\u043A\u0441\u043F\u043E\u0440\u0442 \u0432 PDF",exporting:"\u042D\u043A\u0441\u043F\u043E\u0440\u0442\u2026",columns:"\u0421\u0442\u043E\u043B\u0431\u0446\u044B",hiddenColumns:"\u0421\u043A\u0440\u044B\u0442\u044B\u0435 \u0441\u0442\u043E\u043B\u0431\u0446\u044B",noHiddenColumns:"\u0421\u043A\u0440\u044B\u0442\u044B\u0445 \u0441\u0442\u043E\u043B\u0431\u0446\u043E\u0432 \u043D\u0435\u0442.",sortAsc:"\u0421\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043E\u0442 \u0410 \u0434\u043E \u042F",sortDesc:"\u0421\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043E\u0442 \u042F \u0434\u043E \u0410",clearSort:"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u0441\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u043A\u0443",cardSortBy:"\u0421\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043F\u043E",groupByColumn:"\u0413\u0440\u0443\u043F\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043F\u043E \u044D\u0442\u043E\u043C\u0443 \u0441\u0442\u043E\u043B\u0431\u0446\u0443",ungroupColumn:"\u0423\u0431\u0440\u0430\u0442\u044C \u0438\u0437 \u0433\u0440\u0443\u043F\u043F\u0438\u0440\u043E\u0432\u043A\u0438",showGroupPanel:"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u043F\u0430\u043D\u0435\u043B\u044C \u0433\u0440\u0443\u043F\u043F\u0438\u0440\u043E\u0432\u043A\u0438",hideGroupPanel:"\u0421\u043A\u0440\u044B\u0442\u044C \u043F\u0430\u043D\u0435\u043B\u044C \u0433\u0440\u0443\u043F\u043F\u0438\u0440\u043E\u0432\u043A\u0438",showFooter:"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0438\u0442\u043E\u0433\u0438",hideFooter:"\u0421\u043A\u0440\u044B\u0442\u044C \u0438\u0442\u043E\u0433\u0438",showGroupFooters:"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0438\u0442\u043E\u0433\u0438 \u043F\u043E \u0433\u0440\u0443\u043F\u043F\u0430\u043C",hideGroupFooters:"\u0421\u043A\u0440\u044B\u0442\u044C \u0438\u0442\u043E\u0433\u0438 \u043F\u043E \u0433\u0440\u0443\u043F\u043F\u0430\u043C",hideColumn:"\u0421\u043A\u0440\u044B\u0442\u044C \u044D\u0442\u043E\u0442 \u0441\u0442\u043E\u043B\u0431\u0435\u0446",fieldChooser:"\u0412\u044B\u0431\u043E\u0440 \u043F\u043E\u043B\u0435\u0439\u2026",bestFit:"\u041F\u043E\u0434\u043E\u0431\u0440\u0430\u0442\u044C \u0448\u0438\u0440\u0438\u043D\u0443",bestFitAll:"\u041F\u043E\u0434\u043E\u0431\u0440\u0430\u0442\u044C \u0448\u0438\u0440\u0438\u043D\u0443 (\u0432\u0441\u0435 \u0441\u0442\u043E\u043B\u0431\u0446\u044B)",pinRowTop:"\u0417\u0430\u043A\u0440\u0435\u043F\u0438\u0442\u044C \u0441\u0442\u0440\u043E\u043A\u0443 \u0441\u0432\u0435\u0440\u0445\u0443",pinRowBottom:"\u0417\u0430\u043A\u0440\u0435\u043F\u0438\u0442\u044C \u0441\u0442\u0440\u043E\u043A\u0443 \u0441\u043D\u0438\u0437\u0443",unpinRow:"\u041E\u0442\u043A\u0440\u0435\u043F\u0438\u0442\u044C \u0441\u0442\u0440\u043E\u043A\u0443",findLabel:"\u041D\u0430\u0439\u0442\u0438 \u0432 \u0442\u0430\u0431\u043B\u0438\u0446\u0435",findPrevious:"\u041F\u0440\u0435\u0434\u044B\u0434\u0443\u0449\u0435\u0435 \u0441\u043E\u0432\u043F\u0430\u0434\u0435\u043D\u0438\u0435",findNext:"\u0421\u043B\u0435\u0434\u0443\u044E\u0449\u0435\u0435 \u0441\u043E\u0432\u043F\u0430\u0434\u0435\u043D\u0438\u0435",findClose:"\u0417\u0430\u043A\u0440\u044B\u0442\u044C \u043F\u043E\u0438\u0441\u043A",findCount:"{n} \u0438\u0437 {count}",findNone:"\u041D\u0435\u0442 \u0441\u043E\u0432\u043F\u0430\u0434\u0435\u043D\u0438\u0439",renameColumn:"\u041F\u0435\u0440\u0435\u0438\u043C\u0435\u043D\u043E\u0432\u0430\u0442\u044C \u0441\u0442\u043E\u043B\u0431\u0435\u0446",fixedPosition:"\u0417\u0430\u0434\u0430\u0442\u044C \u0444\u0438\u043A\u0441\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u0443\u044E \u043F\u043E\u0437\u0438\u0446\u0438\u044E",pinLeft:"\u0421\u043B\u0435\u0432\u0430",pinRight:"\u0421\u043F\u0440\u0430\u0432\u0430",pinSticky:"\u0417\u0430\u043A\u0440\u0435\u043F\u043B\u0451\u043D",unpin:"\u041E\u0442\u043A\u0440\u0435\u043F\u0438\u0442\u044C",moveLeft:"\u041F\u0435\u0440\u0435\u043C\u0435\u0441\u0442\u0438\u0442\u044C \u0432\u043B\u0435\u0432\u043E",moveRight:"\u041F\u0435\u0440\u0435\u043C\u0435\u0441\u0442\u0438\u0442\u044C \u0432\u043F\u0440\u0430\u0432\u043E",filterPlaceholder:"\u0424\u0438\u043B\u044C\u0442\u0440\u2026",filterColumnAria:"\u0424\u0438\u043B\u044C\u0442\u0440 \xAB{column}\xBB",filterOperatorDefault:"\u041F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E",filterOperatorAria:"\u041E\u043F\u0435\u0440\u0430\u0442\u043E\u0440 \u0444\u0438\u043B\u044C\u0442\u0440\u0430 \u0434\u043B\u044F \xAB{column}\xBB",filterSelectAll:"\u0412\u044B\u0431\u0440\u0430\u0442\u044C \u0432\u0441\u0435",filterBlank:"(\u041F\u0443\u0441\u0442\u043E)",filterNonBlank:"(\u041D\u0435 \u043F\u0443\u0441\u0442\u044B\u0435)",filterEmptyText:"(\u043F\u0443\u0441\u0442\u043E\u0439 \u0442\u0435\u043A\u0441\u0442)",filterSpace:"(1 \u043F\u0440\u043E\u0431\u0435\u043B)",filterSpaces:"(\u043F\u0440\u043E\u0431\u0435\u043B\u043E\u0432: {n})",filterNoMatch:"\u0421\u043E\u0432\u043F\u0430\u0434\u0435\u043D\u0438\u0439 \u043D\u0435\u0442",filterLoading:"\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0439\u2026",filterTruncated:"\u041F\u043E\u043A\u0430\u0437\u0430\u043D\u044B \u0442\u043E\u043B\u044C\u043A\u043E \u043F\u0435\u0440\u0432\u044B\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044F \u2014 \u0432\u043E\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u0439\u0442\u0435\u0441\u044C \u043F\u043E\u0438\u0441\u043A\u043E\u043C, \u0447\u0442\u043E\u0431\u044B \u043D\u0430\u0439\u0442\u0438 \u043E\u0441\u0442\u0430\u043B\u044C\u043D\u044B\u0435.",filterRemove:"\u0423\u0431\u0440\u0430\u0442\u044C \u0444\u0438\u043B\u044C\u0442\u0440",filterToggle:"\u041F\u0440\u0438\u043C\u0435\u043D\u0438\u0442\u044C \u0444\u0438\u043B\u044C\u0442\u0440",filterEditBuilder:"\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0444\u0438\u043B\u044C\u0442\u0440",filterNone:"\u0424\u0438\u043B\u044C\u0442\u0440\u0430 \u043D\u0435\u0442",filterActive:"\u0424\u0438\u043B\u044C\u0442\u0440 \u0430\u043A\u0442\u0438\u0432\u0435\u043D",opEquals:"\u0440\u0430\u0432\u043D\u043E",opNotEquals:"\u043D\u0435 \u0440\u0430\u0432\u043D\u043E",opGreater:">",opGreaterOrEqual:"\u2265",opLess:"<",opLessOrEqual:"\u2264",opContains:"\u0441\u043E\u0434\u0435\u0440\u0436\u0438\u0442",opNotContains:"\u043D\u0435 \u0441\u043E\u0434\u0435\u0440\u0436\u0438\u0442",opStartsWith:"\u043D\u0430\u0447\u0438\u043D\u0430\u0435\u0442\u0441\u044F \u0441",opEndsWith:"\u0437\u0430\u043A\u0430\u043D\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044F \u043D\u0430",opIsBlank:"\u043F\u0443\u0441\u0442\u043E",opIsNotBlank:"\u043D\u0435 \u043F\u0443\u0441\u0442\u043E",opIsOneOf:"\u043E\u0434\u043D\u043E \u0438\u0437",opIsBetween:"\u043C\u0435\u0436\u0434\u0443",opValuesCount:"\u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0439: {n}",opInPeriod:"\u0432 \u043F\u0435\u0440\u0438\u043E\u0434\u0435",periodToday:"\u0441\u0435\u0433\u043E\u0434\u043D\u044F",periodYesterday:"\u0432\u0447\u0435\u0440\u0430",periodTomorrow:"\u0437\u0430\u0432\u0442\u0440\u0430",periodThisWeek:"\u044D\u0442\u0430 \u043D\u0435\u0434\u0435\u043B\u044F",periodLastWeek:"\u043F\u0440\u043E\u0448\u043B\u0430\u044F \u043D\u0435\u0434\u0435\u043B\u044F",periodNextWeek:"\u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0430\u044F \u043D\u0435\u0434\u0435\u043B\u044F",periodThisMonth:"\u044D\u0442\u043E\u0442 \u043C\u0435\u0441\u044F\u0446",periodLastMonth:"\u043F\u0440\u043E\u0448\u043B\u044B\u0439 \u043C\u0435\u0441\u044F\u0446",periodNextMonth:"\u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0439 \u043C\u0435\u0441\u044F\u0446",periodThisQuarter:"\u044D\u0442\u043E\u0442 \u043A\u0432\u0430\u0440\u0442\u0430\u043B",periodLastQuarter:"\u043F\u0440\u043E\u0448\u043B\u044B\u0439 \u043A\u0432\u0430\u0440\u0442\u0430\u043B",periodNextQuarter:"\u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0439 \u043A\u0432\u0430\u0440\u0442\u0430\u043B",periodThisYear:"\u044D\u0442\u043E\u0442 \u0433\u043E\u0434",periodLastYear:"\u043F\u0440\u043E\u0448\u043B\u044B\u0439 \u0433\u043E\u0434",periodNextYear:"\u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0439 \u0433\u043E\u0434",periodYearToDate:"\u0441 \u043D\u0430\u0447\u0430\u043B\u0430 \u0433\u043E\u0434\u0430",periodLastDays:"\u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u0435 {n} \u0434\u043D.",periodNextDays:"\u0441\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0435 {n} \u0434\u043D.",filterAnd:"\u0418",filterOr:"\u0418\u041B\u0418",builderTitle:"\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440 \u0444\u0438\u043B\u044C\u0442\u0440\u0430",builderCombine:"\u041E\u0431\u044A\u0435\u0434\u0438\u043D\u0438\u0442\u044C \u0443\u0441\u043B\u043E\u0432\u0438\u044F \u043E\u043F\u0435\u0440\u0430\u0442\u043E\u0440\u043E\u043C",builderAddCondition:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0443\u0441\u043B\u043E\u0432\u0438\u0435",builderAddGroup:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0433\u0440\u0443\u043F\u043F\u0443",builderRemoveGroup:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0433\u0440\u0443\u043F\u043F\u0443",builderRemoveCondition:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0443\u0441\u043B\u043E\u0432\u0438\u0435",builderEmpty:"\u0423\u0441\u043B\u043E\u0432\u0438\u0439 \u043F\u043E\u043A\u0430 \u043D\u0435\u0442.",builderColumn:"\u0421\u0442\u043E\u043B\u0431\u0435\u0446",builderOperator:"\u041E\u043F\u0435\u0440\u0430\u0442\u043E\u0440",builderValue:"\u0417\u043D\u0430\u0447\u0435\u043D\u0438\u0435",builderValueFrom:"\u041E\u0442",builderValueTo:"\u0414\u043E",builderValuePlaceholder:"\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435",builderOpen:"\u041A\u043E\u043D\u0441\u0442\u0440\u0443\u043A\u0442\u043E\u0440 \u0444\u0438\u043B\u044C\u0442\u0440\u0430\u2026",builderClearAll:"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u0432\u0441\u0451",builderConditionButton:"+ \u0423\u0441\u043B\u043E\u0432\u0438\u0435",builderGroupButton:"+ \u0413\u0440\u0443\u043F\u043F\u0430",builderTrue:"\u0438\u0441\u0442\u0438\u043D\u0430",builderFalse:"\u043B\u043E\u0436\u044C",builderPeriod:"\u041F\u0435\u0440\u0438\u043E\u0434",builderDays:"\u0414\u043D\u0438",filterCustom:"(\u041E\u0441\u043E\u0431\u043E\u0435\u2026)",filterPopupAria:"\u0424\u0438\u043B\u044C\u0442\u0440 {column}",importOpen:"\u0418\u043C\u043F\u043E\u0440\u0442\u2026",groupPanelHint:"\u041F\u0435\u0440\u0435\u0442\u0430\u0449\u0438\u0442\u0435 \u0441\u044E\u0434\u0430 \u0441\u0442\u043E\u043B\u0431\u0435\u0446, \u0447\u0442\u043E\u0431\u044B \u0441\u0433\u0440\u0443\u043F\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043F\u043E \u043D\u0435\u043C\u0443",groupAddLevel:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0443\u0440\u043E\u0432\u0435\u043D\u044C \u0433\u0440\u0443\u043F\u043F\u0438\u0440\u043E\u0432\u043A\u0438",groupAddLevelButton:"+ \u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0443\u0440\u043E\u0432\u0435\u043D\u044C\u2026",groupNoGrouping:"(\u0431\u0435\u0437 \u0433\u0440\u0443\u043F\u043F\u0438\u0440\u043E\u0432\u043A\u0438)",groupLevelAria:"\u0423\u0440\u043E\u0432\u0435\u043D\u044C \u0433\u0440\u0443\u043F\u043F\u0438\u0440\u043E\u0432\u043A\u0438 {n}",groupRemoveAria:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C {column}",groupExpandAll:"\u0420\u0430\u0437\u0432\u0435\u0440\u043D\u0443\u0442\u044C \u0432\u0441\u0435",groupCollapseAll:"\u0421\u0432\u0435\u0440\u043D\u0443\u0442\u044C \u0432\u0441\u0435",pagerFirst:"\u041F\u0435\u0440\u0432\u0430\u044F \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0430",pagerPrevious:"\u041F\u0440\u0435\u0434\u044B\u0434\u0443\u0449\u0430\u044F \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0430",pagerNext:"\u0421\u043B\u0435\u0434\u0443\u044E\u0449\u0430\u044F \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0430",pagerLast:"\u041F\u043E\u0441\u043B\u0435\u0434\u043D\u044F\u044F \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0430",pagerPage:"\u0421\u0442\u0440\u0430\u043D\u0438\u0446\u0430",pagerOf:"\u0438\u0437",pagerRowsPerPage:"\u0421\u0442\u0440\u043E\u043A \u043D\u0430 \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0435",pagerAria:"\u041F\u043E\u0441\u0442\u0440\u0430\u043D\u0438\u0447\u043D\u0430\u044F \u043D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u044F",pagerPageButton:"\u0421\u0442\u0440\u0430\u043D\u0438\u0446\u0430 {n}",selectAllRows:"\u0412\u044B\u0431\u0440\u0430\u0442\u044C \u0432\u0441\u0435 \u0441\u0442\u0440\u043E\u043A\u0438",selectRowAria:"\u0412\u044B\u0431\u0440\u0430\u0442\u044C \u0441\u0442\u0440\u043E\u043A\u0443 {row}",selectGroupAria:"\u0412\u044B\u0431\u0440\u0430\u0442\u044C \u0441\u0442\u0440\u043E\u043A\u0438 \u0433\u0440\u0443\u043F\u043F\u044B {group} ({count})",summaryAria:"\u0421\u0432\u043E\u0434\u043A\u0430",columnTotalsAria:"\u0418\u0442\u043E\u0433\u0438 \u043F\u043E \u0441\u0442\u043E\u043B\u0431\u0446\u0430\u043C",rowActions:"\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u044F \u0441\u043E \u0441\u0442\u0440\u043E\u043A\u043E\u0439",detailsAria:"\u041F\u043E\u0434\u0440\u043E\u0431\u043D\u043E\u0441\u0442\u0438",rowNumberAria:"\u041D\u043E\u043C\u0435\u0440 \u0441\u0442\u0440\u043E\u043A\u0438",noteEditorAria:"\u041F\u0440\u0438\u043C\u0435\u0447\u0430\u043D\u0438\u0435 \u043A \u044F\u0447\u0435\u0439\u043A\u0435",notePlaceholder:"\u041D\u0430\u043F\u0438\u0448\u0438\u0442\u0435 \u043F\u0440\u0438\u043C\u0435\u0447\u0430\u043D\u0438\u0435 \u043A \u044D\u0442\u043E\u0439 \u044F\u0447\u0435\u0439\u043A\u0435\u2026",addNote:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u043F\u0440\u0438\u043C\u0435\u0447\u0430\u043D\u0438\u0435\u2026",editNote:"\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u043F\u0440\u0438\u043C\u0435\u0447\u0430\u043D\u0438\u0435\u2026",deleteNote:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u043F\u0440\u0438\u043C\u0435\u0447\u0430\u043D\u0438\u0435",expandDetails:"\u0420\u0430\u0437\u0432\u0435\u0440\u043D\u0443\u0442\u044C \u043F\u043E\u0434\u0440\u043E\u0431\u043D\u043E\u0441\u0442\u0438",collapseDetails:"\u0421\u0432\u0435\u0440\u043D\u0443\u0442\u044C \u043F\u043E\u0434\u0440\u043E\u0431\u043D\u043E\u0441\u0442\u0438",expandTreeRow:"\u0420\u0430\u0437\u0432\u0435\u0440\u043D\u0443\u0442\u044C \u0441\u0442\u0440\u043E\u043A\u0443",collapseTreeRow:"\u0421\u0432\u0435\u0440\u043D\u0443\u0442\u044C \u0441\u0442\u0440\u043E\u043A\u0443",expandColumnGroup:"\u0420\u0430\u0437\u0432\u0435\u0440\u043D\u0443\u0442\u044C \u0433\u0440\u0443\u043F\u043F\u0443 \u0441\u0442\u043E\u043B\u0431\u0446\u043E\u0432",collapseColumnGroup:"\u0421\u0432\u0435\u0440\u043D\u0443\u0442\u044C \u0433\u0440\u0443\u043F\u043F\u0443 \u0441\u0442\u043E\u043B\u0431\u0446\u043E\u0432",dragToReorder:"\u041F\u0435\u0440\u0435\u0442\u0430\u0449\u0438\u0442\u0435, \u0447\u0442\u043E\u0431\u044B \u0438\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u043F\u043E\u0440\u044F\u0434\u043E\u043A",menuCopy:"\u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C",menuCopyWithHeaders:"\u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0441 \u0437\u0430\u0433\u043E\u043B\u043E\u0432\u043A\u0430\u043C\u0438",menuCopyWithGroupHeaders:"\u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0441 \u0437\u0430\u0433\u043E\u043B\u043E\u0432\u043A\u0430\u043C\u0438 \u0433\u0440\u0443\u043F\u043F",menuCut:"\u0412\u044B\u0440\u0435\u0437\u0430\u0442\u044C",menuPaste:"\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044C",menuExport:"\u042D\u043A\u0441\u043F\u043E\u0440\u0442",menuChartRange:"\u0414\u0438\u0430\u0433\u0440\u0430\u043C\u043C\u0430 \u043F\u043E \u0432\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u043C \u044F\u0447\u0435\u0439\u043A\u0430\u043C",statsSum:"\u0421\u0443\u043C\u043C\u0430",statsCount:"\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E",statsAvg:"\u0421\u0440\u0435\u0434\u043D\u0435\u0435",statsMin:"\u041C\u0438\u043D",statsMax:"\u041C\u0430\u043A\u0441",statsCells:"\u042F\u0447\u0435\u0439\u043A\u0438",statsTooLarge:"\u0412\u044B\u0434\u0435\u043B\u0435\u043D\u0438\u0435 \u0441\u043B\u0438\u0448\u043A\u043E\u043C \u0432\u0435\u043B\u0438\u043A\u043E \u0434\u043B\u044F \u043F\u043E\u0434\u0441\u0447\u0451\u0442\u0430",statusRows:"\u0421\u0442\u0440\u043E\u043A\u0438",statusFiltered:"\u041E\u0442\u0444\u0438\u043B\u044C\u0442\u0440\u043E\u0432\u0430\u043D\u043E",statusSelected:"\u0412\u044B\u0431\u0440\u0430\u043D\u043E",summaryRows:"\u0441\u0442\u0440\u043E\u043A",announceRows:"\u0421\u0442\u0440\u043E\u043A: {n}",announceSortedBy:"\u0441\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u043A\u0430 \u043F\u043E {columns}",announceSelected:"\u0432\u044B\u0431\u0440\u0430\u043D\u043E: {n}",announceAscending:"\u043F\u043E \u0432\u043E\u0437\u0440\u0430\u0441\u0442\u0430\u043D\u0438\u044E",announceDescending:"\u043F\u043E \u0443\u0431\u044B\u0432\u0430\u043D\u0438\u044E",sideFilters:"\u0424\u0438\u043B\u044C\u0442\u0440\u044B",sideBarAria:"\u041F\u0430\u043D\u0435\u043B\u0438 \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u043E\u0432",sideClearFilters:"\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C \u0432\u0441\u0435 \u0444\u0438\u043B\u044C\u0442\u0440\u044B",summarySum:"\u0421\u0443\u043C\u043C\u0430",summaryAvg:"\u0421\u0440\u0435\u0434\u043D\u0435\u0435",summaryMin:"\u041C\u0438\u043D",summaryMax:"\u041C\u0430\u043A\u0441",summaryCount:"\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E",summaryDistinct:"\u0423\u043D\u0438\u043A\u0430\u043B\u044C\u043D\u044B\u0435",summaryCustom:"\u041F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C\u0441\u043A\u0438\u0439",noTotal:"\u041D\u0435\u0442 \u0438\u0442\u043E\u0433\u0430",busy:"\u0412\u044B\u043F\u043E\u043B\u043D\u044F\u0435\u0442\u0441\u044F\u2026",busyLoading:"\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430 \u0441\u0442\u0440\u043E\u043A\u2026",rowsLoadFailed:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u044D\u0442\u0438 \u0441\u0442\u0440\u043E\u043A\u0438.",retryLoad:"\u041F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u044C",busyEncoding:"\u041F\u043E\u0434\u0433\u043E\u0442\u043E\u0432\u043A\u0430 \u0434\u0430\u043D\u043D\u044B\u0445\u2026",busyFiltering:"\u0424\u0438\u043B\u044C\u0442\u0440\u0430\u0446\u0438\u044F \u0441\u0442\u0440\u043E\u043A\u2026",busySorting:"\u0421\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u043A\u0430 \u0441\u0442\u0440\u043E\u043A\u2026",busyComputing:"\u0424\u0438\u043B\u044C\u0442\u0440\u0430\u0446\u0438\u044F \u0438 \u0441\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u043A\u0430\u2026",busyGrouping:"\u041F\u043E\u0441\u0442\u0440\u043E\u0435\u043D\u0438\u0435 \u0433\u0440\u0443\u043F\u043F\u2026",busyAggregating:"\u0412\u044B\u0447\u0438\u0441\u043B\u0435\u043D\u0438\u0435 \u0438\u0442\u043E\u0433\u043E\u0432\u2026",busyProjecting:"\u041E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u0435 \u043F\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u044F\u2026",busyExporting:"\u0421\u043E\u0437\u0434\u0430\u043D\u0438\u0435 \u0444\u0430\u0439\u043B\u0430\u2026",noData:"\u0414\u0430\u043D\u043D\u044B\u0435 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u044B",editNewRow:"\u041D\u043E\u0432\u0430\u044F \u0441\u0442\u0440\u043E\u043A\u0430",editSaveChanges:"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F",editDiscardChanges:"\u041E\u0442\u043C\u0435\u043D\u0438\u0442\u044C \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F",editRow:"\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0441\u0442\u0440\u043E\u043A\u0443",editRowMenu:"\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0441\u0442\u0440\u043E\u043A\u0443\u2026",editDeleteRow:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0441\u0442\u0440\u043E\u043A\u0443",editUndoDelete:"\u041E\u0442\u043C\u0435\u043D\u0438\u0442\u044C \u0443\u0434\u0430\u043B\u0435\u043D\u0438\u0435",editActions:"\u0414\u0435\u0439\u0441\u0442\u0432\u0438\u044F",editSaveRow:"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u0441\u0442\u0440\u043E\u043A\u0443",editSaving:"\u0421\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u0438\u0435\u2026",editEditingRow:"\u0418\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0435 \u0441\u0442\u0440\u043E\u043A\u0438 {row}",editSaveCount:"\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u0441\u0442\u0440\u043E\u043A: {n}",editCannotSave:"\u041D\u0435 \u0443\u0434\u0430\u0451\u0442\u0441\u044F \u0441\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C",editSaveFailed:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0441\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F.",rowStatusNew:"\u041D\u043E\u0432\u0430\u044F \u0441\u0442\u0440\u043E\u043A\u0430, \u043D\u0435 \u0441\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u0430",rowStatusChanged:"\u041D\u0435\u0441\u043E\u0445\u0440\u0430\u043D\u0451\u043D\u043D\u044B\u0435 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F",rowStatusRemoved:"\u041F\u043E\u043C\u0435\u0447\u0435\u043D\u0430 \u043D\u0430 \u0443\u0434\u0430\u043B\u0435\u043D\u0438\u0435",rowStatusSaving:"\u0421\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u0438\u0435\u2026",rowStatusSaved:"\u0421\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u043E",rowStatusError:"\u041E\u0448\u0438\u0431\u043A\u0430 \u0441\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u0438\u044F",rowStatusRetry:"\u041F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u044C",rowStatusDelete:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0441\u0442\u0440\u043E\u043A\u0443",editDeleteConfirm:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u044D\u0442\u0443 \u0441\u0442\u0440\u043E\u043A\u0443?",editAddRowUndo:"\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u0441\u0442\u0440\u043E\u043A\u0438",editDeleteRowUndo:"\u0423\u0434\u0430\u043B\u0435\u043D\u0438\u0435 \u0441\u0442\u0440\u043E\u043A\u0438",editCellUndo:"\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C {column}",editFillUndo:"\u0417\u0430\u043F\u043E\u043B\u043D\u0438\u0442\u044C {count} \u044F\u0447\u0435\u0435\u043A",editPasteUndo:"\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044C {count} \u044F\u0447\u0435\u0435\u043A",editCutUndo:"\u0412\u044B\u0440\u0435\u0437\u0430\u0442\u044C {count} \u044F\u0447\u0435\u0435\u043A",editGroupTotal:"\u0418\u0442\u043E\u0433 \u0433\u0440\u0443\u043F\u043F\u044B",editGroupTotalUndo:"\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0438\u0442\u043E\u0433 {column} ({count} \u0441\u0442\u0440\u043E\u043A)",editNoMatch:"\u0421\u043E\u0432\u043F\u0430\u0434\u0435\u043D\u0438\u0439 \u043D\u0435\u0442",formEditTitle:"\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0441\u0442\u0440\u043E\u043A\u0443",formAddTitle:"\u041D\u043E\u0432\u0430\u044F \u0441\u0442\u0440\u043E\u043A\u0430",formShortcut:"{key}+Enter \u2014 \u0441\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \xB7 Esc \u2014 \u043E\u0442\u043C\u0435\u043D\u0438\u0442\u044C",validationRequired:"\u042D\u0442\u043E \u043F\u043E\u043B\u0435 \u043E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u043E",validationNumber:"\u0414\u043E\u043B\u0436\u043D\u043E \u0431\u044B\u0442\u044C \u0447\u0438\u0441\u043B\u043E\u043C",validationNumberLocale:"\u041D\u0435\u0432\u0435\u0440\u043D\u043E\u0435 \u0447\u0438\u0441\u043B\u043E. \u041F\u0438\u0448\u0438\u0442\u0435 \u0442\u0430\u043A: {example}",validationMin:"\u0414\u043E\u043B\u0436\u043D\u043E \u0431\u044B\u0442\u044C \u043D\u0435 \u043C\u0435\u043D\u044C\u0448\u0435 {min}",validationMax:"\u0414\u043E\u043B\u0436\u043D\u043E \u0431\u044B\u0442\u044C \u043D\u0435 \u0431\u043E\u043B\u044C\u0448\u0435 {max}",validationFormat:"\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0444\u043E\u0440\u043C\u0430\u0442",validationEmail:"\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0430\u0434\u0440\u0435\u0441 \u044D\u043B\u0435\u043A\u0442\u0440\u043E\u043D\u043D\u043E\u0439 \u043F\u043E\u0447\u0442\u044B",validationInvalid:"\u041D\u0435\u0432\u0435\u0440\u043D\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435",dateCalendar:"\u041A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044C",dateOpenCalendar:"\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u043A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044C",datePreviousMonth:"\u041F\u0440\u0435\u0434\u044B\u0434\u0443\u0449\u0438\u0439 \u043C\u0435\u0441\u044F\u0446",dateNextMonth:"\u0421\u043B\u0435\u0434\u0443\u044E\u0449\u0438\u0439 \u043C\u0435\u0441\u044F\u0446",monthJanuary:"\u042F\u043D\u0432\u0430\u0440\u044C",monthFebruary:"\u0424\u0435\u0432\u0440\u0430\u043B\u044C",monthMarch:"\u041C\u0430\u0440\u0442",monthApril:"\u0410\u043F\u0440\u0435\u043B\u044C",monthMay:"\u041C\u0430\u0439",monthJune:"\u0418\u044E\u043D\u044C",monthJuly:"\u0418\u044E\u043B\u044C",monthAugust:"\u0410\u0432\u0433\u0443\u0441\u0442",monthSeptember:"\u0421\u0435\u043D\u0442\u044F\u0431\u0440\u044C",monthOctober:"\u041E\u043A\u0442\u044F\u0431\u0440\u044C",monthNovember:"\u041D\u043E\u044F\u0431\u0440\u044C",monthDecember:"\u0414\u0435\u043A\u0430\u0431\u0440\u044C",weekStartsOn:"1",weekdaySu:"\u0412\u0441",weekdayMo:"\u041F\u043D",weekdayTu:"\u0412\u0442",weekdayWe:"\u0421\u0440",weekdayTh:"\u0427\u0442",weekdayFr:"\u041F\u0442",weekdaySa:"\u0421\u0431",importTitle:"\u0418\u043C\u043F\u043E\u0440\u0442 \u0434\u0430\u043D\u043D\u044B\u0445",importStepSource:"1. \u0418\u0441\u0442\u043E\u0447\u043D\u0438\u043A",importStepMap:"2. \u0421\u043E\u043F\u043E\u0441\u0442\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u0441\u0442\u043E\u043B\u0431\u0446\u043E\u0432",importFile:"\u0424\u0430\u0439\u043B CSV",importPaste:"\u2026\u0438\u043B\u0438 \u0432\u0441\u0442\u0430\u0432\u044C\u0442\u0435 \u0441\u0442\u0440\u043E\u043A\u0438",importSeparator:"\u0420\u0430\u0437\u0434\u0435\u043B\u0438\u0442\u0435\u043B\u044C",importSeparatorAuto:"\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u0438\u0442\u044C \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438",importSeparatorComma:"\u0417\u0430\u043F\u044F\u0442\u0430\u044F ,",importSeparatorSemicolon:"\u0422\u043E\u0447\u043A\u0430 \u0441 \u0437\u0430\u043F\u044F\u0442\u043E\u0439 ;",importSeparatorTab:"\u0422\u0430\u0431\u0443\u043B\u044F\u0446\u0438\u044F",importSeparatorPipe:"\u0412\u0435\u0440\u0442\u0438\u043A\u0430\u043B\u044C\u043D\u0430\u044F \u0447\u0435\u0440\u0442\u0430 |",importFileColumn:"\u0421\u0442\u043E\u043B\u0431\u0435\u0446 \u0444\u0430\u0439\u043B\u0430",importDetected:"\u041E\u043F\u0440\u0435\u0434\u0435\u043B\u0435\u043D\u043E",importGridColumn:"\u0421\u0442\u043E\u043B\u0431\u0435\u0446 \u0442\u0430\u0431\u043B\u0438\u0446\u044B",importSample:"\u041F\u0440\u0438\u043C\u0435\u0440",importSkip:"\u2014 \u043F\u0440\u043E\u043F\u0443\u0441\u0442\u0438\u0442\u044C \u2014",importPreview:"\u041F\u0440\u0435\u0434\u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440",importNoSource:"\u0421\u043D\u0430\u0447\u0430\u043B\u0430 \u0432\u044B\u0431\u0435\u0440\u0438\u0442\u0435 \u0444\u0430\u0439\u043B \u0438\u043B\u0438 \u0432\u0441\u0442\u0430\u0432\u044C\u0442\u0435 \u0441\u0442\u0440\u043E\u043A\u0438.",importNoRows:"\u0421\u0442\u0440\u043E\u043A\u0438 \u0434\u0430\u043D\u043D\u044B\u0445 \u043D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u044B.",importAction:"\u0418\u043C\u043F\u043E\u0440\u0442",exportAborted:"\u042D\u043A\u0441\u043F\u043E\u0440\u0442 \u043F\u0440\u0435\u0440\u0432\u0430\u043D",exportSheetName:"\u0414\u0430\u043D\u043D\u044B\u0435",chart:"\u0414\u0438\u0430\u0433\u0440\u0430\u043C\u043C\u0430",chartCategory:"\u041A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u044F",chartSeries:"\u0420\u044F\u0434",chartAddSeries:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0440\u044F\u0434",chartRemoveSeries:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C",chartSource:"\u0414\u0430\u043D\u043D\u044B\u0435",chartSourceView:"\u041E\u0442\u0444\u0438\u043B\u044C\u0442\u0440\u043E\u0432\u0430\u043D\u043D\u044B\u0435 \u0441\u0442\u0440\u043E\u043A\u0438",chartSourceSelection:"\u0412\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0435 \u0441\u0442\u0440\u043E\u043A\u0438",chartSourceAll:"\u0412\u0441\u0435 \u0441\u0442\u0440\u043E\u043A\u0438",chartSourceRange:"\u0412\u044B\u0431\u0440\u0430\u043D\u043D\u044B\u0439 \u0434\u0438\u0430\u043F\u0430\u0437\u043E\u043D (\u0441\u0442\u0440\u043E\u043A\u0438 {from}\u2013{to})",chartClose:"\u0417\u0430\u043A\u0440\u044B\u0442\u044C \u0434\u0438\u0430\u0433\u0440\u0430\u043C\u043C\u0443",chartFullscreen:"\u0412\u043E \u0432\u0435\u0441\u044C \u044D\u043A\u0440\u0430\u043D",chartExitFullscreen:"\u0412\u044B\u0439\u0442\u0438 \u0438\u0437 \u043F\u043E\u043B\u043D\u043E\u044D\u043A\u0440\u0430\u043D\u043D\u043E\u0433\u043E \u0440\u0435\u0436\u0438\u043C\u0430",chartFloat:"\u041E\u0442\u043A\u0440\u0435\u043F\u0438\u0442\u044C",chartDock:"\u0417\u0430\u043A\u0440\u0435\u043F\u0438\u0442\u044C",chartNewWindow:"\u041D\u043E\u0432\u043E\u0435 \u043E\u043A\u043D\u043E",chartMoveWindow:"\u041F\u0435\u0440\u0435\u043C\u0435\u0441\u0442\u0438\u0442\u044C \u043E\u043A\u043D\u043E \u0434\u0438\u0430\u0433\u0440\u0430\u043C\u043C\u044B",chartResizeWindow:"\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0440\u0430\u0437\u043C\u0435\u0440 \u043E\u043A\u043D\u0430 \u0434\u0438\u0430\u0433\u0440\u0430\u043C\u043C\u044B",chartResizeDock:"\u041F\u0435\u0440\u0435\u0442\u0430\u0449\u0438\u0442\u0435, \u0447\u0442\u043E\u0431\u044B \u0438\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0432\u044B\u0441\u043E\u0442\u0443 \u0434\u0438\u0430\u0433\u0440\u0430\u043C\u043C\u044B",chartSwitch:"\u041F\u043E\u043C\u0435\u043D\u044F\u0442\u044C \u043A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u0438 \u0438 \u0440\u044F\u0434\u044B",chartUnlink:"\u041E\u0442\u0432\u044F\u0437\u0430\u0442\u044C",chartLink:"\u041F\u0440\u0438\u0432\u044F\u0437\u0430\u0442\u044C",chartUnlinked:"\u041E\u0442\u0432\u044F\u0437\u0430\u043D\u043E: \u0434\u0438\u0430\u0433\u0440\u0430\u043C\u043C\u0430 \u0441\u043E\u0445\u0440\u0430\u043D\u044F\u0435\u0442 \u0441\u0432\u043E\u0438 \u0434\u0430\u043D\u043D\u044B\u0435 \u0438 \u0431\u043E\u043B\u044C\u0448\u0435 \u043D\u0435 \u0441\u043B\u0435\u0434\u0443\u0435\u0442 \u0437\u0430 \u0442\u0430\u0431\u043B\u0438\u0446\u0435\u0439.",chartExportPng:"PNG",chartExportSvg:"SVG",chartExportFailed:"\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u044D\u043A\u0441\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u0434\u0438\u0430\u0433\u0440\u0430\u043C\u043C\u0443.",chartCrossFiltered:"\u0422\u0430\u0431\u043B\u0438\u0446\u0430 \u043E\u0442\u0444\u0438\u043B\u044C\u0442\u0440\u043E\u0432\u0430\u043D\u0430 \u043F\u043E \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u044E {value}.",chartBlankCategory:"(\u043F\u0443\u0441\u0442\u043E)",chartTruncated:"\u041F\u043E\u043A\u0430\u0437\u0430\u043D\u044B {n} \u043E\u0441\u043D\u043E\u0432\u043D\u044B\u0445 \u043A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u0439; \u043E\u0441\u0442\u0430\u043B\u044C\u043D\u044B\u0435 \u043E\u0431\u044A\u0435\u0434\u0438\u043D\u0435\u043D\u044B \u043A\u0430\u043A \xAB\u041F\u0440\u043E\u0447\u0435\u0435\xBB.",chartOther:"\u041F\u0440\u043E\u0447\u0435\u0435",chartEmpty:"\u041F\u043E\u043A\u0430 \u043D\u0435\u0447\u0435\u0433\u043E \u043E\u0442\u043E\u0431\u0440\u0430\u0436\u0430\u0442\u044C.",chartNoVisibleSeries:"\u041D\u0435\u0442 \u0432\u0438\u0434\u0438\u043C\u044B\u0445 \u0440\u044F\u0434\u043E\u0432.",chartNeedsMoreSeries:"\u0414\u043B\u044F \u044D\u0442\u043E\u0433\u043E \u0442\u0438\u043F\u0430 \u0434\u0438\u0430\u0433\u0440\u0430\u043C\u043C\u044B \u043D\u0443\u0436\u043D\u044B \u043C\u0438\u043D\u0438\u043C\u0443\u043C \u0434\u0432\u0430 \u0441\u0442\u043E\u043B\u0431\u0446\u0430 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0439 (\u043D\u0430\u043F\u0440\u0438\u043C\u0435\u0440, \u043C\u0438\u043D\u0438\u043C\u0443\u043C \u0438 \u043C\u0430\u043A\u0441\u0438\u043C\u0443\u043C) \u2014 \u0434\u043E\u0431\u0430\u0432\u044C\u0442\u0435 \u0432\u0442\u043E\u0440\u043E\u0439 \u0440\u044F\u0434.",chartLoading:"\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430\u2026",chartNeedsRecharts:"\u0414\u043B\u044F \u0434\u0438\u0430\u0433\u0440\u0430\u043C\u043C \u043D\u0443\u0436\u0435\u043D \u043D\u0435\u043E\u0431\u044F\u0437\u0430\u0442\u0435\u043B\u044C\u043D\u044B\u0439 \u043F\u0430\u043A\u0435\u0442 `recharts`. \u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0435 \u0435\u0433\u043E, \u0447\u0442\u043E\u0431\u044B \u0438\u0445 \u0440\u0438\u0441\u043E\u0432\u0430\u0442\u044C.",chartOnlyOneSeries:"\u042D\u0442\u043E\u0442 \u0442\u0438\u043F \u0434\u0438\u0430\u0433\u0440\u0430\u043C\u043C\u044B \u043F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0435\u0442 \u043E\u0434\u0438\u043D \u0440\u044F\u0434.",chartByColumn:"\u0414\u0438\u0430\u0433\u0440\u0430\u043C\u043C\u0430 \u043F\u043E \u044D\u0442\u043E\u043C\u0443 \u0441\u0442\u043E\u043B\u0431\u0446\u0443",chartGroupBy:"\u041F\u043E",chartGroupNone:"\u041A\u0430\u0436\u0434\u043E\u0435 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0435",chartGroupAuto:"\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438",chartGroupDay:"\u0414\u0435\u043D\u044C",chartGroupWeek:"\u041D\u0435\u0434\u0435\u043B\u044F",chartGroupMonth:"\u041C\u0435\u0441\u044F\u0446",chartGroupQuarter:"\u041A\u0432\u0430\u0440\u0442\u0430\u043B",chartGroupYear:"\u0413\u043E\u0434",chartGroupBins:"\u0438\u043D\u0442\u0435\u0440\u0432\u0430\u043B\u043E\u0432: {n}",chartBucketAdjusted:"\u0421\u043B\u0438\u0448\u043A\u043E\u043C \u043C\u043D\u043E\u0433\u043E \u0438\u043D\u0442\u0435\u0440\u0432\u0430\u043B\u043E\u0432 \u0434\u043B\u044F \u043E\u0434\u043D\u043E\u0439 \u043E\u0441\u0438 \u2014 \u0441\u0433\u0440\u0443\u043F\u043F\u0438\u0440\u043E\u0432\u0430\u043D\u043E \u043A\u0440\u0443\u043F\u043D\u0435\u0435.",chartWindowed:"\u041F\u043E\u043A\u0430\u0437\u0430\u043D\u043E {shown} \u0438\u0437 {total}.",chartShowAll:"\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0432\u0441\u0435",chartCanvasHint:"\u0414\u0438\u0430\u0433\u0440\u0430\u043C\u043C\u0430. \u041F\u0440\u043E\u043A\u0440\u0443\u0442\u043A\u0430 \u2014 \u043C\u0430\u0441\u0448\u0442\u0430\u0431, \u043F\u0435\u0440\u0435\u0442\u0430\u0441\u043A\u0438\u0432\u0430\u043D\u0438\u0435 \u2014 \u0441\u0434\u0432\u0438\u0433, \u0441\u0442\u0440\u0435\u043B\u043A\u0438 \u2014 \u043F\u0435\u0440\u0435\u043C\u0435\u0449\u0435\u043D\u0438\u0435, 0 \u2014 \u043F\u043E\u043A\u0430\u0437\u0430\u0442\u044C \u0432\u0441\u0435.",chartCanvasHintPick:"\u0414\u0438\u0430\u0433\u0440\u0430\u043C\u043C\u0430. \u0421\u0442\u0440\u0435\u043B\u043A\u0438 \u0432\u044B\u0431\u0438\u0440\u0430\u044E\u0442 \u043A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u044E, Enter \u0438\u043B\u0438 \u041F\u0440\u043E\u0431\u0435\u043B \u0444\u0438\u043B\u044C\u0442\u0440\u0443\u0435\u0442 \u043F\u043E \u043D\u0435\u0439 \u0442\u0430\u0431\u043B\u0438\u0446\u0443 (Ctrl \u0434\u043E\u0431\u0430\u0432\u043B\u044F\u0435\u0442), + \u0438 \u2212 \u043C\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u0443\u044E\u0442, 0 \u043F\u043E\u043A\u0430\u0437\u044B\u0432\u0430\u0435\u0442 \u0432\u0441\u0451.",chartCategoryFocus:"{category}: {values} \u2014 {position} \u0438\u0437 {count}",chartCategoryFiltered:"\u0444\u0438\u043B\u044C\u0442\u0440\u0443\u0435\u0442 \u0442\u0430\u0431\u043B\u0438\u0446\u0443",chartAggSum:"\u0421\u0443\u043C\u043C\u0430",chartAggAvg:"\u0421\u0440\u0435\u0434\u043D\u0435\u0435",chartAggMin:"\u041C\u0438\u043D",chartAggMax:"\u041C\u0430\u043A\u0441",chartAggCount:"\u041A\u043E\u043B\u0438\u0447\u0435\u0441\u0442\u0432\u043E",chartAggDistinct:"\u0423\u043D\u0438\u043A\u0430\u043B\u044C\u043D\u044B\u0435",chartAggFirst:"\u041F\u0435\u0440\u0432\u043E\u0435",chartAggLast:"\u041F\u043E\u0441\u043B\u0435\u0434\u043D\u0435\u0435",chartTypeColumn:"\u0421\u0442\u043E\u043B\u0431\u0446\u044B",chartTypeBar:"\u041F\u043E\u043B\u043E\u0441\u044B",chartTypeLine:"\u041B\u0438\u043D\u0438\u044F",chartTypeArea:"\u041E\u0431\u043B\u0430\u0441\u0442\u044C",chartTypePie:"\u041A\u0440\u0443\u0433\u043E\u0432\u0430\u044F",chartTypeDonut:"\u041A\u043E\u043B\u044C\u0446\u0435\u0432\u0430\u044F",chartStacking:"\u0420\u0430\u0441\u043F\u043E\u043B\u043E\u0436\u0435\u043D\u0438\u0435 \u0440\u044F\u0434\u043E\u0432",chartStackGrouped:"\u0413\u0440\u0443\u043F\u043F\u0438\u0440\u043E\u0432\u043A\u0430",chartStackStacked:"\u0421 \u043D\u0430\u043A\u043E\u043F\u043B\u0435\u043D\u0438\u0435\u043C",chartStackNormalized:"\u041D\u043E\u0440\u043C\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u043E\u0435 100%",chartFormat:"\u0424\u043E\u0440\u043C\u0430\u0442",chartFormatTitle:"\u0417\u0430\u0433\u043E\u043B\u043E\u0432\u043E\u043A",chartFormatCategoryAxis:"\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u043E\u0441\u0438 \u043A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u0439",chartFormatValueAxis:"\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435 \u043E\u0441\u0438 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0439",chartFormatLegend:"\u041B\u0435\u0433\u0435\u043D\u0434\u0430",chartLegendTop:"\u0421\u0432\u0435\u0440\u0445\u0443",chartLegendBottom:"\u0421\u043D\u0438\u0437\u0443",chartLegendLeft:"\u0421\u043B\u0435\u0432\u0430",chartLegendRight:"\u0421\u043F\u0440\u0430\u0432\u0430",chartLegendNone:"\u0421\u043A\u0440\u044B\u0442\u0430",chartFormatDataLabels:"\u041F\u043E\u0434\u043F\u0438\u0441\u0438 \u0434\u0430\u043D\u043D\u044B\u0445",chartFormatScale:"\u0428\u043A\u0430\u043B\u0430 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0439",chartScaleLinear:"\u041B\u0438\u043D\u0435\u0439\u043D\u0430\u044F",chartScaleLog:"\u041B\u043E\u0433\u0430\u0440\u0438\u0444\u043C\u0438\u0447\u0435\u0441\u043A\u0430\u044F",chartFormatTextSize:"\u0420\u0430\u0437\u043C\u0435\u0440 \u0442\u0435\u043A\u0441\u0442\u0430",chartFormatTextColor:"\u0426\u0432\u0435\u0442 \u0442\u0435\u043A\u0441\u0442\u0430",chartFormatDefault:"\u041F\u043E \u0443\u043C\u043E\u043B\u0447\u0430\u043D\u0438\u044E",chartFormatLabelAngle:"\u041F\u043E\u0434\u043F\u0438\u0441\u0438 \u043A\u0430\u0442\u0435\u0433\u043E\u0440\u0438\u0439",chartAngleAuto:"\u0410\u0432\u0442\u043E",chartAngleFlat:"\u0413\u043E\u0440\u0438\u0437\u043E\u043D\u0442\u0430\u043B\u044C\u043D\u043E",chartFormatGridLines:"\u041B\u0438\u043D\u0438\u0438 \u0441\u0435\u0442\u043A\u0438",chartGridValue:"\u041E\u0441\u044C \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0439",chartGridBoth:"\u041E\u0431\u0435 \u043E\u0441\u0438",chartGridNone:"\u041D\u0435\u0442",chartFormatGridDashed:"\u041F\u0443\u043D\u043A\u0442\u0438\u0440\u043D\u0430\u044F \u0441\u0435\u0442\u043A\u0430",chartFormatLineWidth:"\u0422\u043E\u043B\u0449\u0438\u043D\u0430 \u043B\u0438\u043D\u0438\u0438",chartFormatLineDashed:"\u041F\u0443\u043D\u043A\u0442\u0438\u0440\u043D\u044B\u0435 \u043B\u0438\u043D\u0438\u0438",chartFormatFillOpacity:"\u041D\u0435\u043F\u0440\u043E\u0437\u0440\u0430\u0447\u043D\u043E\u0441\u0442\u044C \u0437\u0430\u043B\u0438\u0432\u043A\u0438",chartFormatDateFormat:"\u0424\u043E\u0440\u043C\u0430\u0442 \u0434\u0430\u0442\u044B",chartFormatPalette:"\u0426\u0432\u0435\u0442\u0430",chartPaletteTheme:"\u0422\u0435\u043C\u0430",chartPaletteClassic:"\u041A\u043B\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043A\u0430\u044F",chartPaletteColorblind:"\u0414\u043B\u044F \u0434\u0430\u043B\u044C\u0442\u043E\u043D\u0438\u043A\u043E\u0432",chartPaletteVivid:"\u042F\u0440\u043A\u0430\u044F",chartPaletteMonochrome:"\u041E\u0434\u0438\u043D \u0446\u0432\u0435\u0442",sparklineSummary:"{count} \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0439 \u043E\u0442 {min} \u0434\u043E {max}, \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0435\u0435 {last}",chartTypeWaterfall:"\u041A\u0430\u0441\u043A\u0430\u0434\u043D\u0430\u044F",chartTypeFunnel:"\u0412\u043E\u0440\u043E\u043D\u043A\u0430",chartTypeTreemap:"\u041F\u043B\u043E\u0441\u043A\u043E\u0435 \u0434\u0435\u0440\u0435\u0432\u043E",chartTypeHeatmap:"\u0422\u0435\u043F\u043B\u043E\u0432\u0430\u044F \u043A\u0430\u0440\u0442\u0430",chartTypeBox:"\u042F\u0449\u0438\u043A \u0441 \u0443\u0441\u0430\u043C\u0438",chartTypeRadar:"\u041B\u0435\u043F\u0435\u0441\u0442\u043A\u043E\u0432\u0430\u044F",chartTypeRangeBar:"\u0414\u0438\u0430\u043F\u0430\u0437\u043E\u043D",chartBoxQ1:"Q1",chartBoxMedian:"\u041C\u0435\u0434\u0438\u0430\u043D\u0430",chartBoxQ3:"Q3",chartBoxOutlier:"\u0412\u044B\u0431\u0440\u043E\u0441",chartTotal:"\u0418\u0442\u043E\u0433\u043E",chartTypeScatter:"\u0422\u043E\u0447\u0435\u0447\u043D\u0430\u044F",chartTypeBubble:"\u041F\u0443\u0437\u044B\u0440\u044C\u043A\u043E\u0432\u0430\u044F",chartXAxis:"\u041E\u0441\u044C X",chartBubbleSize:"\u0420\u0430\u0437\u043C\u0435\u0440",chartXYSampled:"{shown} \u0438\u0437 {total} \u0442\u043E\u0447\u0435\u043A, \u0440\u0430\u0432\u043D\u043E\u043C\u0435\u0440\u043D\u0430\u044F \u0432\u044B\u0431\u043E\u0440\u043A\u0430",licenseMissing:"\u0411\u0435\u0437 \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u0438",licenseExpired:"\u0421\u0440\u043E\u043A \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044F \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u0438 \u0438\u0441\u0442\u0451\u043A",licenseReleaseNotCovered:"\u042D\u0442\u0430 \u0432\u0435\u0440\u0441\u0438\u044F \u043D\u0435 \u043F\u043E\u043A\u0440\u044B\u0432\u0430\u0435\u0442\u0441\u044F \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u0435\u0439",licenseDomainMismatch:"\u041B\u0438\u0446\u0435\u043D\u0437\u0438\u044F \u043D\u0435\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043B\u044C\u043D\u0430 \u0434\u043B\u044F \u044D\u0442\u043E\u0433\u043E \u0434\u043E\u043C\u0435\u043D\u0430",licenseRevoked:"\u041B\u0438\u0446\u0435\u043D\u0437\u0438\u044F \u043E\u0442\u043E\u0437\u0432\u0430\u043D\u0430",licenseInvalidFormat:"\u041D\u0435\u0432\u0435\u0440\u043D\u044B\u0439 \u0444\u043E\u0440\u043C\u0430\u0442 \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u043E\u043D\u043D\u043E\u0433\u043E \u043A\u043B\u044E\u0447\u0430",licenseInvalidSignature:"\u041D\u0435\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043B\u044C\u043D\u0430\u044F \u043F\u043E\u0434\u043F\u0438\u0441\u044C \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u0438",licenseEngineUnavailable:"\u0411\u0440\u0430\u0443\u0437\u0435\u0440 \u043D\u0435 \u043C\u043E\u0436\u0435\u0442 \u043F\u0440\u043E\u0432\u0435\u0440\u0438\u0442\u044C \u043B\u0438\u0446\u0435\u043D\u0437\u0438\u044E (\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044F HTTPS)",calcAdd:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0432\u044B\u0447\u0438\u0441\u043B\u044F\u0435\u043C\u044B\u0439 \u0441\u0442\u043E\u043B\u0431\u0435\u0446\u2026",calcEdit:"\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0432\u044B\u0447\u0438\u0441\u043B\u044F\u0435\u043C\u044B\u0439 \u0441\u0442\u043E\u043B\u0431\u0435\u0446\u2026",calcRemove:"\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0432\u044B\u0447\u0438\u0441\u043B\u044F\u0435\u043C\u044B\u0439 \u0441\u0442\u043E\u043B\u0431\u0435\u0446",calcTitleAdd:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C \u0432\u044B\u0447\u0438\u0441\u043B\u044F\u0435\u043C\u044B\u0439 \u0441\u0442\u043E\u043B\u0431\u0435\u0446",calcTitleEdit:"\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C \u0432\u044B\u0447\u0438\u0441\u043B\u044F\u0435\u043C\u044B\u0439 \u0441\u0442\u043E\u043B\u0431\u0435\u0446",calcName:"\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435",calcFormula:"\u0424\u043E\u0440\u043C\u0443\u043B\u0430",calcFormulaHint:"\u0421\u0442\u043E\u043B\u0431\u0435\u0446 \u043F\u0438\u0448\u0435\u0442\u0441\u044F \u043A\u0430\u043A [\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435]. \u041F\u0440\u0438\u043C\u0435\u0440: [\u0426\u0435\u043D\u0430] * [\u041A\u043E\u043B-\u0432\u043E]",calcColumns:"\u0421\u0442\u043E\u043B\u0431\u0446\u044B",calcFunctions:"\u0424\u0443\u043D\u043A\u0446\u0438\u0438",calcPreview:"\u041F\u0440\u0435\u0434\u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440",calcPreviewEmpty:"\u041D\u0435\u0442 \u0441\u0442\u0440\u043E\u043A \u0434\u043B\u044F \u043F\u0440\u0435\u0434\u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440\u0430",calcErrorAt:"{message} (\u0441\u0438\u043C\u0432\u043E\u043B {position})",calcAddButton:"\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C",calcArgsAtLeast:"{min} \u0438\u043B\u0438 \u0431\u043E\u043B\u044C\u0448\u0435",formulaError_empty:"\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0444\u043E\u0440\u043C\u0443\u043B\u0443",formulaError_unclosedText:'\u0422\u0435\u043A\u0441\u0442 \u043D\u0435 \u0437\u0430\u043A\u0440\u044B\u0442: \u043D\u0435 \u0445\u0432\u0430\u0442\u0430\u0435\u0442 "',formulaError_unclosedColumn:"\u0418\u043C\u044F \u0441\u0442\u043E\u043B\u0431\u0446\u0430 \u043D\u0435 \u0437\u0430\u043A\u0440\u044B\u0442\u043E: \u043D\u0435 \u0445\u0432\u0430\u0442\u0430\u0435\u0442 ]",formulaError_emptyColumn:"\u041F\u0443\u0441\u0442\u043E\u0435 \u0438\u043C\u044F \u0441\u0442\u043E\u043B\u0431\u0446\u0430 []",formulaError_unexpectedChar:"\u041D\u0435\u043E\u0436\u0438\u0434\u0430\u043D\u043D\u044B\u0439 \u0441\u0438\u043C\u0432\u043E\u043B {text}",formulaError_expected:"\u041D\u0435 \u0445\u0432\u0430\u0442\u0430\u0435\u0442 {text}",formulaError_cellAfterColon:'\u041F\u043E\u0441\u043B\u0435 ":" \u043D\u0435 \u0445\u0432\u0430\u0442\u0430\u0435\u0442 \u044F\u0447\u0435\u0439\u043A\u0438',formulaError_unknownName:"\u041D\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043D\u043E\u0435 \u0438\u043C\u044F {name} \u2014 \u0441\u0442\u043E\u043B\u0431\u0435\u0446 \u043F\u0438\u0448\u0435\u0442\u0441\u044F \u043A\u0430\u043A [{name}]",formulaError_unexpected:"\u041D\u0435\u043E\u0436\u0438\u0434\u0430\u043D\u043D\u044B\u0439 {text}",formulaError_endsEarly:"\u0424\u043E\u0440\u043C\u0443\u043B\u0430 \u043E\u0431\u0440\u044B\u0432\u0430\u0435\u0442\u0441\u044F",formulaError_trailing:"\u041B\u0438\u0448\u043D\u0438\u0439 \u0442\u0435\u043A\u0441\u0442 \u0432 \u043A\u043E\u043D\u0446\u0435",formulaError_unknownColumn:"\u0421\u0442\u043E\u043B\u0431\u0446\u0430 [{name}] \u043D\u0435\u0442",formulaError_unknownFunction:"\u041D\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043D\u0430\u044F \u0444\u0443\u043D\u043A\u0446\u0438\u044F {name}",formulaError_argCount:"{name}: \u0430\u0440\u0433\u0443\u043C\u0435\u043D\u0442\u043E\u0432 \u0434\u043E\u043B\u0436\u043D\u043E \u0431\u044B\u0442\u044C {range}",formulaError_cellsNotAllowed:"\u0421\u0441\u044B\u043B\u043A\u0438 \u043D\u0430 \u044F\u0447\u0435\u0439\u043A\u0438 \u0432\u0440\u043E\u0434\u0435 A1 \u0437\u0434\u0435\u0441\u044C \u043D\u0435 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u0443\u044E\u0442\u0441\u044F \u2014 \u043F\u0438\u0448\u0438\u0442\u0435 \u0441\u0442\u043E\u043B\u0431\u0435\u0446 \u043A\u0430\u043A [\u041D\u0430\u0437\u0432\u0430\u043D\u0438\u0435]"},fm={ok:"\u0645\u0648\u0627\u0641\u0642",cancel:"\u0625\u0644\u063A\u0627\u0621",apply:"\u062A\u0637\u0628\u064A\u0642",close:"\u0625\u063A\u0644\u0627\u0642",clear:"\u0645\u0633\u062D",save:"\u062D\u0641\u0638",search:"\u0628\u062D\u062B...",selectAll:"\u062A\u062D\u062F\u064A\u062F \u0627\u0644\u0643\u0644",showAll:"\u0639\u0631\u0636 \u0627\u0644\u0643\u0644",remove:"\u0625\u0632\u0627\u0644\u0629",none:"\u0628\u0644\u0627",toolbarSearch:"\u0628\u062D\u062B...",exportMenu:"\u062A\u0635\u062F\u064A\u0631",exportCsv:"\u062A\u0635\u062F\u064A\u0631 \u0625\u0644\u0649 CSV",exportExcel:"\u062A\u0635\u062F\u064A\u0631 \u0643\u0644 \u0627\u0644\u0628\u064A\u0627\u0646\u0627\u062A \u0625\u0644\u0649 Excel",exportExcelSelected:"\u062A\u0635\u062F\u064A\u0631 \u0627\u0644\u0635\u0641\u0648\u0641 \u0627\u0644\u0645\u062D\u062F\u062F\u0629 \u0625\u0644\u0649 Excel",exportPdf:"\u062A\u0635\u062F\u064A\u0631 \u0625\u0644\u0649 PDF",exporting:"\u062C\u0627\u0631\u064A \u0627\u0644\u062A\u0635\u062F\u064A\u0631\u2026",columns:"\u0627\u0644\u0623\u0639\u0645\u062F\u0629",hiddenColumns:"\u0627\u0644\u0623\u0639\u0645\u062F\u0629 \u0627\u0644\u0645\u062E\u0641\u064A\u0629",noHiddenColumns:"\u0644\u0627 \u062A\u0648\u062C\u062F \u0623\u0639\u0645\u062F\u0629 \u0645\u062E\u0641\u064A\u0629.",sortAsc:"\u0627\u0644\u0641\u0631\u0632 \u0645\u0646 \u0623 \u0625\u0644\u0649 \u064A",sortDesc:"\u0627\u0644\u0641\u0631\u0632 \u0645\u0646 \u064A \u0625\u0644\u0649 \u0623",clearSort:"\u0645\u0633\u062D \u0627\u0644\u0641\u0631\u0632",cardSortBy:"\u062A\u0631\u062A\u064A\u0628 \u062D\u0633\u0628",groupByColumn:"\u062A\u062C\u0645\u064A\u0639 \u062D\u0633\u0628 \u0647\u0630\u0627 \u0627\u0644\u0639\u0645\u0648\u062F",ungroupColumn:"\u0625\u0632\u0627\u0644\u0629 \u0645\u0646 \u0627\u0644\u062A\u062C\u0645\u064A\u0639",showGroupPanel:"\u0639\u0631\u0636 \u0644\u0648\u062D\u0629 \u0627\u0644\u062A\u062C\u0645\u064A\u0639",hideGroupPanel:"\u0625\u062E\u0641\u0627\u0621 \u0644\u0648\u062D\u0629 \u0627\u0644\u062A\u062C\u0645\u064A\u0639",showFooter:"\u0639\u0631\u0636 \u0627\u0644\u062A\u0630\u064A\u064A\u0644",hideFooter:"\u0625\u062E\u0641\u0627\u0621 \u0627\u0644\u062A\u0630\u064A\u064A\u0644",showGroupFooters:"\u0639\u0631\u0636 \u062A\u0630\u064A\u064A\u0644\u0627\u062A \u0627\u0644\u0645\u062C\u0645\u0648\u0639\u0627\u062A",hideGroupFooters:"\u0625\u062E\u0641\u0627\u0621 \u062A\u0630\u064A\u064A\u0644\u0627\u062A \u0627\u0644\u0645\u062C\u0645\u0648\u0639\u0627\u062A",hideColumn:"\u0625\u062E\u0641\u0627\u0621 \u0647\u0630\u0627 \u0627\u0644\u0639\u0645\u0648\u062F",fieldChooser:"\u0645\u062D\u062F\u062F \u0627\u0644\u062D\u0642\u0648\u0644\u2026",bestFit:"\u0623\u0641\u0636\u0644 \u0639\u0631\u0636",bestFitAll:"\u0623\u0641\u0636\u0644 \u0639\u0631\u0636 (\u0643\u0644 \u0627\u0644\u0623\u0639\u0645\u062F\u0629)",pinRowTop:"\u062A\u062B\u0628\u064A\u062A \u0627\u0644\u0635\u0641 \u0641\u064A \u0627\u0644\u0623\u0639\u0644\u0649",pinRowBottom:"\u062A\u062B\u0628\u064A\u062A \u0627\u0644\u0635\u0641 \u0641\u064A \u0627\u0644\u0623\u0633\u0641\u0644",unpinRow:"\u0625\u0644\u063A\u0627\u0621 \u062A\u062B\u0628\u064A\u062A \u0627\u0644\u0635\u0641",findLabel:"\u0627\u0644\u0628\u062D\u062B \u0641\u064A \u0627\u0644\u062C\u062F\u0648\u0644",findPrevious:"\u0627\u0644\u0645\u0637\u0627\u0628\u0642\u0629 \u0627\u0644\u0633\u0627\u0628\u0642\u0629",findNext:"\u0627\u0644\u0645\u0637\u0627\u0628\u0642\u0629 \u0627\u0644\u062A\u0627\u0644\u064A\u0629",findClose:"\u0625\u063A\u0644\u0627\u0642 \u0627\u0644\u0628\u062D\u062B",findCount:"{n} \u0645\u0646 {count}",findNone:"\u0644\u0627 \u062A\u0648\u062C\u062F \u0645\u0637\u0627\u0628\u0642\u0627\u062A",renameColumn:"\u0625\u0639\u0627\u062F\u0629 \u062A\u0633\u0645\u064A\u0629 \u0627\u0644\u0639\u0645\u0648\u062F",fixedPosition:"\u062A\u0639\u064A\u064A\u0646 \u0645\u0648\u0636\u0639 \u062B\u0627\u0628\u062A",pinLeft:"\u064A\u0633\u0627\u0631",pinRight:"\u064A\u0645\u064A\u0646",pinSticky:"\u0645\u062B\u0628\u0651\u062A",unpin:"\u0625\u0644\u063A\u0627\u0621 \u0627\u0644\u062A\u062B\u0628\u064A\u062A",moveLeft:"\u0627\u0646\u062A\u0642\u0627\u0644 \u0644\u0644\u064A\u0633\u0627\u0631",moveRight:"\u0627\u0646\u062A\u0642\u0627\u0644 \u0644\u0644\u064A\u0645\u064A\u0646",filterPlaceholder:"\u062A\u0635\u0641\u064A\u0629\u2026",filterColumnAria:"\u062A\u0635\u0641\u064A\u0629 {column}",filterOperatorDefault:"\u0627\u0641\u062A\u0631\u0627\u0636\u064A",filterOperatorAria:"\u0639\u0627\u0645\u0644 \u0627\u0644\u062A\u0635\u0641\u064A\u0629 \u0644\u0640 {column}",filterSelectAll:"\u062A\u062D\u062F\u064A\u062F \u0627\u0644\u0643\u0644",filterBlank:"(\u0641\u0627\u0631\u063A)",filterNonBlank:"(\u063A\u064A\u0631 \u0641\u0627\u0631\u063A)",filterEmptyText:"(\u0646\u0635 \u0641\u0627\u0631\u063A)",filterSpace:"(\u0645\u0633\u0627\u0641\u0629 \u0648\u0627\u062D\u062F\u0629)",filterSpaces:"(\u0639\u062F\u062F \u0627\u0644\u0645\u0633\u0627\u0641\u0627\u062A: {n})",filterNoMatch:"\u0644\u0627 \u062A\u0648\u062C\u062F \u0642\u064A\u0645 \u0645\u0637\u0627\u0628\u0642\u0629",filterLoading:"\u062C\u0627\u0631\u064A \u062A\u062D\u0645\u064A\u0644 \u0627\u0644\u0642\u064A\u0645\u2026",filterTruncated:"\u062A\u064F\u0639\u0631\u0636 \u0627\u0644\u0642\u064A\u0645 \u0627\u0644\u0623\u0648\u0644\u0649 \u0641\u0642\u0637 \u2014 \u0627\u0633\u062A\u062E\u062F\u0645 \u0627\u0644\u0628\u062D\u062B \u0644\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0627\u0644\u0628\u0642\u064A\u0629.",filterRemove:"\u0625\u0632\u0627\u0644\u0629 \u0627\u0644\u062A\u0635\u0641\u064A\u0629",filterToggle:"\u062A\u0637\u0628\u064A\u0642 \u0627\u0644\u062A\u0635\u0641\u064A\u0629",filterEditBuilder:"\u062A\u0639\u062F\u064A\u0644 \u0627\u0644\u062A\u0635\u0641\u064A\u0629",filterNone:"\u0644\u0627 \u062A\u0648\u062C\u062F \u062A\u0635\u0641\u064A\u0629",filterActive:"\u0627\u0644\u062A\u0635\u0641\u064A\u0629 \u0645\u0641\u0639\u0651\u0644\u0629",opEquals:"\u064A\u0633\u0627\u0648\u064A",opNotEquals:"\u0644\u0627 \u064A\u0633\u0627\u0648\u064A",opGreater:">",opGreaterOrEqual:"\u2265",opLess:"<",opLessOrEqual:"\u2264",opContains:"\u064A\u062D\u062A\u0648\u064A \u0639\u0644\u0649",opNotContains:"\u0644\u0627 \u064A\u062D\u062A\u0648\u064A \u0639\u0644\u0649",opStartsWith:"\u064A\u0628\u062F\u0623 \u0628\u0640",opEndsWith:"\u064A\u0646\u062A\u0647\u064A \u0628\u0640",opIsBlank:"\u0641\u0627\u0631\u063A",opIsNotBlank:"\u063A\u064A\u0631 \u0641\u0627\u0631\u063A",opIsOneOf:"\u0648\u0627\u062D\u062F \u0645\u0646",opIsBetween:"\u0628\u064A\u0646",opValuesCount:"{n} \u0642\u064A\u0645\u0629",opInPeriod:"\u0636\u0645\u0646 \u0627\u0644\u0641\u062A\u0631\u0629",periodToday:"\u0627\u0644\u064A\u0648\u0645",periodYesterday:"\u0623\u0645\u0633",periodTomorrow:"\u063A\u062F\u064B\u0627",periodThisWeek:"\u0647\u0630\u0627 \u0627\u0644\u0623\u0633\u0628\u0648\u0639",periodLastWeek:"\u0627\u0644\u0623\u0633\u0628\u0648\u0639 \u0627\u0644\u0645\u0627\u0636\u064A",periodNextWeek:"\u0627\u0644\u0623\u0633\u0628\u0648\u0639 \u0627\u0644\u0642\u0627\u062F\u0645",periodThisMonth:"\u0647\u0630\u0627 \u0627\u0644\u0634\u0647\u0631",periodLastMonth:"\u0627\u0644\u0634\u0647\u0631 \u0627\u0644\u0645\u0627\u0636\u064A",periodNextMonth:"\u0627\u0644\u0634\u0647\u0631 \u0627\u0644\u0642\u0627\u062F\u0645",periodThisQuarter:"\u0647\u0630\u0627 \u0627\u0644\u0631\u0628\u0639",periodLastQuarter:"\u0627\u0644\u0631\u0628\u0639 \u0627\u0644\u0645\u0627\u0636\u064A",periodNextQuarter:"\u0627\u0644\u0631\u0628\u0639 \u0627\u0644\u0642\u0627\u062F\u0645",periodThisYear:"\u0647\u0630\u0627 \u0627\u0644\u0639\u0627\u0645",periodLastYear:"\u0627\u0644\u0639\u0627\u0645 \u0627\u0644\u0645\u0627\u0636\u064A",periodNextYear:"\u0627\u0644\u0639\u0627\u0645 \u0627\u0644\u0642\u0627\u062F\u0645",periodYearToDate:"\u0645\u0646\u0630 \u0628\u062F\u0627\u064A\u0629 \u0627\u0644\u0639\u0627\u0645",periodLastDays:"\u0622\u062E\u0631 {n} \u064A\u0648\u0645",periodNextDays:"\u0627\u0644\u0640 {n} \u064A\u0648\u0645 \u0627\u0644\u0642\u0627\u062F\u0645\u0629",filterAnd:"\u0648",filterOr:"\u0623\u0648",builderTitle:"\u0645\u0646\u0634\u0626 \u0627\u0644\u062A\u0635\u0641\u064A\u0629",builderCombine:"\u062F\u0645\u062C \u0627\u0644\u0634\u0631\u0648\u0637 \u0628\u0627\u0633\u062A\u062E\u062F\u0627\u0645",builderAddCondition:"\u0625\u0636\u0627\u0641\u0629 \u0634\u0631\u0637",builderAddGroup:"\u0625\u0636\u0627\u0641\u0629 \u0645\u062C\u0645\u0648\u0639\u0629",builderRemoveGroup:"\u0625\u0632\u0627\u0644\u0629 \u0627\u0644\u0645\u062C\u0645\u0648\u0639\u0629",builderRemoveCondition:"\u0625\u0632\u0627\u0644\u0629 \u0627\u0644\u0634\u0631\u0637",builderEmpty:"\u0644\u0627 \u062A\u0648\u062C\u062F \u0634\u0631\u0648\u0637 \u0628\u0639\u062F.",builderColumn:"\u0627\u0644\u0639\u0645\u0648\u062F",builderOperator:"\u0627\u0644\u0645\u064F\u0639\u0627\u0645\u0644",builderValue:"\u0627\u0644\u0642\u064A\u0645\u0629",builderValueFrom:"\u0645\u0646",builderValueTo:"\u0625\u0644\u0649",builderValuePlaceholder:"\u0623\u062F\u062E\u0644 \u0642\u064A\u0645\u0629",builderOpen:"\u0645\u0646\u0634\u0626 \u0627\u0644\u0645\u0631\u0634\u062D\u0627\u062A\u2026",builderClearAll:"\u0645\u0633\u062D \u0627\u0644\u0643\u0644",builderConditionButton:"+ \u0634\u0631\u0637",builderGroupButton:"+ \u0645\u062C\u0645\u0648\u0639\u0629",builderTrue:"\u0635\u062D\u064A\u062D",builderFalse:"\u062E\u0637\u0623",builderPeriod:"\u0627\u0644\u0641\u062A\u0631\u0629",builderDays:"\u0627\u0644\u0623\u064A\u0627\u0645",filterCustom:"(\u0645\u062E\u0635\u0635\u2026)",filterPopupAria:"\u0645\u0631\u0634\u062D {column}",importOpen:"\u0627\u0633\u062A\u064A\u0631\u0627\u062F\u2026",groupPanelHint:"\u0627\u0633\u062D\u0628 \u0639\u0645\u0648\u062F\u064B\u0627 \u0625\u0644\u0649 \u0647\u0646\u0627 \u0644\u0644\u062A\u062C\u0645\u064A\u0639 \u062D\u0633\u0628\u0647",groupAddLevel:"\u0625\u0636\u0627\u0641\u0629 \u0645\u0633\u062A\u0648\u0649 \u062A\u062C\u0645\u064A\u0639",groupAddLevelButton:"+ \u0625\u0636\u0627\u0641\u0629 \u0645\u0633\u062A\u0648\u0649\u2026",groupNoGrouping:"(\u0628\u062F\u0648\u0646 \u062A\u062C\u0645\u064A\u0639)",groupLevelAria:"\u0645\u0633\u062A\u0648\u0649 \u0627\u0644\u062A\u062C\u0645\u064A\u0639 {n}",groupRemoveAria:"\u0625\u0632\u0627\u0644\u0629 {column}",groupExpandAll:"\u062A\u0648\u0633\u064A\u0639 \u0627\u0644\u0643\u0644",groupCollapseAll:"\u0637\u064A \u0627\u0644\u0643\u0644",pagerFirst:"\u0627\u0644\u0635\u0641\u062D\u0629 \u0627\u0644\u0623\u0648\u0644\u0649",pagerPrevious:"\u0627\u0644\u0635\u0641\u062D\u0629 \u0627\u0644\u0633\u0627\u0628\u0642\u0629",pagerNext:"\u0627\u0644\u0635\u0641\u062D\u0629 \u0627\u0644\u062A\u0627\u0644\u064A\u0629",pagerLast:"\u0627\u0644\u0635\u0641\u062D\u0629 \u0627\u0644\u0623\u062E\u064A\u0631\u0629",pagerPage:"\u0635\u0641\u062D\u0629",pagerOf:"\u0645\u0646",pagerRowsPerPage:"\u0635\u0641\u0648\u0641 \u0644\u0643\u0644 \u0635\u0641\u062D\u0629",pagerAria:"\u062A\u0631\u0642\u064A\u0645 \u0627\u0644\u0635\u0641\u062D\u0627\u062A",pagerPageButton:"\u0627\u0644\u0635\u0641\u062D\u0629 {n}",selectAllRows:"\u062A\u062D\u062F\u064A\u062F \u0643\u0644 \u0627\u0644\u0635\u0641\u0648\u0641",selectRowAria:"\u062A\u062D\u062F\u064A\u062F \u0627\u0644\u0635\u0641 {row}",selectGroupAria:"\u062A\u062D\u062F\u064A\u062F \u0635\u0641\u0648\u0641 {group} \u0648\u0639\u062F\u062F\u0647\u0627 {count}",summaryAria:"\u0645\u0644\u062E\u0635",columnTotalsAria:"\u0625\u062C\u0645\u0627\u0644\u064A\u0627\u062A \u0627\u0644\u0623\u0639\u0645\u062F\u0629",rowActions:"\u0625\u062C\u0631\u0627\u0621\u0627\u062A \u0627\u0644\u0635\u0641",detailsAria:"\u0627\u0644\u062A\u0641\u0627\u0635\u064A\u0644",rowNumberAria:"\u0631\u0642\u0645 \u0627\u0644\u0635\u0641",noteEditorAria:"\u0645\u0644\u0627\u062D\u0638\u0629 \u0627\u0644\u062E\u0644\u064A\u0629",notePlaceholder:"\u0627\u0643\u062A\u0628 \u0645\u0644\u0627\u062D\u0638\u0629 \u062D\u0648\u0644 \u0647\u0630\u0647 \u0627\u0644\u062E\u0644\u064A\u0629\u2026",addNote:"\u0625\u0636\u0627\u0641\u0629 \u0645\u0644\u0627\u062D\u0638\u0629\u2026",editNote:"\u062A\u0639\u062F\u064A\u0644 \u0627\u0644\u0645\u0644\u0627\u062D\u0638\u0629\u2026",deleteNote:"\u062D\u0630\u0641 \u0627\u0644\u0645\u0644\u0627\u062D\u0638\u0629",expandDetails:"\u062A\u0648\u0633\u064A\u0639 \u0627\u0644\u062A\u0641\u0627\u0635\u064A\u0644",collapseDetails:"\u0637\u064A \u0627\u0644\u062A\u0641\u0627\u0635\u064A\u0644",expandTreeRow:"\u062A\u0648\u0633\u064A\u0639 \u0627\u0644\u0635\u0641",collapseTreeRow:"\u0637\u064A \u0627\u0644\u0635\u0641",expandColumnGroup:"\u062A\u0648\u0633\u064A\u0639 \u0645\u062C\u0645\u0648\u0639\u0629 \u0627\u0644\u0623\u0639\u0645\u062F\u0629",collapseColumnGroup:"\u0637\u064A \u0645\u062C\u0645\u0648\u0639\u0629 \u0627\u0644\u0623\u0639\u0645\u062F\u0629",dragToReorder:"\u0627\u0633\u062D\u0628 \u0644\u0625\u0639\u0627\u062F\u0629 \u0627\u0644\u062A\u0631\u062A\u064A\u0628",menuCopy:"\u0646\u0633\u062E",menuCopyWithHeaders:"\u0646\u0633\u062E \u0645\u0639 \u0627\u0644\u0639\u0646\u0627\u0648\u064A\u0646",menuCopyWithGroupHeaders:"\u0646\u0633\u062E \u0645\u0639 \u0639\u0646\u0627\u0648\u064A\u0646 \u0627\u0644\u0645\u062C\u0645\u0648\u0639\u0627\u062A",menuCut:"\u0642\u0635",menuPaste:"\u0644\u0635\u0642",menuExport:"\u062A\u0635\u062F\u064A\u0631",menuChartRange:"\u0631\u0633\u0645 \u0628\u064A\u0627\u0646\u064A \u0644\u0644\u062E\u0644\u0627\u064A\u0627 \u0627\u0644\u0645\u062D\u062F\u062F\u0629",statsSum:"\u0645\u062C\u0645\u0648\u0639",statsCount:"\u0627\u0644\u0639\u062F\u062F",statsAvg:"\u0645\u062A\u0648\u0633\u0637",statsMin:"\u0627\u0644\u062D\u062F \u0627\u0644\u0623\u062F\u0646\u0649",statsMax:"\u0627\u0644\u062D\u062F \u0627\u0644\u0623\u0642\u0635\u0649",statsCells:"\u0627\u0644\u062E\u0644\u0627\u064A\u0627",statsTooLarge:"\u0627\u0644\u062A\u062D\u062F\u064A\u062F \u0623\u0643\u0628\u0631 \u0645\u0646 \u0623\u0646 \u064A\u064F\u062C\u0645\u0639",statusRows:"\u0627\u0644\u0635\u0641\u0648\u0641",statusFiltered:"\u0645\u0635\u0641\u0651\u0649",statusSelected:"\u0645\u062D\u062F\u062F",summaryRows:"\u0635\u0641\u0648\u0641",announceRows:"{n} \u0635\u0641\u0648\u0641",announceSortedBy:"\u0645\u0631\u062A\u0628\u0629 \u062D\u0633\u0628 {columns}",announceSelected:"{n} \u0645\u062D\u062F\u062F\u0629",announceAscending:"\u062A\u0635\u0627\u0639\u062F\u064A",announceDescending:"\u062A\u0646\u0627\u0632\u0644\u064A",sideFilters:"\u0639\u0648\u0627\u0645\u0644 \u0627\u0644\u062A\u0635\u0641\u064A\u0629",sideBarAria:"\u0644\u0648\u062D\u0627\u062A \u0627\u0644\u0623\u062F\u0648\u0627\u062A",sideClearFilters:"\u0645\u0633\u062D \u0643\u0644 \u0639\u0648\u0627\u0645\u0644 \u0627\u0644\u062A\u0635\u0641\u064A\u0629",summarySum:"\u0645\u062C\u0645\u0648\u0639",summaryAvg:"\u0645\u062A\u0648\u0633\u0637",summaryMin:"\u0627\u0644\u062D\u062F \u0627\u0644\u0623\u062F\u0646\u0649",summaryMax:"\u0627\u0644\u062D\u062F \u0627\u0644\u0623\u0642\u0635\u0649",summaryCount:"\u0627\u0644\u0639\u062F\u062F",summaryDistinct:"\u0627\u0644\u0642\u064A\u0645 \u0627\u0644\u0641\u0631\u064A\u062F\u0629",summaryCustom:"\u0645\u062E\u0635\u0635",noTotal:"\u0644\u0627 \u064A\u0648\u062C\u062F \u0625\u062C\u0645\u0627\u0644\u064A",busy:"\u062C\u0627\u0631\u064A \u0627\u0644\u0639\u0645\u0644\u2026",busyLoading:"\u062C\u0627\u0631\u064A \u062A\u062D\u0645\u064A\u0644 \u0627\u0644\u0635\u0641\u0648\u0641\u2026",rowsLoadFailed:"\u062A\u0639\u0630\u0651\u0631 \u062A\u062D\u0645\u064A\u0644 \u0647\u0630\u0647 \u0627\u0644\u0635\u0641\u0648\u0641.",retryLoad:"\u0625\u0639\u0627\u062F\u0629 \u0627\u0644\u0645\u062D\u0627\u0648\u0644\u0629",busyEncoding:"\u062C\u0627\u0631\u064A \u062A\u062D\u0636\u064A\u0631 \u0627\u0644\u0628\u064A\u0627\u0646\u0627\u062A\u2026",busyFiltering:"\u062C\u0627\u0631\u064A \u062A\u0635\u0641\u064A\u0629 \u0627\u0644\u0635\u0641\u0648\u0641\u2026",busySorting:"\u062C\u0627\u0631\u064A \u0641\u0631\u0632 \u0627\u0644\u0635\u0641\u0648\u0641\u2026",busyComputing:"\u062C\u0627\u0631\u064A \u0627\u0644\u062A\u0635\u0641\u064A\u0629 \u0648\u0627\u0644\u0641\u0631\u0632\u2026",busyGrouping:"\u062C\u0627\u0631\u064A \u0625\u0646\u0634\u0627\u0621 \u0627\u0644\u0645\u062C\u0645\u0648\u0639\u0627\u062A\u2026",busyAggregating:"\u062C\u0627\u0631\u064A \u062D\u0633\u0627\u0628 \u0627\u0644\u0625\u062C\u0645\u0627\u0644\u064A\u0627\u062A\u2026",busyProjecting:"\u062C\u0627\u0631\u064A \u062A\u062D\u062F\u064A\u062B \u0627\u0644\u0639\u0631\u0636\u2026",busyExporting:"\u062C\u0627\u0631\u064A \u0625\u0646\u0634\u0627\u0621 \u0627\u0644\u0645\u0644\u0641\u2026",noData:"\u0644\u0645 \u064A\u062A\u0645 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0628\u064A\u0627\u0646\u0627\u062A",editNewRow:"\u0635\u0641 \u062C\u062F\u064A\u062F",editSaveChanges:"\u062D\u0641\u0638 \u0627\u0644\u062A\u063A\u064A\u064A\u0631\u0627\u062A",editDiscardChanges:"\u062A\u062C\u0627\u0647\u0644 \u0627\u0644\u062A\u063A\u064A\u064A\u0631\u0627\u062A",editRow:"\u062A\u0639\u062F\u064A\u0644 \u0627\u0644\u0635\u0641",editRowMenu:"\u062A\u0639\u062F\u064A\u0644 \u0627\u0644\u0635\u0641\u2026",editDeleteRow:"\u062D\u0630\u0641 \u0627\u0644\u0635\u0641",editUndoDelete:"\u062A\u0631\u0627\u062C\u0639 \u0639\u0646 \u0627\u0644\u062D\u0630\u0641",editActions:"\u0627\u0644\u0625\u062C\u0631\u0627\u0621\u0627\u062A",editSaveRow:"\u062D\u0641\u0638 \u0627\u0644\u0635\u0641",editSaving:"\u062C\u0627\u0631\u064A \u0627\u0644\u062D\u0641\u0638\u2026",editEditingRow:"\u062C\u0627\u0631\u064A \u062A\u0639\u062F\u064A\u0644 \u0627\u0644\u0635\u0641 {row}",editSaveCount:"\u062D\u0641\u0638 {n} \u0635\u0641",editCannotSave:"\u062A\u0639\u0630\u0651\u0631 \u0627\u0644\u062D\u0641\u0638",editSaveFailed:"\u062A\u0639\u0630\u0651\u0631 \u062D\u0641\u0638 \u0627\u0644\u062A\u063A\u064A\u064A\u0631\u0627\u062A.",rowStatusNew:"\u0635\u0641 \u062C\u062F\u064A\u062F \u063A\u064A\u0631 \u0645\u062D\u0641\u0648\u0638",rowStatusChanged:"\u062A\u063A\u064A\u064A\u0631\u0627\u062A \u063A\u064A\u0631 \u0645\u062D\u0641\u0648\u0638\u0629",rowStatusRemoved:"\u0645\u062D\u062F\u062F \u0644\u0644\u062D\u0630\u0641",rowStatusSaving:"\u062C\u0627\u0631\u064D \u0627\u0644\u062D\u0641\u0638\u2026",rowStatusSaved:"\u062A\u0645 \u0627\u0644\u062D\u0641\u0638",rowStatusError:"\u062A\u0639\u0630\u0651\u0631 \u0627\u0644\u062D\u0641\u0638",rowStatusRetry:"\u0625\u0639\u0627\u062F\u0629 \u0627\u0644\u0645\u062D\u0627\u0648\u0644\u0629",rowStatusDelete:"\u062D\u0630\u0641 \u0627\u0644\u0635\u0641",editDeleteConfirm:"\u0647\u0644 \u062A\u0631\u064A\u062F \u062D\u0630\u0641 \u0647\u0630\u0627 \u0627\u0644\u0635\u0641\u061F",editAddRowUndo:"\u0625\u0636\u0627\u0641\u0629 \u0635\u0641",editDeleteRowUndo:"\u062D\u0630\u0641 \u0635\u0641",editCellUndo:"\u062A\u062D\u0631\u064A\u0631 {column}",editFillUndo:"\u062A\u0639\u0628\u0626\u0629 {count} \u062E\u0644\u064A\u0629",editPasteUndo:"\u0644\u0635\u0642 {count} \u062E\u0644\u064A\u0629",editCutUndo:"\u0642\u0635 {count} \u062E\u0644\u064A\u0629",editGroupTotal:"\u0625\u062C\u0645\u0627\u0644\u064A \u0627\u0644\u0645\u062C\u0645\u0648\u0639\u0629",editGroupTotalUndo:"\u062A\u063A\u064A\u064A\u0631 \u0625\u062C\u0645\u0627\u0644\u064A {column} ({count} \u0635\u0641\u0648\u0641)",editNoMatch:"\u0644\u0627 \u062A\u0648\u062C\u062F \u0645\u0637\u0627\u0628\u0642\u0629",formEditTitle:"\u062A\u0639\u062F\u064A\u0644 \u0627\u0644\u0635\u0641",formAddTitle:"\u0635\u0641 \u062C\u062F\u064A\u062F",formShortcut:"{key}+Enter \u0644\u0644\u062D\u0641\u0638 \xB7 Esc \u0644\u0644\u0625\u0644\u063A\u0627\u0621",validationRequired:"\u0647\u0630\u0627 \u0627\u0644\u062D\u0642\u0644 \u0645\u0637\u0644\u0648\u0628",validationNumber:"\u064A\u062C\u0628 \u0623\u0646 \u064A\u0643\u0648\u0646 \u0631\u0642\u0645\u064B\u0627",validationNumberLocale:"\u0644\u064A\u0633 \u0631\u0642\u0645\u064B\u0627 \u0635\u0627\u0644\u062D\u064B\u0627. \u0627\u0643\u062A\u0628\u0647 \u0647\u0643\u0630\u0627: {example}",validationMin:"\u064A\u062C\u0628 \u0623\u0644\u0627 \u064A\u0642\u0644 \u0639\u0646 {min}",validationMax:"\u064A\u062C\u0628 \u0623\u0644\u0627 \u064A\u0632\u064A\u062F \u0639\u0646 {max}",validationFormat:"\u062A\u0646\u0633\u064A\u0642 \u063A\u064A\u0631 \u0635\u0627\u0644\u062D",validationEmail:"\u0639\u0646\u0648\u0627\u0646 \u0628\u0631\u064A\u062F \u0625\u0644\u0643\u062A\u0631\u0648\u0646\u064A \u063A\u064A\u0631 \u0635\u0627\u0644\u062D",validationInvalid:"\u0642\u064A\u0645\u0629 \u063A\u064A\u0631 \u0635\u0627\u0644\u062D\u0629",dateCalendar:"\u0627\u0644\u062A\u0642\u0648\u064A\u0645",dateOpenCalendar:"\u0641\u062A\u062D \u0627\u0644\u062A\u0642\u0648\u064A\u0645",datePreviousMonth:"\u0627\u0644\u0634\u0647\u0631 \u0627\u0644\u0633\u0627\u0628\u0642",dateNextMonth:"\u0627\u0644\u0634\u0647\u0631 \u0627\u0644\u062A\u0627\u0644\u064A",monthJanuary:"\u064A\u0646\u0627\u064A\u0631",monthFebruary:"\u0641\u0628\u0631\u0627\u064A\u0631",monthMarch:"\u0645\u0627\u0631\u0633",monthApril:"\u0623\u0628\u0631\u064A\u0644",monthMay:"\u0645\u0627\u064A\u0648",monthJune:"\u064A\u0648\u0646\u064A\u0648",monthJuly:"\u064A\u0648\u0644\u064A\u0648",monthAugust:"\u0623\u063A\u0633\u0637\u0633",monthSeptember:"\u0633\u0628\u062A\u0645\u0628\u0631",monthOctober:"\u0623\u0643\u062A\u0648\u0628\u0631",monthNovember:"\u0646\u0648\u0641\u0645\u0628\u0631",monthDecember:"\u062F\u064A\u0633\u0645\u0628\u0631",weekStartsOn:"6",weekdaySu:"\u0623\u062D\u062F",weekdayMo:"\u0625\u062B\u0646",weekdayTu:"\u062B\u0644\u0627",weekdayWe:"\u0623\u0631\u0628",weekdayTh:"\u062E\u0645\u064A",weekdayFr:"\u062C\u0645\u0639",weekdaySa:"\u0633\u0628\u062A",importTitle:"\u0627\u0633\u062A\u064A\u0631\u0627\u062F \u0627\u0644\u0628\u064A\u0627\u0646\u0627\u062A",importStepSource:"\u0661. \u0627\u0644\u0645\u0635\u062F\u0631",importStepMap:"\u0662. \u0645\u0637\u0627\u0628\u0642\u0629 \u0627\u0644\u0623\u0639\u0645\u062F\u0629",importFile:"\u0645\u0644\u0641 CSV",importPaste:"\u2026\u0623\u0648 \u0627\u0644\u0635\u0642 \u0627\u0644\u0635\u0641\u0648\u0641",importSeparator:"\u0627\u0644\u0641\u0627\u0635\u0644",importSeparatorAuto:"\u0643\u0634\u0641 \u062A\u0644\u0642\u0627\u0626\u064A",importSeparatorComma:"\u0641\u0627\u0635\u0644\u0629 ,",importSeparatorSemicolon:"\u0641\u0627\u0635\u0644\u0629 \u0645\u0646\u0642\u0648\u0637\u0629 ;",importSeparatorTab:"\u0645\u0633\u0627\u0641\u0629 \u062C\u062F\u0648\u0644\u0629",importSeparatorPipe:"\u0634\u0631\u0637\u0629 \u0639\u0645\u0648\u062F\u064A\u0629 |",importFileColumn:"\u0639\u0645\u0648\u062F \u0627\u0644\u0645\u0644\u0641",importDetected:"\u0627\u0644\u0645\u0643\u062A\u0634\u0641",importGridColumn:"\u0639\u0645\u0648\u062F \u0627\u0644\u062C\u062F\u0648\u0644",importSample:"\u0639\u064A\u0646\u0629",importSkip:"\u2014 \u062A\u062E\u0637\u064D \u2014",importPreview:"\u0645\u0639\u0627\u064A\u0646\u0629",importNoSource:"\u0627\u062E\u062A\u0631 \u0645\u0644\u0641\u064B\u0627 \u0623\u0648\u0644\u064B\u0627 \u0623\u0648 \u0627\u0644\u0635\u0642 \u0628\u0639\u0636 \u0627\u0644\u0635\u0641\u0648\u0641.",importNoRows:"\u0644\u0645 \u064A\u062A\u0645 \u0627\u0644\u0639\u062B\u0648\u0631 \u0639\u0644\u0649 \u0635\u0641\u0648\u0641 \u0628\u064A\u0627\u0646\u0627\u062A.",importAction:"\u0627\u0633\u062A\u064A\u0631\u0627\u062F",exportAborted:"\u062A\u0645 \u0625\u0644\u063A\u0627\u0621 \u0627\u0644\u062A\u0635\u062F\u064A\u0631",exportSheetName:"\u0627\u0644\u0628\u064A\u0627\u0646\u0627\u062A",chart:"\u0627\u0644\u0631\u0633\u0645 \u0627\u0644\u0628\u064A\u0627\u0646\u064A",chartCategory:"\u0627\u0644\u0641\u0626\u0629",chartSeries:"\u0627\u0644\u0633\u0644\u0633\u0644\u0629",chartAddSeries:"\u0625\u0636\u0627\u0641\u0629 \u0633\u0644\u0633\u0644\u0629",chartRemoveSeries:"\u0625\u0632\u0627\u0644\u0629",chartSource:"\u0627\u0644\u0628\u064A\u0627\u0646\u0627\u062A",chartSourceView:"\u0627\u0644\u0635\u0641\u0648\u0641 \u0627\u0644\u0645\u0635\u0641\u0651\u0627\u0629",chartSourceSelection:"\u0627\u0644\u0635\u0641\u0648\u0641 \u0627\u0644\u0645\u062D\u062F\u062F\u0629",chartSourceAll:"\u0643\u0644 \u0627\u0644\u0635\u0641\u0648\u0641",chartSourceRange:"\u0627\u0644\u0646\u0637\u0627\u0642 \u0627\u0644\u0645\u062D\u062F\u062F (\u0627\u0644\u0635\u0641\u0648\u0641 {from}\u2013{to})",chartClose:"\u0625\u063A\u0644\u0627\u0642 \u0627\u0644\u0631\u0633\u0645 \u0627\u0644\u0628\u064A\u0627\u0646\u064A",chartFullscreen:"\u0645\u0644\u0621 \u0627\u0644\u0634\u0627\u0634\u0629",chartExitFullscreen:"\u0625\u0646\u0647\u0627\u0621 \u0645\u0644\u0621 \u0627\u0644\u0634\u0627\u0634\u0629",chartFloat:"\u0641\u0635\u0644 \u0641\u064A \u0646\u0627\u0641\u0630\u0629",chartDock:"\u0625\u0631\u0633\u0627\u0621",chartNewWindow:"\u0646\u0627\u0641\u0630\u0629 \u062C\u062F\u064A\u062F\u0629",chartMoveWindow:"\u0646\u0642\u0644 \u0646\u0627\u0641\u0630\u0629 \u0627\u0644\u0645\u062E\u0637\u0637",chartResizeWindow:"\u062A\u063A\u064A\u064A\u0631 \u062D\u062C\u0645 \u0646\u0627\u0641\u0630\u0629 \u0627\u0644\u0645\u062E\u0637\u0637",chartResizeDock:"\u0627\u0633\u062D\u0628 \u0644\u062A\u063A\u064A\u064A\u0631 \u0627\u0631\u062A\u0641\u0627\u0639 \u0627\u0644\u0645\u062E\u0637\u0637",chartSwitch:"\u062A\u0628\u062F\u064A\u0644 \u0627\u0644\u0641\u0626\u0627\u062A \u0648\u0627\u0644\u0633\u0644\u0627\u0633\u0644",chartUnlink:"\u0641\u0635\u0644",chartLink:"\u0631\u0628\u0637",chartUnlinked:"\u0645\u0641\u0635\u0648\u0644: \u064A\u062D\u062A\u0641\u0638 \u0627\u0644\u0645\u062E\u0637\u0637 \u0628\u0628\u064A\u0627\u0646\u0627\u062A\u0647 \u0648\u0644\u0645 \u064A\u0639\u062F \u064A\u062A\u0628\u0639 \u0627\u0644\u062C\u062F\u0648\u0644.",chartExportPng:"PNG",chartExportSvg:"SVG",chartExportFailed:"\u062A\u0639\u0630\u0651\u0631 \u062A\u0635\u062F\u064A\u0631 \u0627\u0644\u0631\u0633\u0645 \u0627\u0644\u0628\u064A\u0627\u0646\u064A.",chartCrossFiltered:"\u062A\u0645\u062A \u062A\u0635\u0641\u064A\u0629 \u0627\u0644\u062C\u062F\u0648\u0644 \u0625\u0644\u0649 {value}.",chartBlankCategory:"(\u0641\u0627\u0631\u063A)",chartTruncated:"\u064A\u062A\u0645 \u0639\u0631\u0636 \u0623\u0639\u0644\u0649 {n} \u0641\u0626\u0629\u061B \u0648\u0627\u0644\u0628\u0627\u0642\u064A \u0645\u062C\u0645\u0651\u0639 \u0636\u0645\u0646 \xAB\u0623\u062E\u0631\u0649\xBB.",chartOther:"\u0623\u062E\u0631\u0649",chartEmpty:"\u0644\u0627 \u064A\u0648\u062C\u062F \u0634\u064A\u0621 \u0644\u0639\u0631\u0636\u0647 \u0628\u0639\u062F.",chartNoVisibleSeries:"\u0644\u0627 \u062A\u0648\u062C\u062F \u0633\u0644\u0627\u0633\u0644 \u0645\u0631\u0626\u064A\u0629.",chartNeedsMoreSeries:"\u064A\u062A\u0637\u0644\u0628 \u0647\u0630\u0627 \u0627\u0644\u0646\u0648\u0639 \u0645\u0646 \u0627\u0644\u0645\u062E\u0637\u0637\u0627\u062A \u0639\u0645\u0648\u062F\u064E\u064A \u0642\u064A\u0645 \u0639\u0644\u0649 \u0627\u0644\u0623\u0642\u0644 (\u0645\u062B\u0644 \u0627\u0644\u0623\u062F\u0646\u0649 \u0648\u0627\u0644\u0623\u0639\u0644\u0649) \u2014 \u0623\u0636\u0641 \u0633\u0644\u0633\u0644\u0629 \u062B\u0627\u0646\u064A\u0629.",chartLoading:"\u062C\u0627\u0631\u064D \u0627\u0644\u062A\u062D\u0645\u064A\u0644\u2026",chartNeedsRecharts:"\u062A\u062D\u062A\u0627\u062C \u0627\u0644\u0631\u0633\u0648\u0645 \u0627\u0644\u0628\u064A\u0627\u0646\u064A\u0629 \u0625\u0644\u0649 \u062D\u0632\u0645\u0629 `recharts` \u0627\u0644\u0627\u062E\u062A\u064A\u0627\u0631\u064A\u0629. \u062B\u0628\u0651\u062A\u0647\u0627 \u0644\u0631\u0633\u0645\u0647\u0627.",chartOnlyOneSeries:"\u0647\u0630\u0627 \u0627\u0644\u0646\u0648\u0639 \u0645\u0646 \u0627\u0644\u0631\u0633\u0648\u0645 \u064A\u0639\u0631\u0636 \u0633\u0644\u0633\u0644\u0629 \u0648\u0627\u062D\u062F\u0629.",chartByColumn:"\u0631\u0633\u0645 \u0628\u064A\u0627\u0646\u064A \u062D\u0633\u0628 \u0647\u0630\u0627 \u0627\u0644\u0639\u0645\u0648\u062F",chartGroupBy:"\u062D\u0633\u0628",chartGroupNone:"\u0643\u0644 \u0642\u064A\u0645\u0629",chartGroupAuto:"\u062A\u0644\u0642\u0627\u0626\u064A",chartGroupDay:"\u064A\u0648\u0645",chartGroupWeek:"\u0623\u0633\u0628\u0648\u0639",chartGroupMonth:"\u0634\u0647\u0631",chartGroupQuarter:"\u0631\u0628\u0639",chartGroupYear:"\u0633\u0646\u0629",chartGroupBins:"{n} \u0641\u0626\u0629",chartBucketAdjusted:"\u0639\u062F\u062F \u0627\u0644\u0641\u0648\u0627\u0635\u0644 \u0623\u0643\u0628\u0631 \u0645\u0646 \u0623\u0646 \u064A\u062A\u0633\u0639 \u0644\u0645\u062D\u0648\u0631 \u0648\u0627\u062D\u062F \u2014 \u062A\u0645 \u0627\u0644\u062A\u062C\u0645\u064A\u0639 \u0628\u0634\u0643\u0644 \u0623\u0648\u0633\u0639.",chartWindowed:"\u064A\u062A\u0645 \u0639\u0631\u0636 {shown} \u0645\u0646 {total}.",chartShowAll:"\u0639\u0631\u0636 \u0627\u0644\u0643\u0644",chartCanvasHint:"\u0631\u0633\u0645 \u0628\u064A\u0627\u0646\u064A. \u0645\u0631\u0651\u0631 \u0644\u0644\u062A\u0643\u0628\u064A\u0631\u060C \u0627\u0633\u062D\u0628 \u0644\u0644\u062A\u062D\u0631\u064A\u0643\u060C \u0627\u0633\u062A\u062E\u062F\u0645 \u0627\u0644\u0623\u0633\u0647\u0645 \u0644\u0644\u062A\u0646\u0642\u0644\u060C \u06480 \u0644\u0639\u0631\u0636 \u0627\u0644\u0643\u0644.",chartCanvasHintPick:"\u0631\u0633\u0645 \u0628\u064A\u0627\u0646\u064A. \u062A\u062E\u062A\u0627\u0631 \u0627\u0644\u0623\u0633\u0647\u0645 \u0641\u0626\u0629\u060C \u0648\u064A\u0635\u0641\u0651\u064A Enter \u0623\u0648 \u0627\u0644\u0645\u0633\u0627\u0641\u0629 \u0627\u0644\u062C\u062F\u0648\u0644 \u0628\u0647\u0627 (Ctrl \u064A\u0636\u064A\u0641 \u0641\u0626\u0629)\u060C \u0648+ \u0648\u2212 \u0644\u0644\u062A\u0643\u0628\u064A\u0631\u060C \u06480 \u0644\u0639\u0631\u0636 \u0627\u0644\u0643\u0644.",chartCategoryFocus:"{category}: {values} \u2014 {position} \u0645\u0646 {count}",chartCategoryFiltered:"\u064A\u0635\u0641\u0651\u064A \u0627\u0644\u062C\u062F\u0648\u0644",chartAggSum:"\u0645\u062C\u0645\u0648\u0639",chartAggAvg:"\u0645\u062A\u0648\u0633\u0637",chartAggMin:"\u0627\u0644\u062D\u062F \u0627\u0644\u0623\u062F\u0646\u0649",chartAggMax:"\u0627\u0644\u062D\u062F \u0627\u0644\u0623\u0642\u0635\u0649",chartAggCount:"\u0627\u0644\u0639\u062F\u062F",chartAggDistinct:"\u0627\u0644\u0642\u064A\u0645 \u0627\u0644\u0641\u0631\u064A\u062F\u0629",chartAggFirst:"\u0627\u0644\u0623\u0648\u0644",chartAggLast:"\u0627\u0644\u0623\u062E\u064A\u0631",chartTypeColumn:"\u0623\u0639\u0645\u062F\u0629",chartTypeBar:"\u0623\u0634\u0631\u0637\u0629",chartTypeLine:"\u062E\u0637\u064A",chartTypeArea:"\u0645\u0633\u0627\u062D\u064A",chartTypePie:"\u062F\u0627\u0626\u0631\u064A",chartTypeDonut:"\u062D\u0644\u0642\u064A",chartStacking:"\u062A\u0631\u062A\u064A\u0628 \u0627\u0644\u0633\u0644\u0627\u0633\u0644",chartStackGrouped:"\u0645\u062C\u0645\u0651\u0639",chartStackStacked:"\u0645\u0643\u062F\u0651\u0633",chartStackNormalized:"\u0645\u0643\u062F\u0651\u0633 100%",chartFormat:"\u0627\u0644\u062A\u0646\u0633\u064A\u0642",chartFormatTitle:"\u0627\u0644\u0639\u0646\u0648\u0627\u0646",chartFormatCategoryAxis:"\u0639\u0646\u0648\u0627\u0646 \u0645\u062D\u0648\u0631 \u0627\u0644\u0641\u0626\u0627\u062A",chartFormatValueAxis:"\u0639\u0646\u0648\u0627\u0646 \u0645\u062D\u0648\u0631 \u0627\u0644\u0642\u064A\u0645",chartFormatLegend:"\u0648\u0633\u064A\u0644\u0629 \u0627\u0644\u0625\u064A\u0636\u0627\u062D",chartLegendTop:"\u0623\u0639\u0644\u0649",chartLegendBottom:"\u0623\u0633\u0641\u0644",chartLegendLeft:"\u064A\u0633\u0627\u0631",chartLegendRight:"\u064A\u0645\u064A\u0646",chartLegendNone:"\u0645\u062E\u0641\u064A\u0629",chartFormatDataLabels:"\u062A\u0633\u0645\u064A\u0627\u062A \u0627\u0644\u0628\u064A\u0627\u0646\u0627\u062A",chartFormatScale:"\u0645\u0642\u064A\u0627\u0633 \u0627\u0644\u0642\u064A\u0645",chartScaleLinear:"\u062E\u0637\u064A",chartScaleLog:"\u0644\u0648\u063A\u0627\u0631\u064A\u062A\u0645\u064A",chartFormatTextSize:"\u062D\u062C\u0645 \u0627\u0644\u0646\u0635",chartFormatTextColor:"\u0644\u0648\u0646 \u0627\u0644\u0646\u0635",chartFormatDefault:"\u0627\u0641\u062A\u0631\u0627\u0636\u064A",chartFormatLabelAngle:"\u062A\u0633\u0645\u064A\u0627\u062A \u0627\u0644\u0641\u0626\u0627\u062A",chartAngleAuto:"\u062A\u0644\u0642\u0627\u0626\u064A",chartAngleFlat:"\u0623\u0641\u0642\u064A\u0629",chartFormatGridLines:"\u062E\u0637\u0648\u0637 \u0627\u0644\u0634\u0628\u0643\u0629",chartGridValue:"\u0645\u062D\u0648\u0631 \u0627\u0644\u0642\u064A\u0645",chartGridBoth:"\u0643\u0644\u0627 \u0627\u0644\u0645\u062D\u0648\u0631\u064A\u0646",chartGridNone:"\u0628\u0644\u0627",chartFormatGridDashed:"\u0634\u0628\u0643\u0629 \u0645\u062A\u0642\u0637\u0639\u0629",chartFormatLineWidth:"\u0633\u064F\u0645\u0643 \u0627\u0644\u062E\u0637",chartFormatLineDashed:"\u062E\u0637\u0648\u0637 \u0645\u062A\u0642\u0637\u0639\u0629",chartFormatFillOpacity:"\u0639\u062A\u0627\u0645\u0629 \u0627\u0644\u062A\u0639\u0628\u0626\u0629",chartFormatDateFormat:"\u062A\u0646\u0633\u064A\u0642 \u0627\u0644\u062A\u0627\u0631\u064A\u062E",chartFormatPalette:"\u0627\u0644\u0623\u0644\u0648\u0627\u0646",chartPaletteTheme:"\u0627\u0644\u0633\u0645\u0629",chartPaletteClassic:"\u0643\u0644\u0627\u0633\u064A\u0643\u064A\u0629",chartPaletteColorblind:"\u0645\u0646\u0627\u0633\u0628\u0629 \u0644\u0639\u0645\u0649 \u0627\u0644\u0623\u0644\u0648\u0627\u0646",chartPaletteVivid:"\u0632\u0627\u0647\u064A\u0629",chartPaletteMonochrome:"\u0644\u0648\u0646 \u0648\u0627\u062D\u062F",sparklineSummary:"{count} \u0642\u064A\u0645\u0629 \u0645\u0646 {min} \u0625\u0644\u0649 {max}\u060C \u0627\u0644\u0623\u062E\u064A\u0631\u0629 {last}",chartTypeWaterfall:"\u0634\u0644\u0627\u0644",chartTypeFunnel:"\u0642\u0645\u0639",chartTypeTreemap:"\u062E\u0631\u064A\u0637\u0629 \u0634\u062C\u0631\u064A\u0629",chartTypeHeatmap:"\u062E\u0631\u064A\u0637\u0629 \u062D\u0631\u0627\u0631\u064A\u0629",chartTypeBox:"\u0645\u062E\u0637\u0637 \u0627\u0644\u0635\u0646\u062F\u0648\u0642",chartTypeRadar:"\u0631\u0627\u062F\u0627\u0631",chartTypeRangeBar:"\u0646\u0637\u0627\u0642",chartBoxQ1:"\u0627\u0644\u0631\u0628\u064A\u0639 \u0627\u0644\u0623\u0648\u0644",chartBoxMedian:"\u0627\u0644\u0648\u0633\u064A\u0637",chartBoxQ3:"\u0627\u0644\u0631\u0628\u064A\u0639 \u0627\u0644\u062B\u0627\u0644\u062B",chartBoxOutlier:"\u0642\u064A\u0645\u0629 \u0634\u0627\u0630\u0629",chartTotal:"\u0627\u0644\u0625\u062C\u0645\u0627\u0644\u064A",chartTypeScatter:"\u0645\u0628\u0639\u062B\u0631",chartTypeBubble:"\u0641\u0642\u0627\u0639\u064A",chartXAxis:"\u0627\u0644\u0645\u062D\u0648\u0631 X",chartBubbleSize:"\u0627\u0644\u062D\u062C\u0645",chartXYSampled:"{shown} \u0645\u0646 {total} \u0646\u0642\u0637\u0629\u060C \u0628\u0639\u064A\u0646\u0629 \u0645\u0646\u062A\u0638\u0645\u0629",licenseMissing:"\u063A\u064A\u0631 \u0645\u0631\u062E\u0651\u0635",licenseExpired:"\u0627\u0646\u062A\u0647\u062A \u0635\u0644\u0627\u062D\u064A\u0629 \u0627\u0644\u062A\u0631\u062E\u064A\u0635",licenseReleaseNotCovered:"\u0647\u0630\u0627 \u0627\u0644\u0625\u0635\u062F\u0627\u0631 \u063A\u064A\u0631 \u0645\u0634\u0645\u0648\u0644 \u0628\u0627\u0644\u062A\u0631\u062E\u064A\u0635",licenseDomainMismatch:"\u0627\u0644\u062A\u0631\u062E\u064A\u0635 \u063A\u064A\u0631 \u0635\u0627\u0644\u062D \u0644\u0647\u0630\u0627 \u0627\u0644\u0646\u0637\u0627\u0642",licenseRevoked:"\u062A\u0645 \u0625\u0644\u063A\u0627\u0621 \u0627\u0644\u062A\u0631\u062E\u064A\u0635",licenseInvalidFormat:"\u0635\u064A\u063A\u0629 \u0645\u0641\u062A\u0627\u062D \u0627\u0644\u062A\u0631\u062E\u064A\u0635 \u063A\u064A\u0631 \u0635\u062D\u064A\u062D\u0629",licenseInvalidSignature:"\u062A\u0648\u0642\u064A\u0639 \u0627\u0644\u062A\u0631\u062E\u064A\u0635 \u063A\u064A\u0631 \u0635\u0627\u0644\u062D",licenseEngineUnavailable:"\u0644\u0627 \u064A\u0633\u062A\u0637\u064A\u0639 \u0627\u0644\u0645\u062A\u0635\u0641\u062D \u0627\u0644\u062A\u062D\u0642\u0642 \u0645\u0646 \u0627\u0644\u062A\u0631\u062E\u064A\u0635 (\u064A\u0644\u0632\u0645 HTTPS)",calcAdd:"\u0625\u0636\u0627\u0641\u0629 \u0639\u0645\u0648\u062F \u0645\u062D\u0633\u0648\u0628\u2026",calcEdit:"\u062A\u0639\u062F\u064A\u0644 \u0627\u0644\u0639\u0645\u0648\u062F \u0627\u0644\u0645\u062D\u0633\u0648\u0628\u2026",calcRemove:"\u0625\u0632\u0627\u0644\u0629 \u0627\u0644\u0639\u0645\u0648\u062F \u0627\u0644\u0645\u062D\u0633\u0648\u0628",calcTitleAdd:"\u0625\u0636\u0627\u0641\u0629 \u0639\u0645\u0648\u062F \u0645\u062D\u0633\u0648\u0628",calcTitleEdit:"\u062A\u0639\u062F\u064A\u0644 \u0627\u0644\u0639\u0645\u0648\u062F \u0627\u0644\u0645\u062D\u0633\u0648\u0628",calcName:"\u0627\u0644\u0627\u0633\u0645",calcFormula:"\u0627\u0644\u0635\u064A\u063A\u0629",calcFormulaHint:"\u0627\u0643\u062A\u0628 \u0627\u0644\u0639\u0645\u0648\u062F \u0647\u0643\u0630\u0627 [\u0627\u0644\u0627\u0633\u0645]. \u0645\u062B\u0627\u0644: [\u0627\u0644\u0633\u0639\u0631] * [\u0627\u0644\u0643\u0645\u064A\u0629]",calcColumns:"\u0627\u0644\u0623\u0639\u0645\u062F\u0629",calcFunctions:"\u0627\u0644\u062F\u0648\u0627\u0644",calcPreview:"\u0645\u0639\u0627\u064A\u0646\u0629",calcPreviewEmpty:"\u0644\u0627 \u062A\u0648\u062C\u062F \u0635\u0641\u0648\u0641 \u0644\u0644\u0645\u0639\u0627\u064A\u0646\u0629",calcErrorAt:"{message} (\u0627\u0644\u062D\u0631\u0641 {position})",calcAddButton:"\u0625\u0636\u0627\u0641\u0629",calcArgsAtLeast:"{min} \u0623\u0648 \u0623\u0643\u062B\u0631",formulaError_empty:"\u0627\u0643\u062A\u0628 \u0635\u064A\u063A\u0629",formulaError_unclosedText:'\u0627\u0644\u0646\u0635 \u063A\u064A\u0631 \u0645\u063A\u0644\u0642: \u064A\u0646\u0642\u0635 "',formulaError_unclosedColumn:"\u0627\u0633\u0645 \u0627\u0644\u0639\u0645\u0648\u062F \u063A\u064A\u0631 \u0645\u063A\u0644\u0642: \u064A\u0646\u0642\u0635 ]",formulaError_emptyColumn:"\u0627\u0633\u0645 \u0639\u0645\u0648\u062F \u0641\u0627\u0631\u063A []",formulaError_unexpectedChar:"\u062D\u0631\u0641 \u063A\u064A\u0631 \u0645\u062A\u0648\u0642\u0639 {text}",formulaError_expected:"\u064A\u0646\u0642\u0635 {text}",formulaError_cellAfterColon:'\u062A\u0646\u0642\u0635 \u062E\u0644\u064A\u0629 \u0628\u0639\u062F ":"',formulaError_unknownName:"\u0627\u0633\u0645 \u063A\u064A\u0631 \u0645\u0639\u0631\u0648\u0641 {name} \u2014 \u0627\u0643\u062A\u0628 \u0627\u0644\u0639\u0645\u0648\u062F \u0647\u0643\u0630\u0627 [{name}]",formulaError_unexpected:"{text} \u063A\u064A\u0631 \u0645\u062A\u0648\u0642\u0639",formulaError_endsEarly:"\u062A\u0646\u062A\u0647\u064A \u0627\u0644\u0635\u064A\u063A\u0629 \u0645\u0628\u0643\u0631\u064B\u0627",formulaError_trailing:"\u0646\u0635 \u063A\u064A\u0631 \u0645\u062A\u0648\u0642\u0639 \u0641\u064A \u0627\u0644\u0646\u0647\u0627\u064A\u0629",formulaError_unknownColumn:"\u0644\u0627 \u064A\u0648\u062C\u062F \u0639\u0645\u0648\u062F [{name}]",formulaError_unknownFunction:"\u062F\u0627\u0644\u0629 \u063A\u064A\u0631 \u0645\u0639\u0631\u0648\u0641\u0629 {name}",formulaError_argCount:"\u062A\u0623\u062E\u0630 {name} \u0639\u062F\u062F {range} \u0645\u0646 \u0627\u0644\u0648\u0633\u0627\u0626\u0637",formulaError_cellsNotAllowed:"\u0644\u0627 \u062A\u064F\u0633\u062A\u062E\u062F\u0645 \u0645\u0631\u0627\u062C\u0639 \u0627\u0644\u062E\u0644\u0627\u064A\u0627 \u0645\u062B\u0644 A1 \u0647\u0646\u0627 \u2014 \u0627\u0643\u062A\u0628 \u0627\u0644\u0639\u0645\u0648\u062F \u0647\u0643\u0630\u0627 [\u0627\u0644\u0627\u0633\u0645]"},pm={ok:"\u786E\u5B9A",cancel:"\u53D6\u6D88",apply:"\u5E94\u7528",close:"\u5173\u95ED",clear:"\u6E05\u9664",save:"\u4FDD\u5B58",search:"\u641C\u7D22...",selectAll:"\u5168\u9009",showAll:"\u663E\u793A\u5168\u90E8",remove:"\u79FB\u9664",none:"\u65E0",toolbarSearch:"\u641C\u7D22...",exportMenu:"\u5BFC\u51FA",exportCsv:"\u5BFC\u51FA\u4E3A CSV",exportExcel:"\u5C06\u5168\u90E8\u6570\u636E\u5BFC\u51FA\u5230 Excel",exportExcelSelected:"\u5C06\u9009\u4E2D\u884C\u5BFC\u51FA\u5230 Excel",exportPdf:"\u5BFC\u51FA\u4E3A PDF",exporting:"\u6B63\u5728\u5BFC\u51FA\u2026",columns:"\u5217",hiddenColumns:"\u9690\u85CF\u7684\u5217",noHiddenColumns:"\u6CA1\u6709\u9690\u85CF\u7684\u5217\u3002",sortAsc:"\u6309 A \u5230 Z \u6392\u5E8F",sortDesc:"\u6309 Z \u5230 A \u6392\u5E8F",clearSort:"\u6E05\u9664\u6392\u5E8F",cardSortBy:"\u6392\u5E8F\u65B9\u5F0F",groupByColumn:"\u6309\u6B64\u5217\u5206\u7EC4",ungroupColumn:"\u4ECE\u5206\u7EC4\u4E2D\u79FB\u9664",showGroupPanel:"\u663E\u793A\u5206\u7EC4\u9762\u677F",hideGroupPanel:"\u9690\u85CF\u5206\u7EC4\u9762\u677F",showFooter:"\u663E\u793A\u6C47\u603B\u680F",hideFooter:"\u9690\u85CF\u6C47\u603B\u680F",showGroupFooters:"\u663E\u793A\u5206\u7EC4\u6C47\u603B",hideGroupFooters:"\u9690\u85CF\u5206\u7EC4\u6C47\u603B",hideColumn:"\u9690\u85CF\u6B64\u5217",fieldChooser:"\u5B57\u6BB5\u9009\u62E9\u5668\u2026",bestFit:"\u6700\u4F73\u5217\u5BBD",bestFitAll:"\u6700\u4F73\u5217\u5BBD\uFF08\u6240\u6709\u5217\uFF09",pinRowTop:"\u5C06\u884C\u56FA\u5B9A\u5230\u9876\u90E8",pinRowBottom:"\u5C06\u884C\u56FA\u5B9A\u5230\u5E95\u90E8",unpinRow:"\u53D6\u6D88\u56FA\u5B9A\u884C",findLabel:"\u5728\u8868\u683C\u4E2D\u67E5\u627E",findPrevious:"\u4E0A\u4E00\u4E2A\u5339\u914D\u9879",findNext:"\u4E0B\u4E00\u4E2A\u5339\u914D\u9879",findClose:"\u5173\u95ED\u67E5\u627E",findCount:"\u7B2C {n} \u4E2A\uFF0C\u5171 {count} \u4E2A",findNone:"\u65E0\u5339\u914D\u9879",renameColumn:"\u91CD\u547D\u540D\u5217",fixedPosition:"\u8BBE\u7F6E\u56FA\u5B9A\u4F4D\u7F6E",pinLeft:"\u5DE6\u4FA7",pinRight:"\u53F3\u4FA7",pinSticky:"\u5438\u9644",unpin:"\u53D6\u6D88\u56FA\u5B9A",moveLeft:"\u5DE6\u79FB",moveRight:"\u53F3\u79FB",filterPlaceholder:"\u7B5B\u9009\u2026",filterColumnAria:"\u7B5B\u9009{column}",filterOperatorDefault:"\u9ED8\u8BA4",filterOperatorAria:"{column}\u7684\u7B5B\u9009\u8FD0\u7B97\u7B26",filterSelectAll:"\u5168\u9009",filterBlank:"(\u7A7A\u767D)",filterNonBlank:"(\u975E\u7A7A\u767D)",filterEmptyText:"(\u7A7A\u6587\u672C)",filterSpace:"(1 \u4E2A\u7A7A\u683C)",filterSpaces:"({n} \u4E2A\u7A7A\u683C)",filterNoMatch:"\u6CA1\u6709\u5339\u914D\u7684\u503C",filterLoading:"\u6B63\u5728\u52A0\u8F7D\u503C\u2026",filterTruncated:"\u4EC5\u663E\u793A\u524D\u82E5\u5E72\u4E2A\u503C\u2014\u2014\u8BF7\u641C\u7D22\u4EE5\u67E5\u627E\u5176\u4F59\u7684\u503C\u3002",filterRemove:"\u79FB\u9664\u7B5B\u9009",filterToggle:"\u5E94\u7528\u7B5B\u9009",filterEditBuilder:"\u7F16\u8F91\u7B5B\u9009",filterNone:"\u65E0\u7B5B\u9009",filterActive:"\u7B5B\u9009\u5DF2\u542F\u7528",opEquals:"\u7B49\u4E8E",opNotEquals:"\u4E0D\u7B49\u4E8E",opGreater:">",opGreaterOrEqual:"\u2265",opLess:"<",opLessOrEqual:"\u2264",opContains:"\u5305\u542B",opNotContains:"\u4E0D\u5305\u542B",opStartsWith:"\u5F00\u5934\u4E3A",opEndsWith:"\u7ED3\u5C3E\u4E3A",opIsBlank:"\u4E3A\u7A7A",opIsNotBlank:"\u4E0D\u4E3A\u7A7A",opIsOneOf:"\u5C5E\u4E8E",opIsBetween:"\u4ECB\u4E8E",opValuesCount:"{n} \u4E2A\u503C",opInPeriod:"\u5728\u671F\u95F4",periodToday:"\u4ECA\u5929",periodYesterday:"\u6628\u5929",periodTomorrow:"\u660E\u5929",periodThisWeek:"\u672C\u5468",periodLastWeek:"\u4E0A\u5468",periodNextWeek:"\u4E0B\u5468",periodThisMonth:"\u672C\u6708",periodLastMonth:"\u4E0A\u6708",periodNextMonth:"\u4E0B\u6708",periodThisQuarter:"\u672C\u5B63\u5EA6",periodLastQuarter:"\u4E0A\u5B63\u5EA6",periodNextQuarter:"\u4E0B\u5B63\u5EA6",periodThisYear:"\u4ECA\u5E74",periodLastYear:"\u53BB\u5E74",periodNextYear:"\u660E\u5E74",periodYearToDate:"\u5E74\u521D\u81F3\u4ECA",periodLastDays:"\u6700\u8FD1 {n} \u5929",periodNextDays:"\u672A\u6765 {n} \u5929",filterAnd:"\u4E0E",filterOr:"\u6216",builderTitle:"\u7B5B\u9009\u751F\u6210\u5668",builderCombine:"\u6761\u4EF6\u7684\u7EC4\u5408\u65B9\u5F0F",builderAddCondition:"\u6DFB\u52A0\u6761\u4EF6",builderAddGroup:"\u6DFB\u52A0\u5206\u7EC4",builderRemoveGroup:"\u79FB\u9664\u5206\u7EC4",builderRemoveCondition:"\u79FB\u9664\u6761\u4EF6",builderEmpty:"\u5C1A\u65E0\u6761\u4EF6\u3002",builderColumn:"\u5217",builderOperator:"\u8FD0\u7B97\u7B26",builderValue:"\u503C",builderValueFrom:"\u4ECE",builderValueTo:"\u5230",builderValuePlaceholder:"\u8BF7\u8F93\u5165\u503C",builderOpen:"\u7B5B\u9009\u751F\u6210\u5668\u2026",builderClearAll:"\u5168\u90E8\u6E05\u9664",builderConditionButton:"+ \u6761\u4EF6",builderGroupButton:"+ \u5206\u7EC4",builderTrue:"\u771F",builderFalse:"\u5047",builderPeriod:"\u671F\u95F4",builderDays:"\u5929\u6570",filterCustom:"(\u81EA\u5B9A\u4E49\u2026)",filterPopupAria:"{column} \u7B5B\u9009",importOpen:"\u5BFC\u5165\u2026",groupPanelHint:"\u5C06\u5217\u62D6\u5230\u6B64\u5904\u5373\u53EF\u6309\u5176\u5206\u7EC4",groupAddLevel:"\u6DFB\u52A0\u5206\u7EC4\u5C42\u7EA7",groupAddLevelButton:"+ \u6DFB\u52A0\u5C42\u7EA7\u2026",groupNoGrouping:"\uFF08\u65E0\u5206\u7EC4\uFF09",groupLevelAria:"\u7B2C {n} \u7EA7\u5206\u7EC4",groupRemoveAria:"\u79FB\u9664{column}",groupExpandAll:"\u5168\u90E8\u5C55\u5F00",groupCollapseAll:"\u5168\u90E8\u6298\u53E0",pagerFirst:"\u9996\u9875",pagerPrevious:"\u4E0A\u4E00\u9875",pagerNext:"\u4E0B\u4E00\u9875",pagerLast:"\u672B\u9875",pagerPage:"\u7B2C",pagerOf:"/",pagerRowsPerPage:"\u6BCF\u9875\u884C\u6570",pagerAria:"\u5206\u9875",pagerPageButton:"\u7B2C {n} \u9875",selectAllRows:"\u9009\u62E9\u6240\u6709\u884C",selectRowAria:"\u9009\u62E9\u7B2C {row} \u884C",selectGroupAria:"\u9009\u62E9 {group} \u4E2D\u7684 {count} \u884C",summaryAria:"\u6C47\u603B",columnTotalsAria:"\u5217\u5408\u8BA1",rowActions:"\u884C\u64CD\u4F5C",detailsAria:"\u8BE6\u60C5",rowNumberAria:"\u884C\u53F7",noteEditorAria:"\u5355\u5143\u683C\u6279\u6CE8",notePlaceholder:"\u4E3A\u6B64\u5355\u5143\u683C\u5199\u6279\u6CE8\u2026",addNote:"\u6DFB\u52A0\u6279\u6CE8\u2026",editNote:"\u7F16\u8F91\u6279\u6CE8\u2026",deleteNote:"\u5220\u9664\u6279\u6CE8",expandDetails:"\u5C55\u5F00\u8BE6\u60C5",collapseDetails:"\u6298\u53E0\u8BE6\u60C5",expandTreeRow:"\u5C55\u5F00\u884C",collapseTreeRow:"\u6298\u53E0\u884C",expandColumnGroup:"\u5C55\u5F00\u5217\u7EC4",collapseColumnGroup:"\u6298\u53E0\u5217\u7EC4",dragToReorder:"\u62D6\u52A8\u4EE5\u91CD\u65B0\u6392\u5E8F",menuCopy:"\u590D\u5236",menuCopyWithHeaders:"\u590D\u5236\uFF08\u542B\u8868\u5934\uFF09",menuCopyWithGroupHeaders:"\u590D\u5236\uFF08\u542B\u5206\u7EC4\u8868\u5934\uFF09",menuCut:"\u526A\u5207",menuPaste:"\u7C98\u8D34",menuExport:"\u5BFC\u51FA",menuChartRange:"\u5C06\u6240\u9009\u5355\u5143\u683C\u751F\u6210\u56FE\u8868",statsSum:"\u6C42\u548C",statsCount:"\u8BA1\u6570",statsAvg:"\u5E73\u5747\u503C",statsMin:"\u6700\u5C0F\u503C",statsMax:"\u6700\u5927\u503C",statsCells:"\u5355\u5143\u683C",statsTooLarge:"\u6240\u9009\u533A\u57DF\u8FC7\u5927\uFF0C\u65E0\u6CD5\u6C47\u603B",statusRows:"\u884C\u6570",statusFiltered:"\u7B5B\u9009\u540E",statusSelected:"\u5DF2\u9009\u62E9",summaryRows:"\u884C",announceRows:"{n} \u884C",announceSortedBy:"\u6309 {columns} \u6392\u5E8F",announceSelected:"\u5DF2\u9009\u62E9 {n} \u9879",announceAscending:"\u5347\u5E8F",announceDescending:"\u964D\u5E8F",sideFilters:"\u7B5B\u9009\u5668",sideBarAria:"\u5DE5\u5177\u9762\u677F",sideClearFilters:"\u6E05\u9664\u6240\u6709\u7B5B\u9009",summarySum:"\u6C42\u548C",summaryAvg:"\u5E73\u5747\u503C",summaryMin:"\u6700\u5C0F\u503C",summaryMax:"\u6700\u5927\u503C",summaryCount:"\u8BA1\u6570",summaryDistinct:"\u53BB\u91CD\u8BA1\u6570",summaryCustom:"\u81EA\u5B9A\u4E49",noTotal:"\u65E0\u5408\u8BA1",busy:"\u5904\u7406\u4E2D\u2026",busyLoading:"\u6B63\u5728\u52A0\u8F7D\u884C\u2026",rowsLoadFailed:"\u65E0\u6CD5\u52A0\u8F7D\u8FD9\u4E9B\u884C\u3002",retryLoad:"\u91CD\u8BD5",busyEncoding:"\u6B63\u5728\u51C6\u5907\u6570\u636E\u2026",busyFiltering:"\u6B63\u5728\u7B5B\u9009\u884C\u2026",busySorting:"\u6B63\u5728\u6392\u5E8F\u884C\u2026",busyComputing:"\u6B63\u5728\u7B5B\u9009\u548C\u6392\u5E8F\u2026",busyGrouping:"\u6B63\u5728\u6784\u5EFA\u5206\u7EC4\u2026",busyAggregating:"\u6B63\u5728\u8BA1\u7B97\u5408\u8BA1\u2026",busyProjecting:"\u6B63\u5728\u66F4\u65B0\u89C6\u56FE\u2026",busyExporting:"\u6B63\u5728\u751F\u6210\u6587\u4EF6\u2026",noData:"\u672A\u627E\u5230\u6570\u636E",editNewRow:"\u65B0\u5EFA\u884C",editSaveChanges:"\u4FDD\u5B58\u66F4\u6539",editDiscardChanges:"\u653E\u5F03\u66F4\u6539",editRow:"\u7F16\u8F91\u884C",editRowMenu:"\u7F16\u8F91\u884C\u2026",editDeleteRow:"\u5220\u9664\u884C",editUndoDelete:"\u64A4\u9500\u5220\u9664",editActions:"\u64CD\u4F5C",editSaveRow:"\u4FDD\u5B58\u6B64\u884C",editSaving:"\u6B63\u5728\u4FDD\u5B58\u2026",editEditingRow:"\u6B63\u5728\u7F16\u8F91\u7B2C {row} \u884C",editSaveCount:"\u4FDD\u5B58 {n} \u884C",editCannotSave:"\u65E0\u6CD5\u4FDD\u5B58",editSaveFailed:"\u672A\u80FD\u4FDD\u5B58\u66F4\u6539\u3002",rowStatusNew:"\u65B0\u884C(\u672A\u4FDD\u5B58)",rowStatusChanged:"\u672A\u4FDD\u5B58\u7684\u66F4\u6539",rowStatusRemoved:"\u5F85\u5220\u9664",rowStatusSaving:"\u6B63\u5728\u4FDD\u5B58\u2026",rowStatusSaved:"\u5DF2\u4FDD\u5B58",rowStatusError:"\u4FDD\u5B58\u5931\u8D25",rowStatusRetry:"\u91CD\u8BD5",rowStatusDelete:"\u5220\u9664\u884C",editDeleteConfirm:"\u8981\u5220\u9664\u6B64\u884C\u5417\uFF1F",editAddRowUndo:"\u6DFB\u52A0\u884C",editDeleteRowUndo:"\u5220\u9664\u884C",editCellUndo:"\u7F16\u8F91 {column}",editFillUndo:"\u586B\u5145 {count} \u4E2A\u5355\u5143\u683C",editPasteUndo:"\u7C98\u8D34 {count} \u4E2A\u5355\u5143\u683C",editCutUndo:"\u526A\u5207 {count} \u4E2A\u5355\u5143\u683C",editGroupTotal:"\u5206\u7EC4\u5408\u8BA1",editGroupTotalUndo:"\u66F4\u6539 {column} \u5408\u8BA1\uFF08{count} \u884C\uFF09",editNoMatch:"\u65E0\u5339\u914D\u9879",formEditTitle:"\u7F16\u8F91\u884C",formAddTitle:"\u65B0\u5EFA\u884C",formShortcut:"{key}+Enter \u4FDD\u5B58 \xB7 Esc \u53D6\u6D88",validationRequired:"\u6B64\u5B57\u6BB5\u4E3A\u5FC5\u586B\u9879",validationNumber:"\u5FC5\u987B\u4E3A\u6570\u5B57",validationNumberLocale:"\u4E0D\u662F\u6709\u6548\u7684\u6570\u5B57\u3002\u793A\u4F8B\uFF1A{example}",validationMin:"\u4E0D\u80FD\u5C0F\u4E8E {min}",validationMax:"\u4E0D\u80FD\u5927\u4E8E {max}",validationFormat:"\u683C\u5F0F\u65E0\u6548",validationEmail:"\u7535\u5B50\u90AE\u4EF6\u5730\u5740\u65E0\u6548",validationInvalid:"\u503C\u65E0\u6548",dateCalendar:"\u65E5\u5386",dateOpenCalendar:"\u6253\u5F00\u65E5\u5386",datePreviousMonth:"\u4E0A\u4E2A\u6708",dateNextMonth:"\u4E0B\u4E2A\u6708",monthJanuary:"\u4E00\u6708",monthFebruary:"\u4E8C\u6708",monthMarch:"\u4E09\u6708",monthApril:"\u56DB\u6708",monthMay:"\u4E94\u6708",monthJune:"\u516D\u6708",monthJuly:"\u4E03\u6708",monthAugust:"\u516B\u6708",monthSeptember:"\u4E5D\u6708",monthOctober:"\u5341\u6708",monthNovember:"\u5341\u4E00\u6708",monthDecember:"\u5341\u4E8C\u6708",weekStartsOn:"1",weekdaySu:"\u65E5",weekdayMo:"\u4E00",weekdayTu:"\u4E8C",weekdayWe:"\u4E09",weekdayTh:"\u56DB",weekdayFr:"\u4E94",weekdaySa:"\u516D",importTitle:"\u5BFC\u5165\u6570\u636E",importStepSource:"1. \u6570\u636E\u6E90",importStepMap:"2. \u6620\u5C04\u5217",importFile:"CSV \u6587\u4EF6",importPaste:"\u2026\u6216\u7C98\u8D34\u884C",importSeparator:"\u5206\u9694\u7B26",importSeparatorAuto:"\u81EA\u52A8\u68C0\u6D4B",importSeparatorComma:"\u9017\u53F7 ,",importSeparatorSemicolon:"\u5206\u53F7 ;",importSeparatorTab:"\u5236\u8868\u7B26",importSeparatorPipe:"\u7AD6\u7EBF |",importFileColumn:"\u6587\u4EF6\u5217",importDetected:"\u68C0\u6D4B\u7ED3\u679C",importGridColumn:"\u8868\u683C\u5217",importSample:"\u793A\u4F8B",importSkip:"\u2014 \u8DF3\u8FC7 \u2014",importPreview:"\u9884\u89C8",importNoSource:"\u8BF7\u5148\u9009\u62E9\u6587\u4EF6\u6216\u7C98\u8D34\u4E00\u4E9B\u884C\u3002",importNoRows:"\u672A\u627E\u5230\u6570\u636E\u884C\u3002",importAction:"\u5BFC\u5165",exportAborted:"\u5BFC\u51FA\u5DF2\u4E2D\u6B62",exportSheetName:"\u6570\u636E",chart:"\u56FE\u8868",chartCategory:"\u7C7B\u522B",chartSeries:"\u7CFB\u5217",chartAddSeries:"\u6DFB\u52A0\u7CFB\u5217",chartRemoveSeries:"\u79FB\u9664",chartSource:"\u6570\u636E",chartSourceView:"\u7B5B\u9009\u540E\u7684\u884C",chartSourceSelection:"\u9009\u4E2D\u7684\u884C",chartSourceAll:"\u5168\u90E8\u884C",chartSourceRange:"\u6240\u9009\u8303\u56F4\uFF08\u7B2C {from}\u2013{to} \u884C\uFF09",chartClose:"\u5173\u95ED\u56FE\u8868",chartFullscreen:"\u5168\u5C4F",chartExitFullscreen:"\u9000\u51FA\u5168\u5C4F",chartFloat:"\u5F39\u51FA",chartDock:"\u505C\u9760",chartNewWindow:"\u65B0\u7A97\u53E3",chartMoveWindow:"\u79FB\u52A8\u56FE\u8868\u7A97\u53E3",chartResizeWindow:"\u8C03\u6574\u56FE\u8868\u7A97\u53E3\u5927\u5C0F",chartResizeDock:"\u62D6\u52A8\u4EE5\u66F4\u6539\u56FE\u8868\u9AD8\u5EA6",chartSwitch:"\u4EA4\u6362\u7C7B\u522B\u548C\u7CFB\u5217",chartUnlink:"\u53D6\u6D88\u5173\u8054",chartLink:"\u5173\u8054",chartUnlinked:"\u5DF2\u53D6\u6D88\u5173\u8054\uFF1A\u56FE\u8868\u4FDD\u7559\u5176\u6570\u636E\uFF0C\u4E0D\u518D\u968F\u8868\u683C\u53D8\u5316\u3002",chartExportPng:"PNG",chartExportSvg:"SVG",chartExportFailed:"\u56FE\u8868\u5BFC\u51FA\u5931\u8D25\u3002",chartCrossFiltered:"\u8868\u683C\u5DF2\u7B5B\u9009\u4E3A {value}\u3002",chartBlankCategory:"(\u7A7A\u767D)",chartTruncated:"\u663E\u793A\u524D {n} \u4E2A\u7C7B\u522B\uFF1B\u5176\u4F59\u5F52\u5165\u201C\u5176\u4ED6\u201D\u3002",chartOther:"\u5176\u4ED6",chartEmpty:"\u6682\u65E0\u53EF\u7ED8\u5236\u7684\u5185\u5BB9\u3002",chartNoVisibleSeries:"\u6CA1\u6709\u53EF\u89C1\u7684\u7CFB\u5217\u3002",chartNeedsMoreSeries:"\u6B64\u56FE\u8868\u7C7B\u578B\u81F3\u5C11\u9700\u8981\u4E24\u4E2A\u6570\u503C\u5217\uFF08\u4F8B\u5982\u6700\u4F4E\u503C\u548C\u6700\u9AD8\u503C\uFF09\uFF0C\u8BF7\u6DFB\u52A0\u7B2C\u4E8C\u4E2A\u7CFB\u5217\u3002",chartLoading:"\u52A0\u8F7D\u4E2D\u2026",chartNeedsRecharts:"\u56FE\u8868\u9700\u8981\u53EF\u9009\u4F9D\u8D56 `recharts`\u3002\u8BF7\u5B89\u88C5\u540E\u518D\u7ED8\u5236\u3002",chartOnlyOneSeries:"\u6B64\u56FE\u8868\u7C7B\u578B\u4EC5\u663E\u793A\u4E00\u4E2A\u7CFB\u5217\u3002",chartByColumn:"\u6309\u6B64\u5217\u7ED8\u5236\u56FE\u8868",chartGroupBy:"\u6309",chartGroupNone:"\u6BCF\u4E2A\u503C",chartGroupAuto:"\u81EA\u52A8",chartGroupDay:"\u65E5",chartGroupWeek:"\u5468",chartGroupMonth:"\u6708",chartGroupQuarter:"\u5B63\u5EA6",chartGroupYear:"\u5E74",chartGroupBins:"{n} \u4E2A\u533A\u95F4",chartBucketAdjusted:"\u5355\u4E2A\u5750\u6807\u8F74\u4E0A\u7684\u533A\u95F4\u8FC7\u591A\u2014\u2014\u5DF2\u6309\u66F4\u7C97\u7684\u7C92\u5EA6\u5206\u7EC4\u3002",chartWindowed:"\u6B63\u5728\u663E\u793A {total} \u4E2A\u4E2D\u7684 {shown} \u4E2A\u3002",chartShowAll:"\u663E\u793A\u5168\u90E8",chartCanvasHint:"\u56FE\u8868\u3002\u6EDA\u52A8\u7F29\u653E\uFF0C\u62D6\u52A8\u5E73\u79FB\uFF0C\u65B9\u5411\u952E\u79FB\u52A8\uFF0C\u6309 0 \u663E\u793A\u5168\u90E8\u3002",chartCanvasHintPick:"\u56FE\u8868\u3002\u65B9\u5411\u952E\u9009\u62E9\u7C7B\u522B\uFF0CEnter \u6216\u7A7A\u683C\u6309\u8BE5\u7C7B\u522B\u7B5B\u9009\u8868\u683C\uFF08Ctrl \u8FFD\u52A0\uFF09\uFF0C+ \u548C \u2212 \u7F29\u653E\uFF0C0 \u663E\u793A\u5168\u90E8\u3002",chartCategoryFocus:"{category}\uFF1A{values} \u2014 \u7B2C {position} \u4E2A\uFF0C\u5171 {count} \u4E2A",chartCategoryFiltered:"\u6B63\u5728\u7B5B\u9009\u8868\u683C",chartAggSum:"\u6C42\u548C",chartAggAvg:"\u5E73\u5747\u503C",chartAggMin:"\u6700\u5C0F\u503C",chartAggMax:"\u6700\u5927\u503C",chartAggCount:"\u8BA1\u6570",chartAggDistinct:"\u53BB\u91CD\u8BA1\u6570",chartAggFirst:"\u7B2C\u4E00\u4E2A",chartAggLast:"\u6700\u540E\u4E00\u4E2A",chartTypeColumn:"\u67F1\u5F62\u56FE",chartTypeBar:"\u6761\u5F62\u56FE",chartTypeLine:"\u6298\u7EBF\u56FE",chartTypeArea:"\u9762\u79EF\u56FE",chartTypePie:"\u997C\u56FE",chartTypeDonut:"\u73AF\u5F62\u56FE",chartStacking:"\u7CFB\u5217\u5E03\u5C40",chartStackGrouped:"\u7C07\u72B6",chartStackStacked:"\u5806\u79EF",chartStackNormalized:"\u767E\u5206\u6BD4\u5806\u79EF",chartFormat:"\u683C\u5F0F",chartFormatTitle:"\u6807\u9898",chartFormatCategoryAxis:"\u5206\u7C7B\u8F74\u6807\u9898",chartFormatValueAxis:"\u6570\u503C\u8F74\u6807\u9898",chartFormatLegend:"\u56FE\u4F8B",chartLegendTop:"\u9876\u90E8",chartLegendBottom:"\u5E95\u90E8",chartLegendLeft:"\u5DE6\u4FA7",chartLegendRight:"\u53F3\u4FA7",chartLegendNone:"\u9690\u85CF",chartFormatDataLabels:"\u6570\u636E\u6807\u7B7E",chartFormatScale:"\u6570\u503C\u523B\u5EA6",chartScaleLinear:"\u7EBF\u6027",chartScaleLog:"\u5BF9\u6570",chartFormatTextSize:"\u6587\u5B57\u5927\u5C0F",chartFormatTextColor:"\u6587\u5B57\u989C\u8272",chartFormatDefault:"\u9ED8\u8BA4",chartFormatLabelAngle:"\u7C7B\u522B\u6807\u7B7E",chartAngleAuto:"\u81EA\u52A8",chartAngleFlat:"\u6C34\u5E73",chartFormatGridLines:"\u7F51\u683C\u7EBF",chartGridValue:"\u6570\u503C\u8F74",chartGridBoth:"\u4E24\u4E2A\u8F74",chartGridNone:"\u65E0",chartFormatGridDashed:"\u865A\u7EBF\u7F51\u683C",chartFormatLineWidth:"\u7EBF\u5BBD",chartFormatLineDashed:"\u865A\u7EBF",chartFormatFillOpacity:"\u586B\u5145\u4E0D\u900F\u660E\u5EA6",chartFormatDateFormat:"\u65E5\u671F\u683C\u5F0F",chartFormatPalette:"\u989C\u8272",chartPaletteTheme:"\u4E3B\u9898",chartPaletteClassic:"\u7ECF\u5178",chartPaletteColorblind:"\u8272\u76F2\u53CB\u597D",chartPaletteVivid:"\u9C9C\u8273",chartPaletteMonochrome:"\u5355\u8272",sparklineSummary:"{count} \u4E2A\u503C\uFF0C\u4ECE {min} \u5230 {max}\uFF0C\u6700\u540E\u4E3A {last}",chartTypeWaterfall:"\u7011\u5E03\u56FE",chartTypeFunnel:"\u6F0F\u6597\u56FE",chartTypeTreemap:"\u77E9\u5F62\u6811\u56FE",chartTypeHeatmap:"\u70ED\u529B\u56FE",chartTypeBox:"\u7BB1\u7EBF\u56FE",chartTypeRadar:"\u96F7\u8FBE\u56FE",chartTypeRangeBar:"\u8303\u56F4\u56FE",chartBoxQ1:"Q1",chartBoxMedian:"\u4E2D\u4F4D\u6570",chartBoxQ3:"Q3",chartBoxOutlier:"\u79BB\u7FA4\u503C",chartTotal:"\u5408\u8BA1",chartTypeScatter:"\u6563\u70B9\u56FE",chartTypeBubble:"\u6C14\u6CE1\u56FE",chartXAxis:"X \u8F74",chartBubbleSize:"\u5927\u5C0F",chartXYSampled:"\u5171 {total} \u4E2A\u70B9\uFF0C\u5747\u5300\u62BD\u6837\u663E\u793A {shown} \u4E2A",licenseMissing:"\u672A\u6388\u6743",licenseExpired:"\u8BB8\u53EF\u8BC1\u5DF2\u8FC7\u671F",licenseReleaseNotCovered:"\u6B64\u7248\u672C\u4E0D\u5728\u8BB8\u53EF\u8BC1\u8986\u76D6\u8303\u56F4\u5185",licenseDomainMismatch:"\u8BB8\u53EF\u8BC1\u5BF9\u6B64\u57DF\u540D\u65E0\u6548",licenseRevoked:"\u8BB8\u53EF\u8BC1\u5DF2\u88AB\u540A\u9500",licenseInvalidFormat:"\u8BB8\u53EF\u8BC1\u5BC6\u94A5\u683C\u5F0F\u9519\u8BEF",licenseInvalidSignature:"\u8BB8\u53EF\u8BC1\u7B7E\u540D\u65E0\u6548",licenseEngineUnavailable:"\u6D4F\u89C8\u5668\u65E0\u6CD5\u9A8C\u8BC1\u8BB8\u53EF\u8BC1\uFF08\u9700\u8981 HTTPS\uFF09",calcAdd:"\u6DFB\u52A0\u8BA1\u7B97\u5217\u2026",calcEdit:"\u7F16\u8F91\u8BA1\u7B97\u5217\u2026",calcRemove:"\u5220\u9664\u8BA1\u7B97\u5217",calcTitleAdd:"\u6DFB\u52A0\u8BA1\u7B97\u5217",calcTitleEdit:"\u7F16\u8F91\u8BA1\u7B97\u5217",calcName:"\u540D\u79F0",calcFormula:"\u516C\u5F0F",calcFormulaHint:"\u5217\u5199\u4F5C [\u540D\u79F0]\u3002\u793A\u4F8B\uFF1A[\u4EF7\u683C] * [\u6570\u91CF]",calcColumns:"\u5217",calcFunctions:"\u51FD\u6570",calcPreview:"\u9884\u89C8",calcPreviewEmpty:"\u6CA1\u6709\u53EF\u9884\u89C8\u7684\u884C",calcErrorAt:"{message}\uFF08\u7B2C {position} \u4E2A\u5B57\u7B26\uFF09",calcAddButton:"\u6DFB\u52A0",calcArgsAtLeast:"{min} \u4E2A\u6216\u66F4\u591A",formulaError_empty:"\u8BF7\u8F93\u5165\u516C\u5F0F",formulaError_unclosedText:'\u6587\u672C\u672A\u95ED\u5408\uFF1A\u7F3A\u5C11 "',formulaError_unclosedColumn:"\u5217\u540D\u672A\u95ED\u5408\uFF1A\u7F3A\u5C11 ]",formulaError_emptyColumn:"\u5217\u540D\u4E3A\u7A7A []",formulaError_unexpectedChar:"\u610F\u5916\u7684\u5B57\u7B26 {text}",formulaError_expected:"\u7F3A\u5C11 {text}",formulaError_cellAfterColon:'":" \u540E\u7F3A\u5C11\u5355\u5143\u683C',formulaError_unknownName:"\u672A\u77E5\u540D\u79F0 {name} \u2014 \u5217\u5E94\u5199\u4F5C [{name}]",formulaError_unexpected:"\u610F\u5916\u7684 {text}",formulaError_endsEarly:"\u516C\u5F0F\u8FC7\u65E9\u7ED3\u675F",formulaError_trailing:"\u672B\u5C3E\u6709\u591A\u4F59\u7684\u6587\u672C",formulaError_unknownColumn:"\u6CA1\u6709\u5217 [{name}]",formulaError_unknownFunction:"\u672A\u77E5\u51FD\u6570 {name}",formulaError_argCount:"{name} \u9700\u8981 {range} \u4E2A\u53C2\u6570",formulaError_cellsNotAllowed:"\u6B64\u5904\u4E0D\u4F7F\u7528 A1 \u8FD9\u6837\u7684\u5355\u5143\u683C\u5F15\u7528 \u2014 \u5217\u5E94\u5199\u4F5C [\u540D\u79F0]"},gm={ok:"OK",cancel:"\u30AD\u30E3\u30F3\u30BB\u30EB",apply:"\u9069\u7528",close:"\u9589\u3058\u308B",clear:"\u30AF\u30EA\u30A2",save:"\u4FDD\u5B58",search:"\u691C\u7D22...",selectAll:"\u3059\u3079\u3066\u9078\u629E",showAll:"\u3059\u3079\u3066\u8868\u793A",remove:"\u524A\u9664",none:"\u306A\u3057",toolbarSearch:"\u691C\u7D22...",exportMenu:"\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8",exportCsv:"CSV \u306B\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8",exportExcel:"\u3059\u3079\u3066\u306E\u30C7\u30FC\u30BF\u3092 Excel \u306B\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8",exportExcelSelected:"\u9078\u629E\u3057\u305F\u884C\u3092 Excel \u306B\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8",exportPdf:"PDF \u306B\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8",exporting:"\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u4E2D\u2026",columns:"\u5217",hiddenColumns:"\u975E\u8868\u793A\u306E\u5217",noHiddenColumns:"\u975E\u8868\u793A\u306E\u5217\u306F\u3042\u308A\u307E\u305B\u3093\u3002",sortAsc:"\u6607\u9806\u3067\u4E26\u3079\u66FF\u3048",sortDesc:"\u964D\u9806\u3067\u4E26\u3079\u66FF\u3048",clearSort:"\u4E26\u3079\u66FF\u3048\u3092\u30AF\u30EA\u30A2",cardSortBy:"\u4E26\u3079\u66FF\u3048",groupByColumn:"\u3053\u306E\u5217\u3067\u30B0\u30EB\u30FC\u30D7\u5316",ungroupColumn:"\u30B0\u30EB\u30FC\u30D7\u5316\u304B\u3089\u5916\u3059",showGroupPanel:"\u30B0\u30EB\u30FC\u30D7\u30D1\u30CD\u30EB\u3092\u8868\u793A",hideGroupPanel:"\u30B0\u30EB\u30FC\u30D7\u30D1\u30CD\u30EB\u3092\u975E\u8868\u793A",showFooter:"\u30D5\u30C3\u30BF\u30FC\u3092\u8868\u793A",hideFooter:"\u30D5\u30C3\u30BF\u30FC\u3092\u975E\u8868\u793A",showGroupFooters:"\u30B0\u30EB\u30FC\u30D7\u30D5\u30C3\u30BF\u30FC\u3092\u8868\u793A",hideGroupFooters:"\u30B0\u30EB\u30FC\u30D7\u30D5\u30C3\u30BF\u30FC\u3092\u975E\u8868\u793A",hideColumn:"\u3053\u306E\u5217\u3092\u975E\u8868\u793A",fieldChooser:"\u30D5\u30A3\u30FC\u30EB\u30C9\u9078\u629E\u2026",bestFit:"\u5E45\u3092\u81EA\u52D5\u8ABF\u6574",bestFitAll:"\u5E45\u3092\u81EA\u52D5\u8ABF\u6574\uFF08\u3059\u3079\u3066\u306E\u5217\uFF09",pinRowTop:"\u884C\u3092\u4E0A\u90E8\u306B\u56FA\u5B9A",pinRowBottom:"\u884C\u3092\u4E0B\u90E8\u306B\u56FA\u5B9A",unpinRow:"\u884C\u306E\u56FA\u5B9A\u3092\u89E3\u9664",findLabel:"\u8868\u5185\u3092\u691C\u7D22",findPrevious:"\u524D\u306E\u4E00\u81F4",findNext:"\u6B21\u306E\u4E00\u81F4",findClose:"\u691C\u7D22\u3092\u9589\u3058\u308B",findCount:"{n} / {count}",findNone:"\u4E00\u81F4\u306A\u3057",renameColumn:"\u5217\u540D\u3092\u5909\u66F4",fixedPosition:"\u56FA\u5B9A\u4F4D\u7F6E\u3092\u8A2D\u5B9A",pinLeft:"\u5DE6",pinRight:"\u53F3",pinSticky:"\u56FA\u5B9A",unpin:"\u56FA\u5B9A\u3092\u89E3\u9664",moveLeft:"\u5DE6\u306B\u79FB\u52D5",moveRight:"\u53F3\u306B\u79FB\u52D5",filterPlaceholder:"\u30D5\u30A3\u30EB\u30BF\u30FC\u2026",filterColumnAria:"{column} \u3092\u30D5\u30A3\u30EB\u30BF\u30FC",filterOperatorDefault:"\u65E2\u5B9A",filterOperatorAria:"{column} \u306E\u30D5\u30A3\u30EB\u30BF\u30FC\u6F14\u7B97\u5B50",filterSelectAll:"\u3059\u3079\u3066\u9078\u629E",filterBlank:"(\u7A7A\u767D)",filterNonBlank:"(\u7A7A\u767D\u4EE5\u5916)",filterEmptyText:"(\u7A7A\u306E\u6587\u5B57\u5217)",filterSpace:"(\u30B9\u30DA\u30FC\u30B9 1 \u500B)",filterSpaces:"(\u30B9\u30DA\u30FC\u30B9 {n} \u500B)",filterNoMatch:"\u4E00\u81F4\u3059\u308B\u5024\u304C\u3042\u308A\u307E\u305B\u3093",filterLoading:"\u5024\u3092\u8AAD\u307F\u8FBC\u307F\u4E2D\u2026",filterTruncated:"\u5148\u982D\u306E\u5024\u306E\u307F\u8868\u793A\u3057\u3066\u3044\u307E\u3059\u3002\u6B8B\u308A\u306F\u691C\u7D22\u3057\u3066\u304F\u3060\u3055\u3044\u3002",filterRemove:"\u30D5\u30A3\u30EB\u30BF\u30FC\u3092\u89E3\u9664",filterToggle:"\u30D5\u30A3\u30EB\u30BF\u30FC\u3092\u9069\u7528",filterEditBuilder:"\u30D5\u30A3\u30EB\u30BF\u30FC\u3092\u7DE8\u96C6",filterNone:"\u30D5\u30A3\u30EB\u30BF\u30FC\u306A\u3057",filterActive:"\u30D5\u30A3\u30EB\u30BF\u30FC\u9069\u7528\u4E2D",opEquals:"\u304C\u6B21\u3068\u7B49\u3057\u3044",opNotEquals:"\u304C\u6B21\u3068\u7B49\u3057\u304F\u306A\u3044",opGreater:">",opGreaterOrEqual:"\u2265",opLess:"<",opLessOrEqual:"\u2264",opContains:"\u3092\u542B\u3080",opNotContains:"\u3092\u542B\u307E\u306A\u3044",opStartsWith:"\u3067\u59CB\u307E\u308B",opEndsWith:"\u3067\u7D42\u308F\u308B",opIsBlank:"\u304C\u7A7A\u767D",opIsNotBlank:"\u304C\u7A7A\u767D\u3067\u306A\u3044",opIsBetween:"\u304C\u6B21\u306E\u7BC4\u56F2\u5185",opIsOneOf:"\u304C\u6B21\u306E\u3044\u305A\u308C\u304B",opValuesCount:"{n} \u4EF6\u306E\u5024",opInPeriod:"\u671F\u9593\u5185",periodToday:"\u4ECA\u65E5",periodYesterday:"\u6628\u65E5",periodTomorrow:"\u660E\u65E5",periodThisWeek:"\u4ECA\u9031",periodLastWeek:"\u5148\u9031",periodNextWeek:"\u6765\u9031",periodThisMonth:"\u4ECA\u6708",periodLastMonth:"\u5148\u6708",periodNextMonth:"\u6765\u6708",periodThisQuarter:"\u4ECA\u56DB\u534A\u671F",periodLastQuarter:"\u524D\u56DB\u534A\u671F",periodNextQuarter:"\u6B21\u56DB\u534A\u671F",periodThisYear:"\u4ECA\u5E74",periodLastYear:"\u6628\u5E74",periodNextYear:"\u6765\u5E74",periodYearToDate:"\u5E74\u521D\u6765",periodLastDays:"\u904E\u53BB {n} \u65E5\u9593",periodNextDays:"\u4ECA\u5F8C {n} \u65E5\u9593",filterAnd:"\u304B\u3064 (And)",filterOr:"\u307E\u305F\u306F (Or)",builderTitle:"\u30D5\u30A3\u30EB\u30BF\u30FC\u30D3\u30EB\u30C0\u30FC",builderCombine:"\u6761\u4EF6\u306E\u7D50\u5408\u65B9\u6CD5",builderAddCondition:"\u6761\u4EF6\u3092\u8FFD\u52A0",builderAddGroup:"\u30B0\u30EB\u30FC\u30D7\u3092\u8FFD\u52A0",builderRemoveGroup:"\u30B0\u30EB\u30FC\u30D7\u3092\u524A\u9664",builderRemoveCondition:"\u6761\u4EF6\u3092\u524A\u9664",builderEmpty:"\u307E\u3060\u6761\u4EF6\u304C\u3042\u308A\u307E\u305B\u3093\u3002",builderColumn:"\u5217",builderOperator:"\u6F14\u7B97\u5B50",builderValue:"\u5024",builderValueFrom:"\u958B\u59CB",builderValueTo:"\u7D42\u4E86",builderValuePlaceholder:"\u5024\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044",builderOpen:"\u30D5\u30A3\u30EB\u30BF\u30FC\u30D3\u30EB\u30C0\u30FC\u2026",builderClearAll:"\u3059\u3079\u3066\u30AF\u30EA\u30A2",builderConditionButton:"+ \u6761\u4EF6",builderGroupButton:"+ \u30B0\u30EB\u30FC\u30D7",builderTrue:"\u771F",builderFalse:"\u507D",builderPeriod:"\u671F\u9593",builderDays:"\u65E5\u6570",filterCustom:"(\u30AB\u30B9\u30BF\u30E0\u2026)",filterPopupAria:"{column} \u306E\u30D5\u30A3\u30EB\u30BF\u30FC",importOpen:"\u30A4\u30F3\u30DD\u30FC\u30C8\u2026",groupPanelHint:"\u30B0\u30EB\u30FC\u30D7\u5316\u3059\u308B\u5217\u3092\u3053\u3053\u306B\u30C9\u30E9\u30C3\u30B0\u3057\u3066\u304F\u3060\u3055\u3044",groupAddLevel:"\u30B0\u30EB\u30FC\u30D7\u5316\u306E\u30EC\u30D9\u30EB\u3092\u8FFD\u52A0",groupAddLevelButton:"+ \u30EC\u30D9\u30EB\u3092\u8FFD\u52A0\u2026",groupNoGrouping:"\uFF08\u30B0\u30EB\u30FC\u30D7\u5316\u306A\u3057\uFF09",groupLevelAria:"\u30B0\u30EB\u30FC\u30D7\u5316\u30EC\u30D9\u30EB {n}",groupRemoveAria:"{column} \u3092\u524A\u9664",groupExpandAll:"\u3059\u3079\u3066\u5C55\u958B",groupCollapseAll:"\u3059\u3079\u3066\u6298\u308A\u305F\u305F\u3080",pagerFirst:"\u6700\u521D\u306E\u30DA\u30FC\u30B8",pagerPrevious:"\u524D\u306E\u30DA\u30FC\u30B8",pagerNext:"\u6B21\u306E\u30DA\u30FC\u30B8",pagerLast:"\u6700\u5F8C\u306E\u30DA\u30FC\u30B8",pagerPage:"\u30DA\u30FC\u30B8",pagerOf:"/",pagerRowsPerPage:"1 \u30DA\u30FC\u30B8\u3042\u305F\u308A\u306E\u884C\u6570",pagerAria:"\u30DA\u30FC\u30B8\u9001\u308A",pagerPageButton:"{n} \u30DA\u30FC\u30B8",selectAllRows:"\u3059\u3079\u3066\u306E\u884C\u3092\u9078\u629E",selectRowAria:"\u884C {row} \u3092\u9078\u629E",selectGroupAria:"{group} \u306E {count} \u884C\u3092\u9078\u629E",summaryAria:"\u96C6\u8A08",columnTotalsAria:"\u5217\u306E\u5408\u8A08",rowActions:"\u884C\u306E\u64CD\u4F5C",detailsAria:"\u8A73\u7D30",rowNumberAria:"\u884C\u756A\u53F7",noteEditorAria:"\u30BB\u30EB\u306E\u30E1\u30E2",notePlaceholder:"\u3053\u306E\u30BB\u30EB\u306B\u3064\u3044\u3066\u30E1\u30E2\u3092\u66F8\u304F\u2026",addNote:"\u30E1\u30E2\u3092\u8FFD\u52A0\u2026",editNote:"\u30E1\u30E2\u3092\u7DE8\u96C6\u2026",deleteNote:"\u30E1\u30E2\u3092\u524A\u9664",expandDetails:"\u8A73\u7D30\u3092\u5C55\u958B",collapseDetails:"\u8A73\u7D30\u3092\u6298\u308A\u305F\u305F\u3080",expandTreeRow:"\u884C\u3092\u5C55\u958B",collapseTreeRow:"\u884C\u3092\u6298\u308A\u305F\u305F\u3080",expandColumnGroup:"\u5217\u30B0\u30EB\u30FC\u30D7\u3092\u5C55\u958B",collapseColumnGroup:"\u5217\u30B0\u30EB\u30FC\u30D7\u3092\u6298\u308A\u305F\u305F\u3080",dragToReorder:"\u30C9\u30E9\u30C3\u30B0\u3057\u3066\u4E26\u3079\u66FF\u3048",menuCopy:"\u30B3\u30D4\u30FC",menuCopyWithHeaders:"\u898B\u51FA\u3057\u4ED8\u304D\u3067\u30B3\u30D4\u30FC",menuCopyWithGroupHeaders:"\u30B0\u30EB\u30FC\u30D7\u898B\u51FA\u3057\u4ED8\u304D\u3067\u30B3\u30D4\u30FC",menuCut:"\u5207\u308A\u53D6\u308A",menuPaste:"\u8CBC\u308A\u4ED8\u3051",menuExport:"\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8",menuChartRange:"\u9078\u629E\u3057\u305F\u30BB\u30EB\u3092\u30B0\u30E9\u30D5\u5316",statsSum:"\u5408\u8A08",statsCount:"\u30AB\u30A6\u30F3\u30C8",statsAvg:"\u5E73\u5747",statsMin:"\u6700\u5C0F",statsMax:"\u6700\u5927",statsCells:"\u30BB\u30EB",statsTooLarge:"\u9078\u629E\u7BC4\u56F2\u304C\u5927\u304D\u3059\u304E\u3066\u96C6\u8A08\u3067\u304D\u307E\u305B\u3093",statusRows:"\u884C\u6570",statusFiltered:"\u30D5\u30A3\u30EB\u30BF\u30FC\u5F8C",statusSelected:"\u9078\u629E\u6E08\u307F",summaryRows:"\u884C",announceRows:"{n} \u884C",announceSortedBy:"{columns} \u3067\u4E26\u3079\u66FF\u3048",announceSelected:"{n} \u4EF6\u9078\u629E",announceAscending:"\u6607\u9806",announceDescending:"\u964D\u9806",sideFilters:"\u30D5\u30A3\u30EB\u30BF\u30FC",sideBarAria:"\u30C4\u30FC\u30EB\u30D1\u30CD\u30EB",sideClearFilters:"\u3059\u3079\u3066\u306E\u30D5\u30A3\u30EB\u30BF\u30FC\u3092\u30AF\u30EA\u30A2",summarySum:"\u5408\u8A08",summaryAvg:"\u5E73\u5747",summaryMin:"\u6700\u5C0F",summaryMax:"\u6700\u5927",summaryCount:"\u30AB\u30A6\u30F3\u30C8",summaryDistinct:"\u4E00\u610F\u306E\u6570",summaryCustom:"\u30AB\u30B9\u30BF\u30E0",noTotal:"\u5408\u8A08\u306A\u3057",busy:"\u51E6\u7406\u4E2D\u2026",busyLoading:"\u884C\u3092\u8AAD\u307F\u8FBC\u307F\u4E2D\u2026",rowsLoadFailed:"\u3053\u308C\u3089\u306E\u884C\u3092\u8AAD\u307F\u8FBC\u3081\u307E\u305B\u3093\u3067\u3057\u305F\u3002",retryLoad:"\u518D\u8A66\u884C",busyEncoding:"\u30C7\u30FC\u30BF\u3092\u6E96\u5099\u4E2D\u2026",busyFiltering:"\u884C\u3092\u30D5\u30A3\u30EB\u30BF\u30FC\u4E2D\u2026",busySorting:"\u884C\u3092\u4E26\u3079\u66FF\u3048\u4E2D\u2026",busyComputing:"\u30D5\u30A3\u30EB\u30BF\u30FC\u3068\u4E26\u3079\u66FF\u3048\u3092\u5B9F\u884C\u4E2D\u2026",busyGrouping:"\u30B0\u30EB\u30FC\u30D7\u3092\u4F5C\u6210\u4E2D\u2026",busyAggregating:"\u5408\u8A08\u3092\u8A08\u7B97\u4E2D\u2026",busyProjecting:"\u30D3\u30E5\u30FC\u3092\u66F4\u65B0\u4E2D\u2026",busyExporting:"\u30D5\u30A1\u30A4\u30EB\u3092\u4F5C\u6210\u4E2D\u2026",noData:"\u30C7\u30FC\u30BF\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093",editNewRow:"\u65B0\u3057\u3044\u884C",editSaveChanges:"\u5909\u66F4\u3092\u4FDD\u5B58",editDiscardChanges:"\u5909\u66F4\u3092\u7834\u68C4",editRow:"\u884C\u3092\u7DE8\u96C6",editRowMenu:"\u884C\u3092\u7DE8\u96C6\u2026",editDeleteRow:"\u884C\u3092\u524A\u9664",editUndoDelete:"\u524A\u9664\u3092\u5143\u306B\u623B\u3059",editActions:"\u30A2\u30AF\u30B7\u30E7\u30F3",editSaveRow:"\u884C\u3092\u4FDD\u5B58",editSaving:"\u4FDD\u5B58\u4E2D\u2026",editEditingRow:"\u884C {row} \u3092\u7DE8\u96C6\u4E2D",editSaveCount:"{n} \u884C\u3092\u4FDD\u5B58",editCannotSave:"\u4FDD\u5B58\u3067\u304D\u307E\u305B\u3093",editSaveFailed:"\u5909\u66F4\u3092\u4FDD\u5B58\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002",rowStatusNew:"\u65B0\u3057\u3044\u884C(\u672A\u4FDD\u5B58)",rowStatusChanged:"\u672A\u4FDD\u5B58\u306E\u5909\u66F4",rowStatusRemoved:"\u524A\u9664\u4E88\u5B9A",rowStatusSaving:"\u4FDD\u5B58\u4E2D\u2026",rowStatusSaved:"\u4FDD\u5B58\u6E08\u307F",rowStatusError:"\u4FDD\u5B58\u306B\u5931\u6557\u3057\u307E\u3057\u305F",rowStatusRetry:"\u518D\u8A66\u884C",rowStatusDelete:"\u884C\u3092\u524A\u9664",editDeleteConfirm:"\u3053\u306E\u884C\u3092\u524A\u9664\u3057\u307E\u3059\u304B\uFF1F",editAddRowUndo:"\u884C\u306E\u8FFD\u52A0",editDeleteRowUndo:"\u884C\u306E\u524A\u9664",editCellUndo:"{column} \u3092\u7DE8\u96C6",editFillUndo:"{count} \u30BB\u30EB\u3092\u30D5\u30A3\u30EB",editPasteUndo:"{count} \u30BB\u30EB\u3092\u8CBC\u308A\u4ED8\u3051",editCutUndo:"{count} \u30BB\u30EB\u3092\u5207\u308A\u53D6\u308A",editGroupTotal:"\u30B0\u30EB\u30FC\u30D7\u5408\u8A08",editGroupTotalUndo:"{column} \u306E\u5408\u8A08\u3092\u5909\u66F4\uFF08{count} \u884C\uFF09",editNoMatch:"\u4E00\u81F4\u306A\u3057",formEditTitle:"\u884C\u3092\u7DE8\u96C6",formAddTitle:"\u65B0\u3057\u3044\u884C",formShortcut:"{key}+Enter \u3067\u4FDD\u5B58 \xB7 Esc \u3067\u30AD\u30E3\u30F3\u30BB\u30EB",validationRequired:"\u3053\u306E\u9805\u76EE\u306F\u5FC5\u9808\u3067\u3059",validationNumber:"\u6570\u5024\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044",validationNumberLocale:"\u6570\u5024\u306E\u5F62\u5F0F\u304C\u6B63\u3057\u304F\u3042\u308A\u307E\u305B\u3093\u3002\u4F8B: {example}",validationMin:"{min} \u4EE5\u4E0A\u306B\u3057\u3066\u304F\u3060\u3055\u3044",validationMax:"{max} \u4EE5\u4E0B\u306B\u3057\u3066\u304F\u3060\u3055\u3044",validationFormat:"\u5F62\u5F0F\u304C\u6B63\u3057\u304F\u3042\u308A\u307E\u305B\u3093",validationEmail:"\u30E1\u30FC\u30EB\u30A2\u30C9\u30EC\u30B9\u304C\u6B63\u3057\u304F\u3042\u308A\u307E\u305B\u3093",validationInvalid:"\u5024\u304C\u6B63\u3057\u304F\u3042\u308A\u307E\u305B\u3093",dateCalendar:"\u30AB\u30EC\u30F3\u30C0\u30FC",dateOpenCalendar:"\u30AB\u30EC\u30F3\u30C0\u30FC\u3092\u958B\u304F",datePreviousMonth:"\u524D\u306E\u6708",dateNextMonth:"\u6B21\u306E\u6708",monthJanuary:"1\u6708",monthFebruary:"2\u6708",monthMarch:"3\u6708",monthApril:"4\u6708",monthMay:"5\u6708",monthJune:"6\u6708",monthJuly:"7\u6708",monthAugust:"8\u6708",monthSeptember:"9\u6708",monthOctober:"10\u6708",monthNovember:"11\u6708",monthDecember:"12\u6708",weekStartsOn:"0",weekdaySu:"\u65E5",weekdayMo:"\u6708",weekdayTu:"\u706B",weekdayWe:"\u6C34",weekdayTh:"\u6728",weekdayFr:"\u91D1",weekdaySa:"\u571F",importTitle:"\u30C7\u30FC\u30BF\u306E\u30A4\u30F3\u30DD\u30FC\u30C8",importStepSource:"1. \u30BD\u30FC\u30B9",importStepMap:"2. \u5217\u306E\u5BFE\u5FDC\u4ED8\u3051",importFile:"CSV \u30D5\u30A1\u30A4\u30EB",importPaste:"\u2026\u307E\u305F\u306F\u884C\u3092\u8CBC\u308A\u4ED8\u3051",importSeparator:"\u533A\u5207\u308A\u6587\u5B57",importSeparatorAuto:"\u81EA\u52D5\u691C\u51FA",importSeparatorComma:"\u30AB\u30F3\u30DE ,",importSeparatorSemicolon:"\u30BB\u30DF\u30B3\u30ED\u30F3 ;",importSeparatorTab:"\u30BF\u30D6",importSeparatorPipe:"\u30D1\u30A4\u30D7 |",importFileColumn:"\u30D5\u30A1\u30A4\u30EB\u306E\u5217",importDetected:"\u691C\u51FA\u7D50\u679C",importGridColumn:"\u30B0\u30EA\u30C3\u30C9\u306E\u5217",importSample:"\u30B5\u30F3\u30D7\u30EB",importSkip:"\u2014 \u30B9\u30AD\u30C3\u30D7 \u2014",importPreview:"\u30D7\u30EC\u30D3\u30E5\u30FC",importNoSource:"\u307E\u305A\u30D5\u30A1\u30A4\u30EB\u3092\u9078\u3076\u304B\u3001\u884C\u3092\u8CBC\u308A\u4ED8\u3051\u3066\u304F\u3060\u3055\u3044\u3002",importNoRows:"\u30C7\u30FC\u30BF\u884C\u304C\u898B\u3064\u304B\u308A\u307E\u305B\u3093\u3067\u3057\u305F\u3002",importAction:"\u30A4\u30F3\u30DD\u30FC\u30C8",exportAborted:"\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3092\u4E2D\u6B62\u3057\u307E\u3057\u305F",exportSheetName:"\u30C7\u30FC\u30BF",chart:"\u30B0\u30E9\u30D5",chartCategory:"\u30AB\u30C6\u30B4\u30EA",chartSeries:"\u7CFB\u5217",chartAddSeries:"\u7CFB\u5217\u3092\u8FFD\u52A0",chartRemoveSeries:"\u524A\u9664",chartSource:"\u30C7\u30FC\u30BF",chartSourceView:"\u30D5\u30A3\u30EB\u30BF\u30FC\u5F8C\u306E\u884C",chartSourceSelection:"\u9078\u629E\u3057\u305F\u884C",chartSourceAll:"\u3059\u3079\u3066\u306E\u884C",chartSourceRange:"\u9078\u629E\u7BC4\u56F2\uFF08{from}\u2013{to} \u884C\u76EE\uFF09",chartClose:"\u30B0\u30E9\u30D5\u3092\u9589\u3058\u308B",chartFullscreen:"\u5168\u753B\u9762\u8868\u793A",chartExitFullscreen:"\u5168\u753B\u9762\u8868\u793A\u3092\u7D42\u4E86",chartFloat:"\u30A6\u30A3\u30F3\u30C9\u30A6\u3067\u8868\u793A",chartDock:"\u30C9\u30C3\u30AD\u30F3\u30B0",chartNewWindow:"\u65B0\u3057\u3044\u30A6\u30A3\u30F3\u30C9\u30A6",chartMoveWindow:"\u30B0\u30E9\u30D5\u30A6\u30A3\u30F3\u30C9\u30A6\u3092\u79FB\u52D5",chartResizeWindow:"\u30B0\u30E9\u30D5\u30A6\u30A3\u30F3\u30C9\u30A6\u306E\u30B5\u30A4\u30BA\u3092\u5909\u66F4",chartResizeDock:"\u30C9\u30E9\u30C3\u30B0\u3057\u3066\u30B0\u30E9\u30D5\u306E\u9AD8\u3055\u3092\u5909\u66F4",chartSwitch:"\u30AB\u30C6\u30B4\u30EA\u3068\u7CFB\u5217\u3092\u5165\u308C\u66FF\u3048",chartUnlink:"\u30EA\u30F3\u30AF\u89E3\u9664",chartLink:"\u30EA\u30F3\u30AF",chartUnlinked:"\u30EA\u30F3\u30AF\u89E3\u9664\u4E2D: \u30B0\u30E9\u30D5\u306F\u30C7\u30FC\u30BF\u3092\u4FDD\u6301\u3057\u3001\u30B0\u30EA\u30C3\u30C9\u306E\u5909\u66F4\u306B\u8FFD\u5F93\u3057\u307E\u305B\u3093\u3002",chartExportPng:"PNG",chartExportSvg:"SVG",chartExportFailed:"\u30B0\u30E9\u30D5\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3067\u304D\u307E\u305B\u3093\u3067\u3057\u305F\u3002",chartCrossFiltered:"\u30B0\u30EA\u30C3\u30C9\u306F {value} \u3067\u7D5E\u308A\u8FBC\u307E\u308C\u3066\u3044\u307E\u3059\u3002",chartBlankCategory:"(\u7A7A\u767D)",chartTruncated:"\u4E0A\u4F4D {n} \u4EF6\u306E\u30AB\u30C6\u30B4\u30EA\u3092\u8868\u793A\u3057\u3066\u3044\u307E\u3059\u3002\u6B8B\u308A\u306F\u300C\u305D\u306E\u4ED6\u300D\u306B\u307E\u3068\u3081\u3089\u308C\u3066\u3044\u307E\u3059\u3002",chartOther:"\u305D\u306E\u4ED6",chartEmpty:"\u307E\u3060\u8868\u793A\u3067\u304D\u308B\u3082\u306E\u304C\u3042\u308A\u307E\u305B\u3093\u3002",chartNoVisibleSeries:"\u8868\u793A\u4E2D\u306E\u7CFB\u5217\u304C\u3042\u308A\u307E\u305B\u3093\u3002",chartNeedsMoreSeries:"\u3053\u306E\u30B0\u30E9\u30D5\u306E\u7A2E\u985E\u306B\u306F\u5024\u306E\u5217\u304C2\u3064\u4EE5\u4E0A\u5FC5\u8981\u3067\u3059\uFF08\u4F8B\uFF1A\u6700\u5C0F\u5024\u3068\u6700\u5927\u5024\uFF09\u30022\u3064\u76EE\u306E\u7CFB\u5217\u3092\u8FFD\u52A0\u3057\u3066\u304F\u3060\u3055\u3044\u3002",chartLoading:"\u8AAD\u307F\u8FBC\u307F\u4E2D\u2026",chartNeedsRecharts:"\u30B0\u30E9\u30D5\u306B\u306F\u30AA\u30D7\u30B7\u30E7\u30F3\u306E\u30D1\u30C3\u30B1\u30FC\u30B8 `recharts` \u304C\u5FC5\u8981\u3067\u3059\u3002\u63CF\u753B\u3059\u308B\u306B\u306F\u30A4\u30F3\u30B9\u30C8\u30FC\u30EB\u3057\u3066\u304F\u3060\u3055\u3044\u3002",chartOnlyOneSeries:"\u3053\u306E\u30B0\u30E9\u30D5\u306E\u7A2E\u985E\u306F 1 \u7CFB\u5217\u306E\u307F\u8868\u793A\u3057\u307E\u3059\u3002",chartByColumn:"\u3053\u306E\u5217\u3067\u30B0\u30E9\u30D5\u3092\u4F5C\u6210",chartGroupBy:"\u5358\u4F4D",chartGroupNone:"\u5404\u5024",chartGroupAuto:"\u81EA\u52D5",chartGroupDay:"\u65E5",chartGroupWeek:"\u9031",chartGroupMonth:"\u6708",chartGroupQuarter:"\u56DB\u534A\u671F",chartGroupYear:"\u5E74",chartGroupBins:"{n} \u533A\u9593",chartBucketAdjusted:"1 \u3064\u306E\u8EF8\u306B\u306F\u533A\u9593\u304C\u591A\u3059\u304E\u308B\u305F\u3081\u3001\u7C97\u304F\u307E\u3068\u3081\u307E\u3057\u305F\u3002",chartWindowed:"{total} \u4EF6\u4E2D {shown} \u4EF6\u3092\u8868\u793A\u3057\u3066\u3044\u307E\u3059\u3002",chartShowAll:"\u3059\u3079\u3066\u8868\u793A",chartCanvasHint:"\u30B0\u30E9\u30D5\u3002\u30B9\u30AF\u30ED\u30FC\u30EB\u3067\u62E1\u5927\u7E2E\u5C0F\u3001\u30C9\u30E9\u30C3\u30B0\u3067\u79FB\u52D5\u3001\u77E2\u5370\u30AD\u30FC\u3067\u79FB\u52D5\u30010 \u3067\u5168\u4F53\u8868\u793A\u3002",chartCanvasHintPick:"\u30B0\u30E9\u30D5\u3002\u77E2\u5370\u30AD\u30FC\u3067\u30AB\u30C6\u30B4\u30EA\u3092\u9078\u3073\u3001Enter \u307E\u305F\u306F Space \u3067\u305D\u306E\u30AB\u30C6\u30B4\u30EA\u3067\u8868\u3092\u7D5E\u308A\u8FBC\u307F\u307E\u3059\uFF08Ctrl \u3067\u8FFD\u52A0\uFF09\u3002+ \u3068 \u2212 \u3067\u62E1\u5927\u7E2E\u5C0F\u30010 \u3067\u5168\u4F53\u8868\u793A\u3002",chartCategoryFocus:"{category}: {values} \u2014 {count} \u4EF6\u4E2D {position} \u4EF6\u76EE",chartCategoryFiltered:"\u8868\u3092\u7D5E\u308A\u8FBC\u307F\u4E2D",chartAggSum:"\u5408\u8A08",chartAggAvg:"\u5E73\u5747",chartAggMin:"\u6700\u5C0F",chartAggMax:"\u6700\u5927",chartAggCount:"\u30AB\u30A6\u30F3\u30C8",chartAggDistinct:"\u4E00\u610F\u306E\u6570",chartAggFirst:"\u6700\u521D",chartAggLast:"\u6700\u5F8C",chartTypeColumn:"\u7E26\u68D2",chartTypeBar:"\u6A2A\u68D2",chartTypeLine:"\u6298\u308C\u7DDA",chartTypeArea:"\u9762",chartTypePie:"\u5186",chartTypeDonut:"\u30C9\u30FC\u30CA\u30C4",chartStacking:"\u7CFB\u5217\u306E\u914D\u7F6E",chartStackGrouped:"\u96C6\u5408",chartStackStacked:"\u7A4D\u307F\u4E0A\u3052",chartStackNormalized:"100% \u7A4D\u307F\u4E0A\u3052",chartFormat:"\u66F8\u5F0F",chartFormatTitle:"\u30BF\u30A4\u30C8\u30EB",chartFormatCategoryAxis:"\u9805\u76EE\u8EF8\u306E\u30BF\u30A4\u30C8\u30EB",chartFormatValueAxis:"\u5024\u8EF8\u306E\u30BF\u30A4\u30C8\u30EB",chartFormatLegend:"\u51E1\u4F8B",chartLegendTop:"\u4E0A",chartLegendBottom:"\u4E0B",chartLegendLeft:"\u5DE6",chartLegendRight:"\u53F3",chartLegendNone:"\u975E\u8868\u793A",chartFormatDataLabels:"\u30C7\u30FC\u30BF \u30E9\u30D9\u30EB",chartFormatScale:"\u5024\u306E\u76EE\u76DB",chartScaleLinear:"\u7DDA\u5F62",chartScaleLog:"\u5BFE\u6570",chartFormatTextSize:"\u6587\u5B57\u30B5\u30A4\u30BA",chartFormatTextColor:"\u6587\u5B57\u8272",chartFormatDefault:"\u65E2\u5B9A",chartFormatLabelAngle:"\u9805\u76EE\u30E9\u30D9\u30EB",chartAngleAuto:"\u81EA\u52D5",chartAngleFlat:"\u6C34\u5E73",chartFormatGridLines:"\u76EE\u76DB\u7DDA",chartGridValue:"\u5024\u8EF8",chartGridBoth:"\u4E21\u65B9\u306E\u8EF8",chartGridNone:"\u306A\u3057",chartFormatGridDashed:"\u7834\u7DDA\u306E\u76EE\u76DB\u7DDA",chartFormatLineWidth:"\u7DDA\u306E\u592A\u3055",chartFormatLineDashed:"\u7834\u7DDA",chartFormatFillOpacity:"\u5857\u308A\u3064\u3076\u3057\u306E\u4E0D\u900F\u660E\u5EA6",chartFormatDateFormat:"\u65E5\u4ED8\u5F62\u5F0F",chartFormatPalette:"\u914D\u8272",chartPaletteTheme:"\u30C6\u30FC\u30DE",chartPaletteClassic:"\u30AF\u30E9\u30B7\u30C3\u30AF",chartPaletteColorblind:"\u8272\u899A\u591A\u69D8\u6027\u306B\u914D\u616E",chartPaletteVivid:"\u30D3\u30D3\u30C3\u30C9",chartPaletteMonochrome:"\u5358\u8272",sparklineSummary:"{count} \u500B\u306E\u5024 ({min}\u301C{max})\u3001\u6700\u5F8C\u306F {last}",chartTypeWaterfall:"\u30A6\u30A9\u30FC\u30BF\u30FC\u30D5\u30A9\u30FC\u30EB",chartTypeFunnel:"\u3058\u3087\u3046\u3054",chartTypeTreemap:"\u30C4\u30EA\u30FC\u30DE\u30C3\u30D7",chartTypeHeatmap:"\u30D2\u30FC\u30C8\u30DE\u30C3\u30D7",chartTypeBox:"\u7BB1\u3072\u3052\u56F3",chartTypeRadar:"\u30EC\u30FC\u30C0\u30FC",chartTypeRangeBar:"\u7BC4\u56F2",chartBoxQ1:"Q1",chartBoxMedian:"\u4E2D\u592E\u5024",chartBoxQ3:"Q3",chartBoxOutlier:"\u5916\u308C\u5024",chartTotal:"\u5408\u8A08",chartTypeScatter:"\u6563\u5E03\u56F3",chartTypeBubble:"\u30D0\u30D6\u30EB",chartXAxis:"X \u8EF8",chartBubbleSize:"\u30B5\u30A4\u30BA",chartXYSampled:"{total} \u70B9\u4E2D {shown} \u70B9 (\u5747\u7B49\u306B\u62BD\u51FA)",licenseMissing:"\u30E9\u30A4\u30BB\u30F3\u30B9\u306A\u3057",licenseExpired:"\u30E9\u30A4\u30BB\u30F3\u30B9\u306E\u6709\u52B9\u671F\u9650\u304C\u5207\u308C\u3066\u3044\u307E\u3059",licenseReleaseNotCovered:"\u3053\u306E\u30D0\u30FC\u30B8\u30E7\u30F3\u306F\u30E9\u30A4\u30BB\u30F3\u30B9\u306E\u5BFE\u8C61\u5916\u3067\u3059",licenseDomainMismatch:"\u3053\u306E\u30C9\u30E1\u30A4\u30F3\u3067\u306F\u30E9\u30A4\u30BB\u30F3\u30B9\u304C\u7121\u52B9\u3067\u3059",licenseRevoked:"\u30E9\u30A4\u30BB\u30F3\u30B9\u306F\u53D6\u308A\u6D88\u3055\u308C\u307E\u3057\u305F",licenseInvalidFormat:"\u30E9\u30A4\u30BB\u30F3\u30B9\u30AD\u30FC\u306E\u5F62\u5F0F\u304C\u6B63\u3057\u304F\u3042\u308A\u307E\u305B\u3093",licenseInvalidSignature:"\u30E9\u30A4\u30BB\u30F3\u30B9\u306E\u7F72\u540D\u304C\u7121\u52B9\u3067\u3059",licenseEngineUnavailable:"\u30D6\u30E9\u30A6\u30B6\u30FC\u3067\u30E9\u30A4\u30BB\u30F3\u30B9\u3092\u691C\u8A3C\u3067\u304D\u307E\u305B\u3093\uFF08HTTPS \u304C\u5FC5\u8981\u3067\u3059\uFF09",calcAdd:"\u8A08\u7B97\u5217\u3092\u8FFD\u52A0\u2026",calcEdit:"\u8A08\u7B97\u5217\u3092\u7DE8\u96C6\u2026",calcRemove:"\u8A08\u7B97\u5217\u3092\u524A\u9664",calcTitleAdd:"\u8A08\u7B97\u5217\u3092\u8FFD\u52A0",calcTitleEdit:"\u8A08\u7B97\u5217\u3092\u7DE8\u96C6",calcName:"\u540D\u524D",calcFormula:"\u6570\u5F0F",calcFormulaHint:"\u5217\u306F [\u540D\u524D] \u3068\u66F8\u304D\u307E\u3059\u3002\u4F8B: [\u4FA1\u683C] * [\u6570\u91CF]",calcColumns:"\u5217",calcFunctions:"\u95A2\u6570",calcPreview:"\u30D7\u30EC\u30D3\u30E5\u30FC",calcPreviewEmpty:"\u30D7\u30EC\u30D3\u30E5\u30FC\u3059\u308B\u884C\u304C\u3042\u308A\u307E\u305B\u3093",calcErrorAt:"{message}\uFF08{position} \u6587\u5B57\u76EE\uFF09",calcAddButton:"\u8FFD\u52A0",calcArgsAtLeast:"{min} \u500B\u4EE5\u4E0A",formulaError_empty:"\u6570\u5F0F\u3092\u5165\u529B\u3057\u3066\u304F\u3060\u3055\u3044",formulaError_unclosedText:'\u6587\u5B57\u5217\u304C\u9589\u3058\u3066\u3044\u307E\u305B\u3093: " \u304C\u3042\u308A\u307E\u305B\u3093',formulaError_unclosedColumn:"\u5217\u540D\u304C\u9589\u3058\u3066\u3044\u307E\u305B\u3093: ] \u304C\u3042\u308A\u307E\u305B\u3093",formulaError_emptyColumn:"\u5217\u540D\u304C\u7A7A\u3067\u3059 []",formulaError_unexpectedChar:"\u4E88\u671F\u3057\u306A\u3044\u6587\u5B57 {text}",formulaError_expected:"{text} \u304C\u3042\u308A\u307E\u305B\u3093",formulaError_cellAfterColon:'":" \u306E\u5F8C\u306B\u30BB\u30EB\u304C\u3042\u308A\u307E\u305B\u3093',formulaError_unknownName:"\u4E0D\u660E\u306A\u540D\u524D {name} \u2014 \u5217\u306F [{name}] \u3068\u66F8\u304D\u307E\u3059",formulaError_unexpected:"\u4E88\u671F\u3057\u306A\u3044 {text}",formulaError_endsEarly:"\u6570\u5F0F\u304C\u9014\u4E2D\u3067\u7D42\u308F\u3063\u3066\u3044\u307E\u3059",formulaError_trailing:"\u672B\u5C3E\u306B\u4E88\u671F\u3057\u306A\u3044\u30C6\u30AD\u30B9\u30C8\u304C\u3042\u308A\u307E\u3059",formulaError_unknownColumn:"\u5217 [{name}] \u306F\u3042\u308A\u307E\u305B\u3093",formulaError_unknownFunction:"\u4E0D\u660E\u306A\u95A2\u6570 {name}",formulaError_argCount:"{name} \u306E\u5F15\u6570\u306F {range} \u500B\u3067\u3059",formulaError_cellsNotAllowed:"A1 \u306E\u3088\u3046\u306A\u30BB\u30EB\u53C2\u7167\u306F\u3053\u3053\u3067\u306F\u4F7F\u3048\u307E\u305B\u3093 \u2014 \u5217\u306F [\u540D\u524D] \u3068\u66F8\u304D\u307E\u3059"},Cm={ok:"\uD655\uC778",cancel:"\uCDE8\uC18C",apply:"\uC801\uC6A9",close:"\uB2EB\uAE30",clear:"\uC9C0\uC6B0\uAE30",save:"\uC800\uC7A5",search:"\uAC80\uC0C9...",selectAll:"\uBAA8\uB450 \uC120\uD0DD",showAll:"\uBAA8\uB450 \uD45C\uC2DC",remove:"\uC81C\uAC70",none:"\uC5C6\uC74C",toolbarSearch:"\uAC80\uC0C9...",exportMenu:"\uB0B4\uBCF4\uB0B4\uAE30",exportCsv:"CSV\uB85C \uB0B4\uBCF4\uB0B4\uAE30",exportExcel:"\uBAA8\uB4E0 \uB370\uC774\uD130\uB97C Excel\uB85C \uB0B4\uBCF4\uB0B4\uAE30",exportExcelSelected:"\uC120\uD0DD\uD55C \uD589\uC744 Excel\uB85C \uB0B4\uBCF4\uB0B4\uAE30",exportPdf:"PDF\uB85C \uB0B4\uBCF4\uB0B4\uAE30",exporting:"\uB0B4\uBCF4\uB0B4\uB294 \uC911\u2026",columns:"\uC5F4",hiddenColumns:"\uC228\uACA8\uC9C4 \uC5F4",noHiddenColumns:"\uC228\uACA8\uC9C4 \uC5F4\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.",sortAsc:"\uC624\uB984\uCC28\uC21C \uC815\uB82C",sortDesc:"\uB0B4\uB9BC\uCC28\uC21C \uC815\uB82C",clearSort:"\uC815\uB82C \uC9C0\uC6B0\uAE30",cardSortBy:"\uC815\uB82C \uAE30\uC900",groupByColumn:"\uC774 \uC5F4\uB85C \uADF8\uB8F9\uD654",ungroupColumn:"\uADF8\uB8F9\uD654\uC5D0\uC11C \uC81C\uC678",showGroupPanel:"\uADF8\uB8F9 \uD328\uB110 \uD45C\uC2DC",hideGroupPanel:"\uADF8\uB8F9 \uD328\uB110 \uC228\uAE30\uAE30",showFooter:"\uBC14\uB2E5\uAE00 \uD45C\uC2DC",hideFooter:"\uBC14\uB2E5\uAE00 \uC228\uAE30\uAE30",showGroupFooters:"\uADF8\uB8F9 \uBC14\uB2E5\uAE00 \uD45C\uC2DC",hideGroupFooters:"\uADF8\uB8F9 \uBC14\uB2E5\uAE00 \uC228\uAE30\uAE30",hideColumn:"\uC774 \uC5F4 \uC228\uAE30\uAE30",fieldChooser:"\uD544\uB4DC \uC120\uD0DD\uAE30\u2026",bestFit:"\uB108\uBE44 \uC790\uB3D9 \uB9DE\uCDA4",bestFitAll:"\uB108\uBE44 \uC790\uB3D9 \uB9DE\uCDA4(\uBAA8\uB4E0 \uC5F4)",pinRowTop:"\uD589\uC744 \uC704\uCABD\uC5D0 \uACE0\uC815",pinRowBottom:"\uD589\uC744 \uC544\uB798\uCABD\uC5D0 \uACE0\uC815",unpinRow:"\uD589 \uACE0\uC815 \uD574\uC81C",findLabel:"\uD45C\uC5D0\uC11C \uCC3E\uAE30",findPrevious:"\uC774\uC804 \uC77C\uCE58 \uD56D\uBAA9",findNext:"\uB2E4\uC74C \uC77C\uCE58 \uD56D\uBAA9",findClose:"\uCC3E\uAE30 \uB2EB\uAE30",findCount:"{n}/{count}",findNone:"\uC77C\uCE58 \uD56D\uBAA9 \uC5C6\uC74C",renameColumn:"\uC5F4 \uC774\uB984 \uBC14\uAFB8\uAE30",fixedPosition:"\uACE0\uC815 \uC704\uCE58 \uC124\uC815",pinLeft:"\uC67C\uCABD",pinRight:"\uC624\uB978\uCABD",pinSticky:"\uACE0\uC815",unpin:"\uACE0\uC815 \uD574\uC81C",moveLeft:"\uC67C\uCABD\uC73C\uB85C \uC774\uB3D9",moveRight:"\uC624\uB978\uCABD\uC73C\uB85C \uC774\uB3D9",filterPlaceholder:"\uD544\uD130\u2026",filterColumnAria:"{column} \uD544\uD130",filterOperatorDefault:"\uAE30\uBCF8\uAC12",filterOperatorAria:"{column} \uD544\uD130 \uC5F0\uC0B0\uC790",filterSelectAll:"\uBAA8\uB450 \uC120\uD0DD",filterBlank:"(\uBE44\uC5B4 \uC788\uC74C)",filterNonBlank:"(\uBE44\uC5B4 \uC788\uC9C0 \uC54A\uC74C)",filterEmptyText:"(\uBE48 \uD14D\uC2A4\uD2B8)",filterSpace:"(\uACF5\uBC31 1\uAC1C)",filterSpaces:"(\uACF5\uBC31 {n}\uAC1C)",filterNoMatch:"\uC77C\uCE58\uD558\uB294 \uAC12\uC774 \uC5C6\uC2B5\uB2C8\uB2E4",filterLoading:"\uAC12\uC744 \uBD88\uB7EC\uC624\uB294 \uC911\u2026",filterTruncated:"\uCC98\uC74C \uAC12\uB9CC \uD45C\uC2DC\uB429\uB2C8\uB2E4 \u2014 \uB098\uBA38\uC9C0\uB294 \uAC80\uC0C9\uD574 \uC8FC\uC138\uC694.",filterRemove:"\uD544\uD130 \uC81C\uAC70",filterToggle:"\uD544\uD130 \uC801\uC6A9",filterEditBuilder:"\uD544\uD130 \uD3B8\uC9D1",filterNone:"\uD544\uD130 \uC5C6\uC74C",filterActive:"\uD544\uD130 \uC801\uC6A9 \uC911",opEquals:"\uAC19\uC74C",opNotEquals:"\uAC19\uC9C0 \uC54A\uC74C",opGreater:">",opGreaterOrEqual:"\u2265",opLess:"<",opLessOrEqual:"\u2264",opContains:"\uD3EC\uD568",opNotContains:"\uD3EC\uD568\uD558\uC9C0 \uC54A\uC74C",opStartsWith:"(\uC73C)\uB85C \uC2DC\uC791",opEndsWith:"(\uC73C)\uB85C \uB05D\uB0A8",opIsBlank:"\uBE44\uC5B4 \uC788\uC74C",opIsNotBlank:"\uBE44\uC5B4 \uC788\uC9C0 \uC54A\uC74C",opIsOneOf:"\uB2E4\uC74C \uC911 \uD558\uB098",opIsBetween:"\uC0AC\uC774",opValuesCount:"\uAC12 {n}\uAC1C",opInPeriod:"\uAE30\uAC04 \uB0B4",periodToday:"\uC624\uB298",periodYesterday:"\uC5B4\uC81C",periodTomorrow:"\uB0B4\uC77C",periodThisWeek:"\uC774\uBC88 \uC8FC",periodLastWeek:"\uC9C0\uB09C\uC8FC",periodNextWeek:"\uB2E4\uC74C \uC8FC",periodThisMonth:"\uC774\uBC88 \uB2EC",periodLastMonth:"\uC9C0\uB09C\uB2EC",periodNextMonth:"\uB2E4\uC74C \uB2EC",periodThisQuarter:"\uC774\uBC88 \uBD84\uAE30",periodLastQuarter:"\uC9C0\uB09C \uBD84\uAE30",periodNextQuarter:"\uB2E4\uC74C \uBD84\uAE30",periodThisYear:"\uC62C\uD574",periodLastYear:"\uC791\uB144",periodNextYear:"\uB0B4\uB144",periodYearToDate:"\uC5F0\uCD08\uBD80\uD130 \uC624\uB298\uAE4C\uC9C0",periodLastDays:"\uCD5C\uADFC {n}\uC77C",periodNextDays:"\uC55E\uC73C\uB85C {n}\uC77C",filterAnd:"\uADF8\uB9AC\uACE0 (And)",filterOr:"\uB610\uB294 (Or)",builderTitle:"\uD544\uD130 \uC791\uC131\uAE30",builderCombine:"\uC870\uAC74 \uACB0\uD569 \uBC29\uC2DD",builderAddCondition:"\uC870\uAC74 \uCD94\uAC00",builderAddGroup:"\uADF8\uB8F9 \uCD94\uAC00",builderRemoveGroup:"\uADF8\uB8F9 \uC81C\uAC70",builderRemoveCondition:"\uC870\uAC74 \uC81C\uAC70",builderEmpty:"\uC544\uC9C1 \uC870\uAC74\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.",builderColumn:"\uC5F4",builderOperator:"\uC5F0\uC0B0\uC790",builderValue:"\uAC12",builderValueFrom:"\uC2DC\uC791",builderValueTo:"\uB05D",builderValuePlaceholder:"\uAC12\uC744 \uC785\uB825\uD558\uC138\uC694",builderOpen:"\uD544\uD130 \uBE4C\uB354\u2026",builderClearAll:"\uBAA8\uB450 \uC9C0\uC6B0\uAE30",builderConditionButton:"+ \uC870\uAC74",builderGroupButton:"+ \uADF8\uB8F9",builderTrue:"\uCC38",builderFalse:"\uAC70\uC9D3",builderPeriod:"\uAE30\uAC04",builderDays:"\uC77C\uC218",filterCustom:"(\uC0AC\uC6A9\uC790 \uC9C0\uC815\u2026)",filterPopupAria:"{column} \uD544\uD130",importOpen:"\uAC00\uC838\uC624\uAE30\u2026",groupPanelHint:"\uADF8\uB8F9\uD654\uD560 \uC5F4\uC744 \uC5EC\uAE30\uB85C \uB04C\uC5B4 \uB193\uC73C\uC138\uC694",groupAddLevel:"\uADF8\uB8F9\uD654 \uC218\uC900 \uCD94\uAC00",groupAddLevelButton:"+ \uC218\uC900 \uCD94\uAC00\u2026",groupNoGrouping:"(\uADF8\uB8F9\uD654 \uC5C6\uC74C)",groupLevelAria:"\uADF8\uB8F9\uD654 \uC218\uC900 {n}",groupRemoveAria:"{column} \uC81C\uAC70",groupExpandAll:"\uBAA8\uB450 \uD655\uC7A5",groupCollapseAll:"\uBAA8\uB450 \uCD95\uC18C",pagerFirst:"\uCCAB \uD398\uC774\uC9C0",pagerPrevious:"\uC774\uC804 \uD398\uC774\uC9C0",pagerNext:"\uB2E4\uC74C \uD398\uC774\uC9C0",pagerLast:"\uB9C8\uC9C0\uB9C9 \uD398\uC774\uC9C0",pagerPage:"\uD398\uC774\uC9C0",pagerOf:"/",pagerRowsPerPage:"\uD398\uC774\uC9C0\uB2F9 \uD589 \uC218",pagerAria:"\uD398\uC774\uC9C0 \uB9E4\uAE40",pagerPageButton:"{n}\uD398\uC774\uC9C0",selectAllRows:"\uBAA8\uB4E0 \uD589 \uC120\uD0DD",selectRowAria:"{row}\uD589 \uC120\uD0DD",selectGroupAria:"{group}\uC758 {count}\uAC1C \uD589 \uC120\uD0DD",summaryAria:"\uC694\uC57D",columnTotalsAria:"\uC5F4 \uD569\uACC4",rowActions:"\uD589 \uC791\uC5C5",detailsAria:"\uC138\uBD80 \uC815\uBCF4",rowNumberAria:"\uD589 \uBC88\uD638",noteEditorAria:"\uC140 \uBA54\uBAA8",notePlaceholder:"\uC774 \uC140\uC5D0 \uB300\uD55C \uBA54\uBAA8 \uC791\uC131\u2026",addNote:"\uBA54\uBAA8 \uCD94\uAC00\u2026",editNote:"\uBA54\uBAA8 \uD3B8\uC9D1\u2026",deleteNote:"\uBA54\uBAA8 \uC0AD\uC81C",expandDetails:"\uC138\uBD80 \uC815\uBCF4 \uD655\uC7A5",collapseDetails:"\uC138\uBD80 \uC815\uBCF4 \uCD95\uC18C",expandTreeRow:"\uD589 \uD3BC\uCE58\uAE30",collapseTreeRow:"\uD589 \uC811\uAE30",expandColumnGroup:"\uC5F4 \uADF8\uB8F9 \uD3BC\uCE58\uAE30",collapseColumnGroup:"\uC5F4 \uADF8\uB8F9 \uC811\uAE30",dragToReorder:"\uB04C\uC5B4\uC11C \uC21C\uC11C \uBCC0\uACBD",menuCopy:"\uBCF5\uC0AC",menuCopyWithHeaders:"\uBA38\uB9AC\uAE00 \uD3EC\uD568 \uBCF5\uC0AC",menuCopyWithGroupHeaders:"\uADF8\uB8F9 \uBA38\uB9AC\uAE00 \uD3EC\uD568 \uBCF5\uC0AC",menuCut:"\uC798\uB77C\uB0B4\uAE30",menuPaste:"\uBD99\uC5EC\uB123\uAE30",menuExport:"\uB0B4\uBCF4\uB0B4\uAE30",menuChartRange:"\uC120\uD0DD\uD55C \uC140 \uCC28\uD2B8",statsSum:"\uD569\uACC4",statsCount:"\uAC1C\uC218",statsAvg:"\uD3C9\uADE0",statsMin:"\uCD5C\uC18C",statsMax:"\uCD5C\uB300",statsCells:"\uC140",statsTooLarge:"\uC120\uD0DD \uBC94\uC704\uAC00 \uB108\uBB34 \uCEE4\uC11C \uD569\uACC4\uB97C \uB0BC \uC218 \uC5C6\uC2B5\uB2C8\uB2E4",statusRows:"\uD589",statusFiltered:"\uD544\uD130\uB428",statusSelected:"\uC120\uD0DD\uB428",summaryRows:"\uD589",announceRows:"{n}\uAC1C \uD589",announceSortedBy:"{columns} \uAE30\uC900 \uC815\uB82C",announceSelected:"{n}\uAC1C \uC120\uD0DD\uB428",announceAscending:"\uC624\uB984\uCC28\uC21C",announceDescending:"\uB0B4\uB9BC\uCC28\uC21C",sideFilters:"\uD544\uD130",sideBarAria:"\uB3C4\uAD6C \uD328\uB110",sideClearFilters:"\uBAA8\uB4E0 \uD544\uD130 \uC9C0\uC6B0\uAE30",summarySum:"\uD569\uACC4",summaryAvg:"\uD3C9\uADE0",summaryMin:"\uCD5C\uC18C",summaryMax:"\uCD5C\uB300",summaryCount:"\uAC1C\uC218",summaryDistinct:"\uACE0\uC720 \uAC1C\uC218",summaryCustom:"\uC0AC\uC6A9\uC790 \uC9C0\uC815",noTotal:"\uD569\uACC4 \uC5C6\uC74C",busy:"\uCC98\uB9AC \uC911\u2026",busyLoading:"\uD589\uC744 \uBD88\uB7EC\uC624\uB294 \uC911\u2026",rowsLoadFailed:"\uC774 \uD589\uC744 \uBD88\uB7EC\uC624\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4.",retryLoad:"\uB2E4\uC2DC \uC2DC\uB3C4",busyEncoding:"\uB370\uC774\uD130\uB97C \uC900\uBE44\uD558\uB294 \uC911\u2026",busyFiltering:"\uD589\uC744 \uD544\uD130\uB9C1\uD558\uB294 \uC911\u2026",busySorting:"\uD589\uC744 \uC815\uB82C\uD558\uB294 \uC911\u2026",busyComputing:"\uD544\uD130\uB9C1 \uBC0F \uC815\uB82C \uC911\u2026",busyGrouping:"\uADF8\uB8F9\uC744 \uB9CC\uB4DC\uB294 \uC911\u2026",busyAggregating:"\uD569\uACC4\uB97C \uACC4\uC0B0\uD558\uB294 \uC911\u2026",busyProjecting:"\uBCF4\uAE30\uB97C \uC5C5\uB370\uC774\uD2B8\uD558\uB294 \uC911\u2026",busyExporting:"\uD30C\uC77C\uC744 \uB9CC\uB4DC\uB294 \uC911\u2026",noData:"\uB370\uC774\uD130\uB97C \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4",editNewRow:"\uC0C8 \uD589",editSaveChanges:"\uBCC0\uACBD \uB0B4\uC6A9 \uC800\uC7A5",editDiscardChanges:"\uBCC0\uACBD \uB0B4\uC6A9 \uCDE8\uC18C",editRow:"\uD589 \uD3B8\uC9D1",editRowMenu:"\uD589 \uD3B8\uC9D1\u2026",editDeleteRow:"\uD589 \uC0AD\uC81C",editUndoDelete:"\uC0AD\uC81C \uCDE8\uC18C",editActions:"\uC791\uC5C5",editSaveRow:"\uD589 \uC800\uC7A5",editSaving:"\uC800\uC7A5 \uC911\u2026",editEditingRow:"{row}\uD589 \uD3B8\uC9D1 \uC911",editSaveCount:"{n}\uAC1C \uD589 \uC800\uC7A5",editCannotSave:"\uC800\uC7A5\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4",editSaveFailed:"\uBCC0\uACBD \uB0B4\uC6A9\uC744 \uC800\uC7A5\uD558\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4.",rowStatusNew:"\uC0C8 \uD589(\uC800\uC7A5\uB418\uC9C0 \uC54A\uC74C)",rowStatusChanged:"\uC800\uC7A5\uB418\uC9C0 \uC54A\uC740 \uBCC0\uACBD \uB0B4\uC6A9",rowStatusRemoved:"\uC0AD\uC81C \uC608\uC815",rowStatusSaving:"\uC800\uC7A5 \uC911\u2026",rowStatusSaved:"\uC800\uC7A5\uB428",rowStatusError:"\uC800\uC7A5 \uC2E4\uD328",rowStatusRetry:"\uB2E4\uC2DC \uC2DC\uB3C4",rowStatusDelete:"\uD589 \uC0AD\uC81C",editDeleteConfirm:"\uC774 \uD589\uC744 \uC0AD\uC81C\uD560\uAE4C\uC694?",editAddRowUndo:"\uD589 \uCD94\uAC00",editDeleteRowUndo:"\uD589 \uC0AD\uC81C",editCellUndo:"{column} \uD3B8\uC9D1",editFillUndo:"{count}\uAC1C \uC140 \uCC44\uC6B0\uAE30",editPasteUndo:"{count}\uAC1C \uC140 \uBD99\uC5EC\uB123\uAE30",editCutUndo:"{count}\uAC1C \uC140 \uC798\uB77C\uB0B4\uAE30",editGroupTotal:"\uADF8\uB8F9 \uD569\uACC4",editGroupTotalUndo:"{column} \uD569\uACC4 \uBCC0\uACBD({count}\uAC1C \uD589)",editNoMatch:"\uC77C\uCE58 \uD56D\uBAA9 \uC5C6\uC74C",formEditTitle:"\uD589 \uD3B8\uC9D1",formAddTitle:"\uC0C8 \uD589",formShortcut:"{key}+Enter\uB85C \uC800\uC7A5 \xB7 Esc\uB85C \uCDE8\uC18C",validationRequired:"\uD544\uC218 \uD56D\uBAA9\uC785\uB2C8\uB2E4",validationNumber:"\uC22B\uC790\uC5EC\uC57C \uD569\uB2C8\uB2E4",validationNumberLocale:"\uC62C\uBC14\uB978 \uC22B\uC790\uAC00 \uC544\uB2D9\uB2C8\uB2E4. \uC608: {example}",validationMin:"{min} \uC774\uC0C1\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4",validationMax:"{max} \uC774\uD558\uC5EC\uC57C \uD569\uB2C8\uB2E4",validationFormat:"\uD615\uC2DD\uC774 \uC62C\uBC14\uB974\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4",validationEmail:"\uC774\uBA54\uC77C \uC8FC\uC18C\uAC00 \uC62C\uBC14\uB974\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4",validationInvalid:"\uAC12\uC774 \uC62C\uBC14\uB974\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4",dateCalendar:"\uB2EC\uB825",dateOpenCalendar:"\uB2EC\uB825 \uC5F4\uAE30",datePreviousMonth:"\uC774\uC804 \uB2EC",dateNextMonth:"\uB2E4\uC74C \uB2EC",monthJanuary:"1\uC6D4",monthFebruary:"2\uC6D4",monthMarch:"3\uC6D4",monthApril:"4\uC6D4",monthMay:"5\uC6D4",monthJune:"6\uC6D4",monthJuly:"7\uC6D4",monthAugust:"8\uC6D4",monthSeptember:"9\uC6D4",monthOctober:"10\uC6D4",monthNovember:"11\uC6D4",monthDecember:"12\uC6D4",weekStartsOn:"0",weekdaySu:"\uC77C",weekdayMo:"\uC6D4",weekdayTu:"\uD654",weekdayWe:"\uC218",weekdayTh:"\uBAA9",weekdayFr:"\uAE08",weekdaySa:"\uD1A0",importTitle:"\uB370\uC774\uD130 \uAC00\uC838\uC624\uAE30",importStepSource:"1. \uC6D0\uBCF8",importStepMap:"2. \uC5F4 \uB9E4\uD551",importFile:"CSV \uD30C\uC77C",importPaste:"\u2026\uB610\uB294 \uD589 \uBD99\uC5EC\uB123\uAE30",importSeparator:"\uAD6C\uBD84 \uAE30\uD638",importSeparatorAuto:"\uC790\uB3D9 \uAC10\uC9C0",importSeparatorComma:"\uC27C\uD45C ,",importSeparatorSemicolon:"\uC138\uBBF8\uCF5C\uB860 ;",importSeparatorTab:"\uD0ED",importSeparatorPipe:"\uD30C\uC774\uD504 |",importFileColumn:"\uD30C\uC77C \uC5F4",importDetected:"\uAC10\uC9C0\uB428",importGridColumn:"\uADF8\uB9AC\uB4DC \uC5F4",importSample:"\uC608\uC2DC",importSkip:"\u2014 \uAC74\uB108\uB6F0\uAE30 \u2014",importPreview:"\uBBF8\uB9AC \uBCF4\uAE30",importNoSource:"\uBA3C\uC800 \uD30C\uC77C\uC744 \uC120\uD0DD\uD558\uAC70\uB098 \uD589\uC744 \uBD99\uC5EC\uB123\uC73C\uC138\uC694.",importNoRows:"\uB370\uC774\uD130 \uD589\uC744 \uCC3E\uC744 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.",importAction:"\uAC00\uC838\uC624\uAE30",exportAborted:"\uB0B4\uBCF4\uB0B4\uAE30\uAC00 \uC911\uB2E8\uB418\uC5C8\uC2B5\uB2C8\uB2E4",exportSheetName:"\uB370\uC774\uD130",chart:"\uCC28\uD2B8",chartCategory:"\uBC94\uC8FC",chartSeries:"\uACC4\uC5F4",chartAddSeries:"\uACC4\uC5F4 \uCD94\uAC00",chartRemoveSeries:"\uC81C\uAC70",chartSource:"\uB370\uC774\uD130",chartSourceView:"\uD544\uD130\uB9C1\uB41C \uD589",chartSourceSelection:"\uC120\uD0DD\uD55C \uD589",chartSourceAll:"\uBAA8\uB4E0 \uD589",chartSourceRange:"\uC120\uD0DD\uD55C \uBC94\uC704({from}\u2013{to}\uD589)",chartClose:"\uCC28\uD2B8 \uB2EB\uAE30",chartFullscreen:"\uC804\uCCB4 \uD654\uBA74",chartExitFullscreen:"\uC804\uCCB4 \uD654\uBA74 \uC885\uB8CC",chartFloat:"\uCC3D\uC73C\uB85C \uBD84\uB9AC",chartDock:"\uB3C4\uD0B9",chartNewWindow:"\uC0C8 \uCC3D",chartMoveWindow:"\uCC28\uD2B8 \uCC3D \uC774\uB3D9",chartResizeWindow:"\uCC28\uD2B8 \uCC3D \uD06C\uAE30 \uC870\uC815",chartResizeDock:"\uB4DC\uB798\uADF8\uD558\uC5EC \uCC28\uD2B8 \uB192\uC774 \uBCC0\uACBD",chartSwitch:"\uBC94\uC8FC\uC640 \uACC4\uC5F4 \uBC14\uAFB8\uAE30",chartUnlink:"\uC5F0\uACB0 \uD574\uC81C",chartLink:"\uC5F0\uACB0",chartUnlinked:"\uC5F0\uACB0 \uD574\uC81C\uB428: \uCC28\uD2B8\uB294 \uB370\uC774\uD130\uB97C \uC720\uC9C0\uD558\uBA70 \uB354 \uC774\uC0C1 \uADF8\uB9AC\uB4DC\uB97C \uB530\uB974\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.",chartExportPng:"PNG",chartExportSvg:"SVG",chartExportFailed:"\uCC28\uD2B8\uB97C \uB0B4\uBCF4\uB0B4\uC9C0 \uBABB\uD588\uC2B5\uB2C8\uB2E4.",chartCrossFiltered:"\uADF8\uB9AC\uB4DC\uAC00 {value}(\uC73C)\uB85C \uD544\uD130\uB9C1\uB418\uC5C8\uC2B5\uB2C8\uB2E4.",chartBlankCategory:"(\uBE44\uC5B4 \uC788\uC74C)",chartTruncated:"\uC0C1\uC704 {n}\uAC1C \uBC94\uC8FC\uB97C \uD45C\uC2DC\uD569\uB2C8\uB2E4. \uB098\uBA38\uC9C0\uB294 \u201C\uAE30\uD0C0\u201D\uB85C \uBB36\uC600\uC2B5\uB2C8\uB2E4.",chartOther:"\uAE30\uD0C0",chartEmpty:"\uC544\uC9C1 \uD45C\uC2DC\uD560 \uB0B4\uC6A9\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.",chartNoVisibleSeries:"\uD45C\uC2DC\uB41C \uACC4\uC5F4\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.",chartNeedsMoreSeries:"\uC774 \uCC28\uD2B8 \uC720\uD615\uC5D0\uB294 \uAC12 \uC5F4\uC774 \uB450 \uAC1C \uC774\uC0C1 \uD544\uC694\uD569\uB2C8\uB2E4(\uC608: \uCD5C\uC19F\uAC12\uACFC \uCD5C\uB313\uAC12). \uB450 \uBC88\uC9F8 \uACC4\uC5F4\uC744 \uCD94\uAC00\uD558\uC138\uC694.",chartLoading:"\uBD88\uB7EC\uC624\uB294 \uC911\u2026",chartNeedsRecharts:"\uCC28\uD2B8\uC5D0\uB294 \uC120\uD0DD \uD328\uD0A4\uC9C0 `recharts`\uAC00 \uD544\uC694\uD569\uB2C8\uB2E4. \uC124\uCE58\uD55C \uB4A4 \uC0AC\uC6A9\uD558\uC138\uC694.",chartOnlyOneSeries:"\uC774 \uCC28\uD2B8 \uC720\uD615\uC740 \uACC4\uC5F4 \uD558\uB098\uB9CC \uD45C\uC2DC\uD569\uB2C8\uB2E4.",chartByColumn:"\uC774 \uC5F4\uB85C \uCC28\uD2B8 \uB9CC\uB4E4\uAE30",chartGroupBy:"\uAE30\uC900",chartGroupNone:"\uAC01 \uAC12",chartGroupAuto:"\uC790\uB3D9",chartGroupDay:"\uC77C",chartGroupWeek:"\uC8FC",chartGroupMonth:"\uC6D4",chartGroupQuarter:"\uBD84\uAE30",chartGroupYear:"\uC5F0\uB3C4",chartGroupBins:"\uAD6C\uAC04 {n}\uAC1C",chartBucketAdjusted:"\uCD95 \uD558\uB098\uC5D0 \uD45C\uC2DC\uD558\uAE30\uC5D0 \uAD6C\uAC04\uC774 \uB108\uBB34 \uB9CE\uC544 \uB354 \uD06C\uAC8C \uBB36\uC5C8\uC2B5\uB2C8\uB2E4.",chartWindowed:"{total}\uAC1C \uC911 {shown}\uAC1C\uB97C \uD45C\uC2DC\uD558\uACE0 \uC788\uC2B5\uB2C8\uB2E4.",chartShowAll:"\uBAA8\uB450 \uD45C\uC2DC",chartCanvasHint:"\uCC28\uD2B8. \uC2A4\uD06C\uB864\uD558\uC5EC \uD655\uB300/\uCD95\uC18C, \uB04C\uC5B4\uC11C \uC774\uB3D9, \uD654\uC0B4\uD45C \uD0A4\uB85C \uC774\uB3D9, 0\uC744 \uB20C\uB7EC \uC804\uCCB4 \uBCF4\uAE30.",chartCanvasHintPick:"\uCC28\uD2B8. \uD654\uC0B4\uD45C \uD0A4\uB85C \uBC94\uC8FC\uB97C \uACE0\uB974\uACE0 Enter \uB610\uB294 Space\uB85C \uADF8 \uBC94\uC8FC\uB85C \uD45C\uB97C \uD544\uD130\uB9C1\uD569\uB2C8\uB2E4(Ctrl\uB85C \uCD94\uAC00). +\uC640 \u2212\uB85C \uD655\uB300\xB7\uCD95\uC18C, 0\uC73C\uB85C \uC804\uCCB4 \uBCF4\uAE30.",chartCategoryFocus:"{category}: {values} \u2014 {count}\uAC1C \uC911 {position}\uBC88\uC9F8",chartCategoryFiltered:"\uD45C\uB97C \uD544\uD130\uB9C1\uD558\uB294 \uC911",chartAggSum:"\uD569\uACC4",chartAggAvg:"\uD3C9\uADE0",chartAggMin:"\uCD5C\uC18C",chartAggMax:"\uCD5C\uB300",chartAggCount:"\uAC1C\uC218",chartAggDistinct:"\uACE0\uC720 \uAC1C\uC218",chartAggFirst:"\uCCAB \uAC12",chartAggLast:"\uB9C8\uC9C0\uB9C9 \uAC12",chartTypeColumn:"\uC138\uB85C \uB9C9\uB300",chartTypeBar:"\uAC00\uB85C \uB9C9\uB300",chartTypeLine:"\uC120",chartTypeArea:"\uC601\uC5ED",chartTypePie:"\uC6D0",chartTypeDonut:"\uB3C4\uB11B",chartStacking:"\uACC4\uC5F4 \uBC30\uCE58",chartStackGrouped:"\uBB36\uC740",chartStackStacked:"\uB204\uC801",chartStackNormalized:"100% \uB204\uC801",chartFormat:"\uC11C\uC2DD",chartFormatTitle:"\uC81C\uBAA9",chartFormatCategoryAxis:"\uBC94\uC8FC \uCD95 \uC81C\uBAA9",chartFormatValueAxis:"\uAC12 \uCD95 \uC81C\uBAA9",chartFormatLegend:"\uBC94\uB840",chartLegendTop:"\uC704\uCABD",chartLegendBottom:"\uC544\uB798\uCABD",chartLegendLeft:"\uC67C\uCABD",chartLegendRight:"\uC624\uB978\uCABD",chartLegendNone:"\uC228\uAE40",chartFormatDataLabels:"\uB370\uC774\uD130 \uB808\uC774\uBE14",chartFormatScale:"\uAC12 \uB208\uAE08",chartScaleLinear:"\uC120\uD615",chartScaleLog:"\uB85C\uADF8",chartFormatTextSize:"\uAE00\uC790 \uD06C\uAE30",chartFormatTextColor:"\uAE00\uC790 \uC0C9",chartFormatDefault:"\uAE30\uBCF8\uAC12",chartFormatLabelAngle:"\uD56D\uBAA9 \uB808\uC774\uBE14",chartAngleAuto:"\uC790\uB3D9",chartAngleFlat:"\uAC00\uB85C",chartFormatGridLines:"\uB208\uAE08\uC120",chartGridValue:"\uAC12 \uCD95",chartGridBoth:"\uB450 \uCD95 \uBAA8\uB450",chartGridNone:"\uC5C6\uC74C",chartFormatGridDashed:"\uC810\uC120 \uB208\uAE08\uC120",chartFormatLineWidth:"\uC120 \uAD75\uAE30",chartFormatLineDashed:"\uC810\uC120",chartFormatFillOpacity:"\uCC44\uC6B0\uAE30 \uBD88\uD22C\uBA85\uB3C4",chartFormatDateFormat:"\uB0A0\uC9DC \uD615\uC2DD",chartFormatPalette:"\uC0C9\uC0C1",chartPaletteTheme:"\uD14C\uB9C8",chartPaletteClassic:"\uD074\uB798\uC2DD",chartPaletteColorblind:"\uC0C9\uAC01 \uC774\uC0C1 \uBC30\uB824",chartPaletteVivid:"\uC120\uBA85\uD558\uAC8C",chartPaletteMonochrome:"\uB2E8\uC0C9",sparklineSummary:"\uAC12 {count}\uAC1C, {min}\uBD80\uD130 {max}\uAE4C\uC9C0, \uB9C8\uC9C0\uB9C9 {last}",chartTypeWaterfall:"\uD3ED\uD3EC",chartTypeFunnel:"\uAE54\uB54C\uAE30\uD615",chartTypeTreemap:"\uD2B8\uB9AC\uB9F5",chartTypeHeatmap:"\uD788\uD2B8\uB9F5",chartTypeBox:"\uC0C1\uC790 \uADF8\uB9BC",chartTypeRadar:"\uBC29\uC0AC\uD615",chartTypeRangeBar:"\uBC94\uC704",chartBoxQ1:"Q1",chartBoxMedian:"\uC911\uC559\uAC12",chartBoxQ3:"Q3",chartBoxOutlier:"\uC774\uC0C1\uAC12",chartTotal:"\uD569\uACC4",chartTypeScatter:"\uBD84\uC0B0\uD615",chartTypeBubble:"\uAC70\uD488\uD615",chartXAxis:"X\uCD95",chartBubbleSize:"\uD06C\uAE30",chartXYSampled:"{total}\uAC1C \uC911 {shown}\uAC1C \uC810, \uADE0\uB4F1 \uD45C\uBCF8",licenseMissing:"\uB77C\uC774\uC120\uC2A4 \uC5C6\uC74C",licenseExpired:"\uB77C\uC774\uC120\uC2A4\uAC00 \uB9CC\uB8CC\uB418\uC5C8\uC2B5\uB2C8\uB2E4",licenseReleaseNotCovered:"\uC774 \uBC84\uC804\uC740 \uB77C\uC774\uC120\uC2A4 \uC801\uC6A9 \uB300\uC0C1\uC774 \uC544\uB2D9\uB2C8\uB2E4",licenseDomainMismatch:"\uC774 \uB3C4\uBA54\uC778\uC5D0\uC11C\uB294 \uB77C\uC774\uC120\uC2A4\uAC00 \uC720\uD6A8\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4",licenseRevoked:"\uB77C\uC774\uC120\uC2A4\uAC00 \uCDE8\uC18C\uB418\uC5C8\uC2B5\uB2C8\uB2E4",licenseInvalidFormat:"\uB77C\uC774\uC120\uC2A4 \uD0A4 \uD615\uC2DD\uC774 \uC798\uBABB\uB418\uC5C8\uC2B5\uB2C8\uB2E4",licenseInvalidSignature:"\uB77C\uC774\uC120\uC2A4 \uC11C\uBA85\uC774 \uC720\uD6A8\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4",licenseEngineUnavailable:"\uBE0C\uB77C\uC6B0\uC800\uC5D0\uC11C \uB77C\uC774\uC120\uC2A4\uB97C \uD655\uC778\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4(HTTPS \uD544\uC694)",calcAdd:"\uACC4\uC0B0 \uC5F4 \uCD94\uAC00\u2026",calcEdit:"\uACC4\uC0B0 \uC5F4 \uD3B8\uC9D1\u2026",calcRemove:"\uACC4\uC0B0 \uC5F4 \uC81C\uAC70",calcTitleAdd:"\uACC4\uC0B0 \uC5F4 \uCD94\uAC00",calcTitleEdit:"\uACC4\uC0B0 \uC5F4 \uD3B8\uC9D1",calcName:"\uC774\uB984",calcFormula:"\uC218\uC2DD",calcFormulaHint:"\uC5F4\uC740 [\uC774\uB984]\uC73C\uB85C \uC501\uB2C8\uB2E4. \uC608: [\uAC00\uACA9] * [\uC218\uB7C9]",calcColumns:"\uC5F4",calcFunctions:"\uD568\uC218",calcPreview:"\uBBF8\uB9AC \uBCF4\uAE30",calcPreviewEmpty:"\uBBF8\uB9AC \uBCFC \uD589\uC774 \uC5C6\uC2B5\uB2C8\uB2E4",calcErrorAt:"{message} ({position}\uBC88\uC9F8 \uBB38\uC790)",calcAddButton:"\uCD94\uAC00",calcArgsAtLeast:"{min}\uAC1C \uC774\uC0C1",formulaError_empty:"\uC218\uC2DD\uC744 \uC785\uB825\uD558\uC138\uC694",formulaError_unclosedText:'\uD14D\uC2A4\uD2B8\uAC00 \uB2EB\uD788\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4: " \uAC00 \uC5C6\uC2B5\uB2C8\uB2E4',formulaError_unclosedColumn:"\uC5F4 \uC774\uB984\uC774 \uB2EB\uD788\uC9C0 \uC54A\uC558\uC2B5\uB2C8\uB2E4: ] \uAC00 \uC5C6\uC2B5\uB2C8\uB2E4",formulaError_emptyColumn:"\uBE48 \uC5F4 \uC774\uB984 []",formulaError_unexpectedChar:"\uC608\uAE30\uCE58 \uC54A\uC740 \uBB38\uC790 {text}",formulaError_expected:"{text} \uAC00 \uC5C6\uC2B5\uB2C8\uB2E4",formulaError_cellAfterColon:'":" \uB4A4\uC5D0 \uC140\uC774 \uC5C6\uC2B5\uB2C8\uB2E4',formulaError_unknownName:"\uC54C \uC218 \uC5C6\uB294 \uC774\uB984 {name} \u2014 \uC5F4\uC740 [{name}]\uC73C\uB85C \uC501\uB2C8\uB2E4",formulaError_unexpected:"\uC608\uAE30\uCE58 \uC54A\uC740 {text}",formulaError_endsEarly:"\uC218\uC2DD\uC774 \uB108\uBB34 \uC77C\uCC0D \uB05D\uB0A9\uB2C8\uB2E4",formulaError_trailing:"\uB05D\uC5D0 \uC608\uAE30\uCE58 \uC54A\uC740 \uD14D\uC2A4\uD2B8\uAC00 \uC788\uC2B5\uB2C8\uB2E4",formulaError_unknownColumn:"[{name}] \uC5F4\uC774 \uC5C6\uC2B5\uB2C8\uB2E4",formulaError_unknownFunction:"\uC54C \uC218 \uC5C6\uB294 \uD568\uC218 {name}",formulaError_argCount:"{name}\uC758 \uC778\uC218\uB294 {range}\uAC1C\uC785\uB2C8\uB2E4",formulaError_cellsNotAllowed:"A1 \uAC19\uC740 \uC140 \uCC38\uC870\uB294 \uC5EC\uAE30\uC11C \uC4F0\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4 \u2014 \uC5F4\uC740 [\uC774\uB984]\uC73C\uB85C \uC501\uB2C8\uB2E4"};function bt(e,t){let u=e;for(let[r,n]of Object.entries(t))u=u.replace(`{${r}}`,String(n));return u}var wm={tr:im,en:ri,de:lm,fr:sm,es:dm,it:cm,pt:hm,ru:mm,ar:fm,"zh-CN":pm,ja:gm,ko:Cm};function pu(e,t){return Bh(wm,ri,e,t)}var ct={valid:!0,message:null},ym=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;function xr(e){return e==null||e===""}function Dt(e,t){return{valid:!1,message:e.message??t}}function Em(e,t){let{value:u}=t,r=t.messages??pu("en");switch(e.type){case"required":return xr(u)?Dt(e,r.validationRequired):ct;case"range":{if(xr(u))return ct;let n=typeof u=="number"?u:Number(u);return Number.isNaN(n)?Dt(e,r.validationNumber):e.min!==void 0&&n<e.min?Dt(e,r.validationMin.replace("{min}",String(e.min))):e.max!==void 0&&n>e.max?Dt(e,r.validationMax.replace("{max}",String(e.max))):ct}case"stringLength":{if(xr(u))return ct;let n=String(u).length;return e.min!==void 0&&n<e.min?Dt(e,`Must be at least ${e.min} characters`):e.max!==void 0&&n>e.max?Dt(e,`Must be at most ${e.max} characters`):ct}case"pattern":return xr(u)||(typeof e.pattern=="string"?new RegExp(e.pattern):e.pattern).test(String(u))?ct:Dt(e,r.validationFormat);case"email":return xr(u)||ym.test(String(u))?ct:Dt(e,r.validationEmail);case"custom":{let n=e.validate(t);return n===!0?ct:typeof n=="string"?{valid:!1,message:n}:Dt(e,r.validationInvalid)}case"asyncCustom":return ct;default:return ct}}function Mu(e,t){if(!t||t.length===0)return ct;for(let u of t){let r=Em(u,e);if(!r.valid)return r}return ct}async function bm(e,t){let u=Mu(e,t);if(!u.valid||!t)return u;let r=e.messages??pu("en");for(let n of t){if(n.type!=="asyncCustom")continue;let a=await n.validate(e);if(a!==!0)return typeof a=="string"?{valid:!1,message:a}:Dt(n,r.validationInvalid)}return ct}var Am={get:()=>{},keys:()=>[]};function xm(e){if(!e)return Am;if(e instanceof Map){let u=e;return{get:r=>{if(u.has(r))return String(u.get(r));let n=Number(r);return r!==""&&Number.isFinite(n)&&u.has(n)?String(u.get(n)):void 0},keys:()=>Array.from(u.keys(),r=>String(r))}}let t=e;return{get:u=>Object.prototype.hasOwnProperty.call(t,u)?String(t[u]):void 0,keys:()=>Object.keys(t)}}function _0(e){if(!e)return null;let t=e===!0?{}:e,u=t.savedDuration;return{tint:t.tint===!0,icons:t.icons===!0,strike:t.strike===!0,savedDuration:typeof u=="number"&&Number.isFinite(u)&&u>=0?u:1500,get:t.get,messages:t.messages===!0,errors:xm(t.errors),onRetry:t.onRetry,onDelete:t.onDelete}}var vm=new Set(["new","changed","removed","saving","saved","error"]);function U0(e,t,u,r){if(!e)return null;if(e.get&&t!==void 0){let o=e.get({row:t,rowKey:u});if(o!==void 0)return o==="error"?{status:o,error:e.errors.get(String(u))??null}:o!==null&&vm.has(o)?{status:o,error:null}:null}let n=e.errors.get(String(u));if(n!==void 0)return{status:"error",error:n};let a=r?.getRowStatus(u)??null;return a?{status:a,error:a==="error"?r?.getRowStatusError(u)??null:null}:null}function q0(e,t){if(!e?.messages)return[];let u=new Set,r=[];for(let n of e.errors.keys())u.add(n),r.push(n);for(let n of t?.getErrorRowKeys?.()??[])u.has(String(n))||(u.add(String(n)),r.push(n));return r}function j0(e,t,u,r,n){let a=e.errors.get(String(t)),o=r?.getRowStatus(t)==="error"?r.getRowStatusError(t):null,l=a??o??"",i={rowKey:t,row:u,error:l},s=a===void 0&&o!==null?()=>{r?.saveChanges?.(t)}:e.onRetry?()=>{e.onRetry(i)}:null,h=e.onDelete?()=>{e.onDelete(i)}:null;return{text:l?`${n.rowStatusError}: ${l}`:n.rowStatusError,retry:s,remove:h,context:i}}function Y0(e,t,u=!1){return`kanuni-datagrid-row--status-${e}${t?" kanuni-datagrid-row--status-tint":""}${u&&e==="removed"?" kanuni-datagrid-row--status-strike":""}`}function Q0(e,t){switch(e.status){case"new":return t.rowStatusNew;case"removed":return t.rowStatusRemoved;case"changed":return t.rowStatusChanged;case"saving":return t.rowStatusSaving;case"saved":return t.rowStatusSaved;default:return e.error?`${t.rowStatusError}: ${e.error}`:t.rowStatusError}}var Fm=class extends Error{rows;constructor(e,t){super(t??e[0]?.message??"Save rejected"),this.name="SaveRejected",this.rows=e.map(u=>({...u})),Object.setPrototypeOf(this,new.target.prototype)}};function Dm(e){return e instanceof Fm?!0:e instanceof Error&&e.name==="SaveRejected"&&Array.isArray(e.rows)}function su(e){return e==="row"||e==="form"||e==="popup"}var Sm="__dg_new_",km=/^[+-]?\d+$/;function po(e,t){if(typeof e!="bigint"||typeof t!="string")return t;let u=t.trim();return km.test(u)?BigInt(u):t}var Bm=0;function Ns(e){return!!e&&!!(e.insert||e.update||e.remove)}var X0=class{changes=new am;undoStack=new om;session=null;rowSession=null;rowDrafts=null;rowBaseline=null;mode;options;saveToken=0;saving=!1;saveQueue=Promise.resolve();savesInFlight=0;text;rowSaveState=new Map;savedDuration;savedTimers=new Set;insertedKeys=new Map;disposed=!1;publishedRevision=0;commitOn;unsentRows=new Set;constructor(e){this.options=e,this.mode=e.mode??"cell",this.commitOn=e.commitOn==="row"?"row":"cell",this.text=e.messages??pu("en"),this.savedDuration=Math.max(0,e.savedDuration??1500)}getMode(){return this.mode}setMode(e){!su(e)&&this.rowSession&&this.cancelRowEdit(),this.mode=e}getCommitOn(){return this.commitOn}setCommitOn(e){let t=e==="row"?"row":"cell";if(t===this.commitOn)return;let u=this.commitsRows();this.commitOn=t,u&&!this.commitsRows()&&this.commitRows(null)}commitsRows(){return this.mode==="cell"&&this.commitOn==="row"}setMessages(e){this.text=e}setDependentValues(e){this.dependentValues=e}dependentValues=null;withDependents(e){let t=this.dependentValues;if(!t)return e;let u=[...e],r=new Map;for(let a of e)r.set(a.rowKey,[...r.get(a.rowKey)??[],a]);let n=this.options.allowUpdating;for(let[a,o]of r){let l=this.effectiveRow(a);if(!l)continue;let i={...l};for(let h of o)i[h.columnId]=h.value;let s=t(a,i,o.map(h=>h.columnId));for(let[h,m]of Object.entries(s??{}))o.some(c=>c.columnId===h)||Object.is(this.effectiveValue(a,h),m)||n!==void 0&&(typeof n=="function"?!n(l,h):!n)||u.push({rowKey:a,columnId:h,value:m})}return u}isSaving(){return this.saving}getRowStatus(e){let t=this.rowSaveState.get(e),u=this.changes.isDirty(e);return t?.status==="error"?u?"error":null:t?.status==="saving"?"saving":u?this.changes.isRemoved(e)?"removed":this.changes.isInserted(e)?"new":"changed":t?.status==="saved"?"saved":null}getErrorRowKeys(){let e=[];for(let t of this.rowSaveState.keys())this.getRowStatus(t)==="error"&&e.push(t);return e}getRowStatusError(e){return this.getRowStatus(e)!=="error"?null:this.rowSaveState.get(e)?.error??null}setSavedDuration(e){this.savedDuration=Number.isFinite(e)&&e>0?e:0,this.savedDuration===0&&this.dropSavedStatuses()&&this.notify()}dispose(){this.disposed=!0,this.dropSavedStatuses()}resume(){this.disposed=!1}dropSavedStatuses(){for(let t of this.savedTimers)clearTimeout(t);this.savedTimers.clear();let e=!1;for(let[t,u]of this.rowSaveState)u.status==="saved"&&(this.rowSaveState.delete(t),e=!0);return e}touchRow(e){let t=this.rowSaveState.get(e);!t||t.status==="saving"||this.rowSaveState.delete(e)}setRowState(e,t,u,r=null){let n={status:t,token:u,error:r};return this.rowSaveState.set(e,n),n}settleRowStatus(e,t,u){let r=[],n=null;if(!u.saved&&u.rows){n=new Map;for(let o of u.rows){let l=n.get(o.rowKey)??[];l.includes(o.message)||l.push(o.message),n.set(o.rowKey,l)}}for(let o of e){let l=this.insertedKeys.get(o.rowKey)??o.rowKey,i=this.rowSaveState.get(l);if(!(!i||i.token!==t||i.status!=="saving"))if(n){let s=n.get(o.rowKey)??n.get(l);s?this.setRowState(l,"error",t,s.join("; ")):this.rowSaveState.delete(l)}else u.saved?this.savedDuration>0&&!this.disposed&&o.type!=="remove"&&!this.changes.isDirty(l)?r.push([l,this.setRowState(l,"saved",t)]):this.rowSaveState.delete(l):this.setRowState(l,"error",t,u.error??this.text.editSaveFailed)}if(this.insertedKeys.clear(),r.length===0)return;let a=setTimeout(()=>{this.savedTimers.delete(a);let o=!1;for(let[l,i]of r)this.rowSaveState.get(l)===i&&(this.rowSaveState.delete(l),o=!0);o&&this.notify()},this.savedDuration);this.savedTimers.add(a)}getSession(){return this.session}isEditing(e,t){return this.session?e===void 0?!0:this.session.rowKey!==e?!1:t===void 0||this.session.columnId===t:!1}getRowSession(){return this.rowSession}isEditingRow(e){return this.rowSession?e===void 0||this.rowSession.rowKey===e:!1}canEditRow(e,t={}){if(!su(this.mode)&&!t.standalone)return!1;if(this.rowSession)return this.rowSession.rowKey===e;if(this.changes.isRemoved(e))return!1;let u=this.options.editableColumns?.(e)??null;return u===null||u.length>0}beginRowEdit(e,t={}){let u=t.standalone===!0;if(!this.canEditRow(e,t))return!1;if(this.rowSession)return!0;u&&this.session&&!this.commitEdit()&&this.cancelEdit();let r=this.session;return this.session=null,r&&this.options.onEditingStopped?.({rowKey:r.rowKey,columnId:r.columnId,value:r.value,cancelled:!0}),this.rowDrafts=null,this.rowSession={rowKey:e,isNew:this.changes.isInserted(e),errors:{},saving:!1,...u?{standalone:!0}:{}},this.rowBaseline=u?this.baselineOf(e):null,this.options.onRowEditingStarted?.({rowKey:e,isNew:this.rowSession.isNew}),this.notify(),!0}setRowEditValue(e,t){let u=this.rowSession;if(!u||!this.canUpdate(u.rowKey,e))return;let r=this.options.readValue(u.rowKey,e),n=po(r,this.parse(u.rowKey,e,t));this.rowDrafts?.rowKey!==u.rowKey&&(this.rowDrafts={rowKey:u.rowKey,values:new Map}),this.rowDrafts.values.set(e,t);let a=this.effectiveValue(u.rowKey,e);if(Object.is(a,n)){this.notify();return}let o=!0,l=(c,p,C)=>{this.options.onCellValueChanged?.({rowKey:u.rowKey,columnId:e,value:c,previousValue:p,source:C})},i=()=>{o||this.rowDrafts?.values.delete(e),this.touchRow(u.rowKey),this.changes.set(u.rowKey,e,n,r),l(n,a,o?"edit":"redo"),o=!1},s=()=>{this.rowDrafts?.values.delete(e),this.touchRow(u.rowKey),this.changes.set(u.rowKey,e,a,r),l(a,n,"undo")};i(),this.undoStack.push({label:this.text.editCellUndo.replace("{column}",e),undo:s,redo:i,touches:(c,p)=>c===u.rowKey&&(p===void 0||p===e)});let h=Mu({value:n,columnId:e,row:this.effectiveRow(u.rowKey)},this.rulesFor(e)),m={...u.errors};h.valid?delete m[e]:m[e]=h.message??this.text.validationInvalid,this.rowSession={...u,errors:m},this.notify()}rowEditValue(e){let t=this.rowSession;if(!t)return;let u=this.rowDrafts;return u?.rowKey===t.rowKey&&u.values.has(e)?u.values.get(e):this.shownValue(t.rowKey,e)}shownValue(e,t){let u=this.effectiveValue(e,t);return this.options.formatForEdit?this.options.formatForEdit(e,t,u):u}rulesFor(e){let t=this.options.columnRules?.(e),u=this.options.rules?.[e];return t?.length?u?.length?[...t,...u]:[...t]:u}parse(e,t,u){return this.options.parseFromEdit?this.options.parseFromEdit(e,t,u):u}validateRowEdit(e){let t=this.rowSession;if(!t)return!1;let u={},r=this.effectiveRow(t.rowKey);for(let n of e){let a=this.rulesFor(n);if(!a?.length)continue;let o=Mu({value:this.effectiveValue(t.rowKey,n),columnId:n,row:r},a);o.valid||(u[n]=o.message??this.text.validationInvalid)}return this.rowSession={...t,errors:u},this.notify(),Object.keys(u).length===0}async saveRowEdit(e){let t=this.rowSession;if(!t)return{saved:!0,changes:[]};if(e&&!this.validateRowEdit(e)){let r=Object.values(this.rowSession?.errors??{})[0];return{saved:!1,changes:[],error:r??this.text.validationInvalid}}if(t.standalone&&!su(this.mode))return this.saveStandaloneRow(t.rowKey);this.rowSession={...this.rowSession??t,saving:!0},this.notify();let u=await this.saveChanges(t.rowKey);return u.saved?this.closeRowSession(!1):this.rowSession=this.rowSession?{...this.rowSession,saving:!1}:null,this.notify(),u}async saveStandaloneRow(e){if(this.mode==="batch")return this.closeRowSession(!1),this.notify(),{saved:!0,changes:[]};this.rowSession={...this.rowSession,saving:!0};let t=this.standaloneEdits(e);if(t.length>0){let r=this.rowCells(e);this.restoreBaseline();let n=this.text.editCellUndo.replace("{column}",t.map(a=>a.columnId).join(", "));if(!this.applyEdits(t,n,"edit",{atomic:!0,noSave:!0})){for(let a of r)this.changes.set(e,a.columnId,a.newValue,a.oldValue);return this.rowSession=this.rowSession?{...this.rowSession,saving:!1}:null,this.notify(),{saved:!1,changes:[],error:this.text.editSaveFailed,rowKey:e}}this.rowBaseline=this.baselineOf(e)}let u=this.changes.isDirty(e)?await this.saveChanges(e):{saved:!0,changes:[]};return u.saved?this.closeRowSession(!1):this.rowSession=this.rowSession?{...this.rowSession,saving:!1}:null,this.notify(),u}standaloneEdits(e){let t=new Map((this.rowBaseline?.cells??[]).map(n=>[n.columnId,n])),u=this.rowCells(e),r=[];for(let n of u){let a=t.get(n.columnId);Object.is(a?a.newValue:n.oldValue,n.newValue)||r.push({rowKey:e,columnId:n.columnId,value:n.newValue})}for(let[n,a]of t)u.some(o=>o.columnId===n)||r.push({rowKey:e,columnId:n,value:a.oldValue});return r}rowCells(e){return this.changes.getCellChanges().filter(t=>t.rowKey===e).map(t=>({...t}))}baselineOf(e){return{rowKey:e,cells:this.rowCells(e),mark:this.undoStack.mark()}}restoreBaseline(){let e=this.rowBaseline;if(!e)return;let{rowKey:t}=e;for(let u of this.rowCells(t))this.changes.revertCell(t,u.columnId);for(let u of e.cells)this.changes.set(t,u.columnId,u.newValue,u.oldValue);this.undoStack.drop((u,r)=>r>e.mark),this.touchRow(t)}closeRowSession(e){let t=this.rowSession;t&&(this.rowSession=null,this.rowDrafts=null,this.rowBaseline=null,this.options.onRowEditingStopped?.({rowKey:t.rowKey,isNew:t.isNew,cancelled:e}))}heldRow(){let e=this.rowSession;return e?.standalone&&!e.saving?e.rowKey:null}cancelRowEdit(){let e=this.rowSession;if(e){if(e.standalone){this.session=null,this.restoreBaseline(),this.closeRowSession(!0),this.notify();return}this.rowSession=null,this.rowDrafts=null,this.session=null,e.isNew?(this.changes.revertRow(e.rowKey),this.options.dropRow?.(e.rowKey)):this.changes.revertRow(e.rowKey),this.options.onRowEditingStopped?.({rowKey:e.rowKey,isNew:e.isNew,cancelled:!0}),this.notify()}}canUpdate(e,t){if(this.options.isColumnEditable?.(t)===!1)return!1;let u=this.options.allowUpdating;return u===void 0?!0:typeof u=="function"?u(this.options.readRow?.(e),t):u}canDelete(e){let t=this.options.allowDeleting;return t===void 0?!1:typeof t=="function"?t(this.options.readRow?.(e)):t}canAdd(){let e=this.options.allowAdding;return e===void 0?!1:typeof e=="function"?e():e}addRow(e={},t,u){if(!this.canAdd())return null;let r={...e};this.options.onInitNewRow?.(r);let n=this.options.newRowKey?.(r),a=n!=null&&n!==""?n:`${Sm}${++Bm}`,o=u??this.options.newRowPosition??"last",l=()=>{this.changes.markInserted(a,r),this.options.insertRow?.(a,r,o,t)},i=()=>{this.changes.revertRow(a),this.options.dropRow?.(a)};if(l(),this.undoStack.push({label:this.text.editAddRowUndo,undo:i,redo:l,touches:s=>s===a}),su(this.mode)){let s=this.rowSession;return this.rowDrafts=null,this.rowSession={rowKey:a,isNew:!0,errors:{},saving:!1},s&&this.options.onRowEditingStopped?.({rowKey:s.rowKey,isNew:s.isNew,cancelled:!0}),this.options.onRowEditingStarted?.({rowKey:a,isNew:!0}),this.notify(),a}return this.notify(),this.commitsRows()?this.unsentRows.add(a):this.mode!=="batch"&&this.autoSave(),a}removeRow(e){if(!this.canDelete(e))return!1;if(this.changes.isInserted(e))return this.unsentRows.delete(e),this.changes.revertRow(e),this.options.dropRow?.(e),this.forgetRowHistory(e),this.notify(),!0;let t=()=>{this.touchRow(e),this.changes.markRemoved(e)},u=()=>{this.touchRow(e),this.changes.revertRow(e)};return t(),this.undoStack.push({label:this.text.editDeleteRowUndo,undo:u,redo:t,touches:r=>r===e}),this.notify(),this.commitsRows()?(this.unsentRows.delete(e),this.autoSave(e)):this.mode!=="batch"&&this.autoSave(),!0}restoreRow(e){this.changes.isRemoved(e)&&(this.changes.revertRow(e),this.notify())}isRemoved(e){return this.changes.isRemoved(e)}isDirty(e,t){return this.changes.isDirty(e,t)}revertRow(e){if(this.unsentRows.delete(e),this.changes.isInserted(e))this.changes.revertRow(e),this.options.dropRow?.(e);else{let t=this.changes.getCellChanges().filter(u=>u.rowKey===e);if(!this.changes.revertRow(e))return!1;this.writeBack(t)}return this.touchRow(e),this.forgetRowHistory(e),this.notify(),!0}revertCell(e,t){let u=this.changes.get(e,t);return!u||!this.changes.revertCell(e,t)?!1:(this.writeBack([u]),this.touchRow(e),this.undoStack.drop(r=>r.touches?.(e,t)===!0),this.notify(),!0)}writeBack(e){if(this.mode==="cell")for(let t of e)this.options.applyValue?.(t.rowKey,t.columnId,t.oldValue)}forgetRowHistory(e){this.undoStack.drop(t=>t.touches?.(e)===!0)}beginEdit(e,t,u){if(!this.canUpdate(e,t)||this.rowSession||su(this.mode)||this.session&&!this.commitEdit())return!1;let r=this.shownValue(e,t),n=u!==void 0;return this.session={rowKey:e,columnId:t,initialValue:r,value:n?u:r,seeded:n,validation:{valid:!0,message:null}},this.options.onEditingStarted?.({rowKey:e,columnId:t,value:this.session.value}),this.notify(),!0}setEditValue(e){if(!this.session)return;this.session.value=e;let{rowKey:t,columnId:u}=this.session,r=this.rulesFor(u);this.session.validation=Mu({value:r?.length?this.parse(t,u,e):e,columnId:u,row:this.effectiveRow(t)},r),this.notify()}commitEdit(){let e=this.session;if(!e)return!0;let t=!Object.is(e.value,e.initialValue),u=t?this.parse(e.rowKey,e.columnId,e.value):e.value,r=Mu({value:u,columnId:e.columnId,row:this.effectiveRow(e.rowKey)},this.rulesFor(e.columnId));return r.valid?(this.session=null,this.options.onEditingStopped?.({rowKey:e.rowKey,columnId:e.columnId,value:e.value,cancelled:!1}),t&&this.applyEdits([{rowKey:e.rowKey,columnId:e.columnId,value:u}],this.text.editCellUndo.replace("{column}",e.columnId)),this.notify(),!0):(e.validation=r,this.notify(),!1)}cancelEdit(){let e=this.session;this.session=null,e&&this.options.onEditingStopped?.({rowKey:e.rowKey,columnId:e.columnId,value:e.value,cancelled:!0}),this.notify()}applyEdits(e,t,u="edit",r={}){if(e.length===0)return!1;let n=this.withDependents(e).map(p=>{let C=this.options.readValue(p.rowKey,p.columnId);return{...p,value:po(C,p.value),previous:this.effectiveValue(p.rowKey,p.columnId),source:C}}).filter(p=>!(typeof p.value=="bigint"&&p.value===p.previous));if(n.length===0)return!1;let a=this.mode==="cell"&&this.heldRow()===null,o=this.options.storedValue,l=n;if(a&&this.options.applyValue){let p=[];for(let C of n)if(this.options.applyValue(C.rowKey,C.columnId,C.value)!==!1)p.push(C);else if(r.atomic){for(let E of p.reverse())this.options.applyValue(E.rowKey,E.columnId,E.source);return!1}l=o?p.map(C=>({...C,value:o(C.rowKey,C.columnId,C.value)})):p}if(l.length===0)return!1;let i=!0,s=(p,C,E,D)=>{this.options.onCellValueChanged?.({rowKey:p.rowKey,columnId:p.columnId,value:C,previousValue:E,source:D})},h=()=>{let p=!i,C=i?u:"redo";i=!1;for(let E of l)this.touchRow(E.rowKey),this.changes.set(E.rowKey,E.columnId,E.value,E.source),a&&p&&this.options.applyValue?.(E.rowKey,E.columnId,E.value),p&&this.commitsRows()&&this.unsentRows.add(E.rowKey),s(E,E.value,E.previous,C)},m=()=>{for(let p of l)this.touchRow(p.rowKey),this.changes.set(p.rowKey,p.columnId,p.previous,p.source),a&&this.options.applyValue?.(p.rowKey,p.columnId,p.previous),this.commitsRows()&&this.unsentRows.add(p.rowKey),s(p,p.previous,p.value,"undo")};h();let c={label:t,undo:m,redo:h,touches:(p,C)=>l.some(E=>E.rowKey===p&&(C===void 0||E.columnId===C))};if(this.undoStack.push(c),this.notify(),!(r.noSave||this.heldRow()!==null))if(this.commitsRows())for(let p of l)this.unsentRows.add(p.rowKey);else this.mode==="cell"&&(r.keepEditor?this.queueSave().then(p=>{!p.saved&&!p.superseded&&this.options.onAutoSaveFailed?.(p)}):this.autoSave());return!0}setRowValues(e,t){if((su(this.mode)||this.rowSession?.standalone)&&this.rowSession?.rowKey!==e)return!1;let u=this.options.readRow?.(e);if(!u||this.changes.isRemoved(e))return!1;let r=this.options.allowUpdating,n=Object.entries(t);for(let[s]of n)if(r!==void 0&&(typeof r=="function"?!r(u,s):!r))return!1;let a=n.map(([s,h])=>({rowKey:e,columnId:s,value:po(this.options.readValue(e,s),h)})).filter(s=>!Object.is(this.effectiveValue(e,s.columnId),s.value));if(a.length===0)return!0;let o={...this.effectiveRow(e)};for(let s of a)o[s.columnId]=s.value;for(let s of a)if(!Mu({value:s.value,columnId:s.columnId,row:o},this.rulesFor(s.columnId)).valid)return!1;let l=this.text.editCellUndo.replace("{column}",a.map(s=>s.columnId).join(", "));if(!this.applyEdits(a,l,"edit",{atomic:!0,keepEditor:!0}))return!1;if(this.rowDrafts?.rowKey===e)for(let s of a)this.rowDrafts.values.delete(s.columnId);if(this.rowSession?.rowKey===e){let s={...this.rowSession.errors};for(let h of a)delete s[h.columnId];this.rowSession={...this.rowSession,errors:s}}let i=this.session;if(i?.rowKey===e&&a.some(s=>s.columnId===i.columnId)){let s=this.shownValue(e,i.columnId);i.value=s,i.initialValue=s,i.seeded=!1,i.validation={valid:!0,message:null}}return this.notify(),!0}effectiveValue(e,t){return this.changes.effectiveValue(e,t,this.options.readValue(e,t))}effectiveRow(e){let t=this.options.readRow?.(e);if(t)return this.changes.applyPendingTo(e,t)}undo(){this.options.onHistoryStarted?.({kind:"undo",label:this.undoStack.peekUndo()?.label??null});let e=this.undoStack.undo();return e&&this.notify(),this.options.onHistoryEnded?.({kind:"undo",performed:!!e,label:e?.label??null}),!!e}redo(){this.options.onHistoryStarted?.({kind:"redo",label:this.undoStack.peekRedo()?.label??null});let e=this.undoStack.redo();return e&&this.notify(),this.options.onHistoryEnded?.({kind:"redo",performed:!!e,label:e?.label??null}),!!e}canUndo(){return this.undoStack.canUndo()}canRedo(){return this.undoStack.canRedo()}hasChanges(){return this.changes.hasChanges()}getChanges(){return this.changes.getChanges(this.options.readRow)}async saveChanges(e){if(this.session&&!this.commitEdit())return{saved:!1,changes:[],error:this.session?.validation.message??this.text.validationInvalid};if(this.commitsRows())for(let t of[...this.unsentRows])(e===void 0||e===t)&&this.isEmptyNewRow(t)&&this.discardNewRow(t);return this.queueSave(e)}async queueSave(e){let t=this.savesInFlight>0?this.saveQueue:null;this.savesInFlight++;let u;this.saveQueue=new Promise(r=>{u=r});try{return t&&await t,await this.persist(e)}finally{this.savesInFlight--,u()}}autoSave(e){this.saveChanges(e).then(t=>{!t.saved&&!t.superseded&&this.options.onAutoSaveFailed?.(t)})}isEmptyNewRow(e){return this.changes.isInserted(e)&&!this.changes.hasCellChanges(e)}discardEmptyNewRow(e){return this.isEmptyNewRow(e)?(this.session?.rowKey===e&&this.cancelEdit(),this.discardNewRow(e),!0):!1}discardNewRow(e){this.unsentRows.delete(e),this.rowSaveState.delete(e),this.changes.revertRow(e),this.options.dropRow?.(e),this.forgetRowHistory(e),this.notify()}getUnsentRowKeys(){return[...this.unsentRows]}commitRows(e){if(this.unsentRows.size!==0&&!(this.session&&this.session.rowKey!==e&&!this.commitEdit())){for(let t of[...this.unsentRows])if(!(t===e||t===this.heldRow())){if(this.unsentRows.delete(t),this.isEmptyNewRow(t)){this.discardNewRow(t);continue}this.changes.isDirty(t)&&this.queueSave(t).then(u=>{!u.saved&&!u.superseded&&this.options.onAutoSaveFailed?.(u)})}}}async persist(e){let t=this.heldRow(),u=this.getChanges().filter(o=>(e===void 0||o.rowKey===e)&&o.rowKey!==t);if(u.length===0)return{saved:!0,changes:[]};for(let o of u)this.unsentRows.delete(o.rowKey);let r=++this.saveToken,n=this.undoStack.mark();this.saving=!0;for(let o of u)this.setRowState(o.rowKey,"saving",r);this.notify();let a=null;try{return a=await this.send(u,r),a.saved&&!a.superseded&&this.forgetSavedHistory(u,n,e),a}finally{r===this.saveToken&&(this.saving=!1),this.settleRowStatus(u,r,a??{saved:!1,changes:u,error:this.text.editSaveFailed}),this.notify()}}forgetSavedHistory(e,t,u){if(this.mode!=="cell"&&this.mode!=="batch")return;if(u===void 0){this.undoStack.drop((n,a)=>a<=t);return}let r=e.map(n=>n.rowKey);this.undoStack.drop((n,a)=>a<=t&&r.some(o=>n.touches?.(o)===!0))}async send(e,t){try{for(let r of e){if(r.type!=="insert")continue;let n=this.effectiveRow(r.rowKey);for(let[a,o]of Object.entries(this.options.rules??{})){if(!o||o.length===0||a in r.values)continue;let l=n?this.options.readValue?.(r.rowKey,a):void 0,i=Mu({value:l,columnId:a,row:n},o);if(!i.valid)return{saved:!1,changes:e,error:i.message??this.text.validationInvalid,columnId:a,rowKey:r.rowKey}}}for(let r of e)for(let[n,a]of Object.entries(r.values)){let o=await bm({value:a,columnId:n,row:this.effectiveRow(r.rowKey)??r.row},this.rulesFor(n));if(!o.valid)return{saved:!1,changes:e,error:o.message??this.text.validationInvalid,columnId:n,rowKey:r.rowKey}}let u=this.options.crud;if(u&&Ns(u)){let r=e.find(n=>!u[n.type]);if(r)return console.error(`[datagrid] editing.crud has no "${r.type}" handler, so a pending ${r.type} cannot be saved. Nothing was sent and the changes stay pending. Add crud.${r.type}, or use onSave instead of crud.`),{saved:!1,changes:e,error:this.text.editSaveFailed,rowKey:r.rowKey};await this.dispatchCrud(e,u)}else await this.options.onSave?.(e);if(t!==this.saveToken)return{saved:!0,changes:e,superseded:!0};for(let r of e)if(r.type==="update")for(let n of Object.keys(r.values)){let a=this.changes.get(r.rowKey,n);a&&Object.is(a.newValue,r.values[n])&&this.changes.revertCell(r.rowKey,n)}else this.changes.revertRow(r.rowKey);if(!Ns(this.options.crud))for(let r of e)r.type==="remove"&&(this.options.readRow&&this.options.readRow(r.rowKey)===void 0||this.options.dropRow?.(r.rowKey));return{saved:!0,changes:e}}catch(u){if(Dm(u)){let r=u.rows.map(n=>({...n}));return{saved:!1,changes:e,error:u.message||this.text.editSaveFailed,rows:r,rowKey:r[0]?.rowKey,columnId:r[0]?.columnId}}return{saved:!1,changes:e,error:u instanceof Error?u.message:String(u)}}}async dispatchCrud(e,t){let u={insert:0,update:1,remove:2},r=[...e].sort((n,a)=>u[n.type]-u[a.type]);for(let n of r)if(n.type==="insert"){if(!t.insert)continue;let a=await t.insert(n.values),o=a?this.options.replaceRow?.(n.rowKey,a):void 0;if(o!==void 0&&o!==n.rowKey){let l=this.rowSaveState.get(n.rowKey);l&&(this.rowSaveState.delete(n.rowKey),this.rowSaveState.set(o,l)),this.insertedKeys.set(n.rowKey,o)}this.options.onRowInserted?.(n.rowKey,a??void 0)}else if(n.type==="update"){if(!t.update)continue;let a=await t.update(n.rowKey,n.values,n.row);a&&this.options.replaceRow?.(n.rowKey,a),this.options.onRowUpdated?.(n.rowKey,a??n.row,n.values)}else{if(!t.remove)continue;await t.remove(n.rowKey,n.row),this.options.dropRow?.(n.rowKey),this.options.onRowRemoved?.(n.rowKey,n.row)}}cancelChanges(){let e=this.rowSession,t=this.session;this.session=null,this.rowSession=null,this.rowDrafts=null,this.rowBaseline=null,t&&this.options.onEditingStopped?.({rowKey:t.rowKey,columnId:t.columnId,value:t.value,cancelled:!0}),e&&this.options.onRowEditingStopped?.({rowKey:e.rowKey,isNew:e.isNew,cancelled:!0});for(let u of this.getChanges())u.type==="insert"&&this.options.dropRow?.(u.rowKey);this.changes.clear(),this.undoStack.clear(),this.unsentRows.clear(),this.notify()}retainKeys(e){this.changes.retainKeys(e)&&this.notify()}notify(){let e=this.changes.revision;e!==this.publishedRevision&&(this.publishedRevision=e,this.options.onChangesChanged?.({dirty:this.changes.hasChanges(),count:this.changes.getRowChangeCount()})),this.options.onChange?.()}};function ni(e,t,u,r){let n=e.indexOf(u);if(r===1){for(let a=n+1;a<e.length;a++)if(t(e[a]))return e[a]}else for(let a=(n<0?e.length:n)-1;a>=0;a--)if(t(e[a]))return e[a];return null}function ai(e,t,u){return ni(e,t,"",u)}function Tr(e,t,u=!1,r=!1){let n=a=>a.replace(/[\\{}@$]/g,o=>"\\"+o);return`{${u?"$":""}${n(e)}@${r?"$":""}${n(t)}}`}var Ze=class extends Error{constructor(e,t,u,r={}){super(e),this.position=t,this.kind=u,this.params=r,this.name="FormulaSyntaxError"}position;kind;params};function Tm(e){let t=0;for(let u of e.toUpperCase())t=t*26+(u.charCodeAt(0)-64);return t-1}function Rm(e){let t=e+1,u="";for(;t>0;){let r=(t-1)%26;u=String.fromCharCode(65+r)+u,t=Math.floor((t-1)/26)}return u}var Nm=/^(\$?)([A-Za-z]{1,3})(\$?)(\d{1,7})/,Mm=/^[A-Za-z_][A-Za-z0-9_.]*/,Im=/^(?:\d+\.?\d*|\.\d+)(?:[eE][+-]?\d+)?/,Lm=["<=",">=","<>","=","<",">","+","-","*","/","^","&","%","(",")",",",";",":"];function Pm(e,t){let u=[],r=0;for(;r<e.length;){let n=e[r];if(/\s/.test(n)){r++;continue}let a=r+t,o=e.slice(r);if(n==='"'){let c="",p=r+1;for(;;){if(p>=e.length)throw new Ze('Unclosed text: a " is missing',a,"unclosedText");if(e[p]==='"'){if(e[p+1]==='"'){c+='"',p+=2;continue}break}c+=e[p++]}u.push({t:"str",v:c,pos:a}),r=p+1;continue}if(n==="["){let c="",p=r+1;for(;;){if(p>=e.length)throw new Ze("Unclosed column name: a ] is missing",a,"unclosedColumn");if(e[p]==="]"){if(e[p+1]==="]"){c+="]",p+=2;continue}break}c+=e[p++]}if(c.trim()==="")throw new Ze("Empty column name",a,"emptyColumn");u.push({t:"col",v:c.trim(),pos:a}),r=p+1;continue}if(n==="{"){let c=r+1,p=[""],C=[!1,!1];for(;;){if(c>=e.length)throw new Ze("Unclosed reference: a } is missing",a,"unclosedColumn");let E=e[c];if(E==="}")break;if(E==="\\"&&c+1<e.length){p[p.length-1]+=e[c+1],c+=2;continue}if(E==="@"&&p.length===1){p.push(""),c++;continue}if(E==="$"&&p[p.length-1]===""){C[p.length-1]=!0,c++;continue}p[p.length-1]+=E,c++}if(p.length!==2||p[0]===""||p[1]==="")throw new Ze("A reference is written {column@row}",a,"unexpected",{text:"{"});u.push({t:"ref",columnId:p[0],rowKey:p[1],absCol:C[0],absRow:C[1],pos:a,end:c+1+t}),r=c+1;continue}let l=Im.exec(o);if(l){u.push({t:"num",v:Number(l[0]),pos:a}),r+=l[0].length;continue}let i=Nm.exec(o),s=i?o.slice(i[0].length):"";if(i&&!/^\s*\(/.test(s)&&!/^[A-Za-z0-9_.]/.test(s)){u.push({t:"cell",col:Tm(i[2]),row:Number(i[4])-1,absCol:i[1]==="$",absRow:i[3]==="$",pos:a,end:a+i[0].length}),r+=i[0].length;continue}let h=Mm.exec(o);if(h){u.push({t:"id",v:h[0],pos:a}),r+=h[0].length;continue}let m=Lm.find(c=>o.startsWith(c));if(m){u.push({t:"op",v:m,pos:a}),r+=m.length;continue}throw new Ze(`Unexpected character '${n}'`,a,"unexpectedChar",{text:n})}return u.push({t:"end",pos:e.length+t}),u}var Gm=new Set(["=","<>","<","<=",">",">="]);function Ms(e){return e.t==="cell"?{kind:"cell",col:e.col,row:e.row,absCol:e.absCol,absRow:e.absRow,pos:e.pos,end:e.end}:{kind:"ref",columnId:e.columnId,rowKey:e.rowKey,absCol:e.absCol,absRow:e.absRow,pos:e.pos,end:e.end}}function oi(e){let t=e.trimStart().startsWith("=")?e.indexOf("=")+1:0,u=Pm(e.slice(t),t),r=0,n=()=>u[r],a=()=>u[r++],o=F=>{let x=n();return x.t==="op"&&x.v===F},l=F=>{let x=a();if(x.t!=="op"||x.v!==F)throw new Ze(`Expected '${F}'`,x.pos,"expected",{text:F})},i=()=>{let F=s();for(;;){let x=n();if(x.t!=="op"||!Gm.has(x.v))return F;a(),F={kind:"binary",op:x.v,left:F,right:s()}}},s=()=>{let F=h();for(;o("&");)a(),F={kind:"binary",op:"&",left:F,right:h()};return F},h=()=>{let F=m();for(;o("+")||o("-");)F={kind:"binary",op:a().v,left:F,right:m()};return F},m=()=>{let F=c();for(;o("*")||o("/");)F={kind:"binary",op:a().v,left:F,right:c()};return F},c=()=>{let F=p();for(;o("^");)a(),F={kind:"binary",op:"^",left:F,right:p()};return F},p=()=>{if(o("-")||o("+"))return{kind:"unary",op:a().v,operand:p()};let F=C();for(;o("%");)a(),F={kind:"unary",op:"%",operand:F};return F},C=()=>{let F=a();switch(F.t){case"num":return{kind:"number",value:F.v};case"str":return{kind:"string",value:F.v};case"col":return{kind:"column",name:F.v,pos:F.pos};case"cell":case"ref":{let x=Ms(F);if(!o(":"))return x;a();let k=a();if(k.t!=="cell"&&k.t!=="ref")throw new Ze('Expected a cell after ":"',k.pos,"cellAfterColon");return{kind:"range",from:x,to:Ms(k)}}case"id":{let x=F.v.toUpperCase();if(o("(")){a();let k=[];if(!o(")"))for(;;){if(k.push(i()),o(",")||o(";")){a();continue}break}return l(")"),{kind:"call",name:x,args:k,pos:F.pos}}if(x==="TRUE"||x==="FALSE")return{kind:"boolean",value:x==="TRUE"};throw new Ze(`Unknown name '${F.v}' \u2014 a column is written [${F.v}]`,F.pos,"unknownName",{name:F.v})}case"op":if(F.v==="("){let x=i();return l(")"),x}throw new Ze(`Unexpected '${F.v}'`,F.pos,"unexpected",{text:F.v});case"end":throw new Ze("The formula ends too early",F.pos,"endsEarly")}};if(n().t==="end")throw new Ze("The formula is empty",n().pos,"empty");let E=i(),D=n();if(D.t!=="end")throw new Ze("Unexpected text after the formula",D.pos,"trailing");return E}var ae=class Pn{constructor(t){this.code=t}code;toString(){return this.code}static all=new Map;static of(t){let u=Pn.all.get(t);return u||Pn.all.set(t,u=new Pn(t)),u}};var Ve=ae.of;function go(e){return e==null?null:typeof e=="number"?Number.isFinite(e)?e:Ve("#NUM!"):typeof e=="string"||typeof e=="boolean"?e:e instanceof Date?Number.isNaN(e.getTime())?null:e:e instanceof ae?e:typeof e=="bigint"?Number(e):String(e)}function _e(e){if(e===null)return 0;if(typeof e=="number")return e;if(typeof e=="boolean")return e?1:0;if(e instanceof ae)return e;if(typeof e=="string"){let t=e.trim();if(t==="")return 0;let u=Number(t);return Number.isFinite(u)?u:Ve("#VALUE!")}return Ve("#VALUE!")}function Om(e){return String(Number(e.toPrecision(15)))}function Is(e,t=2){return String(e).padStart(t,"0")}function Lu(e){return e===null?"":e instanceof ae?e:typeof e=="number"?Om(e):typeof e=="boolean"?e?"TRUE":"FALSE":e instanceof Date?`${e.getFullYear()}-${Is(e.getMonth()+1)}-${Is(e.getDate())}`:e}function Lo(e){if(e===null)return!1;if(typeof e=="boolean")return e;if(typeof e=="number")return e!==0;if(e instanceof ae)return e;if(typeof e=="string"){let t=e.trim().toUpperCase();if(t==="TRUE")return!0;if(t==="FALSE")return!1}return Ve("#VALUE!")}var Z0=/^(\d{4})-(\d{2})-(\d{2})(?:[T ](\d{2}):(\d{2})(?::(\d{2}))?)?/;function J0(e){if(e instanceof Date||e instanceof ae)return e;if(typeof e=="string"){let t=Z0.exec(e.trim());if(t)return new Date(+t[1],+t[2]-1,+t[3],+(t[4]??0),+(t[5]??0),+(t[6]??0))}return Ve("#VALUE!")}var Vm=864e5;function Ls(e){if(e instanceof Date)return e;if(typeof e=="string"&&Z0.test(e.trim())){let t=J0(e);return t instanceof Date?t:null}return null}function Hm(e,t){let u=new Date(e.getTime());return u.setDate(u.getDate()+Math.trunc(t)),u}function Zu(e){return Number.isFinite(e)?e:Ve("#NUM!")}function Qu(e,t){let u=(i,s)=>i instanceof Date?i.getTime():i===null?typeof s=="string"?"":typeof s=="boolean"?!1:0:i,r=u(e,t),n=u(t,e),a=i=>typeof i=="number"?0:typeof i=="string"?1:2;if(a(r)!==a(n))return a(r)-a(n);if(typeof r=="string"){let i=r.toLowerCase(),s=n.toLowerCase();return i<s?-1:i>s?1:0}let o=Number(r),l=Number(n);return o<l?-1:o>l?1:0}function be(e){return Array.isArray(e)?e[0]??null:e}function vr(e,t){let u=[];for(let r of e){let n=r();if(Array.isArray(n)){for(let o of n){if(o instanceof ae)return o;typeof o=="number"&&u.push(o)}continue}if(!t&&typeof n!="number")continue;let a=_e(n);if(a instanceof ae)return a;u.push(a)}return u}function Km(e,t,u){let r=10**Math.trunc(t),n=Number((Math.abs(e)*r).toPrecision(15)),a=u==="half"?Math.round(n):u==="up"?Math.ceil(n):Math.floor(n);return Math.sign(e)*a/r}var Ps=e=>([t])=>{let u=_e(be(t()));return u instanceof ae?u:e(u)},Sn=e=>([t],u)=>{let r=Lu(be(t()));return r instanceof ae?r:e(r,u.locale)},Co=e=>([t])=>{let u=J0(be(t()));return u instanceof ae?u:e(u)},wo=e=>([t,u])=>{let r=_e(be(t()));if(r instanceof ae)return r;let n=u?_e(be(u())):0;return n instanceof ae?n:Km(r,n,e)},Gs=e=>t=>{for(let u of t){let r=u();for(let n of Array.isArray(r)?r:[r]){let a=Lo(n);if(a instanceof ae)return a;if(a!==e)return!e}}return e},zm={IF:{min:2,max:3,call:([e,t,u])=>{let r=Lo(be(e()));return r instanceof ae?r:r?be(t()):u?be(u()):!1}},IFERROR:{min:2,max:2,call:([e,t])=>{let u=be(e());return u instanceof ae?be(t()):u}},AND:{min:1,max:255,call:Gs(!0)},OR:{min:1,max:255,call:Gs(!1)},NOT:{min:1,max:1,call:([e])=>{let t=Lo(be(e()));return t instanceof ae?t:!t}},ISBLANK:{min:1,max:1,call:([e])=>{let t=be(e());return t===null||t===""}},ROUND:{min:1,max:2,call:wo("half")},ROUNDUP:{min:1,max:2,call:wo("up")},ROUNDDOWN:{min:1,max:2,call:wo("down")},ABS:{min:1,max:1,call:Ps(Math.abs)},SQRT:{min:1,max:1,call:Ps(e=>e<0?Ve("#NUM!"):Math.sqrt(e))},MOD:{min:2,max:2,call:([e,t])=>{let u=_e(be(e())),r=_e(be(t()));return u instanceof ae?u:r instanceof ae?r:r===0?Ve("#DIV/0!"):u-r*Math.floor(u/r)}},POWER:{min:2,max:2,call:([e,t])=>{let u=_e(be(e())),r=_e(be(t()));return u instanceof ae?u:r instanceof ae?r:Zu(u**r)}},SUM:{min:1,max:255,call:e=>{let t=vr(e,!0);return t instanceof ae?t:t.reduce((u,r)=>u+r,0)}},AVERAGE:{min:1,max:255,call:e=>{let t=vr(e,!0);return t instanceof ae?t:t.length===0?Ve("#DIV/0!"):t.reduce((u,r)=>u+r,0)/t.length}},MIN:{min:1,max:255,call:e=>{let t=vr(e,!0);return t instanceof ae?t:t.length===0?0:Math.min(...t)}},MAX:{min:1,max:255,call:e=>{let t=vr(e,!0);return t instanceof ae?t:t.length===0?0:Math.max(...t)}},COUNT:{min:1,max:255,call:e=>{let t=vr(e,!1);return t instanceof ae?t:t.length}},LEN:{min:1,max:1,call:Sn(e=>e.length)},UPPER:{min:1,max:1,call:Sn((e,t)=>e.toLocaleUpperCase(t))},LOWER:{min:1,max:1,call:Sn((e,t)=>e.toLocaleLowerCase(t))},TRIM:{min:1,max:1,call:Sn(e=>e.trim().replace(/ {2,}/g," "))},LEFT:{min:1,max:2,call:([e,t])=>{let u=Lu(be(e())),r=t?_e(be(t())):1;return u instanceof ae?u:r instanceof ae?r:r<0?Ve("#VALUE!"):u.slice(0,Math.trunc(r))}},RIGHT:{min:1,max:2,call:([e,t])=>{let u=Lu(be(e())),r=t?_e(be(t())):1;return u instanceof ae?u:r instanceof ae?r:r<0?Ve("#VALUE!"):Math.trunc(r)===0?"":u.slice(-Math.trunc(r))}},MID:{min:3,max:3,call:([e,t,u])=>{let r=Lu(be(e())),n=_e(be(t())),a=_e(be(u()));return r instanceof ae?r:n instanceof ae?n:a instanceof ae?a:n<1||a<0?Ve("#VALUE!"):r.substr(Math.trunc(n)-1,Math.trunc(a))}},CONCAT:{min:1,max:255,call:e=>{let t="";for(let u of e){let r=u();for(let n of Array.isArray(r)?r:[r]){let a=Lu(n);if(a instanceof ae)return a;t+=a}}return t}},YEAR:{min:1,max:1,call:Co(e=>e.getFullYear())},MONTH:{min:1,max:1,call:Co(e=>e.getMonth()+1)},DAY:{min:1,max:1,call:Co(e=>e.getDate())},TODAY:{min:0,max:0,call:(e,t)=>{let u=t.scope.now?.()??new Date;return new Date(u.getFullYear(),u.getMonth(),u.getDate())}},DATE:{min:3,max:3,call:([e,t,u])=>{let r=[e,t,u].map(i=>_e(be(i()))),n=r.find(i=>i instanceof ae);if(n)return n;let[a,o,l]=r;return new Date(Math.trunc(a),Math.trunc(o)-1,Math.trunc(l))}}};function $m(e,t,u){if(t instanceof ae)return t;if(u instanceof ae)return u;switch(e){case"&":{let a=Lu(t),o=Lu(u);return a instanceof ae?a:o instanceof ae?o:a+o}case"=":return Qu(t,u)===0;case"<>":return Qu(t,u)!==0;case"<":return Qu(t,u)<0;case"<=":return Qu(t,u)<=0;case">":return Qu(t,u)>0;case">=":return Qu(t,u)>=0}if(e==="+"||e==="-"){let a=Ls(t),o=Ls(u);if(a&&o)return e==="-"?(a.getTime()-o.getTime())/Vm:Ve("#VALUE!");if(a||o){let l=a??o,i=_e(a?u:t);return i instanceof ae?i:e==="-"&&o?Ve("#VALUE!"):Hm(l,e==="+"?i:-i)}}let r=_e(t),n=_e(u);if(r instanceof ae)return r;if(n instanceof ae)return n;switch(e){case"+":return Zu(r+n);case"-":return Zu(r-n);case"*":return Zu(r*n);case"/":return n===0?Ve("#DIV/0!"):Zu(r/n);case"^":return Zu(r**n)}return Ve("#VALUE!")}var Xu=class extends Error{constructor(e,t,u,r={}){super(e),this.position=t,this.kind=u,this.params=r}position;kind;params};function Po(e,t){let u;try{u=oi(e)}catch(i){if(i instanceof Ze)return{ok:!1,error:{message:i.message,position:i.position,kind:i.kind,params:i.params}};throw i}let r=new Set,n=!1,a=t.locale,o=i=>{switch(i.kind){case"number":case"string":case"boolean":{let s=i.value;return()=>s}case"column":{let s=t.resolveColumn(i.name);if(s===null)throw new Xu(`Unknown column [${i.name}]`,i.pos,"unknownColumn",{name:i.name});return r.add(s),h=>go(h.column(s))}case"ref":case"cell":{if(!t.allowCells)throw new Xu("Cell references like A1 belong in cell formulas \u2014 write a column as [Name]",i.pos,"cellsNotAllowed");return n=!0,s=>s.cell?go(s.cell(i)):Ve("#REF!")}case"range":{if(!t.allowCells)throw new Xu("Ranges like A1:B3 belong in cell formulas",i.from.pos,"cellsNotAllowed");return n=!0,s=>s.range?s.range(i.from,i.to).map(go):Ve("#REF!")}case"unary":{let s=o(i.operand),h=i.op;return m=>{let c=_e(be(s(m)));return c instanceof ae?c:h==="-"?-c:h==="%"?c/100:c}}case"binary":{let s=o(i.left),h=o(i.right),m=i.op;return c=>$m(m,be(s(c)),be(h(c)))}case"call":{let s=zm[i.name];if(!s)throw new Xu(`Unknown function ${i.name}`,i.pos,"unknownFunction",{name:i.name});if(i.args.length<s.min||i.args.length>s.max){let m=s.min===s.max?`${s.min}`:s.max>=255?`at least ${s.min}`:`${s.min}\u2013${s.max}`;throw new Xu(`${i.name} takes ${m} argument${m==="1"?"":"s"}`,i.pos,"argCount",{name:i.name,min:String(s.min),max:s.max>=255?"":String(s.max)})}let h=i.args.map(o);return m=>s.call(h.map(c=>()=>c(m)),{scope:m,locale:a})}}},l;try{l=o(u)}catch(i){if(i instanceof Xu)return{ok:!1,error:{message:i.message,position:i.position,kind:i.kind,params:i.params}};throw i}return{ok:!0,formula:{tree:u,columns:[...r],hasCellRefs:n,evaluate(i){try{let s=be(l(i));return typeof s=="number"&&!Number.isFinite(s)?Ve("#NUM!"):s}catch{return Ve("#VALUE!")}}}}}var Wm=new Set(["ROUND","ROUNDUP","ROUNDDOWN","ABS","SQRT","MOD","POWER","SUM","AVERAGE","MIN","MAX","COUNT","LEN","YEAR","MONTH","DAY"]),_m=new Set(["UPPER","LOWER","TRIM","LEFT","RIGHT","MID","CONCAT"]),Um=new Set(["AND","OR","NOT","ISBLANK"]),qm=new Set(["TODAY","DATE"]);function Nr(e,t){switch(e.kind){case"number":return"number";case"string":return"string";case"boolean":return"boolean";case"column":{let u=t(e.name);return u==="lookup"||u===void 0?"string":u}case"cell":case"ref":case"range":return"number";case"unary":return"number";case"binary":{if(e.op==="&")return"string";if(["=","<>","<","<=",">",">="].includes(e.op))return"boolean";if(e.op==="+"||e.op==="-"){let u=Nr(e.left,t),r=Nr(e.right,t);if(u==="date"&&r==="date")return"number";if(u==="date"||r==="date")return"date"}return"number"}case"call":{if(e.name==="IF"||e.name==="IFERROR"){let u=e.args[1];return u?Nr(u,t):"string"}return Wm.has(e.name)?"number":_m.has(e.name)?"string":Um.has(e.name)?"boolean":qm.has(e.name)?"date":"string"}}}function Pu(e,t){if(t(e))switch(e.kind){case"unary":Pu(e.operand,t);break;case"binary":Pu(e.left,t),Pu(e.right,t);break;case"call":e.args.forEach(u=>Pu(u,t));break}}function ii(e,t){let u=e;for(let r of[...t].sort((n,a)=>a.start-n.start))u=u.slice(0,r.start)+r.text+u.slice(r.end);return u}function li(e){try{return oi(e)}catch{return null}}var si=e=>typeof e=="string"&&e.trimStart().startsWith("=");function yo(e,t,u,r){return`${u?"$":""}${Rm(e)}${r?"$":""}${t+1}`}function Go(e){let t=[...e].sort((u,r)=>u-r);return t.every((u,r)=>u>=0&&(r===0||u===t[r-1]+1))}function Os(e,t){if(!si(e))return e;let u=li(e);if(!u)return e;let r=[],n=a=>{let o=t.columnAt(a.col),l=t.rowKeyAt(a.row);return o===null||l===null?null:Tr(o,l,a.absCol,a.absRow)};return Pu(u,a=>{if(a.kind==="cell"){let o=n(a);return o!==null&&r.push({start:a.pos,end:a.end,text:o}),!1}if(a.kind==="range"&&a.from.kind==="cell"&&a.to.kind==="cell"){let{from:o,to:l}=a,i=[];for(let c=Math.min(o.col,l.col);c<=Math.max(o.col,l.col);c++){let p=t.columnAt(c);if(p===null)return!1;i.push(p)}let s=[];for(let c=Math.min(o.row,l.row);c<=Math.max(o.row,l.row);c++){let p=t.rowKeyAt(c);if(p===null)return!1;s.push(p)}let h=s.map(c=>t.rowDataIndex(c)),m=i.map(c=>t.columnDataIndex(c));if(Go(h)&&Go(m)){let c=s[h.indexOf(Math.min(...h))],p=s[h.indexOf(Math.max(...h))],C=i[m.indexOf(Math.min(...m))],E=i[m.indexOf(Math.max(...m))];r.push({start:o.pos,end:l.end,text:`${Tr(C,c,o.absCol,o.absRow)}:${Tr(E,p,l.absCol,l.absRow)}`})}else{let c=[];for(let p of s)for(let C of i)c.push(Tr(C,p));r.push({start:o.pos,end:l.end,text:c.join(";")})}return!1}return!0}),ii(e,r)}function jm(e,t){if(!si(e))return e;let u=li(e);if(!u)return e;let r=[],n=a=>{let o=t.columnViewIndex(a.columnId),l=t.rowViewIndex(a.rowKey);return o<0||l<0?null:yo(o,l,a.absCol,a.absRow)};return Pu(u,a=>{if(a.kind==="ref"){let o=n(a);return o!==null&&r.push({start:a.pos,end:a.end,text:o}),!1}if(a.kind==="range"&&a.from.kind==="ref"&&a.to.kind==="ref"){let o=a.from,l=a.to,i=t.rowViewIndex(o.rowKey),s=t.rowViewIndex(l.rowKey),h=t.columnViewIndex(o.columnId),m=t.columnViewIndex(l.columnId);if(i<0||s<0||h<0||m<0)return!1;let c=(D,F)=>Math.abs(D-F)+1,p=c(t.rowDataIndex(o.rowKey),t.rowDataIndex(l.rowKey)),C=c(t.columnDataIndex(o.columnId),t.columnDataIndex(l.columnId));if(p!==c(i,s)||C!==c(h,m))return!1;let E=[];for(let D=Math.min(i,s);D<=Math.max(i,s);D++){let F=t.rowKeyAt(D);E.push(F===null?-1:t.rowDataIndex(F))}return Go(E)&&r.push({start:o.pos,end:l.end,text:`${yo(h,i,o.absCol,o.absRow)}:${yo(m,s,l.absCol,l.absRow)}`}),!1}return!0}),ii(e,r)}function Ym(e,t,u,r){if(!si(e)||t===0&&u===0)return e;let n=li(e);if(!n)return e;let a=[],o=l=>{let i=l.columnId,s=l.rowKey;if(!l.absCol&&u!==0){let h=r.columnAt(r.columnViewIndex(l.columnId)+u);if(h===null||r.columnViewIndex(l.columnId)<0)return null;i=h}if(!l.absRow&&t!==0){let h=r.rowKeyAt(r.rowViewIndex(l.rowKey)+t);if(h===null||r.rowViewIndex(l.rowKey)<0)return null;s=h}return Tr(i,s,l.absCol,l.absRow)};return Pu(n,l=>{if(l.kind==="ref"){let i=o(l);return i!==null&&a.push({start:l.pos,end:l.end,text:i}),!1}if(l.kind==="range"){for(let i of[l.from,l.to]){if(i.kind!=="ref")continue;let s=o(i);s!==null&&a.push({start:i.pos,end:i.end,text:s})}return!1}return!0}),ii(e,a)}var Qm={"=":1,"<>":1,"<":1,"<=":1,">":1,">=":1,"&":2,"+":3,"-":3,"*":4,"/":4,"^":5},Vs=6,Xm=7;function Zm(e){return String(Number(e.toPrecision(15)))}function Jm(e,t,u=r=>r){let r=(n,a,o)=>{switch(n.kind){case"number":return Zm(n.value);case"string":return`"${n.value.replace(/"/g,'""')}"`;case"boolean":return n.value?"TRUE":"FALSE";case"column":case"cell":case"ref":case"range":return t(n);case"unary":{if(n.op==="%"){let s=r(n.operand,Xm,!1);return s===null?null:`${s}%`}let l=r(n.operand,Vs,!1);if(l===null)return null;let i=`${n.op}${l}`;return a>Vs?`(${i})`:i}case"binary":{let l=Qm[n.op],i=r(n.left,l,!1),s=r(n.right,l,!0);if(i===null||s===null)return null;let h=`${i}${n.op}${s}`;return l<a||l===a&&o?`(${h})`:h}case"call":{let l=[];for(let i of n.args){let s=r(i,0,!1);if(s===null)return null;l.push(s)}return`${u(n.name)}(${l.join(",")})`}}};return r(e,0,!1)}function di(e){return{sum:e.summarySum,avg:e.summaryAvg,min:e.summaryMin,max:e.summaryMax,count:e.summaryCount,countDistinct:e.summaryDistinct,custom:e.summaryCustom}}var ef=di(pu("en"));function ci(e,t=ef){return e.label??t[e.type]}var tf=new Set(["sum","avg","min","max"]);function Vr(e,t,u){if(e.valueFormatter)return e.valueFormatter(t??null);if(t==null)return"\u2014";if(!tf.has(e.type))return t.toLocaleString();if(u?.dataType==="date"){let r=new Date(t);return u.valueFormatter?u.valueFormatter(r,{}):r.toLocaleDateString()}return u?.valueFormatter?u.valueFormatter(t,{}):(Math.round(t*100)/100||0).toLocaleString(void 0,{maximumFractionDigits:2})}function ed(e){switch(e){case"number":return["sum","avg","min","max","count","countDistinct"];case"date":return["min","max","count","countDistinct"];default:return["count","countDistinct"]}}function Hs(e){return e.kind==="data"||e.kind==="group"}function uf(e,t,u,r){let n=u.getCellValue(e.data,t);return r?{text:n==null?"":String(n),value:n}:{text:cu(u.getDef(t),n,e.data),value:n}}var rf=new Set(["sum","avg","min","max"]);function Ks(e,t,u,r){if(t==null)return{text:"",value:null};if(r)return{text:String(t),value:t};let n=rf.has(e.type);return{text:Vr(e,t,u),value:n&&u?.dataType==="date"?new Date(t):t,numFmt:n?void 0:"#,##0"}}function nf({nodes:e,columns:t,options:u,isSelected:r,selectionCount:n=0,summaries:a}){let o=t.runtime({includeScreenHidden:!0}),l=(u.columnIds??o.map(p=>p.state.id)).map(p=>{let C=t.getDef(p),E=t.getState(p),D=C?.dataType==="number";return{id:p,header:C?.headerName??C?.field??p,width:Math.max(8,Math.round((E?.width??100)/7)),isNumeric:D,isDate:C?.dataType==="date",align:C?.align??(D||C?.dataType==="bigint"?"right":"left"),numFmt:C?.excelFormat??of(C?.dataType)}}),i=!!u.selectedOnly&&n>0&&!!r,s=u.includeGroups!==!1,h=!!u.raw,m=[];for(let p of e)if(p){if(t4(p)){if(!s||i)continue;let C=p.aggregates,E=l.map((D,F)=>{if(F===0)return{text:`${p.label===""?"(Blanks)":p.label} (${p.count})`,value:p.label};let x=C?a?.defs.find(k=>k.columnId===D.id):void 0;return x?Ks(x,C[`${x.columnId}:${x.type}`],t.getDef(D.id),h):{text:"",value:null}});m.push({kind:"group",cells:E,level:p.level});continue}if(u4(p)){if(!s||i)continue;let C=l.map((E,D)=>D===0?{text:p.label,value:p.label}:{text:"",value:null});m.push({kind:"group",cells:C,level:p.tree.depth});continue}Bt(p)&&(i&&!r(p.key)||m.push({kind:"data",cells:l.map(C=>{let E=uf(p,C.id,t,h),D=t.getDef(C.id)?.exportLink?.(p.data),F=df(D);return F?{...E,link:F}:E}),level:0,source:{key:p.key,row:p.data}}))}let c;return a&&a.defs.length>0&&(c=l.map(p=>{let C=a.defs.find(E=>E.columnId===p.id);return C?Ks(C,a.values[`${C.columnId}:${C.type}`],t.getDef(p.id),h):null})),{columns:l,rows:m,totals:c}}var td="#,##0.###",af="#,##0";function of(e){if(e==="number")return td;if(e==="date")return"yyyy-mm-dd"}function lf(e,t){return e==null?"":e instanceof Date?Number.isNaN(e.getTime())?"":e.getHours()===0&&e.getMinutes()===0&&e.getSeconds()===0?e.toLocaleDateString(t):e.toLocaleString(t):typeof e=="number"?Number.isFinite(e)?e.toLocaleString(t):"":String(e)}function sf(e,t,u="en"){if(t.size===0)return e;let r=[];return e.rows.forEach((n,a)=>{r.push(n);let o=t.get(a);if(!o||!Array.isArray(o.columns))return;let l=Array.isArray(o.rows)?o.rows:[],i=o.columns.map((h,m)=>{let c=typeof h=="string"?{header:h}:h,p=l.length>0&&l.every(C=>C?.[m]==null||typeof C[m]=="number");return{header:String(c.header??""),align:c.align??(p?"right":"left"),...c.numFmt?{numFmt:c.numFmt}:{}}}),s=n.level;o.title&&r.push({kind:"detailTitle",cells:[{text:o.title,value:o.title}],level:s,detailColumns:i}),r.push({kind:"detailHeader",cells:i.map(h=>({text:h.header,value:h.header})),level:s,detailColumns:i});for(let h of l)r.push({kind:"detail",cells:i.map((m,c)=>{let p=h?.[c]??null;return{text:lf(p,u),value:p}}),level:s,detailColumns:i})}),{...e,rows:r}}function df(e){if(typeof e!="string")return null;let t=e.trim();return/^(https?:\/\/|mailto:|tel:)/i.test(t)?t:null}var et=class extends Error{constructor(){super("Export aborted"),this.name="ExportAbortedError"}},ud="\uFEFF",cf=new Set(["tr","de","fr","es","it","pt","ru","ar"]);function hf(e){let t=(e??"en").split(/[-_]/)[0].toLowerCase();return cf.has(t)?";":","}function Wn(e,t){return e.includes(t)||e.includes('"')||e.includes(`
5
5
  `)||e.includes("\r")||e!==e.trim()?`"${e.replace(/"/g,'""')}"`:e}async function mf(e,t={}){let u=t.delimiter??",",r=t.newline??`\r
6
6
  `,n=[];t.includeHeaders!==!1&&n.push(e.columns.map(l=>Wn(l.header,u)).join(u));let a=e.rows.length;for(let l=0;l<a;l++){if(t.signal?.aborted)throw new et;let i=e.rows[l];i.kind!=="data"&&i.kind!=="group"||(n.push(i.cells.map(s=>Wn(s.text,u)).join(u)),(l+1)%5e3===0&&(t.onProgress?.((l+1)/a),await new Promise(s=>setTimeout(s,0))))}t.onProgress?.(1);let o=n.join(r);return t.bom===!1?o:ud+o}async function ff(e,t={}){let u=await mf(e,t);return new Blob([u],{type:"text/csv;charset=utf-8;"})}async function pf(e,t,u,r={}){let n=r.delimiter??",",a=r.newline??`\r
7
- `,o=new TextEncoder,l=!0,i=0,s=r.bom===!1?"":ud;r.includeHeaders!==!1&&(s+=t.map(h=>Wn(h.header,n)).join(n),l=!1),s&&await e.write(o.encode(s));for await(let h of u){if(r.signal?.aborted)throw new et;let m="";for(let c of h)c.kind!=="data"&&c.kind!=="group"||(m+=(l?"":a)+c.cells.map(p=>Wn(p.text,n)).join(n),l=!1,i++);m&&await e.write(o.encode(m))}return i}var gf="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",Eo="FFF1F5F9",Cf="FFFAFAFA",zs="FFE2E8F0",Mr=1048576,wf=31;function rd(e,t,u){for(let r=Math.max(2,t);;r++){let n=` (${r})`,a=e.slice(0,wf-n.length)+n;if(!u.has(a.toLowerCase()))return a}}var nd=/^\d{4}-\d{2}-\d{2}(?:[T ]\d{2}:\d{2}(?::\d{2}(?:\.\d{1,9})?)?)?(?:Z|[+-]\d{2}:?\d{2})?$/;function bo(e){return new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()))}function yf(e){let t=/^(\d{4})-(\d{2})-(\d{2})/.exec(e);if(!t)return!1;let u=Number(t[1]),r=Number(t[2]),n=Number(t[3]);return u<1||r<1||r>12||n<1?!1:n<=new Date(u,r,0).getDate()}var Ef=/^-?(?:\d+\.?\d*|\.\d+)$/;function bf(e){let t=e.trim();if(!Ef.test(t)||t.replace(/^-|\./g,"").replace(/^0+(?=\d)/,"").length>15)return null;let u=Number(t);return Number.isFinite(u)?u:null}function ad(e,t,u){if(!(u?.numFmt!==td||typeof t!="number")){if(typeof e=="string"){let r=/\.(\d+)$/.exec(e.trim())?.[1].length??0;if(r>0)return`#,##0.${"0".repeat(Math.min(r,10))}`}return Number.isInteger(t)?af:void 0}}function Oo(e){if(e instanceof Date)return Number.isNaN(e.getTime())?null:bo(e);if(typeof e=="number"&&Number.isFinite(e))return bo(new Date(e));if(typeof e=="string"&&nd.test(e.trim())){let t=Xn(e.trim());return t?bo(t):null}return null}function Vo(e,t,u,r){if(e.value instanceof Date)return Oo(e.value)??(u?e.value:e.text);if(r&&t?.isDate){if(typeof e.value=="string"&&nd.test(e.value.trim())&&!yf(e.value.trim()))return null;let n=Oo(e.value);if(n)return n}if(r&&t?.isNumeric&&typeof e.value=="string"){let n=bf(e.value);if(n!==null)return n}return typeof e.value=="bigint"?String(e.value):u||typeof e.value=="number"?e.value:e.text}async function Af(){let e;try{e=await import("exceljs")}catch{throw new Error('[datagrid] Excel export needs the "exceljs" package. Install it with: npm i exceljs')}let t=e,u=t.Workbook?t:t.default;if(!u?.Workbook)throw new Error('[datagrid] Excel export needs the "exceljs" package, and what loaded exposes no Workbook \u2014 it is either not installed (npm i exceljs) or a version this writer does not understand.');return u}function Ho(e,t,u){e.columns=t.columns.map(r=>({key:r.id,width:r.width,style:u?{alignment:{horizontal:r.align},...r.numFmt?{numFmt:r.numFmt}:{}}:r.numFmt?{numFmt:r.numFmt}:void 0}))}function od(e){let t=e,u="";for(;t>0;){let r=(t-1)%26;u=String.fromCharCode(65+r)+u,t=Math.floor((t-1)/26)}return u||"A"}function hi(e,t){if(t&&(t.value!==void 0&&(e.value=t.value),t.font&&(e.font={...e.font,...t.font,...t.font.color?{color:{argb:t.font.color}}:{}}),t.fill&&(e.fill={type:"pattern",pattern:"solid",fgColor:{argb:t.fill}}),t.numFmt&&(e.numFmt=t.numFmt),t.alignment&&(e.alignment={...e.alignment,...t.alignment}),t.border)){let u={style:"thin",color:{argb:t.border}};e.border={top:u,left:u,bottom:u,right:u}}}function Rr(e,t,u,r,n){let a=t.customizeCell;a&&e.eachCell((o,l)=>{let i=r?.columns[l-1],s=a({kind:u,columnId:i?.id??null,value:o.value,text:o.value==null?"":String(o.value),rowNumber:e.number,colNumber:l,rowIndex:n});hi(o,s)})}function _n(e,t,u,r){if(t?.length)for(let n of t){e.room()||e.continue();let a=e.sheet,o=a.addRow(n.cells);n.height&&(o.height=n.height),n.style&&o.eachCell(l=>hi(l,n.style)),n.merge&&u>1&&a.mergeCells(`A${o.number}:${od(u)}${o.number}`),Rr(o,r,"band",null,-1)}}async function $s(e,t,u,r,n,a){let o=null,l=t.columns.length,i=new Map,s=[],h=u.formulas!==!1,m=(k,M)=>{let z=k.addRow(t.columns.map(O=>O.header));return z.font={bold:!0},z.fill={type:"pattern",pattern:"solid",fgColor:{argb:Eo}},n&&(z.alignment={horizontal:"left",vertical:"middle"},z.border={bottom:{style:"thin",color:{argb:zs}}}),Rr(z,u,"header",t,-1),M&&(u.autoFilter!==!1&&(k.autoFilter={from:{row:z.number,column:1},to:{row:z.number,column:l}}),u.freezeHeader!==!1&&(k.views=[{state:"frozen",ySplit:z.number}])),z.number},c=r&&l>0;e.onContinue=c?k=>{m(k,!0)}:null,c&&(e.room(2)?o=m(e.sheet,a):e.continue());let p=t.rows.length,C=o===null?0:o+1,E=o??0,D=0,F=-1,x=(k,M)=>{M.forEach((z,O)=>{z?.numFmt&&(k.getCell(O+1).numFmt=z.numFmt)})};for(let k=0;k<p;k++){if(u.signal?.aborted)throw new et;let M=t.rows[k];if(M.kind==="detailTitle"||M.kind==="detailHeader"||M.kind==="detail"){e.room()||e.continue();let G=e.sheet.addRow([null,...M.cells.map(Y=>{let j=Y.value;return j instanceof Date?Oo(j)??Y.text:typeof j=="number"||typeof j=="boolean"?j:Y.text})]);E=G.number;let W=M.detailColumns??[];M.cells.forEach((Y,j)=>{let J=G.getCell(j+2),ee=W[j];J.numFmt=M.kind==="detail"&&ee?.numFmt?ee.numFmt:"General",J.alignment={horizontal:M.kind==="detailTitle"?"left":ee?.align??"left"},M.kind==="detailHeader"&&(J.font={bold:!0},J.fill={type:"pattern",pattern:"solid",fgColor:{argb:Eo}})}),M.kind==="detailTitle"&&(G.getCell(2).font={bold:!0,italic:!0}),n&&(G.outlineLevel=(F>=0?F+1:0)+1),u.customizeCell&&G.eachCell((Y,j)=>{j<2||hi(Y,u.customizeCell({kind:"detail",columnId:null,value:Y.value,text:Y.value==null?"":String(Y.value),rowNumber:G.number,colNumber:j,rowIndex:k}))});continue}let z=M.cells.map((G,W)=>Vo(G,t.columns[W],!!u.raw,M.kind==="data"));e.room()||e.continue();let O=e.sheet.addRow(z);x(O,M.cells),M.kind==="data"&&z.forEach((G,W)=>{if(M.cells[W]?.numFmt)return;let Y=ad(M.cells[W]?.value,G,t.columns[W]);Y&&(O.getCell(W+1).numFmt=Y)}),k===0&&(C=O.number),E=O.number,M.kind==="data"&&(M.source&&i.set(String(M.source.key),{sheet:e.sheet,row:O.number}),M.cells.forEach((G,W)=>{if(h&&G.excelFormula)s.push({sheet:e.sheet,row:O.number,column:W+1,cell:G});else if(G.link){let Y=O.getCell(W+1);Y.value={text:G.text,hyperlink:G.link},Y.font={color:{argb:"FF0563C1"},underline:!0}}})),M.kind==="group"?(F=M.level,O.font={bold:!0},O.getCell(1).alignment={indent:M.level,horizontal:"left"},n&&(O.fill={type:"pattern",pattern:"solid",fgColor:{argb:Eo}},O.outlineLevel=M.level),D=0,Rr(O,u,"group",t,k)):(n&&(F>=0&&(O.outlineLevel=F+1),D%2===1&&(O.fill={type:"pattern",pattern:"solid",fgColor:{argb:Cf}})),D++,Rr(O,u,"data",t,k)),(k+1)%5e3===0&&(u.onProgress?.((k+1)/p),await new Promise(G=>setTimeout(G,0)))}if(n&&u.totalsRow!==!1&&t.totals){e.room()||e.continue();let k=e.sheet.addRow(t.totals.map((M,z)=>M==null?"":Vo(M,t.columns[z],!1,!1)));x(k,t.totals.map(M=>M??{})),k.font={bold:!0},k.border={top:{style:"double",color:{argb:zs}}},Rr(k,u,"totals",t,-1),E=k.number}return e.onContinue=null,vf(t,i,s),{headerRow:o,firstDataRow:C,lastRow:E}}function xf(e){return`'${e.replace(/'/g,"''")}'!`}function vf(e,t,u){if(u.length===0)return;let r=new Map(e.columns.map((a,o)=>[a.id,o+1])),n=(a,o)=>{let l=t.get(a),i=r.get(o);return l&&i!==void 0?{sheet:l.sheet.name,row:l.row,column:i}:null};for(let{sheet:a,row:o,column:l,cell:i}of u){let s=i.excelFormula(n,{sheet:a.name,row:o,column:l});if(s===null)continue;let h=a.getRow(o).getCell(l);h.value={formula:s,result:h.value}}}function Fr(e,t){let u=`${od(e.column)}${e.row}`;return e.sheet===t.sheet?u:xf(e.sheet)+u}function Ff(e,t,u){if(u?.length)for(let r of u){let n=e.addImage({...typeof r.data=="string"?{base64:r.data}:{buffer:r.data},extension:r.extension}),a=r.position??{col:0,row:0,width:160,height:48};t.addImage(n,{tl:{col:a.col,row:a.row},ext:{width:a.width,height:a.height}})}}async function Df(e,t={}){let u=await Af(),r=t.styled===!0,n=t.includeHeaders!==!1,a=new u.Workbook,o=Math.floor(t.maxRowsPerSheet??Mr),l=Math.max(2,Math.min(Mr,Number.isFinite(o)?o:Mr)),i=new Set,s=D=>{i.add(D.toLowerCase());let F=a.addWorksheet(D);return r&&(F.properties.outlineProperties={summaryBelow:!1,summaryRight:!1}),F},h=(D,F)=>{let x=D.name,k=2,M={sheet:D,limit:l,room:(z=1)=>M.sheet.rowCount+z<=l,continue:()=>{let z=s(rd(x,k++,i));Ho(z,F,r),M.sheet=z,M.onContinue?.(z)},onContinue:null};return M},m=s(t.sheetName??"Data");Ho(m,e,r);let c=h(m,e);Ff(a,m,t.images),_n(c,t.headerBlock,e.columns.length,t),await $s(c,e,t,n,r,!0),t.onProgress?.(1);let p=c,C=c;for(let D of t.additionalGrids??[]){let F=!D.sheetName;p=Sf(s,h,p,D,t,r),await $s(p,D.model,t,D.includeHeaders!==!1,r,!1),F&&C===c&&(C=p)}_n(C,t.footerBlock,e.columns.length,t);let E=await a.xlsx.writeBuffer();return new Blob([E],{type:gf})}function Sf(e,t,u,r,n,a){let o=r.title?[{cells:[r.title],merge:!0,style:{font:{bold:!0,size:13}}}]:void 0;if(r.sheetName){let i=e(r.sheetName);Ho(i,r.model,a);let s=t(i,r.model);return _n(s,o,r.model.columns.length,n),s}let l=r.gap??2;for(let i=0;i<l;i++){if(!u.room()){u.continue();break}u.sheet.addRow([])}return _n(u,o,r.model.columns.length,n),u}var kf="application/pdf",Ao=[241,245,249],Bf=[250,250,250],kt=[30,41,59];async function Tf(){let e=new Error('[datagrid] PDF export needs "jspdf" and "jspdf-autotable". Install them with: npm i jspdf jspdf-autotable'),t;try{let[u,r]=await Promise.all([import("jspdf"),import("jspdf-autotable")]);t={jsPDF:u.jsPDF??u.default,autoTable:r.default??r}}catch{throw e}if(typeof t.jsPDF!="function"||typeof t.autoTable!="function")throw e;return t}var mi="helvetica",Rf=/[^\u0000-\u00ff\u0152\u0153\u0160\u0161\u0178\u017d\u017e\u0192\u02c6\u02dc\u2013\u2014\u2018\u2019\u201a\u201c\u201d\u201e\u2020\u2021\u2022\u2026\u2030\u2039\u203a\u20ac\u2122]/u;function Nf(e,t){let u=function*(){for(let r of t.headerBlock??[])yield r.text;for(let r of t.footerBlock??[])yield r.text;for(let r of[{model:e,title:void 0},...t.additionalGrids??[]]){r.title&&(yield r.title);for(let n of r.model.columns)yield n.header;for(let n of r.model.rows)for(let a of n.cells)yield a.text;for(let n of r.model.totals??[])n&&(yield n.text)}};for(let r of u()){let n=Rf.exec(r);if(n)return n[0]}return null}function Mf(e,t,u){let r,n;if(typeof e=="string")r=atob(e.slice(0,8)),n=e;else{let a=e instanceof Uint8Array?e:new Uint8Array(e),o=[];for(let l=0;l<a.length;l+=32768)o.push(String.fromCharCode.apply(null,a.subarray(l,l+32768)));n=o.join(""),r=n.slice(0,4)}if(!r.startsWith("\0\0\0")){let a=r.startsWith("OTTO")?" (it is OpenType-CFF, .otf)":r.startsWith("wOF")?" (it is WOFF)":"";throw new Error(`[datagrid] PDF export: font "${t}" (${u}) is not a TrueType .ttf file${a}. jsPDF embeds TrueType only.`)}return n}function If(e,t){let u=[["normal",t.normal],["bold",t.bold??t.normal],["italic",t.italic??t.normal],["bolditalic",t.boldItalic??t.bold??t.italic??t.normal]];for(let[r,n]of u){let a=`${t.family}-${r}.ttf`;e.addFileToVFS(a,Mf(n,t.family,r)),e.addFont(a,t.family,r)}return t.family}function Ko(e,t,u,r,n){if(!t?.length)return u;let a=e.internal.pageSize.getWidth(),o=u;for(let l of t){let i=l.fontSize??10;e.setFontSize(i),e.setFont(n,l.fontStyle??"normal");let s=l.color??kt;e.setTextColor(s[0],s[1],s[2]);let h=l.align??"left",m=h==="center"?a/2:h==="right"?a-r:r;o+=i*.353,e.text(l.text,m,o,{align:h}),o+=l.spacing??2}return e.setTextColor(kt[0],kt[1],kt[2]),o}var Lf=[245,247,250];function Pf(e,t){if(e.kind==="data"||e.kind==="group")return e.cells.map(a=>a.text);let u=e.cells.map(a=>a.text);if(t<=1)return[u.join(" \xB7 ")];if(e.kind==="detailTitle")return["",{content:u[0]??"",colSpan:t-1}];let r=t-1,n=u.length>r?[...u.slice(0,r-1),u.slice(r-1).join(" \xB7 ")]:u;for(;n.length<r;)n.push("");return["",...n]}function Gf(e,t){t&&(t.text!==void 0&&(e.text=[t.text]),t.fillColor&&(e.styles.fillColor=t.fillColor),t.textColor&&(e.styles.textColor=t.textColor),t.fontStyle&&(e.styles.fontStyle=t.fontStyle),t.fontSize&&(e.styles.fontSize=t.fontSize),t.halign&&(e.styles.halign=t.halign))}function fi(e,t,u,r,n,a,o){let l=r.styled!==!1,i=r.margin??14,s=o?.from??0,h=o?.to??u.rows.length,m=u.columns.length,c=u.rows.slice(s,h).map(C=>Pf(C,m)),p=l&&r.totalsRow!==!1&&u.totals&&(!o||o.withTotals)?[u.totals.map(C=>C?.text??"")]:void 0;return t(e,{startY:n,margin:{left:i,right:i},head:a&&u.columns.length>0?[u.columns.map(C=>C.header)]:void 0,body:c,foot:p,theme:l?"grid":"plain",showHead:r.repeatHeaders===!1?"firstPage":"everyPage",showFoot:p?"lastPage":"never",styles:{...r.font?{font:r.font.family}:{},fontSize:8,cellPadding:2,textColor:kt},headStyles:{fillColor:Ao,textColor:kt,fontStyle:"bold"},footStyles:{fillColor:Ao,textColor:kt,fontStyle:"bold"},alternateRowStyles:l?{fillColor:Bf}:void 0,columnStyles:l?Object.fromEntries(u.columns.map((C,E)=>[E,{halign:C.align}])):void 0,didDrawCell:C=>{if(C.section!=="body")return;let E=u.rows[s+C.row.index]?.cells[C.column.index]?.link,{x:D,y:F,width:x,height:k}=C.cell;E&&e.link&&D!==void 0&&F!==void 0&&x!==void 0&&k!==void 0&&e.link(D,F,x,k,{url:E})},didParseCell:C=>{C.section==="body"&&u.rows[s+C.row.index]?.cells[C.column.index]?.link&&(C.cell.styles.textColor=[5,99,193]);let E,D=-1;if(C.section==="head")E="header";else if(C.section==="foot")E="totals";else{D=s+C.row.index;let M=u.rows[D]?.kind;E=M==="group"?"group":M==="data"||M===void 0?"data":"detail"}if(E==="detail"){let M=u.rows[D];C.cell.styles.fontSize=7,C.cell.styles.fillColor=Lf,(M.kind==="detailHeader"||M.kind==="detailTitle")&&(C.cell.styles.fontStyle="bold"),M.kind==="detailTitle"&&(C.cell.styles.fontStyle="bolditalic");let z=M.detailColumns?.[C.column.index-1];C.cell.styles.halign=M.kind==="detail"&&z?z.align:"left"}E==="group"&&(C.cell.styles.fontStyle="bold",C.cell.styles.fillColor=Ao,C.column.index===0&&(C.cell.styles.cellPadding={top:2,right:2,bottom:2,left:2+(u.rows[D]?.level??0)*4}));let F=r.customizeCell;if(!F)return;let x=u.columns[C.column.index],k=D>=0?u.rows[D]?.cells[C.column.index]:void 0;Gf(C.cell,F({kind:E,columnId:x?.id??null,text:Array.isArray(C.cell.text)?C.cell.text.join(" "):String(C.cell.text),value:k?.value,rowIndex:D,columnIndex:C.column.index}))}}),e.lastAutoTable?.finalY??n}function Of(e,t){t?.length&&t.forEach((u,r)=>{try{e.addImage(u.data,u.format,u.x,u.y,u.width,u.height)}catch(n){let a=n instanceof Error?n.message:String(n);throw new Error(`[datagrid] PDF export could not decode images[${r}] (format: ${u.format}). The data is not a valid ${u.format} \u2014 check that it is a complete file, base64-encoded, and that \`format\` matches it. Underlying error: ${a}`)}})}function Vf(e,t){let u=t.pageNumbers;if(!u)return;let r=t.margin??14,n=e.getNumberOfPages(),a=e.internal.pageSize.getWidth(),o=e.internal.pageSize.getHeight();for(let l=1;l<=n;l++){e.setPage(l),e.setFontSize(8),e.setFont(t.font?.family??mi,"normal"),e.setTextColor(148,163,184);let i=typeof u=="function"?u(l,n):`${l} / ${n}`;e.text(i,a-r,o-8,{align:"right"})}e.setTextColor(kt[0],kt[1],kt[2])}var Hf=400,Kf=1e3;async function zf(e,t,u,r,n,a,o){let l=u.rows.length,i=Math.max(1,r.sliceRows||Kf),s=n,h=0;for(;h<l;){if(r.signal?.aborted)throw new et;let m=Math.min(l,h+i);h>0&&e.addPage(),s=fi(e,t,u,r,h===0?n:o,a,{from:h,to:m,withTotals:m>=l}),h=m,r.onProgress?.(h/l),h<l&&await new Promise(c=>setTimeout(c,0))}return s}async function $f(e,t={}){if(t.signal?.aborted)throw new et;let{jsPDF:u,autoTable:r}=await Tf(),n=t.margin??14,a=new u({orientation:t.orientation??"landscape",unit:"mm",format:t.pageSize??"a4"}),o=t.font?If(a,t.font):mi;if(!t.font){let s=Nf(e,t);if(s!==null){let h=s.codePointAt(0).toString(16).toUpperCase().padStart(4,"0");console.warn(`[datagrid] PDF export: "${s}" (U+${h}) cannot be drawn by the built-in PDF font and will come out as the wrong character. Pass \`font\` (a TrueType .ttf covering your language) in the PDF export options \u2014 see PdfExportOptions.font.`)}}Of(a,t.images);let l=n;l=Ko(a,t.headerBlock,l,n,o),l=t.sliceRows!==0&&e.rows.length>Hf?await zf(a,r,e,t,l+2,t.includeHeaders!==!1,n):fi(a,r,e,t,l+2,t.includeHeaders!==!1);for(let s of t.additionalGrids??[]){if(t.signal?.aborted)throw new et;l=Wf(a,r,s,t,l,n)}if(t.onProgress?.(1),t.footerBlock?.length){let s=t.footerBlock.reduce((h,m)=>h+(m.fontSize??10)*.353+(m.spacing??2),4);l+s>a.internal.pageSize.getHeight()-n&&(a.addPage(),l=n),Ko(a,t.footerBlock,l+4,n,o)}Vf(a,t);let i=a.output("arraybuffer");return new Blob([i],{type:kf})}function Wf(e,t,u,r,n,a){let o=n;return u.pageBreak?(e.addPage(),o=a):o+=8,u.title&&(o=Ko(e,[{text:u.title,fontSize:12,fontStyle:"bold"}],o,a,r.font?.family??mi)),fi(e,t,u.model,r,o+2,u.includeHeaders!==!1)}function id(e,t){if(typeof document>"u")throw new Error("[datagrid] downloadBlob requires a browser document.");let u=URL.createObjectURL(e),r=document.createElement("a");r.href=u,r.download=t,r.style.display="none",document.body.appendChild(r),r.click(),r.remove(),setTimeout(()=>URL.revokeObjectURL(u),0)}function pi(e){return{"=":e.opEquals,"<>":e.opNotEquals,">":e.opGreater,">=":e.opGreaterOrEqual,"<":e.opLess,"<=":e.opLessOrEqual,contains:e.opContains,notcontains:e.opNotContains,startswith:e.opStartsWith,endswith:e.opEndsWith,isnull:e.opIsBlank,isnotnull:e.opIsNotBlank,in:e.opIsOneOf,between:e.opIsBetween,period:e.opInPeriod,periods:{today:e.periodToday,yesterday:e.periodYesterday,tomorrow:e.periodTomorrow,thisWeek:e.periodThisWeek,lastWeek:e.periodLastWeek,nextWeek:e.periodNextWeek,thisMonth:e.periodThisMonth,lastMonth:e.periodLastMonth,nextMonth:e.periodNextMonth,thisQuarter:e.periodThisQuarter,lastQuarter:e.periodLastQuarter,nextQuarter:e.periodNextQuarter,thisYear:e.periodThisYear,lastYear:e.periodLastYear,nextYear:e.periodNextYear,yearToDate:e.periodYearToDate,lastDays:e.periodLastDays,nextDays:e.periodNextDays},and:e.filterAnd.toLocaleLowerCase(),or:e.filterOr.toLocaleLowerCase(),blank:e.filterBlank,emptyText:e.filterEmptyText,space:e.filterSpace,spaces:e.filterSpaces,listSeparator:", ",ofN:e.opValuesCount}}var _f=pi(pu("en"));function ld(e,t,u={}){if(!e)return null;let r={..._f,...u.labels},n=u.maxListValues??3,a=s=>{let h=t.getDef(s);return h?.headerName??h?.field??s},o=(s,h)=>{if(h==null)return r.blank;if(typeof h=="string"&&h.trim()===""){if(h==="")return r.emptyText;let c=Array.from(h).length;return c===1?r.space:r.spaces.replace("{n}",String(c))}let m=Ut(t.getDef(s),h);return m!==null?m:h instanceof Date?h.toLocaleDateString():String(h)},l=(s,h)=>{if(Je(s)){let p=s.nodes.map(E=>l(E,h+1)).filter(Boolean);if(p.length===0)return"";let C=p.join(` ${r[s.logic]} `);return h>0&&p.length>1?`(${C})`:C}let m=a(s.columnId);if(s.operator==="period"){let p=s.value,C=p?r.periods[p.period]:void 0;return`${m}: ${C?C.replace("{n}",String(p?.days??"")):r.blank}`}if(!Lr(s.operator)){let p=fu(t.getDef(s.columnId),s.operator),C=p?.label??s.operator;return(p?.operandType??"text")==="none"||s.value===void 0?`${m} ${C}`:`${m} ${C} ${o(s.columnId,s.value)}`}let c=r[s.operator==="notin"?"<>":s.operator];switch(s.operator){case"isnull":case"isnotnull":return`${m} ${c}`;case"in":case"notin":{let p=Array.isArray(s.value)?s.value:[s.value];return p.length>n?`${m} ${c} ${r.ofN.replace("{n}",String(p.length))}`:`${m} ${c} ${p.map(C=>o(s.columnId,C)).join(r.listSeparator)}`}case"between":{let[p,C]=Array.isArray(s.value)?s.value:[void 0,void 0];return`${m} ${c} ${o(s.columnId,p)} \u2013 ${o(s.columnId,C)}`}default:return`${m} ${c} ${o(s.columnId,s.value)}`}},i=l(e,0);return i===""?null:i}function Uf(e,t,u,r,n){let a=e,o=a.findIndex(h=>n(h)===t);if(o<0)return{rows:a,moved:!1,fromIndex:-1,toIndex:-1};let l;if(u===null)l=a.length;else{let h=a.findIndex(m=>n(m)===u);if(h<0)return{rows:a,moved:!1,fromIndex:o,toIndex:-1};if(h===o)return{rows:a,moved:!1,fromIndex:o,toIndex:o};l=r==="before"?h:h+1}if(l>o&&(l-=1),l===o)return{rows:a,moved:!1,fromIndex:o,toIndex:o};let i=a.slice(),[s]=i.splice(o,1);return i.splice(l,0,s),{rows:i,moved:!0,fromIndex:o,toIndex:l}}var qf=["columnStateChanged","sortChanged","filterChanged","groupChanged","chartOpened","chartChanged","chartClosed","treeRowToggled","stateUpdated"],jf={selection:"selectionChanged",focus:"focusChanged",scroll:"bodyScrollEnd",details:"detailToggled",ranges:null},kn=new Map;function Yf(e,t,u){let r=kn.get(e);if(r&&r.load===u)return r.value;let n=t();kn.set(e,{load:u,value:n});let a=()=>{setTimeout(()=>{kn.get(e)?.value===n&&kn.delete(e)},0)};return n&&typeof n.then=="function"?n.then(a,a):a(),n}function Ws(e){try{return globalThis[e]??null}catch{return null}}function sd(e,t){if(!t.enabled)return()=>{};let u=t.storageKey??`kanuni-datagrid-${e.gridId}`,r=t.type??"localStorage",n=t.saveDelay??500,a=!1,o=m=>{if(!(a||!m))try{e.applyViewState(m)}catch{}};if(r==="custom"){let m=null;try{m=Yf(u,()=>t.customLoad?.()??null,t.customLoad)}catch{m=null}m&&typeof m.then=="function"?m.then(o,()=>{}):o(m)}else{let m=Ws(r);if(m){let c=null,p=!0;try{c=m.getItem(u)}catch{p=!1}if(p&&c)try{o(JSON.parse(c))}catch{try{m.removeItem(u)}catch{}}}}let l,i=()=>{let m=e.getViewState({include:t.include});if(r==="custom"){try{Promise.resolve(t.customSave?.(m)).catch(()=>{})}catch{}return}let c=Ws(r);if(c)try{c.setItem(u,JSON.stringify(m))}catch{}},s=()=>{l!==void 0&&clearTimeout(l),l=setTimeout(()=>{l=void 0,i()},n)},h=qf.map(m=>e.events.on(m,s));for(let m of t.include??[]){let c=jf[m];c&&h.push(e.events.on(c,s))}return()=>{a=!0,h.forEach(m=>m()),l!==void 0&&(clearTimeout(l),l=void 0,i())}}var _s=150,tr=40;function Qf(e,t){return e.id?e.id:e.field?e.field:`col_${t}`}function Us(e){return typeof e.flex=="number"&&Number.isFinite(e.flex)&&e.flex>0?e.flex:void 0}function Dr(e,t,u){let r=Math.max(e,t);return u!=null&&(r=Math.min(r,u)),r}var Xf=class{defs=[];defsById=new Map;baseById=new Map;states=new Map;orderIds=[];version=0;collapsedBands=new Set;gridWidth=0;options;formulaErrors=new Map;cellFormulaReader=null;setCellFormulaReader(e){this.cellFormulaReader=e}hasCellFormulas(){return this.defs.some(e=>e.allowFormulas===!0)}getDefinitionOrder(){return this.defs.map(e=>e.id)}getStoredValue(e,t){let u=this.defsById.get(t);return u?.allowFormulas&&u.field&&!u.valueGetter?e[u.field]:this.getCellValue(e,t)}setCellValue(e,t,u){let r=this.defsById.get(t);return r?.valueSetter?r.valueSetter({value:u,row:e,columnId:t})!==!1:(e[r?.field??t]=u,!0)}parseCellValue(e,t,u,r){let n=this.defsById.get(t)?.valueParser;return n?n({value:u,oldValue:r,row:e,columnId:t}):u}getNumberLocale(){return C0(this.options.locale)}getNumberFormat(e){return this.defsById.get(e)?.numberFormat}getEditorDataType(e){let t=this.defsById.get(e);return t?.allowFormulas||t?.valueParser?"string":this.getDataType(e)}constructor(e,t={}){this.options=t,this.setColumns(e)}getVersion(){return this.version}setColumns(e){let t=this.baseById,u=this.states,r=new Set;this.defs=e.map((n,a)=>{let o={...this.options.defaultColumnDef,...n},l=Qf(o,a);if(r.has(l)){let i=`[datagrid] duplicate column id "${l}" \u2014 set an explicit \`id\` on one of the columns.`;this.options.debugMode?console.error(i):console.warn(i)}return r.add(l),o.id=l,o.numberFormat&&(o.numberFormat=H4(o.numberFormat,this.options.locale)),o}),this.states=new Map,this.defsById=new Map,this.baseById=new Map,this.orderIds=[],this.defs.forEach((n,a)=>{let o=n.id;this.defsById.has(o)||(this.defsById.set(o,n),this.baseById.set(o,n));let l=n.minWidth??tr,i=t.get(o),s=u.get(o),h=p=>s!==void 0&&i!==void 0&&i[p]===n[p],m={id:o,width:h("width")?Dr(s.width,l,n.maxWidth):Dr(n.width??_s,l,n.maxWidth),pinned:h("pin")?s.pinned:n.pin??null,visible:h("visible")?s.visible:n.visible!==!1,order:s!==void 0?s.order:a},c=h("flex")?s.flex:Us(n);c!==void 0&&(m.flex=c),h("headerName")&&s.headerName!==void 0&&(m.headerName=s.headerName),this.states.set(o,m),this.orderIds.push(o)}),this.orderIds.sort((n,a)=>(this.states.get(n)?.order??0)-(this.states.get(a)?.order??0));for(let[n,a]of this.states)this.syncHeaderName(n,a);this.compileFormulas(),this.version++}resolveColumnName(e){if(this.defsById.has(e))return e;let t=e.toLowerCase();for(let u of this.defs)if(u.id.toLowerCase()===t)return u.id;for(let u of this.defs)if(u.headerName?.toLowerCase()===t)return u.id;return null}getFormulaError(e){return this.formulaErrors.get(e)??null}compileFormulas(){this.formulaErrors=new Map;let e=new Map;for(let o of this.defs){if(typeof o.formula!="string"||o.valueGetter)continue;let l=o.id,i=Po(o.formula,{resolveColumn:s=>this.resolveColumnName(s),locale:this.options.locale});if(o.editable=!1,!i.ok){this.formulaErrors.set(l,i.error),this.options.debugMode&&console.warn(`[datagrid] column "${l}": ${i.error.message} (at ${i.error.position})`);let s=ae.of("#NAME?");o.valueGetter=()=>s,o.dataType??="string";continue}e.set(l,i.formula)}let t=new Set,u=new Map,r=(o,l)=>{if(u.get(o)!=="done"){if(u.get(o)==="open"){for(let i of l.slice(l.indexOf(o)))t.add(i);return}u.set(o,"open");for(let i of e.get(o)?.columns??[])e.has(i)&&r(i,[...l,i]);u.set(o,"done")}};for(let o of e.keys())r(o,[o]);let n=new Set,a=o=>{let l=this.defsById.get(o);if(!l)return;if(l.dataType)return l.dataType;let i=e.get(o);if(!i||n.has(o))return;n.add(o);let s=Nr(i.tree,h=>{let m=this.resolveColumnName(h);return m===null?void 0:a(m)});return n.delete(o),l.dataType=s,s};for(let[o,l]of e){let i=this.defsById.get(o);if(a(o),t.has(o)){let s=ae.of("#CYCLE!");i.valueGetter=()=>s;continue}i.valueGetter=s=>l.evaluate({column:h=>this.getCellValue(s,h)})}}resetColumnStates(){this.orderIds=this.defs.map(e=>e.id),this.defs.forEach((e,t)=>{let u=this.states.get(e.id);if(!u)return;let r=e.minWidth??tr;u.width=Dr(e.width??_s,r,e.maxWidth);let n=Us(e);n!==void 0?u.flex=n:delete u.flex,u.pinned=e.pin??null,u.visible=e.visible!==!1,u.order=t,delete u.headerName,this.syncHeaderName(e.id,u)}),this.version++}setHeaderName(e,t){let u=this.states.get(e),r=this.baseById.get(e);if(!u||!r)return!1;let n=this.getDef(e)?.headerName,a=typeof t=="string"?t.trim():"";return a===""||a===r.headerName?delete u.headerName:u.headerName=a,this.syncHeaderName(e,u),this.getDef(e)?.headerName===n?!1:(this.version++,!0)}getAuthoredHeaderName(e){return this.baseById.get(e)?.headerName}syncHeaderName(e,t){let u=this.baseById.get(e);u&&this.defsById.set(e,t.headerName===void 0?u:{...u,headerName:t.headerName})}getDef(e){return this.defsById.get(e)}getState(e){return this.states.get(e)}getOrder(){return[...this.orderIds]}getColumnStates(){return this.orderIds.map(e=>({...this.states.get(e)}))}runtime(e={}){let t={left:[],center:[],right:[]};for(let u of this.orderIds){let r=this.states.get(u),n=this.getDef(u);if(!r||!n||!r.visible||c4(n,this.collapsedBands)||!e.includeScreenHidden&&this.hiddenByWidth(n))continue;let a=r.pinned??"center";t[a==="left"?"left":a==="right"?"right":"center"].push({def:n,state:r})}return[...t.left,...t.center,...t.right]}hiddenByWidth(e){return typeof e.hideBelow=="number"&&this.gridWidth>0&&this.gridWidth<e.hideBelow}setGridWidth(e){let t=(r,n)=>typeof n.hideBelow=="number"&&r>0&&r<n.hideBelow,u=this.defs.some(r=>t(this.gridWidth,r)!==t(e,r));return this.gridWidth=e,u&&this.version++,u}isShown(e){let t=this.getDef(e);return this.states.get(e)?.visible!==!1&&!(t&&this.hiddenByWidth(t))}isBandCollapsed(e){return this.collapsedBands.has(er(e))}setBandCollapsed(e,t){if(e.length===0)return!1;let u=er(e);return this.collapsedBands.has(u)===t?!1:(t?this.collapsedBands.add(u):this.collapsedBands.delete(u),this.version++,!0)}getCollapsedBands(){return[...this.collapsedBands]}setCollapsedBands(e){this.collapsedBands=new Set(e),this.version++}isBandCollapsible(e){if(e.length===0)return!1;let t=er(e),u=!1,r=!1;for(let n of this.orderIds){let a=this.getDef(n),o=this.states.get(n);if(!a||!o?.visible)continue;let l=_t(a);l.length<e.length||er(l.slice(0,e.length))===t&&(a.bandShow==="open"?u=!0:r=!0)}return u&&r}setWidth(e,t){let u=this.states.get(e),r=this.getDef(e);!u||!r||(u.width=Dr(t,r.minWidth??tr,r.maxWidth),this.version++)}setFlex(e,t){let u=this.states.get(e);if(!u||u.flex===void 0)return;let r=Number.isFinite(t)&&t>0?t:0;u.flex!==r&&(u.flex=r,this.version++)}isFlexing(e){return(this.states.get(e)?.flex??0)>0}setPinned(e,t){let u=this.states.get(e);u&&(u.pinned=t,this.version++)}setVisible(e,t){let u=this.states.get(e);u&&(u.visible=t,this.version++)}moveColumn(e,t){let u=this.orderIds.indexOf(e);if(u===-1)return;this.orderIds.splice(u,1);let r=t?this.orderIds.indexOf(t):this.orderIds.length;this.orderIds.splice(r===-1?this.orderIds.length:r,0,e),this.orderIds.forEach((n,a)=>{let o=this.states.get(n);o&&(o.order=a)}),this.version++}applyColumnStates(e){let t=e.filter(n=>this.states.has(n.id)).slice().sort((n,a)=>n.order-a.order);for(let n of t){let a=this.getDef(n.id),o=this.states.get(n.id);!a||!o||(o.width=Dr(n.width,a.minWidth??tr,a.maxWidth),o.flex!==void 0&&typeof n.flex=="number"&&(o.flex=Number.isFinite(n.flex)&&n.flex>0?n.flex:0),o.pinned=n.pinned,o.visible=n.visible,typeof n.headerName=="string"&&n.headerName.trim()!==""?o.headerName=n.headerName.trim():delete o.headerName,this.syncHeaderName(n.id,o))}let u=t.map(n=>n.id),r=this.orderIds.filter(n=>!u.includes(n));this.orderIds=[...u,...r],this.orderIds.forEach((n,a)=>{let o=this.states.get(n);o&&(o.order=a)}),this.version++}getCellValue(e,t){let u=this.getDef(t);if(u){if(u.valueGetter)return u.valueGetter(e);if(u.field){let r=e[u.field];return u.allowFormulas&&this.cellFormulaReader&&typeof r=="string"&&r.trimStart().startsWith("=")?this.cellFormulaReader(e,t,r):r}}}getSortValue(e,t){let u=this.defsById.get(t);if(u){if(u.calculateSortValue)return u.calculateSortValue(e);if(u.valueGetter){let r=u.valueGetter(e);return r instanceof ae?null:r}if(u.field){let r=e[u.field];if(u.allowFormulas&&this.cellFormulaReader&&typeof r=="string"&&r.trimStart().startsWith("=")){let n=this.cellFormulaReader(e,t,r);return n instanceof ae?null:n}return r}}}getDataType(e){return this.getDef(e)?.dataType??"string"}};function Zf(e,t,u){let r=e.length,n=new Uint32Array(r),a=new Uint32Array(r),o=0,l=0;for(let D=0;D<r;D++){let F=e[D];Number.isNaN(t[F])?a[l++]=F:n[o++]=F}let i=new Uint32Array(o),s=new Uint32Array(o),h=new Float64Array(1),m=new Uint32Array(h.buffer);for(let D=0;D<o;D++){let F=t[n[D]];h[0]=F===0?0:F;let x=m[0],k=m[1];k&2147483648?(x=~x>>>0,k=~k>>>0):k=(k^2147483648)>>>0,u&&(x=~x>>>0,k=~k>>>0),i[D]=x,s[D]=k}let c=new Uint32Array(o);for(let D=0;D<o;D++)c[D]=D;let p=new Uint32Array(o),C=new Uint32Array(256);for(let D=0;D<8;D++){let F=D>=4,x=(D&3)*8,k=F?s:i;C.fill(0);for(let O=0;O<o;O++)C[k[c[O]]>>>x&255]++;if(C[k[c[0]]>>>x&255]===o)continue;let M=0;for(let O=0;O<256;O++){let G=C[O];C[O]=M,M+=G}for(let O=0;O<o;O++){let G=c[O];p[C[k[G]>>>x&255]++]=G}let z=c;c=p,p=z}let E=new Uint32Array(r);for(let D=0;D<o;D++)E[D]=n[c[D]];for(let D=0;D<l;D++)E[o+D]=a[D];return E}var qs=new Map;function Jf(e){let t=qs.get(e);return t||(t=new Intl.Collator(e,{numeric:!0,sensitivity:"base"}),qs.set(e,t)),t}function xo(e){return e==null||typeof e=="number"&&Number.isNaN(e)}function ep(e){if(typeof e=="number")return e;if(typeof e=="boolean")return e?1:0;if(e instanceof Date)return e.getTime();let t=Number(e);return Number.isNaN(t)?Number.NEGATIVE_INFINITY:t}function tp(e){if(e instanceof Date)return e.getTime();if(typeof e=="number")return e;let t=Date.parse(String(e));return Number.isNaN(t)?Number.NEGATIVE_INFINITY:t}function dd(e,t,u=[]){let r=[];for(let{columnId:n}of t){if(u.includes(n))continue;let a=e.getDef(n);a?.absoluteSort&&!a.comparator&&e.getDataType(n)==="number"&&r.push(n)}return r}function up(e,t){for(let u of t)if(e.getDef(u.columnId)?.comparator)return!0;return!1}function rp(e,t,u,r,n){let a=e.length,o=r.columnId,l=r.direction==="desc"?-1:1,i=u.getDataType(o),s=u.getDef(o)?.comparator;if(s){let c=new Array(a),p=new Array(a);for(let C=0;C<a;C++){let E=t[e[C]];c[C]=u.getSortValue(E,o),p[C]=E}return{dir:l,numeric:null,strings:null,values:c,valueRows:p,comparator:s}}if(i==="string"||i==="lookup"){let c=new Array(a);for(let p=0;p<a;p++){let C=u.getSortValue(t[e[p]],o);c[p]=xo(C)?null:String(C)}return{dir:l,numeric:null,strings:c,values:null,valueRows:null,comparator:null}}if(i==="bigint"){let c=new Array(a);for(let p=0;p<a;p++){let C=u.getSortValue(t[e[p]],o);c[p]=xo(C)?null:String(C)}return{dir:l,numeric:ap(c),strings:null,values:null,valueRows:null,comparator:null}}let h=new Float64Array(a),m=i==="date"?tp:ep;for(let c=0;c<a;c++){let p=u.getSortValue(t[e[c]],o);h[c]=xo(p)?Number.NaN:m(p)}if(n&&i==="number")for(let c=0;c<a;c++)h[c]=Math.abs(h[c]);return{dir:l,numeric:h,strings:null,values:null,valueRows:null,comparator:null}}function np(e,t){return cd(e,u=>U4(u,t))}function ap(e){return cd(e,X4)}function cd(e,t){let u=e.length,r=[],n=new Map,a=new Int32Array(u);for(let i=0;i<u;i++){let s=e[i];if(s===null){a[i]=-1;continue}let h=n.get(s);h===void 0&&(h=r.length,r.push(s),n.set(s,h)),a[i]=h}let o=t(r),l=new Float64Array(u);for(let i=0;i<u;i++)l[i]=a[i]===-1?Number.NaN:o[a[i]];return l}function hd(e,t,u,r,n={}){if(r.length===0)return e.slice();let a=Jf(n.locale??"en"),o=n.absoluteSort??dd(u,r),l=r.map(c=>rp(e,t,u,c,o.includes(c.columnId))),i=l.length,s=new Array(e.length),h=!0;for(let c=0;c<e.length;c++)s[c]=c,c>0&&e[c]<e[c-1]&&(h=!1);if(!l.some(c=>c.comparator!==null)&&h&&e.length>=5e4){let c=l.map(E=>E.numeric?E.numeric:np(E.strings,a)),p=Uint32Array.from(s);for(let E=i-1;E>=0;E--)p=Zf(p,c[E],l[E].dir===-1);let C=new Uint32Array(e.length);for(let E=0;E<p.length;E++)C[E]=e[p[E]];return C}s.sort((c,p)=>{for(let C=0;C<i;C++){let E=l[C];if(E.comparator){let D=E.values,F=E.valueRows,x=E.comparator(D[c],D[p],F[c],F[p],E.dir===-1);if(x!==0)return x*E.dir}else if(E.numeric){let D=E.numeric[c],F=E.numeric[p],x=Number.isNaN(D),k=Number.isNaN(F);if(x||k){if(x&&k)continue;return x?1:-1}if(D!==F)return(D<F?-1:1)*E.dir}else{let D=E.strings[c],F=E.strings[p];if(D===null||F===null){if(D===null&&F===null)continue;return D===null?1:-1}let x=a.compare(D,F);if(x!==0)return x*E.dir}}return e[c]-e[p]});let m=new Uint32Array(e.length);for(let c=0;c<s.length;c++)m[c]=e[s[c]];return m}var op=class{mode="client";rows;keyGetter;locale;nodeCache;constructor(e,t){this.rows=e,this.keyGetter=t.keyGetter,this.locale=t.locale??"en",this.nodeCache=t.nodeCache??new $0}getTotalCount(){return this.rows.length}setData(e){this.rows=e,this.nodeCache.invalidate()}patchData(e,t,u){this.rows=e,this.nodeCache.rebase(e,t)}getSourceRows(){return this.rows}compute(e,t){let u=this.rows.length,r=new Uint32Array(u);for(let o=0;o<u;o++)r[o]=o;let n=D0(r,this.rows,e,t.filter,t.searchText,t.externalFilter),a=hd(n,this.rows,e,t.sort,{locale:this.locale,absoluteSort:t.absoluteSort});return{nodes:this.nodeCache.project(a,this.rows,this.keyGetter),visibleCount:a.length,totalCount:u}}async getRows(e,t){return this.compute(e,t)}},md='var We=/[\\u0130\\u0131]/,ze=/[\\u0130\\u0131]/g;function G(e){return We.test(e)?e.replace(ze,"i").toLowerCase():e.toLowerCase()}var R=-1;var de=new WeakMap;function Ke(e){let t=de.get(e);if(t!==void 0)return t;let r=He(e);return de.set(e,r),r}function He(e){let t=e.resolvedOptions();if(t.sensitivity!=="base"||t.numeric!==true||t.ignorePunctuation||t.usage!=="sort"||t.collation!=="default")return false;let r=[];for(let n=32;n<=126;n++)r.push(String.fromCharCode(n));r.sort(e.compare);for(let n=1;n<r.length;n++)if(e.compare(r[n-1],r[n])===0&&r[n-1].toLowerCase()!==r[n].toLowerCase())return false;for(let n of r)if(e.compare(n,"")===0)return false;return !(e.compare("01","1")!==0||e.compare("0","00")!==0||e.compare("a09z","a9z")!==0||e.compare("9","10")>=0)}function me(e){for(let t=0;t<e.length;t++){let r=e.charCodeAt(t);if(r<32||r>126)return false}return true}function Ye(e,t){let r=0,n=0,o=e.length,f=t.length;for(;r<o&&n<f;){let a=e.charCodeAt(r),i=t.charCodeAt(n),h=a>=48&&a<=57,u=i>=48&&i<=57;if(h!==u)return true;if(h){for(;r<o&&e.charCodeAt(r)===48;)r++;for(;n<f&&t.charCodeAt(n)===48;)n++;let d=r,l=n;for(;r<o;){let C=e.charCodeAt(r);if(C<48||C>57)break;r++;}for(;n<f;){let C=t.charCodeAt(n);if(C<48||C>57)break;n++;}let N=r-d;if(N!==n-l)return true;for(let C=0;C<N;C++)if(e.charCodeAt(d+C)!==t.charCodeAt(l+C))return true}else {if(a>=65&&a<=90&&(a+=32),i>=65&&i<=90&&(i+=32),a!==i)return true;r++,n++;}}return r!==o||n!==f}function ge(e,t){let r=e.length,n=new Array(r);for(let d=0;d<r;d++)n[d]=d;n.sort((d,l)=>t.compare(e[d],e[l]));let o=new Int32Array(r);if(r===0)return o;let a=Ke(t)?new Uint8Array(r):null,i=n[0],h=a?me(e[i])?1:2:0;a&&(a[i]=h);let u=0;o[i]=0;for(let d=1;d<r;d++){let l=n[d],N=e[i],C=e[l],x=0;a&&(x=a[l],x===0&&(x=me(C)?1:2,a[l]=x)),(h===1&&x===1&&Ye(N,C)||t.compare(N,C)!==0)&&u++,o[l]=u,i=l,h=x;}return o}var Z=BigInt(Number.MAX_SAFE_INTEGER),be=-Z,he=/^[+-]?\\d+$/;function X(e){if(typeof e=="bigint")return e>Z||e<be?e:null;if(typeof e!="string"||e.length<16)return null;let t=e.trim();if(!he.test(t))return null;let r=BigInt(t);return r>Z||r<be?r:null}function pe(e,t){return typeof e=="number"&&typeof t=="number"?e-t:typeof e=="number"&&Number.isNaN(e)||typeof t=="number"&&Number.isNaN(t)?Number.NaN:e<t?-1:e>t?1:0}function $e(e){if(typeof e=="bigint")return e;if(typeof e=="number")return Number.isSafeInteger(e)?BigInt(e):null;if(typeof e!="string")return null;let t=e.trim();return he.test(t)?BigInt(t):null}function ye(e){let t=e.map(f=>$e(f)),r=e.map((f,a)=>a);r.sort((f,a)=>{let i=t[f],h=t[a];return i!==null&&h!==null?i<h?-1:i>h?1:0:i!==null?-1:h!==null?1:e[f]<e[a]?-1:e[f]>e[a]?1:0});let n=new Int32Array(e.length),o=0;return r.forEach((f,a)=>{if(a>0){let i=r[a-1];(t[f]!==null?t[f]===t[i]:t[i]===null&&e[f]===e[i])||(o=a);}n[f]=o;}),n}function Ce(e,t,r){let n=e.length,o=new Uint32Array(n),f=new Uint32Array(n),a=0,i=0;for(let g=0;g<n;g++){let p=e[g];Number.isNaN(t[p])?f[i++]=p:o[a++]=p;}let h=new Uint32Array(a),u=new Uint32Array(a),d=new Float64Array(1),l=new Uint32Array(d.buffer);for(let g=0;g<a;g++){let p=t[o[g]];d[0]=p===0?0:p;let y=l[0],b=l[1];b&2147483648?(y=~y>>>0,b=~b>>>0):b=(b^2147483648)>>>0,r&&(y=~y>>>0,b=~b>>>0),h[g]=y,u[g]=b;}let N=new Uint32Array(a);for(let g=0;g<a;g++)N[g]=g;let C=new Uint32Array(a),x=new Uint32Array(256);for(let g=0;g<8;g++){let p=g>=4,y=(g&3)*8,b=p?u:h;x.fill(0);for(let S=0;S<a;S++)x[b[N[S]]>>>y&255]++;if(x[b[N[0]]>>>y&255]===a)continue;let I=0;for(let S=0;S<256;S++){let F=x[S];x[S]=I,I+=F;}for(let S=0;S<a;S++){let F=N[S];C[x[b[F]>>>y&255]++]=F;}let A=N;N=C,C=A;}let k=new Uint32Array(n);for(let g=0;g<a;g++)k[g]=o[N[g]];for(let g=0;g<i;g++)k[a+g]=f[g];return k}var Xe=["=","<>",">",">=","<","<=","contains","notcontains","startswith","endswith","isnull","isnotnull","in","notin","between","period"];new Set(Xe);function Ne(e){return e.nodes!==void 0}var ke=new Map;function Qe(e){let t=ke.get(e);return t||(t=new Intl.Collator(e,{numeric:true,sensitivity:"base"}),ke.set(e,t)),t}var Ie=new WeakMap;function Je(e,t,r){let n=Ie.get(e);n||(n=new Map,Ie.set(e,n));let o=n.get(r);return (!o||o.length!==t.length)&&(o=e.kind==="text"&&e.integer?ye(t):ge(t,Qe(r)),n.set(r,o)),o}var we=new WeakMap;function Se(e,t){let r=we.get(e);if(!r)r=t.map(G),we.set(e,r);else for(let n=r.length;n<t.length;n++)r.push(G(t[n]));return r}function D(e){if(e instanceof Date)return e.getTime();if(typeof e=="number")return e;if(typeof e=="boolean")return e?1:0;if(e==null)return Number.NaN;let t=Number(e);if(!Number.isNaN(t))return t;let r=Date.parse(String(e));return Number.isNaN(r)?Number.NaN:r}function Ze(e,t){let r=e.dictionary,n=new Uint8Array(r.length),o=false,f=t.operator;if(f==="isnull")return {mask:n,nilPasses:true};if(f==="isnotnull")return n.fill(1),{mask:n,nilPasses:false};let a=Se(e,r),i=t.value==null?"":G(String(t.value)),h=!e.integer;switch(f){case "=":case "<>":{let u=t.value===null||t.value===void 0,d=u?"":String(t.value).toLowerCase();for(let l=0;l<r.length;l++){let N=u?false:h?String(r[l]).toLowerCase()===d:et(r[l],t.value);n[l]=(f==="="?N:!N)?1:0;}o=f==="="?u:!u;break}case "contains":for(let u=0;u<r.length;u++)n[u]=a[u].includes(i)?1:0;break;case "notcontains":for(let u=0;u<r.length;u++)n[u]=a[u].includes(i)?0:1;o=true,i===""&&(o=false);break;case "startswith":for(let u=0;u<r.length;u++)n[u]=a[u].startsWith(i)?1:0;break;case "endswith":for(let u=0;u<r.length;u++)n[u]=a[u].endsWith(i)?1:0;break;case "in":{if(h){let d=Ae(t.value);for(let l=0;l<r.length;l++)n[l]=d.has(String(r[l]).toLowerCase())?1:0;break}let u=xe(t.value);for(let d=0;d<r.length;d++)n[d]=u.has(H(r[d]))?1:0;break}case "notin":{if(h){let d=Ae(t.value);for(let l=0;l<r.length;l++)n[l]=d.has(String(r[l]).toLowerCase())?0:1;o=true;break}let u=xe(t.value);for(let d=0;d<r.length;d++)n[d]=u.has(H(r[d]))?0:1;o=true;break}case ">":case ">=":case "<":case "<=":{for(let u=0;u<r.length;u++){let d=ee(r[u],t.value);n[u]=f===">"&&d>0||f===">="&&d>=0||f==="<"&&d<0||f==="<="&&d<=0?1:0;}break}case "between":{if(!Array.isArray(t.value)||t.value.length<2)break;let[u,d]=t.value;for(let l=0;l<r.length;l++)n[l]=ee(r[l],u)>=0&&ee(r[l],d)<=0?1:0;break}default:n.fill(1),o=true;}return {mask:n,nilPasses:o}}function H(e){let t=X(e);if(t!==null)return t;if(e instanceof Date)return e.getTime();if(typeof e=="number")return e;if(typeof e=="boolean")return e?1:0;let r=Number(e);return Number.isNaN(r)?String(e).toLowerCase():r}function Ae(e){let t=new Set;for(let r of Array.isArray(e)?e:[])r!=null&&t.add(String(r).toLowerCase());return t}function et(e,t){return H(e)===H(t)}function xe(e){let t=new Set,r=Array.isArray(e)?e:[];for(let n of r){if(n==null)continue;let o=H(n);typeof o=="number"&&Number.isNaN(o)||t.add(o);}return t}function tt(e){let t=new Set,r=Array.isArray(e)?e:[];for(let n of r){let o=D(n);Number.isNaN(o)||t.add(o);}return t}var te=new WeakMap;function Te(e){let t=te.get(e);return t||(t=tt(e.value),te.set(e,t)),t}function ee(e,t){let r=X(e),n=X(t);if(r!==null||n!==null){let h=r??D(e),u=n??D(t),d=pe(h,u);if(!Number.isNaN(d))return d}let o=D(e),f=D(t);if(!Number.isNaN(o)&&!Number.isNaN(f))return o-f;let a=String(e).toLowerCase(),i=String(t).toLowerCase();return a<i?-1:a>i?1:0}function rt(e,t){if(t.operator==="in")return !Number.isNaN(e)&&Te(t).has(e);if(t.operator==="notin")return Number.isNaN(e)||!Te(t).has(e);let r=Number.isNaN(e);switch(t.operator){case "isnull":return r;case "isnotnull":return !r;case "=":return !r&&e===D(t.value);case "<>":return r||e!==D(t.value);case ">":return !r&&e>D(t.value);case ">=":return !r&&e>=D(t.value);case "<":return !r&&e<D(t.value);case "<=":return !r&&e<=D(t.value);case "between":return r||!Array.isArray(t.value)||t.value.length<2?false:e>=D(t.value[0])&&e<=D(t.value[1]);case "contains":case "notcontains":case "startswith":case "endswith":{let n=r?"":String(e),o=t.value==null?"":G(String(t.value)),f=n.toLowerCase();return t.operator==="contains"?f.includes(o):t.operator==="notcontains"?!f.includes(o):t.operator==="startswith"?f.startsWith(o):f.endsWith(o)}default:return true}}function re(e,t,r){if(Ne(e))return e.nodes.length===0?true:e.logic==="or"?e.nodes.some(i=>re(i,t,r)):e.nodes.every(i=>re(i,t,r));let n=t.columns[e.columnId];if(!n)return true;if(n.kind==="numeric")return rt(n.values[r],e);let o=ne.get(e),f=o??Ze(n,e);o||ne.set(e,f);let a=n.codes[r];return a===R?f.nilPasses:f.mask[a]===1}var ne=new WeakMap,nt=65535;function oe(e,t){ne=new WeakMap,te=new WeakMap;let{rowCount:r}=e,n=t.locale??"en",o=G(t.searchText.trim()),f=!!t.filter,a=o.length>0,i=[];if(a){let k=/^[0-9.+\\-einftya]*$/.test(o),g=(y,b,I)=>{let A=Se(b,y),S=new Uint8Array(y.length),F=false;for(let v=0;v<A.length;v++)(A[v].includes(o)||I!==void 0&&I.has(y[v]))&&(S[v]=1,F=true);return F?S:null},p=new Map;if(t.searchLabelHits)for(let[y,b]of Object.entries(t.searchLabelHits))p.set(y,new Set(b));for(let y of t.searchColumns){let b=e.columns[y];if(!b)continue;let I=p.get(y);if(b.kind==="text"){let A=g(b.dictionary,b,I);A&&i.push({codes:b.codes,mask:A,values:null,numberHits:null,scanText:true});}else if(b.searchDictionary&&b.searchCodes){let A=g(b.searchDictionary,b,I);A&&i.push({codes:b.searchCodes,mask:A,values:null,numberHits:null,scanText:true});}else {let A=null;if(I)for(let S of I){let F=Number(S);Number.isNaN(F)||(A??=new Set).add(F);}(k||A)&&i.push({codes:null,mask:null,values:b.values,numberHits:A,scanText:k});}}}let h=t.onProgress,u=t.isCancelled,d={order:new Uint32Array(0),cancelled:true},l;if(!f&&!a){l=new Uint32Array(r);for(let k=0;k<r;k++)l[k]=k;}else {let k=new Uint32Array(r),g=0;for(let p=0;p<r;p++){if((p&nt)===0){if(u?.())return d;h?.("filtering",r===0?1:p/r);}if(!(f&&!re(t.filter,e,p))){if(a){let y=false;for(let b of i)if(b.codes&&b.mask){let I=b.codes[p];if(I!==R&&b.mask[I]===1){y=true;break}}else if(b.values){let I=b.values[p];if(!Number.isNaN(I)){if(b.numberHits!==null&&b.numberHits.has(I)){y=true;break}if(b.scanText&&String(I).toLowerCase().includes(o)){y=true;break}}}if(!y)continue}k[g++]=p;}}l=k.subarray(0,g),h?.("filtering",1);}if(t.sort.length===0)return {order:l.slice()};if(u?.())return d;let N=[],C=t.absoluteSort??[];for(let k of t.sort){let g=e.columns[k.columnId];if(!g)continue;let p=k.direction==="desc"?-1:1;if(g.kind==="numeric"){let y=g.values;if(C.includes(k.columnId)){y=new Float64Array(g.values.length);for(let b=0;b<y.length;b++)y[b]=Math.abs(g.values[b]);}N.push({dir:p,numeric:y,codes:null,ranks:null});}else N.push({dir:p,numeric:null,codes:g.codes,ranks:Je(g,g.dictionary,n)});}if(N.length===0)return {order:l.slice()};if(l.length>=5e4){let k=[];for(let p of N){if(p.numeric){k.push(p.numeric);continue}let y=p.codes,b=p.ranks,I=new Float64Array(r);for(let A=0;A<r;A++){let S=y[A];I[A]=S===R?Number.NaN:b[S];}k.push(I);}let g=l;for(let p=N.length-1;p>=0;p--){if(u?.())return d;h?.("sorting",(N.length-1-p)/N.length),g=Ce(g,k[p],N[p].dir===-1);}return h?.("sorting",1),{order:g===l?l.slice():g}}h?.("sorting",null);let x=Array.from(l);return x.sort((k,g)=>{for(let p of N)if(p.numeric){let y=p.numeric[k],b=p.numeric[g],I=Number.isNaN(y),A=Number.isNaN(b);if(I||A){if(I&&A)continue;return I?1:-1}if(y!==b)return (y<b?-1:1)*p.dir}else {let y=p.codes[k],b=p.codes[g];if(y===R||b===R){if(y===R&&b===R)continue;return y===R?1:-1}let I=p.ranks[y],A=p.ranks[b];if(I!==A)return (I<A?-1:1)*p.dir}return k-g}),{order:Uint32Array.from(x)}}var ot=30,Ee="Other",at=1e4;var L=864e5,st=60,it=20,j=2e3,ae=["day","week","month","quarter","year"],Fe={day:L,week:7*L,month:30.44*L,quarter:91.31*L,year:365.25*L};function De(e,t){let r=new Date(e),n=r.getUTCFullYear(),o=r.getUTCMonth();switch(t){case "day":return Date.UTC(n,o,r.getUTCDate());case "week":{let f=Date.UTC(n,o,r.getUTCDate()),a=(new Date(f).getUTCDay()+6)%7;return f-a*L}case "month":return Date.UTC(n,o,1);case "quarter":return Date.UTC(n,Math.floor(o/3)*3,1);default:return Date.UTC(n,0,1)}}function Me(e,t){let r=new Date(e),n=r.getUTCFullYear(),o=r.getUTCMonth();switch(t){case "day":return e+L;case "week":return e+7*L;case "month":return Date.UTC(n,o+1,1);case "quarter":return Date.UTC(n,o+3,1);default:return Date.UTC(n+1,0,1)}}var se=e=>e<10?`0${e}`:String(e);function ut(e,t){let r=new Date(e),n=r.getUTCFullYear();switch(t){case "year":return String(n);case "quarter":return `${n}-Q${Math.floor(r.getUTCMonth()/3)+1}`;case "month":return `${n}-${se(r.getUTCMonth()+1)}`;default:return `${n}-${se(r.getUTCMonth()+1)}-${se(r.getUTCDate())}`}}function lt(e){if(!(e>0)||!Number.isFinite(e))return 1;let r=10**Math.floor(Math.log10(e)),n=e/r;return (n<=1?1:n<=2?2:n<=5?5:10)*r}function ct(e,t,r){let n=Number.isFinite(t)&&Number.isFinite(r)?Math.max(0,r-t):0;if(e.kind==="date"){let h=e.unit??"auto",u,d=false;if(h==="auto")u=ae.find(l=>n/Fe[l]+1<=st)??"year";else for(u=h;n/Fe[u]+1>j;){let l=ae[ae.indexOf(u)+1];if(!l)break;u=l,d=true;}return {info:{kind:"date",unit:u,adjusted:d},keyOf:l=>Number.isFinite(l)?De(l,u):Number.NaN,endOf:l=>Me(l,u),labelOf:l=>ut(l,u),keys:(l,N)=>{let C=[];if(!Number.isFinite(l)||!Number.isFinite(N))return C;for(let x=De(l,u);x<=N&&C.length<j;x=Me(x,u))C.push(x);return C}}}let o=e.size&&e.size>0?e.size:lt(n/Math.max(1,e.bins??it));(!(o>0)||!Number.isFinite(o))&&(o=1);let f=false;for(;n/o+1>j;)o*=2,f=true;let a=o;return {info:{kind:"number",size:a,adjusted:f},keyOf:h=>Number.isFinite(h)?Math.floor(h/a)*a:Number.NaN,endOf:h=>h+a,labelOf:h=>{let u=d=>String(Number(d.toPrecision(12)));return `${u(h)} \\u2013 ${u(h+a)}`},keys:(h,u)=>{let d=[];if(!Number.isFinite(h)||!Number.isFinite(u))return d;let l=Math.floor(h/a)*a;for(let N=l;N<=u&&d.length<j;N+=a)d.push(N);return d}}}function ft(e,t){if(e==null)return Number.NaN;if(e instanceof Date)return e.getTime();if(typeof e=="number")return e;if(t==="number")return Number(e);let r=Number(e);return Number.isNaN(r)?Date.parse(String(e)):r}function dt(e,t){if(!e)return {};let r=new Float64Array(t.length),n=new Float64Array(t.length);for(let o=0;o<t.length;o++){let f=t[o].start;r[o]=f,n[o]=Number.isNaN(f)?Number.NaN:e.endOf(f);}return {bucket:e.info,bucketStarts:r,bucketEnds:n}}var Y=-1;function Re(e,t,r,n){let o=Math.max(1,r.maxCategories??ot),f=r.otherBucket!==false,a=r.series.length,i=e[r.categoryColumnId],h=r.series.map(s=>e[s.columnId]),u=r.series.map(s=>s.aggregate==="countDistinct"),d=new Map,l=null,N=0,C=false,x=(s,c=Number.NaN)=>({label:s,sum:new Float64Array(a),numericCount:new Float64Array(a),count:new Float64Array(a),min:new Float64Array(a).fill(Number.POSITIVE_INFINITY),max:new Float64Array(a).fill(Number.NEGATIVE_INFINITY),first:new Float64Array(a).fill(Number.NaN),firstAt:new Float64Array(a).fill(Number.POSITIVE_INFINITY),last:new Float64Array(a).fill(Number.NaN),lastAt:new Float64Array(a).fill(Number.NEGATIVE_INFINITY),distinct:u.map(m=>m?new Set:null),seq:N++,start:c}),k=(s,c)=>{if(!i)return Number.NaN;if(i.kind==="numeric")return i.values[s];let m=i.codes[s];return m===Y?Number.NaN:ft(i.dictionary[m],c)},g=r.categoryBucket,p=null,y=Number.POSITIVE_INFINITY,b=Number.NEGATIVE_INFINITY;if(g){for(let s=0;s<t.length;s++){let c=k(t[s],g.kind);Number.isFinite(c)&&(c<y&&(y=c),c>b&&(b=c));}p=ct(g,y,b);}let I=0,A=1,S=2,F=new Uint8Array(a),v=new Array(a).fill(null),ue=new Array(a).fill(null),le=new Array(a).fill(null);for(let s=0;s<a;s++){let c=r.series[s].aggregate;F[s]=c==="count"?I:u[s]?A:S;let m=h[s];if(!m)continue;if(m.kind==="numeric"){v[s]=m.values;continue}ue[s]=m.codes;let E=m.dictionary,M=new Float64Array(E.length);for(let T=0;T<E.length;T++){let w=E[T],K=w===""?Number.NaN:Number(w);M[T]=Number.isFinite(K)?K:Number.NaN;}le[s]=M;}for(let s=0;s<t.length;s++){let c=t[s],m,E,M=Number.NaN;if(p&&g)M=p.keyOf(k(c,g.kind)),m=Number.isNaN(M)?"":M,E=Number.isNaN(M)?"":p.labelOf(M);else if(!i)m=E="";else if(i.kind==="text"){let w=i.codes[c];m=E=w===Y?"":i.dictionary[w];}else {let w=i.values[c];m=E=Number.isNaN(w)?"":String(w);}let T=d.get(m);T||(d.size>=at?(C=true,l??=x(r.otherLabel??Ee),T=l):(T=x(E,M),d.set(m,T)));for(let w=0;w<a;w++){let K=F[w],V=v[w],q=ue[w];if(K===I){(V!==null?!Number.isNaN(V[c]):q!==null&&q[c]!==Y)&&T.count[w]++;continue}if(K===A){let P=T.distinct[w];if(P)if(q!==null){let fe=q[c];fe!==Y&&P.add(fe);}else V!==null&&!Number.isNaN(V[c])&&P.add(V[c]);continue}let B;if(V!==null)B=V[c];else if(q!==null){let P=q[c];B=P===Y?Number.NaN:le[w][P];}else B=Number.NaN;Number.isNaN(B)||(T.numericCount[w]++,T.sum[w]+=B,B<T.min[w]&&(T.min[w]=B),B>T.max[w]&&(T.max[w]=B),s<T.firstAt[w]&&(T.first[w]=B,T.firstAt[w]=s),s>=T.lastAt[w]&&(T.last[w]=B,T.lastAt[w]=s));}}let Pe=(s,c)=>{for(let m=0;m<a;m++){s.sum[m]+=c.sum[m],s.numericCount[m]+=c.numericCount[m],s.count[m]+=c.count[m],c.min[m]<s.min[m]&&(s.min[m]=c.min[m]),c.max[m]>s.max[m]&&(s.max[m]=c.max[m]),c.firstAt[m]<s.firstAt[m]&&(s.first[m]=c.first[m],s.firstAt[m]=c.firstAt[m]),c.lastAt[m]>s.lastAt[m]&&(s.last[m]=c.last[m],s.lastAt[m]=c.lastAt[m]);let E=s.distinct[m],M=c.distinct[m];if(E&&M)for(let T of M)E.add(T);}},ce=(s,c)=>{switch(r.series[c].aggregate){case "count":return s.count[c];case "countDistinct":return s.distinct[c]?.size??0;case "sum":return s.numericCount[c]>0?s.sum[c]:Number.NaN;case "avg":return s.numericCount[c]>0?s.sum[c]/s.numericCount[c]:Number.NaN;case "min":return s.numericCount[c]>0?s.min[c]:Number.NaN;case "max":return s.numericCount[c]>0?s.max[c]:Number.NaN;case "first":return s.numericCount[c]>0?s.first[c]:Number.NaN;case "last":return s.numericCount[c]>0?s.last[c]:Number.NaN;default:return Number.NaN}},z=[...d.values()],Ge=z.length+(l?1:0),$=s=>{if(a===0)return Number.NEGATIVE_INFINITY;let c=ce(s,0);return Number.isNaN(c)?Number.NEGATIVE_INFINITY:c},O;if(p){O=p.keys(y,b).map(c=>d.get(c)??x(p.labelOf(c),c));let s=d.get("");s&&O.push(s);}else {let s=z;if(z.length>o){let c=[...z].sort((m,E)=>$(E)-$(m));if(s=c.slice(0,o),f){l??=x(r.otherLabel??Ee);for(let m of c.slice(o))Pe(l,m);}}switch(r.categoryOrder??"value-desc"){case "category-asc":s=[...s].sort((c,m)=>c.label.localeCompare(m.label));break;case "first-seen":s=[...s].sort((c,m)=>c.seq-m.seq);break;default:s=[...s].sort((c,m)=>$(m)-$(c));}O=l?[...s,l]:s;}return {categories:O.map(s=>s.label),series:r.series.map((s,c)=>{let m=new Float64Array(O.length);for(let E=0;E<O.length;E++)m[E]=ce(O[E],c);return {label:s.label??n.series[c]??s.columnId,columnId:s.columnId,aggregate:s.aggregate,values:m}}),truncated:p?false:z.length>o||C,otherIndex:p?null:l?O.length-1:null,rowCount:t.length,categoryCount:p?O.length:Ge,rankingExact:!C,...dt(p,O)}}function Ue(){let e=new WeakMap;return {get(t){let r=e.get(t);if(r===void 0){r=new Map;let n=t.kind==="text"?t.dictionary:t.searchDictionary??[];for(let o=0;o<n.length;o++)r.set(n[o],o);e.set(t,r);}return r}}}function Be(e,t,r){let n=r.get(e);return n===void 0&&(n=t.length,t.push(e),r.set(e,n)),n}function Oe(e,t,r){for(let n of t){let o=e[n.columnId];if(!o)continue;let{indices:f}=n;if(o.kind==="numeric"){let a=n.numbers??[];for(let i=0;i<f.length;i++)o.values[f[i]]=a[i];if(o.searchCodes&&o.searchDictionary&&n.labels){let i=r.get(o);for(let h=0;h<f.length;h++){let u=n.labels[h];o.searchCodes[f[h]]=u===null?R:Be(u,o.searchDictionary,i);}}}else {let a=n.labels??[],i=r.get(o);for(let h=0;h<f.length;h++){let u=a[h];o.codes[f[h]]=u===null?R:Be(u,o.dictionary,i);}}}}function _e(e){if(e.kind==="numeric"){let t={kind:"numeric",values:new Float64Array(e.buffer)};return e.searchBuffer&&e.searchDictionary&&(t.searchCodes=new Int32Array(e.searchBuffer),t.searchDictionary=e.searchDictionary),t}return {kind:"text",codes:new Int32Array(e.buffer),dictionary:e.dictionary??[],...e.integer?{integer:true}:{}}}var ve=self,W=new Map;function U(e,t){ve.postMessage(e,t??[]);}function Le(e,t){for(let r of e)t[r.columnId]=_e(r);}function mt(e){let t={};Le(e.columns,t),W.set(e.gridId,{dataVersion:e.dataVersion,table:{rowCount:e.rowCount,columns:t}}),U({action:"ready",gridId:e.gridId,dataVersion:e.dataVersion});}function gt(e){let t=W.get(e.gridId);!t||t.dataVersion!==e.dataVersion||(Le(e.columns,t.table.columns),U({action:"ready",gridId:e.gridId,dataVersion:e.dataVersion}));}var _=new Set,J=(e,t)=>`${e}:${t}`,Q=new Map,ie=new Map;function Ve(e,t){t>(Q.get(e)??0)&&Q.set(e,t);}function qe(e,t){let r=J(e,t);return ()=>_.has(r)||t<=(ie.get(e)??0)}function bt(e){Ve(e.gridId,e.requestId);let t=W.get(e.gridId);if(!t||t.dataVersion!==e.dataVersion)return;let r=J(e.gridId,e.requestId),n=qe(e.gridId,e.requestId);if(n()){_.delete(r),U({action:"cancelled",gridId:e.gridId,requestId:e.requestId});return}try{let{order:o,cancelled:f}=oe(t.table,{sort:e.sort,filter:e.filter,searchText:e.searchText,searchColumns:e.searchColumns,searchLabelHits:e.searchLabelHits,locale:e.locale,absoluteSort:e.absoluteSort,onProgress:(a,i)=>U({action:"progress",gridId:e.gridId,dataVersion:e.dataVersion,requestId:e.requestId,phase:a,fraction:i}),isCancelled:n});if(f){_.delete(r),U({action:"cancelled",gridId:e.gridId,requestId:e.requestId});return}U({action:"result",gridId:e.gridId,dataVersion:e.dataVersion,requestId:e.requestId,order:o.buffer,visibleCount:o.length},[o.buffer]),_.delete(r);}catch(o){U({action:"error",gridId:e.gridId,requestId:e.requestId,message:o instanceof Error?o.message:String(o)});}}function ht(e){Ve(e.gridId,e.requestId);let t=W.get(e.gridId);if(!t||t.dataVersion!==e.dataVersion)return;let r=J(e.gridId,e.requestId),n=qe(e.gridId,e.requestId);if(n()){_.delete(r),U({action:"cancelled",gridId:e.gridId,requestId:e.requestId});return}try{let{order:o,cancelled:f}=oe(t.table,{sort:[],filter:e.filter,searchText:e.searchText,searchColumns:e.searchColumns,searchLabelHits:e.searchLabelHits,locale:e.locale,isCancelled:n});if(f){_.delete(r),U({action:"cancelled",gridId:e.gridId,requestId:e.requestId});return}let a={categoryColumnId:e.categoryColumnId,series:e.series,maxCategories:e.maxCategories,otherBucket:e.otherBucket,categoryOrder:e.categoryOrder,categoryBucket:e.categoryBucket,otherLabel:e.otherLabel},i=Re(t.table.columns,o,a,{series:e.series.map(C=>C.label??C.columnId)}),h=i.categories.length,u=new Float64Array(i.series.length*h);for(let C=0;C<i.series.length;C++)u.set(i.series[C].values,C*h);let d=i.bucketStarts,l=i.bucketEnds,N=[u.buffer];d&&l&&N.push(d.buffer,l.buffer),U({action:"aggregated",gridId:e.gridId,dataVersion:e.dataVersion,requestId:e.requestId,categories:i.categories,values:u.buffer,seriesLabels:i.series.map(C=>C.label),truncated:i.truncated,otherIndex:i.otherIndex,rowCount:i.rowCount,categoryCount:i.categoryCount,rankingExact:i.rankingExact,bucket:i.bucket,bucketStarts:d?.buffer,bucketEnds:l?.buffer},N),_.delete(r);}catch(o){U({action:"error",gridId:e.gridId,requestId:e.requestId,message:o instanceof Error?o.message:String(o)});}}var pt=Ue();function yt(e){let t=W.get(e.gridId);!t||t.dataVersion!==e.fromVersion||(Oe(t.table.columns,e.patches,pt),t.dataVersion=e.toVersion);}ve.onmessage=e=>{let t=e.data;switch(t.action){case "init":mt(t);break;case "addColumns":gt(t);break;case "patchRows":yt(t);break;case "compute":bt(t);break;case "aggregate":ht(t);break;case "cancel":t.requestId===void 0?ie.set(t.gridId,Q.get(t.gridId)??0):_.add(J(t.gridId,t.requestId));break;case "dispose":W.delete(t.gridId),Q.delete(t.gridId),ie.delete(t.gridId);for(let r of _)r.startsWith(`${t.gridId}:`)&&_.delete(r);break}};',Bn=null;function ip(){return md.length>0}function lp(){if(Bn)return Bn;if(!ip())throw new Error("[datagrid] this build carries no embedded worker (the build step that inlines it did not run). Pass `worker={{ url }}` to point at a copy of datagrid.worker.js instead.");if(typeof Blob>"u"||typeof URL?.createObjectURL!="function")throw new Error("[datagrid] Blob URLs are unavailable, so the embedded worker cannot start.");return Bn=URL.createObjectURL(new Blob([md],{type:"text/javascript"})),Bn}function sp(e,t,u){if(t.kind==="numeric"){let n={columnId:e,kind:"numeric",buffer:t.values.buffer};return u.push(n.buffer),t.searchCodes&&t.searchDictionary&&(n.searchBuffer=t.searchCodes.buffer,n.searchDictionary=t.searchDictionary,u.push(n.searchBuffer)),n}let r={columnId:e,kind:"text",buffer:t.codes.buffer,dictionary:t.dictionary,...t.integer?{integer:!0}:{}};return u.push(r.buffer),r}var dp=2e4,js=!1;function cp(e,t){typeof process<"u"&&process.env&&!t||js&&!t||(js=!0,console.warn(`[datagrid] the Web Worker could not be started, so filtering and sorting are running on the main thread. The grid still works \u2014 it is just slower on large data.
7
+ `,o=new TextEncoder,l=!0,i=0,s=r.bom===!1?"":ud;r.includeHeaders!==!1&&(s+=t.map(h=>Wn(h.header,n)).join(n),l=!1),s&&await e.write(o.encode(s));for await(let h of u){if(r.signal?.aborted)throw new et;let m="";for(let c of h)c.kind!=="data"&&c.kind!=="group"||(m+=(l?"":a)+c.cells.map(p=>Wn(p.text,n)).join(n),l=!1,i++);m&&await e.write(o.encode(m))}return i}var gf="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",Eo="FFF1F5F9",Cf="FFFAFAFA",zs="FFE2E8F0",Mr=1048576,wf=31;function rd(e,t,u){for(let r=Math.max(2,t);;r++){let n=` (${r})`,a=e.slice(0,wf-n.length)+n;if(!u.has(a.toLowerCase()))return a}}var nd=/^\d{4}-\d{2}-\d{2}(?:[T ]\d{2}:\d{2}(?::\d{2}(?:\.\d{1,9})?)?)?(?:Z|[+-]\d{2}:?\d{2})?$/;function bo(e){return new Date(Date.UTC(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes(),e.getSeconds(),e.getMilliseconds()))}function yf(e){let t=/^(\d{4})-(\d{2})-(\d{2})/.exec(e);if(!t)return!1;let u=Number(t[1]),r=Number(t[2]),n=Number(t[3]);return u<1||r<1||r>12||n<1?!1:n<=new Date(u,r,0).getDate()}var Ef=/^-?(?:\d+\.?\d*|\.\d+)$/;function bf(e){let t=e.trim();if(!Ef.test(t)||t.replace(/^-|\./g,"").replace(/^0+(?=\d)/,"").length>15)return null;let u=Number(t);return Number.isFinite(u)?u:null}function ad(e,t,u){if(!(u?.numFmt!==td||typeof t!="number")){if(typeof e=="string"){let r=/\.(\d+)$/.exec(e.trim())?.[1].length??0;if(r>0)return`#,##0.${"0".repeat(Math.min(r,10))}`}return Number.isInteger(t)?af:void 0}}function Oo(e){if(e instanceof Date)return Number.isNaN(e.getTime())?null:bo(e);if(typeof e=="number"&&Number.isFinite(e))return bo(new Date(e));if(typeof e=="string"&&nd.test(e.trim())){let t=Xn(e.trim());return t?bo(t):null}return null}function Vo(e,t,u,r){if(e.value instanceof Date)return Oo(e.value)??(u?e.value:e.text);if(r&&t?.isDate){if(typeof e.value=="string"&&nd.test(e.value.trim())&&!yf(e.value.trim()))return null;let n=Oo(e.value);if(n)return n}if(r&&t?.isNumeric&&typeof e.value=="string"){let n=bf(e.value);if(n!==null)return n}return typeof e.value=="bigint"?String(e.value):u||typeof e.value=="number"?e.value:e.text}async function Af(){let e;try{e=await import("exceljs")}catch{throw new Error('[datagrid] Excel export needs the "exceljs" package. Install it with: npm i exceljs')}let t=e,u=t.Workbook?t:t.default;if(!u?.Workbook)throw new Error('[datagrid] Excel export needs the "exceljs" package, and what loaded exposes no Workbook \u2014 it is either not installed (npm i exceljs) or a version this writer does not understand.');return u}function Ho(e,t,u){e.columns=t.columns.map(r=>({key:r.id,width:r.width,style:u?{alignment:{horizontal:r.align},...r.numFmt?{numFmt:r.numFmt}:{}}:r.numFmt?{numFmt:r.numFmt}:void 0}))}function od(e){let t=e,u="";for(;t>0;){let r=(t-1)%26;u=String.fromCharCode(65+r)+u,t=Math.floor((t-1)/26)}return u||"A"}function hi(e,t){if(t&&(t.value!==void 0&&(e.value=t.value),t.font&&(e.font={...e.font,...t.font,...t.font.color?{color:{argb:t.font.color}}:{}}),t.fill&&(e.fill={type:"pattern",pattern:"solid",fgColor:{argb:t.fill}}),t.numFmt&&(e.numFmt=t.numFmt),t.alignment&&(e.alignment={...e.alignment,...t.alignment}),t.border)){let u={style:"thin",color:{argb:t.border}};e.border={top:u,left:u,bottom:u,right:u}}}function Rr(e,t,u,r,n){let a=t.customizeCell;a&&e.eachCell((o,l)=>{let i=r?.columns[l-1],s=a({kind:u,columnId:i?.id??null,value:o.value,text:o.value==null?"":String(o.value),rowNumber:e.number,colNumber:l,rowIndex:n});hi(o,s)})}function _n(e,t,u,r){if(t?.length)for(let n of t){e.room()||e.continue();let a=e.sheet,o=a.addRow(n.cells);n.height&&(o.height=n.height),n.style&&o.eachCell(l=>hi(l,n.style)),n.merge&&u>1&&a.mergeCells(`A${o.number}:${od(u)}${o.number}`),Rr(o,r,"band",null,-1)}}async function $s(e,t,u,r,n,a){let o=null,l=t.columns.length,i=new Map,s=[],h=u.formulas!==!1,m=(k,M)=>{let z=k.addRow(t.columns.map(O=>O.header));return z.font={bold:!0},z.fill={type:"pattern",pattern:"solid",fgColor:{argb:Eo}},n&&(z.alignment={horizontal:"left",vertical:"middle"},z.border={bottom:{style:"thin",color:{argb:zs}}}),Rr(z,u,"header",t,-1),M&&(u.autoFilter!==!1&&(k.autoFilter={from:{row:z.number,column:1},to:{row:z.number,column:l}}),u.freezeHeader!==!1&&(k.views=[{state:"frozen",ySplit:z.number}])),z.number},c=r&&l>0;e.onContinue=c?k=>{m(k,!0)}:null,c&&(e.room(2)?o=m(e.sheet,a):e.continue());let p=t.rows.length,C=o===null?0:o+1,E=o??0,D=0,F=-1,x=(k,M)=>{M.forEach((z,O)=>{z?.numFmt&&(k.getCell(O+1).numFmt=z.numFmt)})};for(let k=0;k<p;k++){if(u.signal?.aborted)throw new et;let M=t.rows[k];if(M.kind==="detailTitle"||M.kind==="detailHeader"||M.kind==="detail"){e.room()||e.continue();let G=e.sheet.addRow([null,...M.cells.map(Y=>{let j=Y.value;return j instanceof Date?Oo(j)??Y.text:typeof j=="number"||typeof j=="boolean"?j:Y.text})]);E=G.number;let W=M.detailColumns??[];M.cells.forEach((Y,j)=>{let J=G.getCell(j+2),ee=W[j];J.numFmt=M.kind==="detail"&&ee?.numFmt?ee.numFmt:"General",J.alignment={horizontal:M.kind==="detailTitle"?"left":ee?.align??"left"},M.kind==="detailHeader"&&(J.font={bold:!0},J.fill={type:"pattern",pattern:"solid",fgColor:{argb:Eo}})}),M.kind==="detailTitle"&&(G.getCell(2).font={bold:!0,italic:!0}),n&&(G.outlineLevel=(F>=0?F+1:0)+1),u.customizeCell&&G.eachCell((Y,j)=>{j<2||hi(Y,u.customizeCell({kind:"detail",columnId:null,value:Y.value,text:Y.value==null?"":String(Y.value),rowNumber:G.number,colNumber:j,rowIndex:k}))});continue}let z=M.cells.map((G,W)=>Vo(G,t.columns[W],!!u.raw,M.kind==="data"));e.room()||e.continue();let O=e.sheet.addRow(z);x(O,M.cells),M.kind==="data"&&z.forEach((G,W)=>{if(M.cells[W]?.numFmt)return;let Y=ad(M.cells[W]?.value,G,t.columns[W]);Y&&(O.getCell(W+1).numFmt=Y)}),k===0&&(C=O.number),E=O.number,M.kind==="data"&&(M.source&&i.set(String(M.source.key),{sheet:e.sheet,row:O.number}),M.cells.forEach((G,W)=>{if(h&&G.excelFormula)s.push({sheet:e.sheet,row:O.number,column:W+1,cell:G});else if(G.link){let Y=O.getCell(W+1);Y.value={text:G.text,hyperlink:G.link},Y.font={color:{argb:"FF0563C1"},underline:!0}}})),M.kind==="group"?(F=M.level,O.font={bold:!0},O.getCell(1).alignment={indent:M.level,horizontal:"left"},n&&(O.fill={type:"pattern",pattern:"solid",fgColor:{argb:Eo}},O.outlineLevel=M.level),D=0,Rr(O,u,"group",t,k)):(n&&(F>=0&&(O.outlineLevel=F+1),D%2===1&&(O.fill={type:"pattern",pattern:"solid",fgColor:{argb:Cf}})),D++,Rr(O,u,"data",t,k)),(k+1)%5e3===0&&(u.onProgress?.((k+1)/p),await new Promise(G=>setTimeout(G,0)))}if(n&&u.totalsRow!==!1&&t.totals){e.room()||e.continue();let k=e.sheet.addRow(t.totals.map((M,z)=>M==null?"":Vo(M,t.columns[z],!1,!1)));x(k,t.totals.map(M=>M??{})),k.font={bold:!0},k.border={top:{style:"double",color:{argb:zs}}},Rr(k,u,"totals",t,-1),E=k.number}return e.onContinue=null,vf(t,i,s),{headerRow:o,firstDataRow:C,lastRow:E}}function xf(e){return`'${e.replace(/'/g,"''")}'!`}function vf(e,t,u){if(u.length===0)return;let r=new Map(e.columns.map((a,o)=>[a.id,o+1])),n=(a,o)=>{let l=t.get(a),i=r.get(o);return l&&i!==void 0?{sheet:l.sheet.name,row:l.row,column:i}:null};for(let{sheet:a,row:o,column:l,cell:i}of u){let s=i.excelFormula(n,{sheet:a.name,row:o,column:l});if(s===null)continue;let h=a.getRow(o).getCell(l);h.value={formula:s,result:h.value}}}function Fr(e,t){let u=`${od(e.column)}${e.row}`;return e.sheet===t.sheet?u:xf(e.sheet)+u}function Ff(e,t,u){if(u?.length)for(let r of u){let n=e.addImage({...typeof r.data=="string"?{base64:r.data}:{buffer:r.data},extension:r.extension}),a=r.position??{col:0,row:0,width:160,height:48};t.addImage(n,{tl:{col:a.col,row:a.row},ext:{width:a.width,height:a.height}})}}async function Df(e,t={}){let u=await Af(),r=t.styled===!0,n=t.includeHeaders!==!1,a=new u.Workbook,o=Math.floor(t.maxRowsPerSheet??Mr),l=Math.max(2,Math.min(Mr,Number.isFinite(o)?o:Mr)),i=new Set,s=D=>{i.add(D.toLowerCase());let F=a.addWorksheet(D);return r&&(F.properties.outlineProperties={summaryBelow:!1,summaryRight:!1}),F},h=(D,F)=>{let x=D.name,k=2,M={sheet:D,limit:l,room:(z=1)=>M.sheet.rowCount+z<=l,continue:()=>{let z=s(rd(x,k++,i));Ho(z,F,r),M.sheet=z,M.onContinue?.(z)},onContinue:null};return M},m=s(t.sheetName??"Data");Ho(m,e,r);let c=h(m,e);Ff(a,m,t.images),_n(c,t.headerBlock,e.columns.length,t),await $s(c,e,t,n,r,!0),t.onProgress?.(1);let p=c,C=c;for(let D of t.additionalGrids??[]){let F=!D.sheetName;p=Sf(s,h,p,D,t,r),await $s(p,D.model,t,D.includeHeaders!==!1,r,!1),F&&C===c&&(C=p)}_n(C,t.footerBlock,e.columns.length,t);let E=await a.xlsx.writeBuffer();return new Blob([E],{type:gf})}function Sf(e,t,u,r,n,a){let o=r.title?[{cells:[r.title],merge:!0,style:{font:{bold:!0,size:13}}}]:void 0;if(r.sheetName){let i=e(r.sheetName);Ho(i,r.model,a);let s=t(i,r.model);return _n(s,o,r.model.columns.length,n),s}let l=r.gap??2;for(let i=0;i<l;i++){if(!u.room()){u.continue();break}u.sheet.addRow([])}return _n(u,o,r.model.columns.length,n),u}var kf="application/pdf",Ao=[241,245,249],Bf=[250,250,250],kt=[30,41,59];async function Tf(){let e=new Error('[datagrid] PDF export needs "jspdf" and "jspdf-autotable". Install them with: npm i jspdf jspdf-autotable'),t;try{let[u,r]=await Promise.all([import("jspdf"),import("jspdf-autotable")]);t={jsPDF:u.jsPDF??u.default,autoTable:r.default??r}}catch{throw e}if(typeof t.jsPDF!="function"||typeof t.autoTable!="function")throw e;return t}var mi="helvetica",Rf=/[^\u0000-\u00ff\u0152\u0153\u0160\u0161\u0178\u017d\u017e\u0192\u02c6\u02dc\u2013\u2014\u2018\u2019\u201a\u201c\u201d\u201e\u2020\u2021\u2022\u2026\u2030\u2039\u203a\u20ac\u2122]/u;function Nf(e,t){let u=function*(){for(let r of t.headerBlock??[])yield r.text;for(let r of t.footerBlock??[])yield r.text;for(let r of[{model:e,title:void 0},...t.additionalGrids??[]]){r.title&&(yield r.title);for(let n of r.model.columns)yield n.header;for(let n of r.model.rows)for(let a of n.cells)yield a.text;for(let n of r.model.totals??[])n&&(yield n.text)}};for(let r of u()){let n=Rf.exec(r);if(n)return n[0]}return null}function Mf(e,t,u){let r,n;if(typeof e=="string")r=atob(e.slice(0,8)),n=e;else{let a=e instanceof Uint8Array?e:new Uint8Array(e),o=[];for(let l=0;l<a.length;l+=32768)o.push(String.fromCharCode.apply(null,a.subarray(l,l+32768)));n=o.join(""),r=n.slice(0,4)}if(!r.startsWith("\0\0\0")){let a=r.startsWith("OTTO")?" (it is OpenType-CFF, .otf)":r.startsWith("wOF")?" (it is WOFF)":"";throw new Error(`[datagrid] PDF export: font "${t}" (${u}) is not a TrueType .ttf file${a}. jsPDF embeds TrueType only.`)}return n}function If(e,t){let u=[["normal",t.normal],["bold",t.bold??t.normal],["italic",t.italic??t.normal],["bolditalic",t.boldItalic??t.bold??t.italic??t.normal]];for(let[r,n]of u){let a=`${t.family}-${r}.ttf`;e.addFileToVFS(a,Mf(n,t.family,r)),e.addFont(a,t.family,r)}return t.family}function Ko(e,t,u,r,n){if(!t?.length)return u;let a=e.internal.pageSize.getWidth(),o=u;for(let l of t){let i=l.fontSize??10;e.setFontSize(i),e.setFont(n,l.fontStyle??"normal");let s=l.color??kt;e.setTextColor(s[0],s[1],s[2]);let h=l.align??"left",m=h==="center"?a/2:h==="right"?a-r:r;o+=i*.353,e.text(l.text,m,o,{align:h}),o+=l.spacing??2}return e.setTextColor(kt[0],kt[1],kt[2]),o}var Lf=[245,247,250];function Pf(e,t){if(e.kind==="data"||e.kind==="group")return e.cells.map(a=>a.text);let u=e.cells.map(a=>a.text);if(t<=1)return[u.join(" \xB7 ")];if(e.kind==="detailTitle")return["",{content:u[0]??"",colSpan:t-1}];let r=t-1,n=u.length>r?[...u.slice(0,r-1),u.slice(r-1).join(" \xB7 ")]:u;for(;n.length<r;)n.push("");return["",...n]}function Gf(e,t){t&&(t.text!==void 0&&(e.text=[t.text]),t.fillColor&&(e.styles.fillColor=t.fillColor),t.textColor&&(e.styles.textColor=t.textColor),t.fontStyle&&(e.styles.fontStyle=t.fontStyle),t.fontSize&&(e.styles.fontSize=t.fontSize),t.halign&&(e.styles.halign=t.halign))}function fi(e,t,u,r,n,a,o){let l=r.styled!==!1,i=r.margin??14,s=o?.from??0,h=o?.to??u.rows.length,m=u.columns.length,c=u.rows.slice(s,h).map(C=>Pf(C,m)),p=l&&r.totalsRow!==!1&&u.totals&&(!o||o.withTotals)?[u.totals.map(C=>C?.text??"")]:void 0;return t(e,{startY:n,margin:{left:i,right:i},head:a&&u.columns.length>0?[u.columns.map(C=>C.header)]:void 0,body:c,foot:p,theme:l?"grid":"plain",showHead:r.repeatHeaders===!1?"firstPage":"everyPage",showFoot:p?"lastPage":"never",rowPageBreak:"avoid",styles:{...r.font?{font:r.font.family}:{},fontSize:8,cellPadding:2,textColor:kt},headStyles:{fillColor:Ao,textColor:kt,fontStyle:"bold"},footStyles:{fillColor:Ao,textColor:kt,fontStyle:"bold"},alternateRowStyles:l?{fillColor:Bf}:void 0,columnStyles:l?Object.fromEntries(u.columns.map((C,E)=>[E,{halign:C.align}])):void 0,didDrawCell:C=>{if(C.section!=="body")return;let E=u.rows[s+C.row.index]?.cells[C.column.index]?.link,{x:D,y:F,width:x,height:k}=C.cell;E&&e.link&&D!==void 0&&F!==void 0&&x!==void 0&&k!==void 0&&e.link(D,F,x,k,{url:E})},didParseCell:C=>{C.section==="body"&&u.rows[s+C.row.index]?.cells[C.column.index]?.link&&(C.cell.styles.textColor=[5,99,193]);let E,D=-1;if(C.section==="head")E="header";else if(C.section==="foot")E="totals";else{D=s+C.row.index;let M=u.rows[D]?.kind;E=M==="group"?"group":M==="data"||M===void 0?"data":"detail"}if(E==="detail"){let M=u.rows[D];C.cell.styles.fontSize=7,C.cell.styles.fillColor=Lf,(M.kind==="detailHeader"||M.kind==="detailTitle")&&(C.cell.styles.fontStyle="bold"),M.kind==="detailTitle"&&(C.cell.styles.fontStyle="bolditalic");let z=M.detailColumns?.[C.column.index-1];C.cell.styles.halign=M.kind==="detail"&&z?z.align:"left"}E==="group"&&(C.cell.styles.fontStyle="bold",C.cell.styles.fillColor=Ao,C.column.index===0&&(C.cell.styles.cellPadding={top:2,right:2,bottom:2,left:2+(u.rows[D]?.level??0)*4}));let F=r.customizeCell;if(!F)return;let x=u.columns[C.column.index],k=D>=0?u.rows[D]?.cells[C.column.index]:void 0;Gf(C.cell,F({kind:E,columnId:x?.id??null,text:Array.isArray(C.cell.text)?C.cell.text.join(" "):String(C.cell.text),value:k?.value,rowIndex:D,columnIndex:C.column.index}))}}),e.lastAutoTable?.finalY??n}function Of(e,t){t?.length&&t.forEach((u,r)=>{try{e.addImage(u.data,u.format,u.x,u.y,u.width,u.height)}catch(n){let a=n instanceof Error?n.message:String(n);throw new Error(`[datagrid] PDF export could not decode images[${r}] (format: ${u.format}). The data is not a valid ${u.format} \u2014 check that it is a complete file, base64-encoded, and that \`format\` matches it. Underlying error: ${a}`)}})}function Vf(e,t){let u=t.pageNumbers;if(!u)return;let r=t.margin??14,n=e.getNumberOfPages(),a=e.internal.pageSize.getWidth(),o=e.internal.pageSize.getHeight();for(let l=1;l<=n;l++){e.setPage(l),e.setFontSize(8),e.setFont(t.font?.family??mi,"normal"),e.setTextColor(148,163,184);let i=typeof u=="function"?u(l,n):`${l} / ${n}`;e.text(i,a-r,o-8,{align:"right"})}e.setTextColor(kt[0],kt[1],kt[2])}var Hf=400,Kf=1e3;async function zf(e,t,u,r,n,a,o){let l=u.rows.length,i=Math.max(1,r.sliceRows||Kf),s=n,h=0;for(;h<l;){if(r.signal?.aborted)throw new et;let m=Math.min(l,h+i);h>0&&e.addPage(),s=fi(e,t,u,r,h===0?n:o,a,{from:h,to:m,withTotals:m>=l}),h=m,r.onProgress?.(h/l),h<l&&await new Promise(c=>setTimeout(c,0))}return s}async function $f(e,t={}){if(t.signal?.aborted)throw new et;let{jsPDF:u,autoTable:r}=await Tf(),n=t.margin??14,a=new u({orientation:t.orientation??"landscape",unit:"mm",format:t.pageSize??"a4"}),o=t.font?If(a,t.font):mi;if(!t.font){let s=Nf(e,t);if(s!==null){let h=s.codePointAt(0).toString(16).toUpperCase().padStart(4,"0");console.warn(`[datagrid] PDF export: "${s}" (U+${h}) cannot be drawn by the built-in PDF font and will come out as the wrong character. Pass \`font\` (a TrueType .ttf covering your language) in the PDF export options \u2014 see PdfExportOptions.font.`)}}Of(a,t.images);let l=n;l=Ko(a,t.headerBlock,l,n,o),l=t.sliceRows!==0&&e.rows.length>Hf?await zf(a,r,e,t,l+2,t.includeHeaders!==!1,n):fi(a,r,e,t,l+2,t.includeHeaders!==!1);for(let s of t.additionalGrids??[]){if(t.signal?.aborted)throw new et;l=Wf(a,r,s,t,l,n)}if(t.onProgress?.(1),t.footerBlock?.length){let s=t.footerBlock.reduce((h,m)=>h+(m.fontSize??10)*.353+(m.spacing??2),4);l+s>a.internal.pageSize.getHeight()-n&&(a.addPage(),l=n),Ko(a,t.footerBlock,l+4,n,o)}Vf(a,t);let i=a.output("arraybuffer");return new Blob([i],{type:kf})}function Wf(e,t,u,r,n,a){let o=n;return u.pageBreak?(e.addPage(),o=a):o+=8,u.title&&(o=Ko(e,[{text:u.title,fontSize:12,fontStyle:"bold"}],o,a,r.font?.family??mi)),fi(e,t,u.model,r,o+2,u.includeHeaders!==!1)}function id(e,t){if(typeof document>"u")throw new Error("[datagrid] downloadBlob requires a browser document.");let u=URL.createObjectURL(e),r=document.createElement("a");r.href=u,r.download=t,r.style.display="none",document.body.appendChild(r),r.click(),r.remove(),setTimeout(()=>URL.revokeObjectURL(u),0)}function pi(e){return{"=":e.opEquals,"<>":e.opNotEquals,">":e.opGreater,">=":e.opGreaterOrEqual,"<":e.opLess,"<=":e.opLessOrEqual,contains:e.opContains,notcontains:e.opNotContains,startswith:e.opStartsWith,endswith:e.opEndsWith,isnull:e.opIsBlank,isnotnull:e.opIsNotBlank,in:e.opIsOneOf,between:e.opIsBetween,period:e.opInPeriod,periods:{today:e.periodToday,yesterday:e.periodYesterday,tomorrow:e.periodTomorrow,thisWeek:e.periodThisWeek,lastWeek:e.periodLastWeek,nextWeek:e.periodNextWeek,thisMonth:e.periodThisMonth,lastMonth:e.periodLastMonth,nextMonth:e.periodNextMonth,thisQuarter:e.periodThisQuarter,lastQuarter:e.periodLastQuarter,nextQuarter:e.periodNextQuarter,thisYear:e.periodThisYear,lastYear:e.periodLastYear,nextYear:e.periodNextYear,yearToDate:e.periodYearToDate,lastDays:e.periodLastDays,nextDays:e.periodNextDays},and:e.filterAnd.toLocaleLowerCase(),or:e.filterOr.toLocaleLowerCase(),blank:e.filterBlank,emptyText:e.filterEmptyText,space:e.filterSpace,spaces:e.filterSpaces,listSeparator:", ",ofN:e.opValuesCount}}var _f=pi(pu("en"));function ld(e,t,u={}){if(!e)return null;let r={..._f,...u.labels},n=u.maxListValues??3,a=s=>{let h=t.getDef(s);return h?.headerName??h?.field??s},o=(s,h)=>{if(h==null)return r.blank;if(typeof h=="string"&&h.trim()===""){if(h==="")return r.emptyText;let c=Array.from(h).length;return c===1?r.space:r.spaces.replace("{n}",String(c))}let m=Ut(t.getDef(s),h);return m!==null?m:h instanceof Date?h.toLocaleDateString():String(h)},l=(s,h)=>{if(Je(s)){let p=s.nodes.map(E=>l(E,h+1)).filter(Boolean);if(p.length===0)return"";let C=p.join(` ${r[s.logic]} `);return h>0&&p.length>1?`(${C})`:C}let m=a(s.columnId);if(s.operator==="period"){let p=s.value,C=p?r.periods[p.period]:void 0;return`${m}: ${C?C.replace("{n}",String(p?.days??"")):r.blank}`}if(!Lr(s.operator)){let p=fu(t.getDef(s.columnId),s.operator),C=p?.label??s.operator;return(p?.operandType??"text")==="none"||s.value===void 0?`${m} ${C}`:`${m} ${C} ${o(s.columnId,s.value)}`}let c=r[s.operator==="notin"?"<>":s.operator];switch(s.operator){case"isnull":case"isnotnull":return`${m} ${c}`;case"in":case"notin":{let p=Array.isArray(s.value)?s.value:[s.value];return p.length>n?`${m} ${c} ${r.ofN.replace("{n}",String(p.length))}`:`${m} ${c} ${p.map(C=>o(s.columnId,C)).join(r.listSeparator)}`}case"between":{let[p,C]=Array.isArray(s.value)?s.value:[void 0,void 0];return`${m} ${c} ${o(s.columnId,p)} \u2013 ${o(s.columnId,C)}`}default:return`${m} ${c} ${o(s.columnId,s.value)}`}},i=l(e,0);return i===""?null:i}function Uf(e,t,u,r,n){let a=e,o=a.findIndex(h=>n(h)===t);if(o<0)return{rows:a,moved:!1,fromIndex:-1,toIndex:-1};let l;if(u===null)l=a.length;else{let h=a.findIndex(m=>n(m)===u);if(h<0)return{rows:a,moved:!1,fromIndex:o,toIndex:-1};if(h===o)return{rows:a,moved:!1,fromIndex:o,toIndex:o};l=r==="before"?h:h+1}if(l>o&&(l-=1),l===o)return{rows:a,moved:!1,fromIndex:o,toIndex:o};let i=a.slice(),[s]=i.splice(o,1);return i.splice(l,0,s),{rows:i,moved:!0,fromIndex:o,toIndex:l}}var qf=["columnStateChanged","sortChanged","filterChanged","groupChanged","chartOpened","chartChanged","chartClosed","treeRowToggled","stateUpdated"],jf={selection:"selectionChanged",focus:"focusChanged",scroll:"bodyScrollEnd",details:"detailToggled",ranges:null},kn=new Map;function Yf(e,t,u){let r=kn.get(e);if(r&&r.load===u)return r.value;let n=t();kn.set(e,{load:u,value:n});let a=()=>{setTimeout(()=>{kn.get(e)?.value===n&&kn.delete(e)},0)};return n&&typeof n.then=="function"?n.then(a,a):a(),n}function Ws(e){try{return globalThis[e]??null}catch{return null}}function sd(e,t){if(!t.enabled)return()=>{};let u=t.storageKey??`kanuni-datagrid-${e.gridId}`,r=t.type??"localStorage",n=t.saveDelay??500,a=!1,o=m=>{if(!(a||!m))try{e.applyViewState(m)}catch{}};if(r==="custom"){let m=null;try{m=Yf(u,()=>t.customLoad?.()??null,t.customLoad)}catch{m=null}m&&typeof m.then=="function"?m.then(o,()=>{}):o(m)}else{let m=Ws(r);if(m){let c=null,p=!0;try{c=m.getItem(u)}catch{p=!1}if(p&&c)try{o(JSON.parse(c))}catch{try{m.removeItem(u)}catch{}}}}let l,i=()=>{let m=e.getViewState({include:t.include});if(r==="custom"){try{Promise.resolve(t.customSave?.(m)).catch(()=>{})}catch{}return}let c=Ws(r);if(c)try{c.setItem(u,JSON.stringify(m))}catch{}},s=()=>{l!==void 0&&clearTimeout(l),l=setTimeout(()=>{l=void 0,i()},n)},h=qf.map(m=>e.events.on(m,s));for(let m of t.include??[]){let c=jf[m];c&&h.push(e.events.on(c,s))}return()=>{a=!0,h.forEach(m=>m()),l!==void 0&&(clearTimeout(l),l=void 0,i())}}var _s=150,tr=40;function Qf(e,t){return e.id?e.id:e.field?e.field:`col_${t}`}function Us(e){return typeof e.flex=="number"&&Number.isFinite(e.flex)&&e.flex>0?e.flex:void 0}function Dr(e,t,u){let r=Math.max(e,t);return u!=null&&(r=Math.min(r,u)),r}var Xf=class{defs=[];defsById=new Map;baseById=new Map;states=new Map;orderIds=[];version=0;collapsedBands=new Set;gridWidth=0;options;formulaErrors=new Map;cellFormulaReader=null;setCellFormulaReader(e){this.cellFormulaReader=e}hasCellFormulas(){return this.defs.some(e=>e.allowFormulas===!0)}getDefinitionOrder(){return this.defs.map(e=>e.id)}getStoredValue(e,t){let u=this.defsById.get(t);return u?.allowFormulas&&u.field&&!u.valueGetter?e[u.field]:this.getCellValue(e,t)}setCellValue(e,t,u){let r=this.defsById.get(t);return r?.valueSetter?r.valueSetter({value:u,row:e,columnId:t})!==!1:(e[r?.field??t]=u,!0)}parseCellValue(e,t,u,r){let n=this.defsById.get(t)?.valueParser;return n?n({value:u,oldValue:r,row:e,columnId:t}):u}getNumberLocale(){return C0(this.options.locale)}getNumberFormat(e){return this.defsById.get(e)?.numberFormat}getEditorDataType(e){let t=this.defsById.get(e);return t?.allowFormulas||t?.valueParser?"string":this.getDataType(e)}constructor(e,t={}){this.options=t,this.setColumns(e)}getVersion(){return this.version}setColumns(e){let t=this.baseById,u=this.states,r=new Set;this.defs=e.map((n,a)=>{let o={...this.options.defaultColumnDef,...n},l=Qf(o,a);if(r.has(l)){let i=`[datagrid] duplicate column id "${l}" \u2014 set an explicit \`id\` on one of the columns.`;this.options.debugMode?console.error(i):console.warn(i)}return r.add(l),o.id=l,o.numberFormat&&(o.numberFormat=H4(o.numberFormat,this.options.locale)),o}),this.states=new Map,this.defsById=new Map,this.baseById=new Map,this.orderIds=[],this.defs.forEach((n,a)=>{let o=n.id;this.defsById.has(o)||(this.defsById.set(o,n),this.baseById.set(o,n));let l=n.minWidth??tr,i=t.get(o),s=u.get(o),h=p=>s!==void 0&&i!==void 0&&i[p]===n[p],m={id:o,width:h("width")?Dr(s.width,l,n.maxWidth):Dr(n.width??_s,l,n.maxWidth),pinned:h("pin")?s.pinned:n.pin??null,visible:h("visible")?s.visible:n.visible!==!1,order:s!==void 0?s.order:a},c=h("flex")?s.flex:Us(n);c!==void 0&&(m.flex=c),h("headerName")&&s.headerName!==void 0&&(m.headerName=s.headerName),this.states.set(o,m),this.orderIds.push(o)}),this.orderIds.sort((n,a)=>(this.states.get(n)?.order??0)-(this.states.get(a)?.order??0));for(let[n,a]of this.states)this.syncHeaderName(n,a);this.compileFormulas(),this.version++}resolveColumnName(e){if(this.defsById.has(e))return e;let t=e.toLowerCase();for(let u of this.defs)if(u.id.toLowerCase()===t)return u.id;for(let u of this.defs)if(u.headerName?.toLowerCase()===t)return u.id;return null}getFormulaError(e){return this.formulaErrors.get(e)??null}compileFormulas(){this.formulaErrors=new Map;let e=new Map;for(let o of this.defs){if(typeof o.formula!="string"||o.valueGetter)continue;let l=o.id,i=Po(o.formula,{resolveColumn:s=>this.resolveColumnName(s),locale:this.options.locale});if(o.editable=!1,!i.ok){this.formulaErrors.set(l,i.error),this.options.debugMode&&console.warn(`[datagrid] column "${l}": ${i.error.message} (at ${i.error.position})`);let s=ae.of("#NAME?");o.valueGetter=()=>s,o.dataType??="string";continue}e.set(l,i.formula)}let t=new Set,u=new Map,r=(o,l)=>{if(u.get(o)!=="done"){if(u.get(o)==="open"){for(let i of l.slice(l.indexOf(o)))t.add(i);return}u.set(o,"open");for(let i of e.get(o)?.columns??[])e.has(i)&&r(i,[...l,i]);u.set(o,"done")}};for(let o of e.keys())r(o,[o]);let n=new Set,a=o=>{let l=this.defsById.get(o);if(!l)return;if(l.dataType)return l.dataType;let i=e.get(o);if(!i||n.has(o))return;n.add(o);let s=Nr(i.tree,h=>{let m=this.resolveColumnName(h);return m===null?void 0:a(m)});return n.delete(o),l.dataType=s,s};for(let[o,l]of e){let i=this.defsById.get(o);if(a(o),t.has(o)){let s=ae.of("#CYCLE!");i.valueGetter=()=>s;continue}i.valueGetter=s=>l.evaluate({column:h=>this.getCellValue(s,h)})}}resetColumnStates(){this.orderIds=this.defs.map(e=>e.id),this.defs.forEach((e,t)=>{let u=this.states.get(e.id);if(!u)return;let r=e.minWidth??tr;u.width=Dr(e.width??_s,r,e.maxWidth);let n=Us(e);n!==void 0?u.flex=n:delete u.flex,u.pinned=e.pin??null,u.visible=e.visible!==!1,u.order=t,delete u.headerName,this.syncHeaderName(e.id,u)}),this.version++}setHeaderName(e,t){let u=this.states.get(e),r=this.baseById.get(e);if(!u||!r)return!1;let n=this.getDef(e)?.headerName,a=typeof t=="string"?t.trim():"";return a===""||a===r.headerName?delete u.headerName:u.headerName=a,this.syncHeaderName(e,u),this.getDef(e)?.headerName===n?!1:(this.version++,!0)}getAuthoredHeaderName(e){return this.baseById.get(e)?.headerName}syncHeaderName(e,t){let u=this.baseById.get(e);u&&this.defsById.set(e,t.headerName===void 0?u:{...u,headerName:t.headerName})}getDef(e){return this.defsById.get(e)}getState(e){return this.states.get(e)}getOrder(){return[...this.orderIds]}getColumnStates(){return this.orderIds.map(e=>({...this.states.get(e)}))}runtime(e={}){let t={left:[],center:[],right:[]};for(let u of this.orderIds){let r=this.states.get(u),n=this.getDef(u);if(!r||!n||!r.visible||c4(n,this.collapsedBands)||!e.includeScreenHidden&&this.hiddenByWidth(n))continue;let a=r.pinned??"center";t[a==="left"?"left":a==="right"?"right":"center"].push({def:n,state:r})}return[...t.left,...t.center,...t.right]}hiddenByWidth(e){return typeof e.hideBelow=="number"&&this.gridWidth>0&&this.gridWidth<e.hideBelow}setGridWidth(e){let t=(r,n)=>typeof n.hideBelow=="number"&&r>0&&r<n.hideBelow,u=this.defs.some(r=>t(this.gridWidth,r)!==t(e,r));return this.gridWidth=e,u&&this.version++,u}isShown(e){let t=this.getDef(e);return this.states.get(e)?.visible!==!1&&!(t&&this.hiddenByWidth(t))}isBandCollapsed(e){return this.collapsedBands.has(er(e))}setBandCollapsed(e,t){if(e.length===0)return!1;let u=er(e);return this.collapsedBands.has(u)===t?!1:(t?this.collapsedBands.add(u):this.collapsedBands.delete(u),this.version++,!0)}getCollapsedBands(){return[...this.collapsedBands]}setCollapsedBands(e){this.collapsedBands=new Set(e),this.version++}isBandCollapsible(e){if(e.length===0)return!1;let t=er(e),u=!1,r=!1;for(let n of this.orderIds){let a=this.getDef(n),o=this.states.get(n);if(!a||!o?.visible)continue;let l=_t(a);l.length<e.length||er(l.slice(0,e.length))===t&&(a.bandShow==="open"?u=!0:r=!0)}return u&&r}setWidth(e,t){let u=this.states.get(e),r=this.getDef(e);!u||!r||(u.width=Dr(t,r.minWidth??tr,r.maxWidth),this.version++)}setFlex(e,t){let u=this.states.get(e);if(!u||u.flex===void 0)return;let r=Number.isFinite(t)&&t>0?t:0;u.flex!==r&&(u.flex=r,this.version++)}isFlexing(e){return(this.states.get(e)?.flex??0)>0}setPinned(e,t){let u=this.states.get(e);u&&(u.pinned=t,this.version++)}setVisible(e,t){let u=this.states.get(e);u&&(u.visible=t,this.version++)}moveColumn(e,t){let u=this.orderIds.indexOf(e);if(u===-1)return;this.orderIds.splice(u,1);let r=t?this.orderIds.indexOf(t):this.orderIds.length;this.orderIds.splice(r===-1?this.orderIds.length:r,0,e),this.orderIds.forEach((n,a)=>{let o=this.states.get(n);o&&(o.order=a)}),this.version++}applyColumnStates(e){let t=e.filter(n=>this.states.has(n.id)).slice().sort((n,a)=>n.order-a.order);for(let n of t){let a=this.getDef(n.id),o=this.states.get(n.id);!a||!o||(o.width=Dr(n.width,a.minWidth??tr,a.maxWidth),o.flex!==void 0&&typeof n.flex=="number"&&(o.flex=Number.isFinite(n.flex)&&n.flex>0?n.flex:0),o.pinned=n.pinned,o.visible=n.visible,typeof n.headerName=="string"&&n.headerName.trim()!==""?o.headerName=n.headerName.trim():delete o.headerName,this.syncHeaderName(n.id,o))}let u=t.map(n=>n.id),r=this.orderIds.filter(n=>!u.includes(n));this.orderIds=[...u,...r],this.orderIds.forEach((n,a)=>{let o=this.states.get(n);o&&(o.order=a)}),this.version++}getCellValue(e,t){let u=this.getDef(t);if(u){if(u.valueGetter)return u.valueGetter(e);if(u.field){let r=e[u.field];return u.allowFormulas&&this.cellFormulaReader&&typeof r=="string"&&r.trimStart().startsWith("=")?this.cellFormulaReader(e,t,r):r}}}getSortValue(e,t){let u=this.defsById.get(t);if(u){if(u.calculateSortValue)return u.calculateSortValue(e);if(u.valueGetter){let r=u.valueGetter(e);return r instanceof ae?null:r}if(u.field){let r=e[u.field];if(u.allowFormulas&&this.cellFormulaReader&&typeof r=="string"&&r.trimStart().startsWith("=")){let n=this.cellFormulaReader(e,t,r);return n instanceof ae?null:n}return r}}}getDataType(e){return this.getDef(e)?.dataType??"string"}};function Zf(e,t,u){let r=e.length,n=new Uint32Array(r),a=new Uint32Array(r),o=0,l=0;for(let D=0;D<r;D++){let F=e[D];Number.isNaN(t[F])?a[l++]=F:n[o++]=F}let i=new Uint32Array(o),s=new Uint32Array(o),h=new Float64Array(1),m=new Uint32Array(h.buffer);for(let D=0;D<o;D++){let F=t[n[D]];h[0]=F===0?0:F;let x=m[0],k=m[1];k&2147483648?(x=~x>>>0,k=~k>>>0):k=(k^2147483648)>>>0,u&&(x=~x>>>0,k=~k>>>0),i[D]=x,s[D]=k}let c=new Uint32Array(o);for(let D=0;D<o;D++)c[D]=D;let p=new Uint32Array(o),C=new Uint32Array(256);for(let D=0;D<8;D++){let F=D>=4,x=(D&3)*8,k=F?s:i;C.fill(0);for(let O=0;O<o;O++)C[k[c[O]]>>>x&255]++;if(C[k[c[0]]>>>x&255]===o)continue;let M=0;for(let O=0;O<256;O++){let G=C[O];C[O]=M,M+=G}for(let O=0;O<o;O++){let G=c[O];p[C[k[G]>>>x&255]++]=G}let z=c;c=p,p=z}let E=new Uint32Array(r);for(let D=0;D<o;D++)E[D]=n[c[D]];for(let D=0;D<l;D++)E[o+D]=a[D];return E}var qs=new Map;function Jf(e){let t=qs.get(e);return t||(t=new Intl.Collator(e,{numeric:!0,sensitivity:"base"}),qs.set(e,t)),t}function xo(e){return e==null||typeof e=="number"&&Number.isNaN(e)}function ep(e){if(typeof e=="number")return e;if(typeof e=="boolean")return e?1:0;if(e instanceof Date)return e.getTime();let t=Number(e);return Number.isNaN(t)?Number.NEGATIVE_INFINITY:t}function tp(e){if(e instanceof Date)return e.getTime();if(typeof e=="number")return e;let t=Date.parse(String(e));return Number.isNaN(t)?Number.NEGATIVE_INFINITY:t}function dd(e,t,u=[]){let r=[];for(let{columnId:n}of t){if(u.includes(n))continue;let a=e.getDef(n);a?.absoluteSort&&!a.comparator&&e.getDataType(n)==="number"&&r.push(n)}return r}function up(e,t){for(let u of t)if(e.getDef(u.columnId)?.comparator)return!0;return!1}function rp(e,t,u,r,n){let a=e.length,o=r.columnId,l=r.direction==="desc"?-1:1,i=u.getDataType(o),s=u.getDef(o)?.comparator;if(s){let c=new Array(a),p=new Array(a);for(let C=0;C<a;C++){let E=t[e[C]];c[C]=u.getSortValue(E,o),p[C]=E}return{dir:l,numeric:null,strings:null,values:c,valueRows:p,comparator:s}}if(i==="string"||i==="lookup"){let c=new Array(a);for(let p=0;p<a;p++){let C=u.getSortValue(t[e[p]],o);c[p]=xo(C)?null:String(C)}return{dir:l,numeric:null,strings:c,values:null,valueRows:null,comparator:null}}if(i==="bigint"){let c=new Array(a);for(let p=0;p<a;p++){let C=u.getSortValue(t[e[p]],o);c[p]=xo(C)?null:String(C)}return{dir:l,numeric:ap(c),strings:null,values:null,valueRows:null,comparator:null}}let h=new Float64Array(a),m=i==="date"?tp:ep;for(let c=0;c<a;c++){let p=u.getSortValue(t[e[c]],o);h[c]=xo(p)?Number.NaN:m(p)}if(n&&i==="number")for(let c=0;c<a;c++)h[c]=Math.abs(h[c]);return{dir:l,numeric:h,strings:null,values:null,valueRows:null,comparator:null}}function np(e,t){return cd(e,u=>U4(u,t))}function ap(e){return cd(e,X4)}function cd(e,t){let u=e.length,r=[],n=new Map,a=new Int32Array(u);for(let i=0;i<u;i++){let s=e[i];if(s===null){a[i]=-1;continue}let h=n.get(s);h===void 0&&(h=r.length,r.push(s),n.set(s,h)),a[i]=h}let o=t(r),l=new Float64Array(u);for(let i=0;i<u;i++)l[i]=a[i]===-1?Number.NaN:o[a[i]];return l}function hd(e,t,u,r,n={}){if(r.length===0)return e.slice();let a=Jf(n.locale??"en"),o=n.absoluteSort??dd(u,r),l=r.map(c=>rp(e,t,u,c,o.includes(c.columnId))),i=l.length,s=new Array(e.length),h=!0;for(let c=0;c<e.length;c++)s[c]=c,c>0&&e[c]<e[c-1]&&(h=!1);if(!l.some(c=>c.comparator!==null)&&h&&e.length>=5e4){let c=l.map(E=>E.numeric?E.numeric:np(E.strings,a)),p=Uint32Array.from(s);for(let E=i-1;E>=0;E--)p=Zf(p,c[E],l[E].dir===-1);let C=new Uint32Array(e.length);for(let E=0;E<p.length;E++)C[E]=e[p[E]];return C}s.sort((c,p)=>{for(let C=0;C<i;C++){let E=l[C];if(E.comparator){let D=E.values,F=E.valueRows,x=E.comparator(D[c],D[p],F[c],F[p],E.dir===-1);if(x!==0)return x*E.dir}else if(E.numeric){let D=E.numeric[c],F=E.numeric[p],x=Number.isNaN(D),k=Number.isNaN(F);if(x||k){if(x&&k)continue;return x?1:-1}if(D!==F)return(D<F?-1:1)*E.dir}else{let D=E.strings[c],F=E.strings[p];if(D===null||F===null){if(D===null&&F===null)continue;return D===null?1:-1}let x=a.compare(D,F);if(x!==0)return x*E.dir}}return e[c]-e[p]});let m=new Uint32Array(e.length);for(let c=0;c<s.length;c++)m[c]=e[s[c]];return m}var op=class{mode="client";rows;keyGetter;locale;nodeCache;constructor(e,t){this.rows=e,this.keyGetter=t.keyGetter,this.locale=t.locale??"en",this.nodeCache=t.nodeCache??new $0}getTotalCount(){return this.rows.length}setData(e){this.rows=e,this.nodeCache.invalidate()}patchData(e,t,u){this.rows=e,this.nodeCache.rebase(e,t)}getSourceRows(){return this.rows}compute(e,t){let u=this.rows.length,r=new Uint32Array(u);for(let o=0;o<u;o++)r[o]=o;let n=D0(r,this.rows,e,t.filter,t.searchText,t.externalFilter),a=hd(n,this.rows,e,t.sort,{locale:this.locale,absoluteSort:t.absoluteSort});return{nodes:this.nodeCache.project(a,this.rows,this.keyGetter),visibleCount:a.length,totalCount:u}}async getRows(e,t){return this.compute(e,t)}},md='var We=/[\\u0130\\u0131]/,ze=/[\\u0130\\u0131]/g;function G(e){return We.test(e)?e.replace(ze,"i").toLowerCase():e.toLowerCase()}var R=-1;var de=new WeakMap;function Ke(e){let t=de.get(e);if(t!==void 0)return t;let r=He(e);return de.set(e,r),r}function He(e){let t=e.resolvedOptions();if(t.sensitivity!=="base"||t.numeric!==true||t.ignorePunctuation||t.usage!=="sort"||t.collation!=="default")return false;let r=[];for(let n=32;n<=126;n++)r.push(String.fromCharCode(n));r.sort(e.compare);for(let n=1;n<r.length;n++)if(e.compare(r[n-1],r[n])===0&&r[n-1].toLowerCase()!==r[n].toLowerCase())return false;for(let n of r)if(e.compare(n,"")===0)return false;return !(e.compare("01","1")!==0||e.compare("0","00")!==0||e.compare("a09z","a9z")!==0||e.compare("9","10")>=0)}function me(e){for(let t=0;t<e.length;t++){let r=e.charCodeAt(t);if(r<32||r>126)return false}return true}function Ye(e,t){let r=0,n=0,o=e.length,f=t.length;for(;r<o&&n<f;){let a=e.charCodeAt(r),i=t.charCodeAt(n),h=a>=48&&a<=57,u=i>=48&&i<=57;if(h!==u)return true;if(h){for(;r<o&&e.charCodeAt(r)===48;)r++;for(;n<f&&t.charCodeAt(n)===48;)n++;let d=r,l=n;for(;r<o;){let C=e.charCodeAt(r);if(C<48||C>57)break;r++;}for(;n<f;){let C=t.charCodeAt(n);if(C<48||C>57)break;n++;}let N=r-d;if(N!==n-l)return true;for(let C=0;C<N;C++)if(e.charCodeAt(d+C)!==t.charCodeAt(l+C))return true}else {if(a>=65&&a<=90&&(a+=32),i>=65&&i<=90&&(i+=32),a!==i)return true;r++,n++;}}return r!==o||n!==f}function ge(e,t){let r=e.length,n=new Array(r);for(let d=0;d<r;d++)n[d]=d;n.sort((d,l)=>t.compare(e[d],e[l]));let o=new Int32Array(r);if(r===0)return o;let a=Ke(t)?new Uint8Array(r):null,i=n[0],h=a?me(e[i])?1:2:0;a&&(a[i]=h);let u=0;o[i]=0;for(let d=1;d<r;d++){let l=n[d],N=e[i],C=e[l],x=0;a&&(x=a[l],x===0&&(x=me(C)?1:2,a[l]=x)),(h===1&&x===1&&Ye(N,C)||t.compare(N,C)!==0)&&u++,o[l]=u,i=l,h=x;}return o}var Z=BigInt(Number.MAX_SAFE_INTEGER),be=-Z,he=/^[+-]?\\d+$/;function X(e){if(typeof e=="bigint")return e>Z||e<be?e:null;if(typeof e!="string"||e.length<16)return null;let t=e.trim();if(!he.test(t))return null;let r=BigInt(t);return r>Z||r<be?r:null}function pe(e,t){return typeof e=="number"&&typeof t=="number"?e-t:typeof e=="number"&&Number.isNaN(e)||typeof t=="number"&&Number.isNaN(t)?Number.NaN:e<t?-1:e>t?1:0}function $e(e){if(typeof e=="bigint")return e;if(typeof e=="number")return Number.isSafeInteger(e)?BigInt(e):null;if(typeof e!="string")return null;let t=e.trim();return he.test(t)?BigInt(t):null}function ye(e){let t=e.map(f=>$e(f)),r=e.map((f,a)=>a);r.sort((f,a)=>{let i=t[f],h=t[a];return i!==null&&h!==null?i<h?-1:i>h?1:0:i!==null?-1:h!==null?1:e[f]<e[a]?-1:e[f]>e[a]?1:0});let n=new Int32Array(e.length),o=0;return r.forEach((f,a)=>{if(a>0){let i=r[a-1];(t[f]!==null?t[f]===t[i]:t[i]===null&&e[f]===e[i])||(o=a);}n[f]=o;}),n}function Ce(e,t,r){let n=e.length,o=new Uint32Array(n),f=new Uint32Array(n),a=0,i=0;for(let g=0;g<n;g++){let p=e[g];Number.isNaN(t[p])?f[i++]=p:o[a++]=p;}let h=new Uint32Array(a),u=new Uint32Array(a),d=new Float64Array(1),l=new Uint32Array(d.buffer);for(let g=0;g<a;g++){let p=t[o[g]];d[0]=p===0?0:p;let y=l[0],b=l[1];b&2147483648?(y=~y>>>0,b=~b>>>0):b=(b^2147483648)>>>0,r&&(y=~y>>>0,b=~b>>>0),h[g]=y,u[g]=b;}let N=new Uint32Array(a);for(let g=0;g<a;g++)N[g]=g;let C=new Uint32Array(a),x=new Uint32Array(256);for(let g=0;g<8;g++){let p=g>=4,y=(g&3)*8,b=p?u:h;x.fill(0);for(let S=0;S<a;S++)x[b[N[S]]>>>y&255]++;if(x[b[N[0]]>>>y&255]===a)continue;let I=0;for(let S=0;S<256;S++){let F=x[S];x[S]=I,I+=F;}for(let S=0;S<a;S++){let F=N[S];C[x[b[F]>>>y&255]++]=F;}let A=N;N=C,C=A;}let k=new Uint32Array(n);for(let g=0;g<a;g++)k[g]=o[N[g]];for(let g=0;g<i;g++)k[a+g]=f[g];return k}var Xe=["=","<>",">",">=","<","<=","contains","notcontains","startswith","endswith","isnull","isnotnull","in","notin","between","period"];new Set(Xe);function Ne(e){return e.nodes!==void 0}var ke=new Map;function Qe(e){let t=ke.get(e);return t||(t=new Intl.Collator(e,{numeric:true,sensitivity:"base"}),ke.set(e,t)),t}var Ie=new WeakMap;function Je(e,t,r){let n=Ie.get(e);n||(n=new Map,Ie.set(e,n));let o=n.get(r);return (!o||o.length!==t.length)&&(o=e.kind==="text"&&e.integer?ye(t):ge(t,Qe(r)),n.set(r,o)),o}var we=new WeakMap;function Se(e,t){let r=we.get(e);if(!r)r=t.map(G),we.set(e,r);else for(let n=r.length;n<t.length;n++)r.push(G(t[n]));return r}function D(e){if(e instanceof Date)return e.getTime();if(typeof e=="number")return e;if(typeof e=="boolean")return e?1:0;if(e==null)return Number.NaN;let t=Number(e);if(!Number.isNaN(t))return t;let r=Date.parse(String(e));return Number.isNaN(r)?Number.NaN:r}function Ze(e,t){let r=e.dictionary,n=new Uint8Array(r.length),o=false,f=t.operator;if(f==="isnull")return {mask:n,nilPasses:true};if(f==="isnotnull")return n.fill(1),{mask:n,nilPasses:false};let a=Se(e,r),i=t.value==null?"":G(String(t.value)),h=!e.integer;switch(f){case "=":case "<>":{let u=t.value===null||t.value===void 0,d=u?"":String(t.value).toLowerCase();for(let l=0;l<r.length;l++){let N=u?false:h?String(r[l]).toLowerCase()===d:et(r[l],t.value);n[l]=(f==="="?N:!N)?1:0;}o=f==="="?u:!u;break}case "contains":for(let u=0;u<r.length;u++)n[u]=a[u].includes(i)?1:0;break;case "notcontains":for(let u=0;u<r.length;u++)n[u]=a[u].includes(i)?0:1;o=true,i===""&&(o=false);break;case "startswith":for(let u=0;u<r.length;u++)n[u]=a[u].startsWith(i)?1:0;break;case "endswith":for(let u=0;u<r.length;u++)n[u]=a[u].endsWith(i)?1:0;break;case "in":{if(h){let d=Ae(t.value);for(let l=0;l<r.length;l++)n[l]=d.has(String(r[l]).toLowerCase())?1:0;break}let u=xe(t.value);for(let d=0;d<r.length;d++)n[d]=u.has(H(r[d]))?1:0;break}case "notin":{if(h){let d=Ae(t.value);for(let l=0;l<r.length;l++)n[l]=d.has(String(r[l]).toLowerCase())?0:1;o=true;break}let u=xe(t.value);for(let d=0;d<r.length;d++)n[d]=u.has(H(r[d]))?0:1;o=true;break}case ">":case ">=":case "<":case "<=":{for(let u=0;u<r.length;u++){let d=ee(r[u],t.value);n[u]=f===">"&&d>0||f===">="&&d>=0||f==="<"&&d<0||f==="<="&&d<=0?1:0;}break}case "between":{if(!Array.isArray(t.value)||t.value.length<2)break;let[u,d]=t.value;for(let l=0;l<r.length;l++)n[l]=ee(r[l],u)>=0&&ee(r[l],d)<=0?1:0;break}default:n.fill(1),o=true;}return {mask:n,nilPasses:o}}function H(e){let t=X(e);if(t!==null)return t;if(e instanceof Date)return e.getTime();if(typeof e=="number")return e;if(typeof e=="boolean")return e?1:0;let r=Number(e);return Number.isNaN(r)?String(e).toLowerCase():r}function Ae(e){let t=new Set;for(let r of Array.isArray(e)?e:[])r!=null&&t.add(String(r).toLowerCase());return t}function et(e,t){return H(e)===H(t)}function xe(e){let t=new Set,r=Array.isArray(e)?e:[];for(let n of r){if(n==null)continue;let o=H(n);typeof o=="number"&&Number.isNaN(o)||t.add(o);}return t}function tt(e){let t=new Set,r=Array.isArray(e)?e:[];for(let n of r){let o=D(n);Number.isNaN(o)||t.add(o);}return t}var te=new WeakMap;function Te(e){let t=te.get(e);return t||(t=tt(e.value),te.set(e,t)),t}function ee(e,t){let r=X(e),n=X(t);if(r!==null||n!==null){let h=r??D(e),u=n??D(t),d=pe(h,u);if(!Number.isNaN(d))return d}let o=D(e),f=D(t);if(!Number.isNaN(o)&&!Number.isNaN(f))return o-f;let a=String(e).toLowerCase(),i=String(t).toLowerCase();return a<i?-1:a>i?1:0}function rt(e,t){if(t.operator==="in")return !Number.isNaN(e)&&Te(t).has(e);if(t.operator==="notin")return Number.isNaN(e)||!Te(t).has(e);let r=Number.isNaN(e);switch(t.operator){case "isnull":return r;case "isnotnull":return !r;case "=":return !r&&e===D(t.value);case "<>":return r||e!==D(t.value);case ">":return !r&&e>D(t.value);case ">=":return !r&&e>=D(t.value);case "<":return !r&&e<D(t.value);case "<=":return !r&&e<=D(t.value);case "between":return r||!Array.isArray(t.value)||t.value.length<2?false:e>=D(t.value[0])&&e<=D(t.value[1]);case "contains":case "notcontains":case "startswith":case "endswith":{let n=r?"":String(e),o=t.value==null?"":G(String(t.value)),f=n.toLowerCase();return t.operator==="contains"?f.includes(o):t.operator==="notcontains"?!f.includes(o):t.operator==="startswith"?f.startsWith(o):f.endsWith(o)}default:return true}}function re(e,t,r){if(Ne(e))return e.nodes.length===0?true:e.logic==="or"?e.nodes.some(i=>re(i,t,r)):e.nodes.every(i=>re(i,t,r));let n=t.columns[e.columnId];if(!n)return true;if(n.kind==="numeric")return rt(n.values[r],e);let o=ne.get(e),f=o??Ze(n,e);o||ne.set(e,f);let a=n.codes[r];return a===R?f.nilPasses:f.mask[a]===1}var ne=new WeakMap,nt=65535;function oe(e,t){ne=new WeakMap,te=new WeakMap;let{rowCount:r}=e,n=t.locale??"en",o=G(t.searchText.trim()),f=!!t.filter,a=o.length>0,i=[];if(a){let k=/^[0-9.+\\-einftya]*$/.test(o),g=(y,b,I)=>{let A=Se(b,y),S=new Uint8Array(y.length),F=false;for(let L=0;L<A.length;L++)(A[L].includes(o)||I!==void 0&&I.has(y[L]))&&(S[L]=1,F=true);return F?S:null},p=new Map;if(t.searchLabelHits)for(let[y,b]of Object.entries(t.searchLabelHits))p.set(y,new Set(b));for(let y of t.searchColumns){let b=e.columns[y];if(!b)continue;let I=p.get(y);if(b.kind==="text"){let A=g(b.dictionary,b,I);A&&i.push({codes:b.codes,mask:A,values:null,numberHits:null,scanText:true});}else if(b.searchDictionary&&b.searchCodes){let A=g(b.searchDictionary,b,I);A&&i.push({codes:b.searchCodes,mask:A,values:null,numberHits:null,scanText:true});}else {let A=null;if(I)for(let S of I){let F=Number(S);Number.isNaN(F)||(A??=new Set).add(F);}(k||A)&&i.push({codes:null,mask:null,values:b.values,numberHits:A,scanText:k});}}}let h=t.onProgress,u=t.isCancelled,d={order:new Uint32Array(0),cancelled:true},l;if(!f&&!a){l=new Uint32Array(r);for(let k=0;k<r;k++)l[k]=k;}else {let k=new Uint32Array(r),g=0;for(let p=0;p<r;p++){if((p&nt)===0){if(u?.())return d;h?.("filtering",r===0?1:p/r);}if(!(f&&!re(t.filter,e,p))){if(a){let y=false;for(let b of i)if(b.codes&&b.mask){let I=b.codes[p];if(I!==R&&b.mask[I]===1){y=true;break}}else if(b.values){let I=b.values[p];if(!Number.isNaN(I)){if(b.numberHits!==null&&b.numberHits.has(I)){y=true;break}if(b.scanText&&String(I).toLowerCase().includes(o)){y=true;break}}}if(!y)continue}k[g++]=p;}}l=k.subarray(0,g),h?.("filtering",1);}if(t.sort.length===0)return {order:l.slice()};if(u?.())return d;let N=[],C=t.absoluteSort??[];for(let k of t.sort){let g=e.columns[k.columnId];if(!g)continue;let p=k.direction==="desc"?-1:1;if(g.kind==="numeric"){let y=g.values;if(C.includes(k.columnId)){y=new Float64Array(g.values.length);for(let b=0;b<y.length;b++)y[b]=Math.abs(g.values[b]);}N.push({dir:p,numeric:y,codes:null,ranks:null});}else N.push({dir:p,numeric:null,codes:g.codes,ranks:Je(g,g.dictionary,n)});}if(N.length===0)return {order:l.slice()};if(l.length>=5e4){let k=[];for(let p of N){if(p.numeric){k.push(p.numeric);continue}let y=p.codes,b=p.ranks,I=new Float64Array(r);for(let A=0;A<r;A++){let S=y[A];I[A]=S===R?Number.NaN:b[S];}k.push(I);}let g=l;for(let p=N.length-1;p>=0;p--){if(u?.())return d;h?.("sorting",(N.length-1-p)/N.length),g=Ce(g,k[p],N[p].dir===-1);}return h?.("sorting",1),{order:g===l?l.slice():g}}h?.("sorting",null);let x=Array.from(l);return x.sort((k,g)=>{for(let p of N)if(p.numeric){let y=p.numeric[k],b=p.numeric[g],I=Number.isNaN(y),A=Number.isNaN(b);if(I||A){if(I&&A)continue;return I?1:-1}if(y!==b)return (y<b?-1:1)*p.dir}else {let y=p.codes[k],b=p.codes[g];if(y===R||b===R){if(y===R&&b===R)continue;return y===R?1:-1}let I=p.ranks[y],A=p.ranks[b];if(I!==A)return (I<A?-1:1)*p.dir}return k-g}),{order:Uint32Array.from(x)}}var ot=30,Ee="Other",at=1e4;var v=864e5,st=60,it=20,j=2e3,ae=["day","week","month","quarter","year"],Fe={day:v,week:7*v,month:30.44*v,quarter:91.31*v,year:365.25*v};function De(e,t){let r=new Date(e),n=r.getUTCFullYear(),o=r.getUTCMonth();switch(t){case "day":return Date.UTC(n,o,r.getUTCDate());case "week":{let f=Date.UTC(n,o,r.getUTCDate()),a=(new Date(f).getUTCDay()+6)%7;return f-a*v}case "month":return Date.UTC(n,o,1);case "quarter":return Date.UTC(n,Math.floor(o/3)*3,1);default:return Date.UTC(n,0,1)}}function Me(e,t){let r=new Date(e),n=r.getUTCFullYear(),o=r.getUTCMonth();switch(t){case "day":return e+v;case "week":return e+7*v;case "month":return Date.UTC(n,o+1,1);case "quarter":return Date.UTC(n,o+3,1);default:return Date.UTC(n+1,0,1)}}var se=e=>e<10?`0${e}`:String(e);function ut(e,t){let r=new Date(e),n=r.getUTCFullYear();switch(t){case "year":return String(n);case "quarter":return `${n}-Q${Math.floor(r.getUTCMonth()/3)+1}`;case "month":return `${n}-${se(r.getUTCMonth()+1)}`;default:return `${n}-${se(r.getUTCMonth()+1)}-${se(r.getUTCDate())}`}}function lt(e){if(!(e>0)||!Number.isFinite(e))return 1;let r=10**Math.floor(Math.log10(e)),n=e/r;return (n<=1?1:n<=2?2:n<=5?5:10)*r}function ct(e,t,r){let n=Number.isFinite(t)&&Number.isFinite(r)?Math.max(0,r-t):0;if(e.kind==="date"){let h=e.unit??"auto",u,d=false;if(h==="auto")u=ae.find(l=>n/Fe[l]+1<=st)??"year";else for(u=h;n/Fe[u]+1>j;){let l=ae[ae.indexOf(u)+1];if(!l)break;u=l,d=true;}return {info:{kind:"date",unit:u,adjusted:d},keyOf:l=>Number.isFinite(l)?De(l,u):Number.NaN,endOf:l=>Me(l,u),labelOf:l=>ut(l,u),keys:(l,N)=>{let C=[];if(!Number.isFinite(l)||!Number.isFinite(N))return C;for(let x=De(l,u);x<=N&&C.length<j;x=Me(x,u))C.push(x);return C}}}let o=e.size&&e.size>0?e.size:lt(n/Math.max(1,e.bins??it));(!(o>0)||!Number.isFinite(o))&&(o=1);let f=false;for(;n/o+1>j;)o*=2,f=true;let a=o;return {info:{kind:"number",size:a,adjusted:f},keyOf:h=>Number.isFinite(h)?Math.floor(h/a)*a:Number.NaN,endOf:h=>h+a,labelOf:h=>{let u=d=>String(Number(d.toPrecision(12)));return `${u(h)} \\u2013 ${u(h+a)}`},keys:(h,u)=>{let d=[];if(!Number.isFinite(h)||!Number.isFinite(u))return d;let l=Math.floor(h/a)*a;for(let N=l;N<=u&&d.length<j;N+=a)d.push(N);return d}}}function ft(e,t){if(e==null)return Number.NaN;if(e instanceof Date)return e.getTime();if(typeof e=="number")return e;if(t==="number")return Number(e);let r=Number(e);return Number.isNaN(r)?Date.parse(String(e)):r}function dt(e,t){if(!e)return {};let r=new Float64Array(t.length),n=new Float64Array(t.length);for(let o=0;o<t.length;o++){let f=t[o].start;r[o]=f,n[o]=Number.isNaN(f)?Number.NaN:e.endOf(f);}return {bucket:e.info,bucketStarts:r,bucketEnds:n}}var Y=-1;function Re(e,t,r,n){let o=Math.max(1,r.maxCategories??ot),f=r.otherBucket!==false,a=r.series.length,i=e[r.categoryColumnId],h=r.series.map(s=>e[s.columnId]),u=r.series.map(s=>s.aggregate==="countDistinct"),d=new Map,l=null,N=0,C=false,x=(s,c=Number.NaN)=>({label:s,sum:new Float64Array(a),numericCount:new Float64Array(a),count:new Float64Array(a),min:new Float64Array(a).fill(Number.POSITIVE_INFINITY),max:new Float64Array(a).fill(Number.NEGATIVE_INFINITY),first:new Float64Array(a).fill(Number.NaN),firstAt:new Float64Array(a).fill(Number.POSITIVE_INFINITY),last:new Float64Array(a).fill(Number.NaN),lastAt:new Float64Array(a).fill(Number.NEGATIVE_INFINITY),distinct:u.map(m=>m?new Set:null),seq:N++,start:c}),k=(s,c)=>{if(!i)return Number.NaN;if(i.kind==="numeric")return i.values[s];let m=i.codes[s];return m===Y?Number.NaN:ft(i.dictionary[m],c)},g=r.categoryBucket,p=null,y=Number.POSITIVE_INFINITY,b=Number.NEGATIVE_INFINITY;if(g){for(let s=0;s<t.length;s++){let c=k(t[s],g.kind);Number.isFinite(c)&&(c<y&&(y=c),c>b&&(b=c));}p=ct(g,y,b);}let I=0,A=1,S=2,F=new Uint8Array(a),L=new Array(a).fill(null),ue=new Array(a).fill(null),le=new Array(a).fill(null);for(let s=0;s<a;s++){let c=r.series[s].aggregate;F[s]=c==="count"?I:u[s]?A:S;let m=h[s];if(!m)continue;if(m.kind==="numeric"){L[s]=m.values;continue}ue[s]=m.codes;let E=m.dictionary,M=new Float64Array(E.length);for(let T=0;T<E.length;T++){let w=E[T],K=w===""?Number.NaN:Number(w);M[T]=Number.isFinite(K)?K:Number.NaN;}le[s]=M;}for(let s=0;s<t.length;s++){let c=t[s],m,E,M=Number.NaN;if(p&&g)M=p.keyOf(k(c,g.kind)),m=Number.isNaN(M)?"":M,E=Number.isNaN(M)?"":p.labelOf(M);else if(!i)m=E="";else if(i.kind==="text"){let w=i.codes[c];m=E=w===Y?"":i.dictionary[w];}else {let w=i.values[c];m=E=Number.isNaN(w)?"":String(w);}let T=d.get(m);T||(d.size>=at?(C=true,l??=x(r.otherLabel??Ee),T=l):(T=x(E,M),d.set(m,T)));for(let w=0;w<a;w++){let K=F[w],V=L[w],q=ue[w];if(K===I){(V!==null?!Number.isNaN(V[c]):q!==null&&q[c]!==Y)&&T.count[w]++;continue}if(K===A){let P=T.distinct[w];if(P)if(q!==null){let fe=q[c];fe!==Y&&P.add(fe);}else V!==null&&!Number.isNaN(V[c])&&P.add(V[c]);continue}let B;if(V!==null)B=V[c];else if(q!==null){let P=q[c];B=P===Y?Number.NaN:le[w][P];}else B=Number.NaN;Number.isNaN(B)||(T.numericCount[w]++,T.sum[w]+=B,B<T.min[w]&&(T.min[w]=B),B>T.max[w]&&(T.max[w]=B),s<T.firstAt[w]&&(T.first[w]=B,T.firstAt[w]=s),s>=T.lastAt[w]&&(T.last[w]=B,T.lastAt[w]=s));}}let Pe=(s,c)=>{for(let m=0;m<a;m++){s.sum[m]+=c.sum[m],s.numericCount[m]+=c.numericCount[m],s.count[m]+=c.count[m],c.min[m]<s.min[m]&&(s.min[m]=c.min[m]),c.max[m]>s.max[m]&&(s.max[m]=c.max[m]),c.firstAt[m]<s.firstAt[m]&&(s.first[m]=c.first[m],s.firstAt[m]=c.firstAt[m]),c.lastAt[m]>s.lastAt[m]&&(s.last[m]=c.last[m],s.lastAt[m]=c.lastAt[m]);let E=s.distinct[m],M=c.distinct[m];if(E&&M)for(let T of M)E.add(T);}},ce=(s,c)=>{switch(r.series[c].aggregate){case "count":return s.count[c];case "countDistinct":return s.distinct[c]?.size??0;case "sum":return s.numericCount[c]>0?s.sum[c]:Number.NaN;case "avg":return s.numericCount[c]>0?s.sum[c]/s.numericCount[c]:Number.NaN;case "min":return s.numericCount[c]>0?s.min[c]:Number.NaN;case "max":return s.numericCount[c]>0?s.max[c]:Number.NaN;case "first":return s.numericCount[c]>0?s.first[c]:Number.NaN;case "last":return s.numericCount[c]>0?s.last[c]:Number.NaN;default:return Number.NaN}},z=[...d.values()],Ge=z.length+(l?1:0),$=s=>{if(a===0)return Number.NEGATIVE_INFINITY;let c=ce(s,0);return Number.isNaN(c)?Number.NEGATIVE_INFINITY:c},O;if(p){O=p.keys(y,b).map(c=>d.get(c)??x(p.labelOf(c),c));let s=d.get("");s&&O.push(s);}else {let s=z;if(z.length>o){let c=[...z].sort((m,E)=>$(E)-$(m));if(s=c.slice(0,o),f){l??=x(r.otherLabel??Ee);for(let m of c.slice(o))Pe(l,m);}}switch(r.categoryOrder??"value-desc"){case "category-asc":s=[...s].sort((c,m)=>c.label.localeCompare(m.label));break;case "first-seen":s=[...s].sort((c,m)=>c.seq-m.seq);break;default:s=[...s].sort((c,m)=>$(m)-$(c));}O=l?[...s,l]:s;}return {categories:O.map(s=>s.label),series:r.series.map((s,c)=>{let m=new Float64Array(O.length);for(let E=0;E<O.length;E++)m[E]=ce(O[E],c);return {label:s.label??n.series[c]??s.columnId,columnId:s.columnId,aggregate:s.aggregate,values:m}}),truncated:p?false:z.length>o||C,otherIndex:p?null:l?O.length-1:null,rowCount:t.length,categoryCount:p?O.length:Ge,rankingExact:!C,...dt(p,O)}}function Ue(){let e=new WeakMap;return {get(t){let r=e.get(t);if(r===void 0){r=new Map;let n=t.kind==="text"?t.dictionary:t.searchDictionary??[];for(let o=0;o<n.length;o++)r.set(n[o],o);e.set(t,r);}return r}}}function Be(e,t,r){let n=r.get(e);return n===void 0&&(n=t.length,t.push(e),r.set(e,n)),n}function Oe(e,t,r){for(let n of t){let o=e[n.columnId];if(!o)continue;let{indices:f}=n;if(o.kind==="numeric"){let a=n.numbers??[];for(let i=0;i<f.length;i++)o.values[f[i]]=a[i];if(o.searchCodes&&o.searchDictionary&&n.labels){let i=r.get(o);for(let h=0;h<f.length;h++){let u=n.labels[h];o.searchCodes[f[h]]=u===null?R:Be(u,o.searchDictionary,i);}}}else {let a=n.labels??[],i=r.get(o);for(let h=0;h<f.length;h++){let u=a[h];o.codes[f[h]]=u===null?R:Be(u,o.dictionary,i);}}}}function _e(e){if(e.kind==="numeric"){let t={kind:"numeric",values:new Float64Array(e.buffer)};return e.searchBuffer&&e.searchDictionary&&(t.searchCodes=new Int32Array(e.searchBuffer),t.searchDictionary=e.searchDictionary),t}return {kind:"text",codes:new Int32Array(e.buffer),dictionary:e.dictionary??[],...e.integer?{integer:true}:{}}}var Le=self,W=new Map;function U(e,t){Le.postMessage(e,t??[]);}function ve(e,t){for(let r of e)t[r.columnId]=_e(r);}function mt(e){let t={};ve(e.columns,t),W.set(e.gridId,{dataVersion:e.dataVersion,table:{rowCount:e.rowCount,columns:t}}),U({action:"ready",gridId:e.gridId,dataVersion:e.dataVersion});}function gt(e){let t=W.get(e.gridId);!t||t.dataVersion!==e.dataVersion||(ve(e.columns,t.table.columns),U({action:"ready",gridId:e.gridId,dataVersion:e.dataVersion}));}var _=new Set,J=(e,t)=>`${e}:${t}`,Q=new Map,ie=new Map;function Ve(e,t){t>(Q.get(e)??0)&&Q.set(e,t);}function qe(e,t){let r=J(e,t);return ()=>_.has(r)||t<=(ie.get(e)??0)}function bt(e){Ve(e.gridId,e.requestId);let t=W.get(e.gridId);if(!t||t.dataVersion!==e.dataVersion)return;let r=J(e.gridId,e.requestId),n=qe(e.gridId,e.requestId);if(n()){_.delete(r),U({action:"cancelled",gridId:e.gridId,requestId:e.requestId});return}try{let{order:o,cancelled:f}=oe(t.table,{sort:e.sort,filter:e.filter,searchText:e.searchText,searchColumns:e.searchColumns,searchLabelHits:e.searchLabelHits,locale:e.locale,absoluteSort:e.absoluteSort,onProgress:(a,i)=>U({action:"progress",gridId:e.gridId,dataVersion:e.dataVersion,requestId:e.requestId,phase:a,fraction:i}),isCancelled:n});if(f){_.delete(r),U({action:"cancelled",gridId:e.gridId,requestId:e.requestId});return}U({action:"result",gridId:e.gridId,dataVersion:e.dataVersion,requestId:e.requestId,order:o.buffer,visibleCount:o.length},[o.buffer]),_.delete(r);}catch(o){U({action:"error",gridId:e.gridId,requestId:e.requestId,message:o instanceof Error?o.message:String(o)});}}function ht(e){Ve(e.gridId,e.requestId);let t=W.get(e.gridId);if(!t||t.dataVersion!==e.dataVersion)return;let r=J(e.gridId,e.requestId),n=qe(e.gridId,e.requestId);if(n()){_.delete(r),U({action:"cancelled",gridId:e.gridId,requestId:e.requestId});return}try{let{order:o,cancelled:f}=oe(t.table,{sort:[],filter:e.filter,searchText:e.searchText,searchColumns:e.searchColumns,searchLabelHits:e.searchLabelHits,locale:e.locale,isCancelled:n});if(f){_.delete(r),U({action:"cancelled",gridId:e.gridId,requestId:e.requestId});return}let a={categoryColumnId:e.categoryColumnId,series:e.series,maxCategories:e.maxCategories,otherBucket:e.otherBucket,categoryOrder:e.categoryOrder,categoryBucket:e.categoryBucket,otherLabel:e.otherLabel},i=Re(t.table.columns,o,a,{series:e.series.map(C=>C.label??C.columnId)}),h=i.categories.length,u=new Float64Array(i.series.length*h);for(let C=0;C<i.series.length;C++)u.set(i.series[C].values,C*h);let d=i.bucketStarts,l=i.bucketEnds,N=[u.buffer];d&&l&&N.push(d.buffer,l.buffer),U({action:"aggregated",gridId:e.gridId,dataVersion:e.dataVersion,requestId:e.requestId,categories:i.categories,values:u.buffer,seriesLabels:i.series.map(C=>C.label),truncated:i.truncated,otherIndex:i.otherIndex,rowCount:i.rowCount,categoryCount:i.categoryCount,rankingExact:i.rankingExact,bucket:i.bucket,bucketStarts:d?.buffer,bucketEnds:l?.buffer},N),_.delete(r);}catch(o){U({action:"error",gridId:e.gridId,requestId:e.requestId,message:o instanceof Error?o.message:String(o)});}}var pt=Ue();function yt(e){let t=W.get(e.gridId);!t||t.dataVersion!==e.fromVersion||(Oe(t.table.columns,e.patches,pt),t.dataVersion=e.toVersion);}Le.onmessage=e=>{let t=e.data;switch(t.action){case "init":mt(t);break;case "addColumns":gt(t);break;case "patchRows":yt(t);break;case "compute":bt(t);break;case "aggregate":ht(t);break;case "cancel":t.requestId===void 0?ie.set(t.gridId,Q.get(t.gridId)??0):_.add(J(t.gridId,t.requestId));break;case "dispose":W.delete(t.gridId),Q.delete(t.gridId),ie.delete(t.gridId);for(let r of _)r.startsWith(`${t.gridId}:`)&&_.delete(r);break}};',Bn=null;function ip(){return md.length>0}function lp(){if(Bn)return Bn;if(!ip())throw new Error("[datagrid] this build carries no embedded worker (the build step that inlines it did not run). Pass `worker={{ url }}` to point at a copy of datagrid.worker.js instead.");if(typeof Blob>"u"||typeof URL?.createObjectURL!="function")throw new Error("[datagrid] Blob URLs are unavailable, so the embedded worker cannot start.");return Bn=URL.createObjectURL(new Blob([md],{type:"text/javascript"})),Bn}function sp(e,t,u){if(t.kind==="numeric"){let n={columnId:e,kind:"numeric",buffer:t.values.buffer};return u.push(n.buffer),t.searchCodes&&t.searchDictionary&&(n.searchBuffer=t.searchCodes.buffer,n.searchDictionary=t.searchDictionary,u.push(n.searchBuffer)),n}let r={columnId:e,kind:"text",buffer:t.codes.buffer,dictionary:t.dictionary,...t.integer?{integer:!0}:{}};return u.push(r.buffer),r}var dp=2e4,js=!1;function cp(e,t){typeof process<"u"&&process.env&&!t||js&&!t||(js=!0,console.warn(`[datagrid] the Web Worker could not be started, so filtering and sorting are running on the main thread. The grid still works \u2014 it is just slower on large data.
8
8
  The worker ships inside the package and starts from a Blob URL, so this is almost always a Content-Security-Policy. Either allow it:
9
9
  Content-Security-Policy: worker-src 'self' blob:
10
10
  or serve the worker as a file and point at it: