@univerjs/sheets-conditional-formatting 0.9.4 → 0.10.0-nightly.202507310307
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/index.js +1 -1
- package/lib/es/index.js +1 -1
- package/lib/index.js +1 -1
- package/lib/umd/index.js +1 -1
- package/package.json +7 -7
- package/LICENSE +0 -176
package/lib/umd/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(C,u){typeof exports=="object"&&typeof module<"u"?u(exports,require("@univerjs/core"),require("@univerjs/sheets"),require("rxjs"),require("@univerjs/engine-formula"),require("rxjs/operators"),require("@univerjs/engine-render")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@univerjs/sheets","rxjs","@univerjs/engine-formula","rxjs/operators","@univerjs/engine-render"],u):(C=typeof globalThis<"u"?globalThis:C||self,u(C.UniverSheetsConditionalFormatting={},C.UniverCore,C.UniverSheets,C.rxjs,C.UniverEngineFormula,C.rxjs.operators,C.UniverEngineRender))})(this,function(C,u,p,K,V,i2,q){"use strict";var p0=Object.defineProperty;var A0=(C,u,p)=>u in C?p0(C,u,{enumerable:!0,configurable:!0,writable:!0,value:p}):C[u]=p;var F=(C,u,p)=>A0(C,typeof u!="symbol"?u+"":u,p);var u2;const h2="SHEET_CONDITIONAL_FORMATTING_PLUGIN";var b=(a=>(a.beginsWith="beginsWith",a.endsWith="endsWith",a.containsText="containsText",a.notContainsText="notContainsText",a.equal="equal",a.notEqual="notEqual",a.containsBlanks="containsBlanks",a.notContainsBlanks="notContainsBlanks",a.containsErrors="containsErrors",a.notContainsErrors="notContainsErrors",a))(b||{}),L=(a=>(a.today="today",a.yesterday="yesterday",a.tomorrow="tomorrow",a.last7Days="last7Days",a.thisMonth="thisMonth",a.lastMonth="lastMonth",a.nextMonth="nextMonth",a.thisWeek="thisWeek",a.lastWeek="lastWeek",a.nextWeek="nextWeek",a))(L||{}),E=(a=>(a.greaterThan="greaterThan",a.greaterThanOrEqual="greaterThanOrEqual",a.lessThan="lessThan",a.lessThanOrEqual="lessThanOrEqual",a.notBetween="notBetween",a.between="between",a.equal="equal",a.notEqual="notEqual",a))(E||{}),R=(a=>(a.highlightCell="highlightCell",a.dataBar="dataBar",a.colorScale="colorScale",a.iconSet="iconSet",a))(R||{}),_=(a=>(a.uniqueValues="uniqueValues",a.duplicateValues="duplicateValues",a.rank="rank",a.text="text",a.timePeriod="timePeriod",a.number="number",a.average="average",a.formula="formula",a))(_||{}),x=(a=>(a.num="num",a.min="min",a.max="max",a.percent="percent",a.percentile="percentile",a.formula="formula",a))(x||{});const X2="#fff",Y2="#000000",K2=()=>({cfId:void 0,ranges:[],stopIfTrue:!1,rule:{type:"highlightCell",subType:"text",operator:"containsText"}}),J2=(a,r)=>{switch(a){case"text":{if(["beginsWith","containsText","endsWith","equal","notContainsText","notEqual"].includes(r))return"";break}case"number":return["between","notBetween"].includes(r)?[10,100]:10}return""},z2=(a,r)=>{switch(a){case"formula":return"=";case"max":case"min":return"";case"percent":case"percentile":case"num":return r!==void 0?r:10}return""},O=(a,r,n)=>{if(!r)return null;const e=r.findIndex(t=>n(t)===a.id);if(e<0)return null;switch(a.type){case"after":return e+1;case"before":return e-1;case"self":return e}},E2=(a,r,n,e)=>{if(!n)return null;const t=O(a,n,e);let i=O(r,n,e);if(t===null||i===null||t===i)return;const s=n.splice(t,1)[0];switch(t<i&&(i=O(r,n,e)),r.type){case"before":{n.splice(i+1,0,s);break}case"self":case"after":{n.splice(i,0,s);break}}},g2=(a,r,n,e)=>{if(a.type==="after"&&["after","before"].includes(r.type))return[a,r];const t={...a},i={...r};if(t.type!=="after"){const s=O(t,n,e);if(s===null)return null;if(s-1<0){const o=n[s+1];if(o)t.id=e(o),t.type="before";else return null}else{const o=e(n[s-1]);t.id=o,t.type="after"}}if(!["after","before"].includes(i.type)){const s=O(i,n,e);if(s===null)return null;if(s===0)i.type="before";else if(s-1>=0){const o=e(n[s-1]);i.id=o,i.type="after"}else if(s+1<=n.length-1){const o=e(n[s+1]);i.id=o,i.type="before"}else return null}return t.id===i.id&&t.type===i.type?null:[t,i]},p2=(a,r)=>{if(["after","before"].includes(r.type)){if(a.type==="after")return[r,a];if(a.type==="before")return[r,{...a,type:"self"}]}return null},Q2=(a,r)=>a.id===r.id&&a.type===r.type,A2=()=>`${u.generateRandomId(8)}`;class I{constructor(){F(this,"_model",new Map);F(this,"_ruleChange$",new K.Subject);F(this,"$ruleChange",this._ruleChange$.asObservable())}_ensureList(r,n){let e=this.getSubunitRules(r,n);if(!e){e=[];let t=this._model.get(r);t||(t=new Map,this._model.set(r,t)),t.set(n,e)}return e}getRule(r,n,e){const t=this.getSubunitRules(r,n);return t?t.find(i=>i.cfId===e):null}getUnitRules(r){return this._model.get(r)||null}getSubunitRules(r,n){var t;return((t=this._model.get(r))==null?void 0:t.get(n))||null}deleteRule(r,n,e){const t=this.getSubunitRules(r,n);if(t){const i=t.findIndex(o=>o.cfId===e),s=t[i];s&&(t.splice(i,1),this._ruleChange$.next({rule:s,subUnitId:n,unitId:r,type:"delete"}))}}setRule(r,n,e,t){const s=this._ensureList(r,n).find(o=>o.cfId===t);if(s){const o=u.Tools.deepClone(s);Object.assign(s,e),this._ruleChange$.next({rule:s,subUnitId:n,unitId:r,type:"set",oldRule:o})}}addRule(r,n,e){const t=this._ensureList(r,n);t.find(s=>s.cfId===e.cfId)||t.unshift(e),this._ruleChange$.next({rule:e,subUnitId:n,unitId:r,type:"add"})}moveRulePriority(r,n,e,t){const i=this._ensureList(r,n),s=O(e,i,l=>l.cfId),o=O(t,i,l=>l.cfId);if(o===null||s===null||o===s)return;const d=i[s];d&&(E2(e,t,i,l=>l.cfId),this._ruleChange$.next({rule:d,subUnitId:n,unitId:r,type:"sort"}))}createCfId(r,n){return A2()}deleteUnitId(r){this._model.delete(r)}}const Z={type:u.CommandType.MUTATION,id:"sheet.mutation.move-conditional-rule",handler(a,r){if(!r)return!1;const{unitId:n,subUnitId:e,start:t,end:i}=r;return a.get(I).moveRulePriority(n,e,t,i),!0}},y2=a=>{const{unitId:r,subUnitId:n}=a,e=p2(a.start,a.end);if(!e)return[];const[t,i]=e;return[{id:Z.id,params:{unitId:r,subUnitId:n,start:t,end:i}}]},J=(a,r)=>{const n=a.get(I),{unitId:e,subUnitId:t,cfId:i}=r,s=[...n.getSubunitRules(e,t)||[]],o=s.findIndex(l=>l.cfId===i),d=s[o-1];if(o>-1){const l=s[o],c=[{id:z.id,params:{unitId:e,subUnitId:t,rule:u.Tools.deepClone(l)}}];if(s.splice(o,1),o!==0){const h=s[0];if(h){const g=g2({id:h.cfId,type:"before"},{id:d.cfId,type:"after"},s,w=>w.cfId);if(!g)return c;const[D,m]=g,v={unitId:e,subUnitId:t,start:D,end:m};c.push({id:Z.id,params:v})}}return c}return[]},j={type:u.CommandType.MUTATION,id:"sheet.mutation.delete-conditional-rule",handler(a,r){if(!r)return!1;const{unitId:n,subUnitId:e,cfId:t}=r;return a.get(I).deleteRule(n,e,t),!0}},_2=(a,r)=>({id:j.id,params:{unitId:r.unitId,subUnitId:r.subUnitId,cfId:r.rule.cfId}}),z={type:u.CommandType.MUTATION,id:"sheet.mutation.add-conditional-rule",handler(a,r){if(!r)return!1;const{unitId:n,subUnitId:e,rule:t}=r;return a.get(I).addRule(n,e,t),!0}},M2={type:u.CommandType.COMMAND,id:"sheet.command.add-conditional-rule",handler(a,r){if(!r)return!1;const{rule:n}=r,e=a.get(u.IUndoRedoService),t=a.get(u.ICommandService),i=a.get(I),s=a.get(u.IUniverInstanceService),o=p.getSheetCommandTarget(s,r);if(!o)return!1;const{unitId:d,subUnitId:l}=o,c=i.createCfId(d,l),h={unitId:d,subUnitId:l,rule:{...n,cfId:n.cfId||c}},g=_2(a,h),D=t.syncExecuteCommand(z.id,h);return D&&e.pushUndoRedo({unitID:d,redoMutations:[{id:z.id,params:h}],undoMutations:[g]}),D}},G={type:u.CommandType.MUTATION,id:"sheet.mutation.set-conditional-rule",handler(a,r){if(!r)return!1;const{unitId:n,subUnitId:e,rule:t}=r,i=r.cfId||r.rule.cfId;return a.get(I).setRule(n,e,t,i),!0}},C2=(a,r)=>{const n=a.get(I),{unitId:e,subUnitId:t}=r,i=r.cfId||r.rule.cfId,s=n.getRule(e,t,i);return s?[{id:G.id,params:{unitId:e,subUnitId:t,cfId:i,rule:u.Tools.deepClone(s)}}]:[]},I2={type:u.CommandType.COMMAND,id:"sheet.command.clear-range-conditional-rule",handler(a,r){var v;if(!r)return!1;const n=a.get(I),e=a.get(u.IUniverInstanceService),t=a.get(u.ICommandService),i=a.get(u.IUndoRedoService),s=a.get(p.SheetsSelectionsService),o=p.getSheetCommandTarget(e,r);if(!o)return!1;const{unitId:d,subUnitId:l}=o,c=((v=s.getCurrentSelections())==null?void 0:v.map(w=>w.range))||[],h=n.getSubunitRules(d,l);if(!(h!=null&&h.length)||!c.length)return!1;const g=[],D=[];h.forEach(w=>{const A=new u.ObjectMatrix;w.ranges.forEach(y=>{u.Range.foreach(y,(M,N)=>{A.setValue(M,N,1)})}),c.forEach(y=>{u.Range.foreach(y,(M,N)=>{A.realDeleteValue(M,N)})});const S=p.findAllRectangle(p.createTopMatrixFromMatrix(A));if(S.length){const y={...w,ranges:S},M={unitId:d,subUnitId:l,rule:y},N=C2(a,M);g.push({id:G.id,params:M}),D.push(...N)}else{const y={unitId:d,subUnitId:l,cfId:w.cfId},M=J(a,y);g.push({id:j.id,params:y}),D.push(...M)}});const m=u.sequenceExecute(g,t).result;return m&&i.pushUndoRedo({unitID:d,redoMutations:g,undoMutations:D}),m}},R2={type:u.CommandType.COMMAND,id:"sheet.command.clear-worksheet-conditional-rule",handler(a,r){const n=a.get(I),e=a.get(u.IUniverInstanceService),t=a.get(u.ICommandService),i=a.get(u.IUndoRedoService),s=p.getSheetCommandTarget(e,r);if(!s)return!1;const{unitId:o,subUnitId:d}=s,l=n.getSubunitRules(o,d);if(!(l!=null&&l.length))return!1;const c=l.map(m=>({cfId:m.cfId,unitId:o,subUnitId:d})),h=c.map(m=>({id:j.id,params:m})),g=c.map(m=>J(a,m)[0]),D=u.sequenceExecute(h,t).result;return D&&i.pushUndoRedo({unitID:o,redoMutations:h,undoMutations:g}),D}},x2={type:u.CommandType.COMMAND,id:"sheet.command.delete-conditional-rule",handler(a,r){if(!r)return!1;const n=a.get(u.IUndoRedoService),e=a.get(u.ICommandService),t=a.get(u.IUniverInstanceService),i=p.getSheetCommandTarget(t,r);if(!i)return!1;const{unitId:s,subUnitId:o}=i,d={unitId:s,subUnitId:o,cfId:r.cfId},l=J(a,d),c=e.syncExecuteCommand(j.id,d);return c&&n.pushUndoRedo({unitID:s,undoMutations:l,redoMutations:[{id:j.id,params:d}]}),c}},S2={type:u.CommandType.COMMAND,id:"sheet.command.move-conditional-rule",handler(a,r){if(!r)return!1;const n=a.get(u.IUndoRedoService),e=a.get(u.ICommandService),t=a.get(u.IUniverInstanceService),i=a.get(I),s=p.getSheetCommandTarget(t,r);if(!s)return!1;const{unitId:o,subUnitId:d}=s,l=g2(r.start,r.end,i.getSubunitRules(o,d)||[],v=>v.cfId);if(!l)return!1;const[c,h]=l,g={unitId:o,subUnitId:d,start:c,end:h},D=y2(g),m=e.syncExecuteCommand(Z.id,g);return m&&n.pushUndoRedo({unitID:o,redoMutations:[{id:Z.id,params:g}],undoMutations:D}),m}},b2={type:u.CommandType.COMMAND,id:"sheet.command.set-conditional-rule",handler(a,r){if(!r)return!1;const n=a.get(u.IUndoRedoService),e=a.get(u.ICommandService),t=a.get(u.IUniverInstanceService),i=p.getSheetCommandTarget(t,r);if(!i)return!1;const{unitId:s,subUnitId:o}=i,d={unitId:s,subUnitId:o,rule:r.rule,cfId:r.cfId},l=C2(a,d),c=e.syncExecuteCommand(G.id,d);return c&&n.pushUndoRedo({unitID:s,undoMutations:l,redoMutations:[{id:G.id,params:d}]}),c}},Q={type:u.CommandType.MUTATION,id:"sheet.mutation.conditional-formatting-formula-mark-dirty",handler(){return!0}};var e0=Object.getOwnPropertyDescriptor,t0=(a,r,n,e)=>{for(var t=e>1?void 0:e?e0(r,n):r,i=a.length-1,s;i>=0;i--)(s=a[i])&&(t=s(t)||t);return t},D2=(a,r)=>(n,e)=>r(n,e,a),T=(a=>(a[a.NOT_REGISTER=1]="NOT_REGISTER",a[a.SUCCESS=2]="SUCCESS",a[a.WAIT=3]="WAIT",a[a.ERROR=4]="ERROR",a))(T||{});const n0=a=>{const r=a&&a[0]&&a[0][0];return(r==null?void 0:r.t)===u.CellValueType.BOOLEAN?r.v===u.BooleanNumber.TRUE||r.v===!0:r?r.v:!1};C.ConditionalFormattingFormulaService=class extends u.Disposable{constructor(n,e,t){super();F(this,"_formulaMap",new Map);F(this,"_result$",new K.Subject);F(this,"result$",this._result$.asObservable());this._commandService=n,this._activeDirtyManagerService=e,this._conditionalFormattingRuleModel=t,this._initFormulaCalculationResultChange(),this._initRuleChange()}_initRuleChange(){const n=e=>{switch(e.type){case R.colorScale:return e.config.some(t=>t.value.type===x.formula);case R.dataBar:return[e.config.max,e.config.min].some(t=>t.type===x.formula);case R.iconSet:return e.config.some(t=>t.value.type===x.formula)}};this.disposeWithMe(this._conditionalFormattingRuleModel.$ruleChange.subscribe(e=>{const{unitId:t,subUnitId:i,rule:s,oldRule:o}=e;e.type==="delete"&&this._removeFormulaByCfId(t,i,s.cfId),e.type==="set"&&(n(s.rule)||o&&n(o.rule))&&this._removeFormulaByCfId(t,i,s.cfId)}))}_initFormulaCalculationResultChange(){this.disposeWithMe(this._commandService.onCommandExecuted(n=>{if(n.id===V.SetFormulaCalculationResultMutation.id){const e=n.params;for(const t in e.unitOtherData)for(const i in e.unitOtherData[t])for(const s in e.unitOtherData[t][i]){const o=new u.ObjectMatrix(e.unitOtherData[t][i][s]),d=this._ensureSubunitFormulaMap(t,i).getValue(s,["formulaId"]);if(!d)continue;const l=d.ranges;if(!l)continue;const c=d.result,h=l[0].startRow,g=l[0].startColumn;o.forValue((v,w,A)=>{c.setValue(h+v,g+w,n0(A))}),d.status=2;const m=this._getAllFormulaResultByCfId(t,i,d.cfId).every(v=>v.status===2);this._result$.next({...d,isAllFinished:m})}}})),this._activeDirtyManagerService.register(Q.id,{commandId:Q.id,getDirtyData(n){return{dirtyUnitOtherFormulaMap:n.params}}})}_ensureSubunitFormulaMap(n,e){let t=this._formulaMap.get(n);t||(t=new Map,this._formulaMap.set(n,t));let i=t.get(e);return i||(i=new u.RefAlias([],["formulaId","id"]),t.set(e,i)),i}getSubUnitFormulaMap(n,e){var t;return(t=this._formulaMap.get(n))==null?void 0:t.get(e)}registerFormulaWithRange(n,e,t,i,s=[{startRow:0,endRow:0,startColumn:0,endColumn:0}]){const o=this._ensureSubunitFormulaMap(n,e),d=this.createCFormulaId(t,i);if(o.getValue(d,["id"]))return;const l=this._createFormulaId(n,e);o.addValue({formulaText:i,unitId:n,subUnitId:e,cfId:t,id:d,ranges:s,formulaId:l,status:3,result:new u.ObjectMatrix});const c={unitId:n,subUnitId:e,formulaMap:{[l]:{f:i,ranges:s}}};this._commandService.executeCommand(V.SetOtherFormulaMutation.id,c,{onlyLocal:!0}).then(()=>{this._commandService.executeCommand(Q.id,{[n]:{[e]:{[l]:!0}}},{onlyLocal:!0})})}_removeFormulaByCfId(n,e,t){const s=this.deleteCache(n,e,t).map(o=>o.formulaId);this._commandService.executeCommand(V.RemoveOtherFormulaMutation.id,{unitId:n,subUnitId:e,formulaIdList:s},{onlyLocal:!0})}getFormulaResultWithCoords(n,e,t,i,s=0,o=0){const d=this.getSubUnitFormulaMap(n,e);if(!d)return{status:1};const l=d.getValue(this.createCFormulaId(t,i),["id"]);return l?l.status===2&&l.result?{result:l.result.getValue(s,o),status:2}:l.status===3?{status:3}:{status:4}:{status:1}}getFormulaMatrix(n,e,t,i){const s=this.getSubUnitFormulaMap(n,e);if(!s)return{status:1};const o=s.getValue(this.createCFormulaId(t,i),["id"]);if(!o)return{status:1};if(o.status===2&&o.result)return{result:o.result,status:2}}deleteCache(n,e,t,i){const s=this.getSubUnitFormulaMap(n,e);if(!s)return[];if(i){const o=this.createCFormulaId(t,i);return s.deleteValue(o,["id"]),[]}else{const o=s.getValues().filter(d=>d.cfId===t);return o.forEach(d=>{s.deleteValue(d.formulaId,["formulaId"])}),o}}_getAllFormulaResultByCfId(n,e,t){const i=this.getSubUnitFormulaMap(n,e);return i?i.getValues().filter(o=>o.cfId===t):[]}_createFormulaId(n,e){return`sheet.cf_${n}_${e}_${u.generateRandomId(8)}`}createCFormulaId(n,e){return`${n}_${e}`}},C.ConditionalFormattingFormulaService=t0([D2(0,u.Inject(u.ICommandService)),D2(1,u.Inject(V.IActiveDirtyManagerService)),D2(2,u.Inject(I))],C.ConditionalFormattingFormulaService);var B=(a=>(a.preComputingStart="preComputingStart",a.preComputing="preComputing",a.preComputingEnd="preComputingEnd",a.preComputingError="preComputingError",a))(B||{});class a2{constructor(r){F(this,"_cache");F(this,"_preComputingStatus$",new K.BehaviorSubject("preComputingStart"));F(this,"preComputingStatus$",this._preComputingStatus$.asObservable().pipe(i2.distinctUntilChanged()));F(this,"_preComputingCache");F(this,"_rule");this._context=r,this._cache=new u.LRUMap(r.limit),this._rule=r.rule,this._preComputingCache=null,this._initClearCacheListener()}setCacheLength(r){this._cache.limit=r}clearCache(){this._cache.clear()}resetPreComputingCache(){this._preComputingStatus$.next("preComputingStart"),this._preComputingCache=null}updateRule(r){this._rule=r,this.resetPreComputingCache()}getCell(r,n){const e=this._createKey(r,n);if(this._preComputingStatus$.getValue()==="preComputing")return this._cache.get(e);let t=this.getPreComputingResult(r,n);if(t===null&&(this._preComputingStatus$.next("preComputingStart"),this.preComputing(r,n,this._getContext()),t=this.getPreComputingResult(r,n),t===null))return this._cache.get(e);if(this._preComputingStatus$.next("preComputingEnd"),this._cache.has(e))return this._cache.get(e);const i=this.getCellResult(r,n,t,this._getContext());return i!==null&&this._setCache(r,n,i),i}setPreComputingCache(r){this._preComputingCache=r}getPreComputingResult(r,n){return this._preComputingCache}_createKey(r,n){return`${r}_${n}`}_setCache(r,n,e){const t=this._createKey(r,n);this._cache.set(t,e)}_getContext(){return{...this._context,rule:this._rule}}_initClearCacheListener(){this.preComputingStatus$.subscribe(r=>{r==="preComputingEnd"&&this.clearCache()})}}class i0 extends a2{preComputing(r,n,e){const t=e.rule,i=e.worksheet,s=new u.ObjectMatrix;!t.rule.config.every(c=>c.value.type===x.num)&&o2(t.ranges,i.getMaxRows()-1,i.getMaxColumns()-1).forEach(h=>{u.Range.foreach(h,(g,D)=>{const m=e.getCellValue(g,D),v=m&&m.v;if(!k(v)&&(m==null?void 0:m.t)===u.CellValueType.NUMBER){const w=Number(v);!Number.isNaN(w)&&s.setValue(g,D,w)}})});const d=[...t.rule.config].sort((c,h)=>c.index-h.index).map(c=>({value:t2(c.value,s,{...e,cfId:t.cfId}),color:new u.ColorKit(c.color)}));if(!d.some(c=>q.isObject(c.value)?c.value.status!==T.SUCCESS:!1)){const c=d.map(h=>h.color).reduce((h,g,D)=>(h.result.push({color:g,value:h.sortValue[D]}),h),{result:[],sortValue:d.map(h=>h.value.result).sort((h,g)=>h-g)}).result;this.setPreComputingCache(c),this._preComputingStatus$.next(B.preComputingEnd);return}this._preComputingStatus$.next(B.preComputing)}getCellResult(r,n,e,t){if(!e)return null;const i=t.getCellValue(r,n);if(i.t===u.CellValueType.NUMBER){const s=Number(i.v);if(!Number.isNaN(s))return V2(e,s)}}}const L2="sheet-conditional-rule-data-bar",f2="#ffbe38",m2="#abd91a",T2="#000",a0=34;class k2 extends q.SheetExtension{constructor(){super(...arguments);F(this,"_paddingRightAndLeft",2);F(this,"_paddingTopAndBottom",2);F(this,"uKey",L2);F(this,"Z_INDEX",a0);F(this,"_radius",1)}draw(n,e,t,i){const{worksheet:s}=t;if(!s)return!1;n.save(),u.Range.foreach(t.rowColumnSegment,(o,d)=>{if(!s.getRowVisible(o)||!s.getColVisible(d))return;const l=s.getCell(o,d);if(l&&l.dataBar){const{color:c,value:h,startPoint:g,isGradient:D}=l.dataBar,m=t.getCellWithCoordByIndex(o,d,!1);let{isMerged:v,isMergedMainCell:w,mergeInfo:A,startY:S,endY:y,startX:M,endX:N}=m;if(v||(w&&(S=A.startY,y=A.endY,M=A.startX,N=A.endX),!this.isRenderDiffRangesByCell(A,i)))return;const c2=N-M,w2=y+q.FIX_ONE_PIXEL_BLUR_OFFSET-S,d2=c2-this._paddingRightAndLeft*2,H2=w2-this._paddingTopAndBottom*2;if(h>0){const Y=Math.max(d2*(1-g/100)*h/100,1),$=M+this._paddingRightAndLeft+g/100*d2,P=S+this._paddingTopAndBottom;if(D){const W=n.createLinearGradient($,P,$+Y,P);W.addColorStop(0,c),W.addColorStop(1,"rgb(255 255 255)"),n.fillStyle=W,n.strokeStyle=c,n.lineWidth=1}else n.fillStyle=c;this._drawRectWithRoundedCorner(n,$,P,Y,H2,!1,!0,!0,!1),D&&n.stroke()}else{const Y=Math.max(d2*g/100*Math.abs(h)/100,1),$=M+this._paddingRightAndLeft+g/100*d2-Y,P=S+this._paddingTopAndBottom;if(D){const W=n.createLinearGradient($,P,$+Y,P);W.addColorStop(0,"rgb(255 255 255)"),W.addColorStop(1,c),n.fillStyle=W,n.strokeStyle=c,n.lineWidth=1}else n.fillStyle=c;this._drawRectWithRoundedCorner(n,$,P,Y,H2,!0,!1,!1,!0),D&&n.stroke()}}}),n.restore()}_drawRectWithRoundedCorner(n,e,t,i,s,o,d,l,c){const h=this._radius;!s||!i||(n.beginPath(),n.moveTo(e+h,t),n.lineTo(e+i-h,t),d?n.arcTo(e+i,t,e+i,t+h,h):n.lineTo(e+i,t),n.lineTo(e+i,t+s-h),l?n.arcTo(e+i,t+s,e+i-h,t+s,h):n.lineTo(e+i,t+s),n.lineTo(e+h,t+s),c?n.arcTo(e,t+s,e,t+s-h,h):n.lineTo(e,t+s),n.lineTo(e,t+h),o?n.arcTo(e,t,e+h,t,h):n.lineTo(e,t),n.closePath(),n.fill())}}q.SpreadsheetExtensionRegistry.add(k2);const r2=a=>Math.max(Math.min(100,a),0),r0=(a,r,n)=>{const e=n(a,r);if(e&&e.t===u.CellValueType.NUMBER){const t=Number(e.v);return Number.isNaN(t)?null:t}return null};class s0 extends a2{preComputing(r,n,e){const t=e.rule,i=t.rule,s=e.worksheet,o=new u.ObjectMatrix;![t.rule.config.max,t.rule.config.min].every(D=>D.type===x.num)&&o2(t.ranges,s.getMaxRows()-1,s.getMaxColumns()-1).forEach(m=>{u.Range.foreach(m,(v,w)=>{const A=e.getCellValue(v,w),S=A&&A.v;if(!k(S)&&(A==null?void 0:A.t)===u.CellValueType.NUMBER){const y=Number(S);!Number.isNaN(y)&&o.setValue(v,w,y)}})});const l=t2(i.config.min,o,{...e,cfId:t.cfId}),c=t2(i.config.max,o,{...e,cfId:t.cfId});let h=0,g=0;if(l.status===T.SUCCESS){const D=Number(l.result);h=Number.isNaN(D)?0:D}else{this._preComputingStatus$.next(B.preComputing);return}if(c.status===T.SUCCESS){const D=Number(c.result),m=Number.isNaN(D)?0:D;g=Math.max(m,h),h=Math.min(m,h);let v=50;if(h<0&&g<=0)v=100;else if(h<0&&g>0){const w=Math.abs(g)+Math.abs(h);v=Math.abs(h)/w*100}else h>=0&&g>0&&(v=0);this.setPreComputingCache({min:h,max:g,startPoint:v}),this._preComputingStatus$.next(B.preComputingEnd);return}this._preComputingStatus$.next(B.preComputing)}getCellResult(r,n,e,t){const{min:i,max:s,startPoint:o}=e,l=t.rule.rule,c=l.isShowValue,h=l.config.isGradient,g=r0(r,n,t.getCellValue);if(!(g===null||g<i||i===s||s<i)){if(g===0)return{color:T2,startPoint:o,value:0,isGradient:h,isShowValue:c};if(i<0&&s<=0){const D=s-i,m=r2((s-g)/D*100);return m===0?void 0:{color:l.config.nativeColor||m2,startPoint:o,value:-m,isGradient:h,isShowValue:c}}else if(i<0&&s>0)if(g>0){const D=r2(Math.min(g/s,1)*100);return D===0?void 0:{color:l.config.positiveColor||f2,startPoint:o,value:D,isGradient:h,isShowValue:c}}else{const D=r2(Math.min(Math.abs(g)/Math.abs(i),1)*100);return D===0?void 0:{color:l.config.nativeColor||m2,startPoint:o,value:-D,isGradient:h,isShowValue:c}}else if(i>=0&&s>0){const D=s-i,m=0,v=r2((1-(s-g)/D)*100);return v===0?void 0:{color:l.config.positiveColor||f2,startPoint:m,value:v,isGradient:h,isShowValue:c}}}}}class l0 extends a2{preComputing(r,n,e){const t=e.rule.rule,i=e.rule.ranges,o=(()=>{switch(t.subType){case _.average:{let d=0,l=0;return i.forEach(c=>{u.Range.foreach(c,(h,g)=>{const D=e.getCellValue(h,g),m=U(D||void 0);D&&D.t===u.CellValueType.NUMBER&&m!==void 0&&(d+=Number(m)||0,l++)})}),{value:d/l,type:t.subType}}case _.uniqueValues:case _.duplicateValues:{const d=new Map;return i.forEach(l=>{u.Range.foreach(l,(c,h)=>{const g=e.getCellValue(c,h),D=U(g||void 0);if(D!==void 0){const m=d.get(D);m?d.set(D,m+1):d.set(D,1)}})}),{value:d,type:t.subType}}case _.rank:{let d=[];i.forEach(h=>{u.Range.foreach(h,(g,D)=>{const m=e.getCellValue(g,D),v=U(m||void 0);m&&m.t===u.CellValueType.NUMBER&&v!==void 0&&d.push(Number(v)||0)})}),d.sort((h,g)=>g-h);const l=e.rule.rule;if(l.isPercent){l.isBottom&&(d=d.toReversed());const h=u.Tools.clamp(l.value,0,100)/100,g=Math.floor(h*d.length),D=u.Tools.clamp(g-1,0,d.length-1);return{value:d[D],type:t.subType}}const c=Math.floor(u.Tools.clamp(l.isBottom?l.value-1:l.value,0,d.length));return l.isBottom?{value:d[d.length-c-1],type:t.subType}:{value:d[Math.max(c-1,0)],type:t.subType}}case _.formula:{const d=t,l=e.accessor.get(C.ConditionalFormattingFormulaService);l.registerFormulaWithRange(e.unitId,e.subUnitId,e.rule.cfId,d.value,e.rule.ranges);const c=l.getFormulaMatrix(e.unitId,e.subUnitId,e.rule.cfId,d.value);return c&&c.status===T.SUCCESS?(this._preComputingStatus$.next(B.preComputingEnd),{value:c.result,type:t.subType}):(this._preComputingStatus$.next(B.preComputing),null)}case _.timePeriod:switch(t.operator){case L.last7Days:return{value:{start:u.dayjs().subtract(7,"day").valueOf(),end:u.dayjs().valueOf()},type:t.subType};case L.lastMonth:return{value:{start:u.dayjs().startOf("month").subtract(1,"month").valueOf(),end:u.dayjs().endOf("month").subtract(1,"month").valueOf()},type:t.subType};case L.lastWeek:return{value:{start:u.dayjs().startOf("week").subtract(1,"week").valueOf(),end:u.dayjs().endOf("week").subtract(1,"week").valueOf()},type:t.subType};case L.nextMonth:return{value:{start:u.dayjs().startOf("month").add(1,"month").valueOf(),end:u.dayjs().endOf("month").add(1,"month").valueOf()},type:t.subType};case L.nextWeek:return{value:{start:u.dayjs().startOf("week").add(1,"week").valueOf(),end:u.dayjs().endOf("week").add(1,"week").valueOf()},type:t.subType};case L.thisMonth:return{value:{start:u.dayjs().startOf("month").valueOf(),end:u.dayjs().endOf("month").valueOf()},type:t.subType};case L.thisWeek:return{value:{start:u.dayjs().startOf("week").valueOf(),end:u.dayjs().endOf("week").valueOf()},type:t.subType};case L.today:return{value:{start:u.dayjs().startOf("day").valueOf(),end:u.dayjs().endOf("day").valueOf()},type:t.subType};case L.tomorrow:return{value:{start:u.dayjs().startOf("day").add(1,"day").valueOf(),end:u.dayjs().endOf("day").add(1,"day").valueOf()},type:t.subType};case L.yesterday:return{value:{start:u.dayjs().startOf("day").subtract(1,"day").valueOf(),end:u.dayjs().endOf("day").subtract(1,"day").valueOf()},type:t.subType}}}})();this.setPreComputingCache(o)}getCellResult(r,n,e,t){const i=t.getCellValue(r,n),s=t.rule.rule;return(()=>{switch(s.subType){case _.number:{const l=i&&Number(i.v),c=(i==null?void 0:i.t)===u.CellValueType.NUMBER,h=s;return c?k(l)||Number.isNaN(l)?void 0:H({operator:h.operator,value:h.value||0},l||0):!![E.notEqual,E.notBetween].includes(h.operator)}case _.text:{const l=s,c=U(i),h=c===null?"":String(c),g=l.value||"";switch(l.operator){case b.beginsWith:return h.startsWith(g);case b.containsBlanks:return/^\s*$/.test(h);case b.notContainsBlanks:return!/^\s*$/.test(h);case b.containsErrors:return V.ERROR_TYPE_SET.has(h);case b.notContainsErrors:return!V.ERROR_TYPE_SET.has(h);case b.containsText:return h.indexOf(g)>-1;case b.notContainsText:return h.indexOf(g)===-1;case b.endsWith:return h.endsWith(g);case b.equal:return h===g;case b.notEqual:return h!==g;default:return!1}}case _.timePeriod:{const l=U(i);if(k(l)||Number.isNaN(Number(l))||(i==null?void 0:i.t)!==u.CellValueType.NUMBER||!e)return;const c=N2(Number(l)),{start:h,end:g}=e.value;return c>=h&&c<=g}case _.average:{const l=i&&i.v,c=Number(l),h=(i==null?void 0:i.t)===u.CellValueType.NUMBER,g=s;if(!h)return E.notEqual===g.operator;if(k(l)||Number.isNaN(c)||!e)return!1;const D=e.value;switch(g.operator){case E.greaterThan:return c>D;case E.greaterThanOrEqual:return c>=D;case E.lessThan:return c<D;case E.lessThanOrEqual:return c<=D;case E.equal:return e2(c,D);case E.notEqual:return!e2(c,D);default:return!1}}case _.rank:{const l=U(i),c=Number(l);if(k(l)||Number.isNaN(c)||(i==null?void 0:i.t)!==u.CellValueType.NUMBER||!e)return!1;const h=e.value;return s.isBottom?c<=h:c>=h}case _.uniqueValues:{const l=U(i);return k(l)||!e?!1:e.value.get(l)===1}case _.duplicateValues:{const l=U(i);return k(l)||!e?!1:e.value.get(l)!==1}case _.formula:{const l=e==null?void 0:e.value;return l?l.getValue(r,n)===!0:!1}}})()?s.style:{}}}const o0=(a,r,n)=>{const e=n(a,r);if(e&&e.t===u.CellValueType.NUMBER){const t=Number(e.v);return Number.isNaN(t)?null:t}return null};class u0 extends a2{preComputing(r,n,e){const t=e.rule.rule,i=e.worksheet,s=new u.ObjectMatrix;!t.config.every(c=>c.value.type===x.num)&&o2(e.rule.ranges,i.getMaxRows()-1,i.getMaxColumns()-1).forEach(h=>{u.Range.foreach(h,(g,D)=>{const m=e.getCellValue(g,D),v=m&&m.v;if(!k(v)&&(m==null?void 0:m.t)===u.CellValueType.NUMBER){const w=Number(v);!Number.isNaN(w)&&s.setValue(g,D,w)}})});const d=t.config.map(c=>t2(c.value,s,{...e,cfId:e.rule.cfId}));if(!d.some(c=>c.status!==T.SUCCESS)){const c=d.map((h,g)=>({operator:t.config[g].operator,value:Number(h.result)||0})).reduce((h,g,D,m)=>{const v=t.config[D];if(!D||D===m.length-1)h.push({...g,iconId:v.iconId,iconType:v.iconType});else{const w=m[D-1];H(w,g.value)||h.push({...g,iconId:v.iconId,iconType:v.iconType})}return h},[]);this.setPreComputingCache(c),this._preComputingStatus$.next(B.preComputingEnd);return}this._preComputingStatus$.next(B.preComputing)}getCellResult(r,n,e,t){if(!e)return null;const i=o0(r,n,t.getCellValue);if(i===null)return;const s=t.rule.rule,o=s.isShowValue===void 0?!0:!!s.isShowValue;for(let d=0;d<e.length;d++){const l=e[d],c={...l},h={...l},{iconId:g,iconType:D}=l;if(d===0){if(H(l,i))return{iconId:g,iconType:D,isShowValue:o}}else{if(d===e.length-1)return{iconId:g,iconType:D,isShowValue:o};{const m=e[d-1];if(h.operator=U2(m.operator),h.value=m.value,H(c,i)&&H(h,i))return{iconId:g,iconType:D,isShowValue:o}}}}}}var c0=Object.getOwnPropertyDescriptor,d0=(a,r,n,e)=>{for(var t=e>1?void 0:e?c0(r,n):r,i=a.length-1,s;i>=0;i--)(s=a[i])&&(t=s(t)||t);return t},s2=(a,r)=>(n,e)=>r(n,e,a);const l2=50*20*3*3;C.ConditionalFormattingViewModel=class extends u.Disposable{constructor(n,e,t,i){super();F(this,"_calculateUnitManagers",new Map);F(this,"_rTreeManager",new u.RTree);F(this,"_cellCache",new u.LRUMap(l2));F(this,"_markDirty$",new K.Subject);F(this,"markDirty$",this._markDirty$.asObservable());F(this,"_markRuleDirtyAtOnce",(n,e,t,i=!0)=>{if(this._cellCache.clear(),i){const o=this._ensureCalculateUnitManager(n,e).get(t);o&&o.resetPreComputingCache()}this._markDirty$.next({unitId:n,subUnitId:e,cfId:t})});F(this,"markRuleDirty",(()=>{const n=new K.Subject;return this.disposeWithMe(n.pipe(i2.bufferTime(100),i2.filter(e=>!!e.length),i2.map(e=>{const t=new Set,i=[];return e.forEach(s=>{const o=`${s.unitId}_${s.subUnitId}_${s.cfId}`;if(t.has(o)){if(s.isNeedResetPreComputingCache){const d=i.find(l=>l.cfId===s.cfId);d.isNeedResetPreComputingCache=!0}return}t.add(o),i.push({...s})}),i})).subscribe(e=>{e.forEach(t=>{this._markRuleDirtyAtOnce(t.unitId,t.subUnitId,t.cfId,t.isNeedResetPreComputingCache)})})),(e,t,i,s=!0)=>{n.next({unitId:e,subUnitId:t,cfId:i,isNeedResetPreComputingCache:s})}})());this._injector=n,this._conditionalFormattingRuleModel=e,this._conditionalFormattingFormulaService=t,this._univerInstanceService=i,this._initRuleListener(),this._handleCustomFormulasSeparately(),this._initCFFormulaListener()}_initCFFormulaListener(){this.disposeWithMe(this._conditionalFormattingFormulaService.result$.subscribe(({unitId:n,subUnitId:e,cfId:t,isAllFinished:i})=>{i&&this._markRuleDirtyAtOnce(n,e,t,i)}))}getCellCfs(n,e,t,i){const s=this._createCacheKey(n,e,t,i);if(this._cellCache.has(s))return this._cellCache.get(s);const o=this._getCellCfs(n,e,t,i);return o.length&&this._cellCache.set(s,o),o}_getCellCfs(n,e,t,i){var h;const s=(h=this._conditionalFormattingRuleModel.getSubunitRules(n,e))!=null?h:[],o=this._ensureCalculateUnitManager(n,e),d=this._rTreeManager.bulkSearch([{unitId:n,sheetId:e,range:{startColumn:i,endColumn:i,startRow:t,endRow:t}}]),l=s.filter(g=>d.has(g.cfId));return l.length?l.map(g=>{const D=o.get(g.cfId);return D?{cfId:g.cfId,result:D.getCell(t,i)}:null}).filter(g=>!!g).map((g,D)=>({...g,priority:D})):[]}_handleCustomFormulasSeparately(){this.disposeWithMe(this._conditionalFormattingRuleModel.$ruleChange.subscribe(n=>{if(n.type==="set"){const{unitId:e,subUnitId:t}=n,i=n.oldRule;i.rule.type===R.highlightCell&&i.rule.subType===_.formula&&this._conditionalFormattingFormulaService.deleteCache(e,t,i.cfId)}}))}_initRuleListener(){this.disposeWithMe(this._conditionalFormattingRuleModel.$ruleChange.subscribe(n=>{const{unitId:e,subUnitId:t,rule:i}=n,{cfId:s,ranges:o}=i,d=this._ensureCalculateUnitManager(e,t);switch(this.markRuleDirty(e,t,s),n.type){case"add":{this._rTreeManager.bulkInsert(o.map(c=>({unitId:e,sheetId:t,id:s,range:c})));const l=this._createRuleCalculateUnitInstance(e,t,i);if(!l)return;d.set(i.cfId,l);break}case"delete":{this._rTreeManager.bulkRemove(o.map(l=>({unitId:e,sheetId:t,id:s,range:l}))),d.delete(i.cfId);break}case"set":{const l=n.oldRule;if(this._rTreeManager.bulkRemove(l.ranges.map(c=>({unitId:e,sheetId:t,id:l.cfId,range:c}))),this._rTreeManager.bulkInsert(o.map(c=>({unitId:e,sheetId:t,id:s,range:c}))),l.rule.type!==i.rule.type){const c=this._createRuleCalculateUnitInstance(e,t,i);if(!c)return;d.delete(l.cfId),d.set(i.cfId,c)}else{const c=d.get(l.cfId);if(!c)return;c.updateRule(i)}}}}))}_ensureCalculateUnitManager(n,e){let t=this._calculateUnitManagers.get(n);t||(t=new Map,this._calculateUnitManagers.set(n,t));let i=t.get(e);return i||(i=new Map,t.set(e,i)),i}_createRuleCalculateUnitInstance(n,e,t){const i=this._univerInstanceService.getUnit(n),s=i==null?void 0:i.getSheetBySheetId(e);if(!i||!s)return;const o={workbook:i,worksheet:s,unitId:n,subUnitId:e,accessor:this._injector,rule:t,limit:l2,getCellValue:(d,l)=>s.getCellRaw(d,l)||{}};switch(t.rule.type){case R.colorScale:return new i0(o);case R.dataBar:return new s0(o);case R.highlightCell:return new l0(o);case R.iconSet:return new u0(o)}}_createCacheKey(n,e,t,i){return`${n}_${e}_${t}_${i}`}setCacheLength(n=l2){this._cellCache.limit!==n&&(this._cellCache.limit=n,this._calculateUnitManagers.forEach(e=>{e.forEach(t=>{t.forEach(i=>{i.setCacheLength(n)})})}))}},C.ConditionalFormattingViewModel=d0([s2(0,u.Inject(u.Injector)),s2(1,u.Inject(I)),s2(2,u.Inject(C.ConditionalFormattingFormulaService)),s2(3,u.IUniverInstanceService)],C.ConditionalFormattingViewModel);function e2(a,r){return Math.abs(a-r)<Number.EPSILON}const k=a=>[void 0,null].includes(a),U=a=>{var e,t;if(!a)return null;if(a.t===u.CellValueType.BOOLEAN)return a.v===u.BooleanNumber.TRUE?V.BooleanValue.TRUE:V.BooleanValue.FALSE;const r=a.v,n=(t=(e=a.p)==null?void 0:e.body)==null?void 0:t.dataStream.replace(/\r\n$/,"");return k(r)?k(n)?null:n:r},v2=86400;function B2(a,r=!0){if(r&&a>=0){if(a===0)return[1900,1,0];if(a===60)return[1900,2,29];if(a<60)return[1900,a<32?1:2,(a-1)%31+1]}let n=a+68569+2415019;const e=Math.floor(4*n/146097);n=n-Math.floor((146097*e+3)/4);const t=Math.floor(4e3*(n+1)/1461001);n=n-Math.floor(1461*t/4)+31;const i=Math.floor(80*n/2447),s=n-Math.floor(2447*i/80);n=Math.floor(i/11);const o=i+2-12*n;return[100*(e-49)+t+n|0,o|0,s|0]}const N2=a=>{let r=a|0;const n=v2*(a-r);let e=Math.floor(n);n-e>.9999&&(e+=1,e===v2&&(e=0,r+=1));const t=e<0?v2+e:e,[i,s,o]=B2(a,!0),d=Math.floor(t/60/60)%60,l=Math.floor(t/60)%60,c=Math.floor(t)%60;return u.dayjs(`${i}/${s}/${o} ${d}:${l}:${c}`).valueOf()},t2=(a,r,n)=>{switch(a.type){case x.max:{let e=0;return r.forValue((t,i,s)=>{s>e&&(e=s)}),{status:T.SUCCESS,result:e}}case x.min:{let e;return r.forValue((t,i,s)=>{e===void 0&&(e=s),s<e&&(e=s)}),{status:T.SUCCESS,result:e}}case x.percent:{let e,t;r.forValue((o,d,l)=>{(e===void 0||t===void 0)&&(e=l,t=l),l>e&&(e=l),l<t&&(t=l)});const i=(e||0)-(t||0),s=Math.max(Math.min(Number(a.value)||0,100),0);return{status:T.SUCCESS,result:i*(s/100)+(t||0)}}case x.percentile:{const e=r.toNativeArray().sort((l,c)=>l-c),t=Math.max(Math.min(Number(a.value)||0,100),0),i=(e.length-1)*t/100,s=Math.floor(i),o=i-s,d=e[s]+(e[Math.min(s+1,e.length-1)]-e[s])*o;return{status:T.SUCCESS,result:d}}case x.formula:{const{accessor:e,unitId:t,subUnitId:i,cfId:s}=n,o=String(a.value),d=e.get(C.ConditionalFormattingFormulaService);return d.registerFormulaWithRange(t,i,s,o),d.getFormulaResultWithCoords(t,i,s,o)}case x.num:{const e=Number(a.value);return{status:T.SUCCESS,result:Number.isNaN(e)?0:e}}}},h0=(a,r,n,e)=>{const{accessor:t}=e,i=t.get(C.ConditionalFormattingViewModel),s=new u.ObjectMatrix;return n.ranges.forEach(o=>{u.Range.foreach(o,(d,l)=>{const c=i.getCellCfs(a,r,d,l);if(c){const h=c.find(g=>g.cfId===n.cfId);h!=null&&h.result&&s.setValue(d,l,h.result)}})}),s},H=(a,r)=>{switch(a.operator){case E.between:{if(typeof a.value!="object"||!a.value.length)return;const n=Math.min(...a.value),e=Math.max(...a.value);return r>=n&&r<=e}case E.notBetween:{if(typeof a.value!="object"||!a.value.length)return;const n=Math.min(...a.value),e=Math.max(...a.value);return!(r>=n&&r<=e)}case E.equal:{const n=a.value||0;return e2(n,r)}case E.notEqual:{const n=a.value||0;return!e2(n,r)}case E.greaterThan:{const n=a.value||0;return r>n}case E.greaterThanOrEqual:{const n=a.value||0;return r>=n}case E.lessThan:{const n=a.value||0;return r<n}case E.lessThanOrEqual:{const n=a.value||0;return r<=n}default:return!1}},U2=a=>{switch(a){case E.greaterThan:return E.lessThanOrEqual;case E.greaterThanOrEqual:return E.lessThan;case E.lessThan:return E.greaterThanOrEqual;case E.lessThanOrEqual:return E.greaterThan}return a},V2=(a,r)=>{const n=i=>i.a!==void 0?i:{...i,a:1},e=a.findIndex(i=>i.value>=r),t=e-1;if(e===0)return a[0].color.toRgbString();if(t>=0){const i=a[t],s=a[e];if(i.color.isValid&&s.color.isValid){const o=n(i.color.toRgb()),d=n(s.color.toRgb()),l=s.value-i.value,c=(r-i.value)/l,h=["r","g","b","a"].reduce((D,m)=>{const v=o[m];return D[m]=(d[m]-v)*c+v,D},{});return new u.ColorKit(h).toRgbString()}}else return a[a.length-1].color.toRgbString()},o2=(a,r,n)=>a.map(e=>{if(e.startColumn>n||e.startRow>r)return null;const t={...e};return t.endRow=Math.min(t.endRow,r),t.endColumn=Math.min(t.endColumn,n),t}).filter(e=>!!e);function g0(a){let r=0;return new u.ObjectMatrix(a).forValue((n,e,t)=>{r=Math.max(Number.isNaN(r)?0:r,Number(t))}),r}const f={feedback:{mistake:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%229.99999%22%20cy%3D%2210%22%20r%3D%227.03704%22%20fill%3D%22%23FE4B4B%22%2F%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M6.87359%206.87332C6.6146%207.13231%206.6146%207.55221%206.87359%207.8112L9.062%209.99961L6.87356%2012.188C6.61457%2012.447%206.61457%2012.8669%206.87356%2013.1259C7.13255%2013.3849%207.55245%2013.3849%207.81144%2013.1259L9.99987%2010.9375L12.1882%2013.1258C12.4472%2013.3848%2012.8671%2013.3848%2013.1261%2013.1258C13.3851%2012.8669%2013.3851%2012.447%2013.1261%2012.188L10.9378%209.99961L13.1261%207.81127C13.3851%207.55228%2013.3851%207.13238%2013.1261%206.87339C12.8671%206.61441%2012.4472%206.61441%2012.1882%206.87339L9.99987%209.06173L7.81147%206.87332C7.55248%206.61433%207.13257%206.61433%206.87359%206.87332Z%22%20fill%3D%22%23FFFFFF%22%2F%3E%0A%3C%2Fsvg%3E%0A",warn:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%229.99999%22%20cy%3D%2210%22%20r%3D%227.03704%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3Cpath%20d%3D%22M9.16817%206.67735C9.16646%206.61745%209.1656%206.5875%209.16653%206.56236C9.18103%206.16817%209.49136%205.84883%209.88497%205.82306C9.91008%205.82141%209.94004%205.82141%209.99996%205.82141V5.82141C10.0599%205.82141%2010.0899%205.82141%2010.115%205.82306C10.5086%205.84883%2010.8189%206.16817%2010.8334%206.56236C10.8343%206.5875%2010.8335%206.61745%2010.8318%206.67735L10.7043%2011.131C10.6934%2011.5121%2010.3812%2011.8154%209.99995%2011.8154V11.8154C9.61866%2011.8154%209.30655%2011.5121%209.29564%2011.131L9.16817%206.67735Z%22%20fill%3D%22%23FFFFFF%22%2F%3E%0A%3Crect%20x%3D%229.31488%22%20y%3D%2212.8086%22%20width%3D%221.37006%22%20height%3D%221.37006%22%20rx%3D%220.685032%22%20fill%3D%22%23FFFFFF%22%2F%3E%0A%3C%2Fsvg%3E%0A",correct:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M17.037%2010C17.037%2013.8865%2013.8864%2017.0371%209.99999%2017.0371C6.11354%2017.0371%202.96295%2013.8865%202.96295%2010C2.96295%206.1136%206.11354%202.96301%209.99999%202.96301C13.8864%202.96301%2017.037%206.1136%2017.037%2010Z%22%20fill%3D%22%2359D01E%22%2F%3E%0A%3Cpath%20d%3D%22M13.9239%207.17477C13.6638%206.91472%2013.2422%206.91472%2012.9821%207.17477L8.74433%2011.4126L7.01786%209.6861C6.75781%209.42606%206.33619%209.42606%206.07614%209.6861C5.81609%209.94615%205.81609%2010.3678%206.07614%2010.6278L8.27349%2012.8252C8.53354%2013.0852%208.95516%2013.0852%209.21521%2012.8252L9.2195%2012.8209L13.9239%208.1165C14.1839%207.85645%2014.1839%207.43482%2013.9239%207.17477Z%22%20fill%3D%22%23FFFFFF%22%2F%3E%0A%3C%2Fsvg%3E%0A"},star:{starEmpty:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M10.3437%203.3312L11.6861%206.67412C11.8451%207.0699%2012.2165%207.33978%2012.6421%207.36863L16.2362%207.61233C16.5693%207.63492%2016.7048%208.05202%2016.4486%208.26608L13.6841%2010.5758C13.3568%2010.8493%2013.215%2011.2859%2013.319%2011.6996L14.1979%2015.1931C14.2793%2015.5168%2013.9245%2015.7746%2013.6418%2015.5971L10.5908%2013.6817C10.2296%2013.4549%209.77045%2013.4549%209.40924%2013.6817L6.35828%2015.5971C6.07553%2015.7746%205.72072%2015.5168%205.80217%2015.1931L6.68105%2011.6996C6.7851%2011.2859%206.64322%2010.8493%206.31592%2010.5758L3.55145%208.26607C3.29525%208.05202%203.43078%207.63492%203.76386%207.61233L7.358%207.36863C7.78352%207.33978%208.15498%207.0699%208.31391%206.67412L9.65633%203.3312C9.78074%203.0214%2010.2193%203.0214%2010.3437%203.3312Z%22%20fill%3D%22%23fff%22%20stroke%3D%22%23FFBD37%22%20stroke-width%3D%220.740741%22%2F%3E%0A%3C%2Fsvg%3E%0A",starIncomplete:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cg%20clip-path%3D%22url(%23clip0_613_177)%22%3E%0A%3Cmask%20id%3D%22mask0_613_177%22%20style%3D%22mask-type%3Aalpha%22%20maskUnits%3D%22userSpaceOnUse%22%20x%3D%2210%22%20y%3D%220%22%20width%3D%2210%22%20height%3D%2220%22%3E%0A%3Crect%20x%3D%2210.3704%22%20y%3D%220.37037%22%20width%3D%229.25926%22%20height%3D%2219.2593%22%20fill%3D%22%23C4C4C4%22%20stroke%3D%22%23F7D564%22%20stroke-width%3D%220.740741%22%2F%3E%0A%3C%2Fmask%3E%0A%3Cg%20mask%3D%22url(%23mask0_613_177)%22%3E%0A%3Cpath%20d%3D%22M10.3437%203.3312L11.6861%206.67412C11.845%207.0699%2012.2165%207.33978%2012.642%207.36863L16.2361%207.61233C16.5692%207.63492%2016.7047%208.05202%2016.4485%208.26608L13.6841%2010.5758C13.3568%2010.8493%2013.2149%2011.2859%2013.3189%2011.6996L14.1978%2015.1931C14.2793%2015.5168%2013.9245%2015.7746%2013.6417%2015.5971L10.5908%2013.6817C10.2295%2013.4549%209.77039%2013.4549%209.40918%2013.6817L6.35822%2015.5971C6.07547%2015.7746%205.72066%2015.5168%205.80211%2015.1931L6.68098%2011.6996C6.78504%2011.2859%206.64316%2010.8493%206.31586%2010.5758L3.55139%208.26607C3.29519%208.05202%203.43072%207.63492%203.7638%207.61233L7.35793%207.36863C7.78346%207.33978%208.15491%207.0699%208.31385%206.67412L9.65627%203.3312C9.78068%203.0214%2010.2192%203.0214%2010.3437%203.3312Z%22%20fill%3D%22%23fff%22%20stroke%3D%22%23FFBD37%22%20stroke-width%3D%220.740741%22%2F%3E%0A%3C%2Fg%3E%0A%3Cmask%20id%3D%22mask1_613_177%22%20style%3D%22mask-type%3Aalpha%22%20maskUnits%3D%22userSpaceOnUse%22%20x%3D%220%22%20y%3D%220%22%20width%3D%2210%22%20height%3D%2220%22%3E%0A%3Crect%20width%3D%2210%22%20height%3D%2220%22%20fill%3D%22%23C4C4C4%22%2F%3E%0A%3C%2Fmask%3E%0A%3Cg%20mask%3D%22url(%23mask1_613_177)%22%3E%0A%3Cpath%20d%3D%22M10.3437%203.3312L11.6861%206.67412C11.845%207.0699%2012.2165%207.33978%2012.642%207.36863L16.2361%207.61233C16.5692%207.63492%2016.7047%208.05202%2016.4485%208.26608L13.6841%2010.5758C13.3568%2010.8493%2013.2149%2011.2859%2013.3189%2011.6996L14.1978%2015.1931C14.2793%2015.5168%2013.9245%2015.7746%2013.6417%2015.5971L10.5908%2013.6817C10.2295%2013.4549%209.77039%2013.4549%209.40918%2013.6817L6.35822%2015.5971C6.07547%2015.7746%205.72066%2015.5168%205.80211%2015.1931L6.68098%2011.6996C6.78504%2011.2859%206.64316%2010.8493%206.31586%2010.5758L3.55139%208.26607C3.29519%208.05202%203.43072%207.63492%203.7638%207.61233L7.35793%207.36863C7.78346%207.33978%208.15491%207.0699%208.31385%206.67412L9.65627%203.3312C9.78068%203.0214%2010.2192%203.0214%2010.3437%203.3312Z%22%20fill%3D%22%23FFBD37%22%20stroke%3D%22%23FFBD37%22%20stroke-width%3D%220.740741%22%2F%3E%0A%3C%2Fg%3E%0A%3C%2Fg%3E%0A%3Cdefs%3E%0A%3CclipPath%20id%3D%22clip0_613_177%22%3E%0A%3Crect%20width%3D%2220%22%20height%3D%2220%22%20fill%3D%22white%22%2F%3E%0A%3C%2FclipPath%3E%0A%3C%2Fdefs%3E%0A%3C%2Fsvg%3E%0A",starFull:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M10.3437%203.3312L11.6861%206.67412C11.8451%207.0699%2012.2165%207.33978%2012.6421%207.36863L16.2362%207.61233C16.5693%207.63492%2016.7048%208.05202%2016.4486%208.26608L13.6841%2010.5758C13.3568%2010.8493%2013.215%2011.2859%2013.319%2011.6996L14.1979%2015.1931C14.2793%2015.5168%2013.9245%2015.7746%2013.6418%2015.5971L10.5908%2013.6817C10.2296%2013.4549%209.77045%2013.4549%209.40924%2013.6817L6.35828%2015.5971C6.07553%2015.7746%205.72072%2015.5168%205.80217%2015.1931L6.68105%2011.6996C6.7851%2011.2859%206.64322%2010.8493%206.31592%2010.5758L3.55145%208.26607C3.29525%208.05202%203.43078%207.63492%203.76386%207.61233L7.358%207.36863C7.78352%207.33978%208.15498%207.0699%208.31391%206.67412L9.65633%203.3312C9.78074%203.0214%2010.2193%203.0214%2010.3437%203.3312Z%22%20fill%3D%22%23FFBD37%22%20stroke%3D%22%23FFBD37%22%20stroke-width%3D%220.740741%22%2F%3E%0A%3C%2Fsvg%3E%0A"},progress:{progress0:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%229.99993%22%20r%3D%226.66667%22%20stroke%3D%22%237A7A7A%22%20stroke-width%3D%220.740741%22%2F%3E%0A%3C%2Fsvg%3E%0A",progress25:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%229.99993%22%20r%3D%226.66667%22%20stroke%3D%22%237A7A7A%22%20stroke-width%3D%220.740741%22%2F%3E%0A%3Cpath%20d%3D%22M16.2963%209.99991C16.2963%209.17307%2016.1335%208.35432%2015.8171%207.59042C15.5006%206.82652%2015.0369%206.13242%2014.4522%205.54776C13.8675%204.96309%2013.1734%204.49931%2012.4095%204.18289C11.6456%203.86647%2010.8269%203.70361%2010%203.70361L10%209.99991H16.2963Z%22%20fill%3D%22%237A7A7A%22%2F%3E%0A%3C%2Fsvg%3E%0A",progress50:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%229.99993%22%20r%3D%226.66667%22%20stroke%3D%22%237A7A7A%22%20stroke-width%3D%220.740741%22%2F%3E%0A%3Cpath%20d%3D%22M10%2016.2962C11.6699%2016.2962%2013.2714%2015.6328%2014.4522%2014.4521C15.633%2013.2713%2016.2963%2011.6698%2016.2963%209.99991C16.2963%208.33003%2015.633%206.72854%2014.4522%205.54776C13.2714%204.36697%2011.6699%203.70361%2010%203.70361L10%209.99991L10%2016.2962Z%22%20fill%3D%22%237A7A7A%22%2F%3E%0A%3C%2Fsvg%3E%0A",progress75:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%229.99993%22%20r%3D%226.66667%22%20stroke%3D%22%237A7A7A%22%20stroke-width%3D%220.740741%22%2F%3E%0A%3Cpath%20d%3D%22M3.70374%209.99991C3.70374%2011.2452%204.07301%2012.4625%204.76485%2013.4979C5.4567%2014.5334%206.44005%2015.3404%207.59054%2015.8169C8.74104%2016.2935%2010.007%2016.4182%2011.2284%2016.1752C12.4497%2015.9323%2013.5716%2015.3326%2014.4522%2014.4521C15.3327%2013.5715%2015.9324%2012.4496%2016.1753%2011.2283C16.4183%2010.0069%2016.2936%208.74092%2015.8171%207.59042C15.3405%206.43992%2014.5335%205.45658%2013.4981%204.76473C12.4626%204.07288%2011.2453%203.70361%2010%203.70361L10%209.99991L3.70374%209.99991Z%22%20fill%3D%22%237A7A7A%22%2F%3E%0A%3C%2Fsvg%3E%0A",progress100:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%229.99993%22%20r%3D%226.66667%22%20stroke%3D%22%237A7A7A%22%20stroke-width%3D%220.740741%22%2F%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%229.99991%22%20r%3D%226.2963%22%20fill%3D%22%237A7A7A%22%2F%3E%0A%3C%2Fsvg%3E%0A"},signal:{signal0:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%2214.4764%22%20y%3D%222.98926%22%20width%3D%222.3%22%20height%3D%2214.0597%22%20rx%3D%220.5%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%2210.7255%22%20y%3D%225.93921%22%20width%3D%222.3%22%20height%3D%2211.1096%22%20rx%3D%220.5%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%226.97455%22%20y%3D%229.70435%22%20width%3D%222.3%22%20height%3D%227.3443%22%20rx%3D%220.5%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%223.22363%22%20y%3D%2213.3302%22%20width%3D%222.3%22%20height%3D%223.71851%22%20rx%3D%220.5%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3C%2Fsvg%3E%0A",signal25:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%2214.4764%22%20y%3D%222.98926%22%20width%3D%222.3%22%20height%3D%2214.0597%22%20rx%3D%220.5%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%2210.7255%22%20y%3D%225.93921%22%20width%3D%222.3%22%20height%3D%2211.1096%22%20rx%3D%220.5%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%226.97455%22%20y%3D%229.70435%22%20width%3D%222.3%22%20height%3D%227.3443%22%20rx%3D%220.5%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%223.22363%22%20y%3D%2213.3302%22%20width%3D%222.3%22%20height%3D%223.71851%22%20rx%3D%220.5%22%20fill%3D%22%230493EE%22%2F%3E%0A%3C%2Fsvg%3E%0A",signal50:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%2214.4764%22%20y%3D%222.98926%22%20width%3D%222.3%22%20height%3D%2214.0597%22%20rx%3D%220.5%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%2210.7255%22%20y%3D%225.93921%22%20width%3D%222.3%22%20height%3D%2211.1096%22%20rx%3D%220.5%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%226.97455%22%20y%3D%229.70435%22%20width%3D%222.3%22%20height%3D%227.3443%22%20rx%3D%220.5%22%20fill%3D%22%230493EE%22%2F%3E%0A%3Crect%20x%3D%223.22363%22%20y%3D%2213.3302%22%20width%3D%222.3%22%20height%3D%223.71851%22%20rx%3D%220.5%22%20fill%3D%22%230493EE%22%2F%3E%0A%3C%2Fsvg%3E%0A",signal75:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%2214.4764%22%20y%3D%222.98926%22%20width%3D%222.3%22%20height%3D%2214.0597%22%20rx%3D%220.5%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%2210.7255%22%20y%3D%225.93921%22%20width%3D%222.3%22%20height%3D%2211.1096%22%20rx%3D%220.5%22%20fill%3D%22%230493EE%22%2F%3E%0A%3Crect%20x%3D%226.97455%22%20y%3D%229.70435%22%20width%3D%222.3%22%20height%3D%227.3443%22%20rx%3D%220.5%22%20fill%3D%22%230493EE%22%2F%3E%0A%3Crect%20x%3D%223.22363%22%20y%3D%2213.3302%22%20width%3D%222.3%22%20height%3D%223.71851%22%20rx%3D%220.5%22%20fill%3D%22%230493EE%22%2F%3E%0A%3C%2Fsvg%3E%0A",signal100:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%2214.4764%22%20y%3D%222.98926%22%20width%3D%222.3%22%20height%3D%2214.0597%22%20rx%3D%220.5%22%20fill%3D%22%230493EE%22%2F%3E%0A%3Crect%20x%3D%2210.7255%22%20y%3D%225.93933%22%20width%3D%222.3%22%20height%3D%2211.1096%22%20rx%3D%220.5%22%20fill%3D%22%230493EE%22%2F%3E%0A%3Crect%20x%3D%226.97455%22%20y%3D%229.70447%22%20width%3D%222.3%22%20height%3D%227.3443%22%20rx%3D%220.5%22%20fill%3D%22%230493EE%22%2F%3E%0A%3Crect%20x%3D%223.22363%22%20y%3D%2213.3302%22%20width%3D%222.3%22%20height%3D%223.71851%22%20rx%3D%220.5%22%20fill%3D%22%230493EE%22%2F%3E%0A%3C%2Fsvg%3E%0A"},feeling:{guffaw:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M16.887%2010C16.887%2013.8037%2013.8036%2016.8871%209.99999%2016.8871C6.19638%2016.8871%203.11295%2013.8037%203.11295%2010C3.11295%206.19644%206.19638%203.11301%209.99999%203.11301C13.8036%203.11301%2016.887%206.19644%2016.887%2010Z%22%20fill%3D%22%23FFBD37%22%20stroke%3D%22%238F5F00%22%20stroke-width%3D%220.3%22%2F%3E%0A%3Crect%20x%3D%227.40741%22%20y%3D%227.40735%22%20width%3D%221.48148%22%20height%3D%221.48148%22%20rx%3D%220.740741%22%20fill%3D%22%238F5F00%22%2F%3E%0A%3Crect%20x%3D%2211.1111%22%20y%3D%227.40735%22%20width%3D%221.48148%22%20height%3D%221.48148%22%20rx%3D%220.740741%22%20fill%3D%22%238F5F00%22%2F%3E%0A%3Cpath%20d%3D%22M12.5355%2013.5821C13.0482%2013.1841%2013.3951%2012.6107%2013.5405%2012.0327C13.5934%2011.8226%2013.5051%2011.6349%2013.3518%2011.5331C13.2036%2011.4346%2013.0031%2011.4203%2012.8265%2011.5131C11.0615%2012.4407%208.94609%2012.4427%207.1828%2011.513C7.00629%2011.4199%206.80602%2011.4343%206.65798%2011.5329C6.50518%2011.6346%206.41701%2011.8217%206.46844%2012.0312C6.61029%2012.609%206.95079%2013.1833%207.46449%2013.5821C8.14361%2014.1093%209.05608%2014.3999%2010%2014.3999C10.9439%2014.3999%2011.8564%2014.1093%2012.5355%2013.5821Z%22%20fill%3D%22white%22%20stroke%3D%22%238F5F00%22%20stroke-width%3D%220.4%22%2F%3E%0A%3C%2Fsvg%3E%0A",smile:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%229.99999%22%20cy%3D%2210%22%20r%3D%226.88704%22%20fill%3D%22%23FFBD37%22%20stroke%3D%22%238F5F00%22%20stroke-width%3D%220.3%22%2F%3E%0A%3Crect%20x%3D%227.40741%22%20y%3D%227.40735%22%20width%3D%221.48148%22%20height%3D%221.48148%22%20rx%3D%220.740741%22%20fill%3D%22%238F5F00%22%2F%3E%0A%3Crect%20x%3D%2211.1111%22%20y%3D%227.40735%22%20width%3D%221.48148%22%20height%3D%221.48148%22%20rx%3D%220.740741%22%20fill%3D%22%238F5F00%22%2F%3E%0A%3Cpath%20d%3D%22M7.03705%2011.8518C7.03705%2011.8518%207.77779%2013.7037%2010%2013.7037C12.2222%2013.7037%2012.963%2011.8518%2012.963%2011.8518%22%20stroke%3D%22%238F5F00%22%20stroke-width%3D%220.962963%22%20stroke-linecap%3D%22round%22%2F%3E%0A%3C%2Fsvg%3E%0A",noninductive:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%229.99999%22%20cy%3D%2210%22%20r%3D%226.88704%22%20fill%3D%22%23FFBD37%22%20stroke%3D%22%238F5F00%22%20stroke-width%3D%220.3%22%2F%3E%0A%3Crect%20x%3D%227.40741%22%20y%3D%227.9259%22%20width%3D%221.48148%22%20height%3D%221.11111%22%20rx%3D%220.555556%22%20fill%3D%22%238F5F00%22%2F%3E%0A%3Crect%20x%3D%2211.1111%22%20y%3D%227.9259%22%20width%3D%221.48148%22%20height%3D%221.11111%22%20rx%3D%220.555556%22%20fill%3D%22%238F5F00%22%2F%3E%0A%3Cpath%20d%3D%22M7.03705%2012.5927C7.03705%2012.5927%208.14816%2012.5927%2010.3704%2012.5927C12.5926%2012.5927%2012.963%2012.5927%2012.963%2012.5927%22%20stroke%3D%22%238F5F00%22%20stroke-width%3D%220.962963%22%20stroke-linecap%3D%22round%22%2F%3E%0A%3C%2Fsvg%3E%0A",dissatisfied:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%229.99999%22%20cy%3D%2210%22%20r%3D%226.88704%22%20fill%3D%22%23FFBD37%22%20stroke%3D%22%238F5F00%22%20stroke-width%3D%220.3%22%2F%3E%0A%3Crect%20x%3D%227.40741%22%20y%3D%227.40735%22%20width%3D%221.48148%22%20height%3D%221.48148%22%20rx%3D%220.740741%22%20fill%3D%22%238F5F00%22%2F%3E%0A%3Crect%20x%3D%2211.1111%22%20y%3D%227.40735%22%20width%3D%221.48148%22%20height%3D%221.48148%22%20rx%3D%220.740741%22%20fill%3D%22%238F5F00%22%2F%3E%0A%3Cpath%20d%3D%22M7.03705%2013.7037C7.03705%2013.7037%207.77779%2011.8519%2010%2011.8519C12.2222%2011.8519%2012.963%2013.7037%2012.963%2013.7037%22%20stroke%3D%22%238F5F00%22%20stroke-width%3D%220.962963%22%20stroke-linecap%3D%22round%22%2F%3E%0A%3C%2Fsvg%3E%0A",impatient:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%229.99999%22%20cy%3D%2210%22%20r%3D%226.88704%22%20fill%3D%22%23FFBD37%22%20stroke%3D%22%238F5F00%22%20stroke-width%3D%220.3%22%2F%3E%0A%3Crect%20x%3D%227.40741%22%20y%3D%227.40735%22%20width%3D%221.48148%22%20height%3D%221.48148%22%20rx%3D%220.740741%22%20fill%3D%22%238F5F00%22%2F%3E%0A%3Crect%20x%3D%2211.1111%22%20y%3D%227.40735%22%20width%3D%221.48148%22%20height%3D%221.48148%22%20rx%3D%220.740741%22%20fill%3D%22%238F5F00%22%2F%3E%0A%3Cpath%20d%3D%22M7.47573%2011.731C6.96306%2012.129%206.61613%2012.7024%206.47071%2013.2804C6.41784%2013.4905%206.50617%2013.6782%206.65942%2013.78C6.80761%2013.8785%207.00813%2013.8928%207.18477%2013.8C8.9498%2012.8724%2011.0652%2012.8704%2012.8285%2013.8002C13.005%2013.8932%2013.2052%2013.8788%2013.3533%2013.7802C13.5061%2013.6785%2013.5942%2013.4914%2013.5428%2013.2819C13.401%2012.7041%2013.0605%2012.1298%2012.5468%2011.731C11.8676%2011.2038%2010.9552%2010.9132%2010.0112%2010.9132C9.06732%2010.9132%208.15485%2011.2038%207.47573%2011.731Z%22%20fill%3D%22white%22%20stroke%3D%22%238F5F00%22%20stroke-width%3D%220.4%22%2F%3E%0A%3C%2Fsvg%3E%0A"},arrow:JSON.parse('{"down-red":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M8.90467%203.99244C8.84611%204.1338%208.84611%204.31301%208.84611%204.67143V13.716L5.92068%2010.7906C5.66724%2010.5371%205.54052%2010.4104%205.39916%2010.3519C5.21067%2010.2738%204.9989%2010.2738%204.81041%2010.3519C4.66905%2010.4104%204.54233%2010.5371%204.28889%2010.7906C4.03545%2011.044%203.90873%2011.1707%203.85018%2011.3121C3.77211%2011.5006%203.77211%2011.7124%203.85018%2011.9008C3.90873%2012.0422%204.03545%2012.1689%204.28889%2012.4224L9.03476%2017.1682C9.07839%2017.2127%209.12737%2017.2617%209.18231%2017.3166L9.18239%2017.3167L9.18241%2017.3167C9.40545%2017.5398%209.53035%2017.6647%209.65346%2017.7313C9.67085%2017.7408%209.6882%2017.7492%209.70577%2017.7564C9.89425%2017.8345%2010.106%2017.8345%2010.2945%2017.7564C10.4359%2017.6979%2010.5626%2017.5712%2010.816%2017.3177C10.8986%2017.2352%2010.9677%2017.1661%2011.0253%2017.1056L15.7095%2012.4214L15.7095%2012.4213C15.963%2012.1679%2016.0897%2012.0412%2016.1482%2011.8998C16.2263%2011.7114%2016.2263%2011.4996%2016.1482%2011.3111C16.0897%2011.1697%2015.963%2011.043%2015.7095%2010.7896C15.4561%2010.5361%2015.3294%2010.4094%2015.188%2010.3509C14.9995%2010.2728%2014.7878%2010.2728%2014.5993%2010.3509C14.4579%2010.4094%2014.3312%2010.5361%2014.0778%2010.7896L14.0777%2010.7896L11.1538%2013.7135V4.67142C11.1538%204.31301%2011.1538%204.1338%2011.0953%203.99244C11.0172%203.80395%2010.8674%203.6542%2010.6789%203.57613C10.5376%203.51758%2010.3584%203.51758%209.99996%203.51758C9.64154%203.51758%209.46233%203.51758%209.32097%203.57613C9.13249%203.6542%208.98274%203.80395%208.90467%203.99244Z%22%20fill%3D%22%23FE4B4B%22%2F%3E%0A%3C%2Fsvg%3E%0A","right-gold":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M3.32508%2011.7609C3.46644%2011.8194%203.64565%2011.8194%204.00407%2011.8194H13.049L10.1235%2014.745C9.87002%2014.9984%209.7433%2015.1251%209.68475%2015.2665C9.60668%2015.455%209.60668%2015.6668%209.68475%2015.8552C9.7433%2015.9966%209.87002%2016.1233%2010.1235%2016.3768C10.3769%2016.6302%2010.5036%2016.7569%2010.645%2016.8155C10.8335%2016.8935%2011.0452%2016.8935%2011.2337%2016.8155C11.3751%2016.7569%2011.5018%2016.6302%2011.7552%2016.3768L16.5105%2011.6215C16.5524%2011.5803%2016.5983%2011.5344%2016.6493%2011.4834L16.6495%2011.4831C16.8561%2011.2765%2016.9785%2011.1542%2017.0484%2011.0394C17.0648%2011.0128%2017.0782%2010.9866%2017.0893%2010.9599C17.1674%2010.7714%2017.1674%2010.5596%2017.0893%2010.3711C17.0308%2010.2298%2016.904%2010.1031%2016.6506%209.84962C16.5685%209.76752%2016.4997%209.69872%2016.4394%209.64123L11.7542%204.95601C11.5007%204.70257%2011.374%204.57585%2011.2327%204.5173C11.0442%204.43923%2010.8324%204.43923%2010.6439%204.5173C10.5026%204.57585%2010.3758%204.70257%2010.1224%204.95601L10.1224%204.95601C9.86895%205.20945%209.74223%205.33617%209.68368%205.47753C9.60561%205.66601%209.60561%205.87779%209.68368%206.06627C9.74223%206.20764%209.86895%206.33436%2010.1224%206.5878L13.0463%209.51175H4.00407C3.64565%209.51175%203.46644%209.51175%203.32508%209.5703C3.1366%209.64837%202.98685%209.79812%202.90877%209.98661C2.85022%2010.128%202.85022%2010.3072%202.85022%2010.6656C2.85022%2011.024%202.85022%2011.2032%202.90877%2011.3446C2.98685%2011.5331%203.1366%2011.6828%203.32508%2011.7609Z%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3C%2Fsvg%3E%0A","up-green":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M11.0936%2017.3406C11.1522%2017.1992%2011.1522%2017.02%2011.1522%2016.6616V7.61701L14.0776%2010.5424C14.3311%2010.7959%2014.4578%2010.9226%2014.5991%2010.9811C14.7876%2011.0592%2014.9994%2011.0592%2015.1879%2010.9811C15.3292%2010.9226%2015.456%2010.7959%2015.7094%2010.5424C15.9628%2010.289%2016.0896%2010.1623%2016.1481%2010.0209C16.2262%209.83243%2016.2262%209.62066%2016.1481%209.43217C16.0896%209.29081%2015.9628%209.16409%2015.7094%208.91065L10.9645%204.16576C10.9207%204.12105%2010.8714%204.07178%2010.8161%204.01648L10.8159%204.0163C10.5916%203.792%2010.4666%203.66696%2010.3428%203.60058C10.3261%203.59154%2010.3094%203.58358%2010.2925%203.57658C10.104%203.49851%209.89226%203.49851%209.70378%203.57658C9.56242%203.63514%209.4357%203.76186%209.18226%204.0153C9.09955%204.09801%209.03034%204.16722%208.97258%204.22785L4.28878%208.91166C4.03534%209.1651%203.90862%209.29182%203.85006%209.43318C3.77199%209.62166%203.77199%209.83344%203.85006%2010.0219C3.90862%2010.1633%204.03534%2010.29%204.28878%2010.5434C4.54221%2010.7969%204.66893%2010.9236%204.8103%2010.9822C4.99878%2011.0602%205.21056%2011.0602%205.39904%2010.9822C5.5404%2010.9236%205.66712%2010.7969%205.92056%2010.5434L5.92056%2010.5434L8.84449%207.61951V16.6616C8.84449%2017.02%208.84449%2017.1992%208.90305%2017.3406C8.98112%2017.5291%209.13087%2017.6788%209.31935%2017.7569C9.46072%2017.8154%209.63992%2017.8154%209.99834%2017.8154C10.3568%2017.8154%2010.536%2017.8154%2010.6773%2017.7569C10.8658%2017.6788%2011.0156%2017.5291%2011.0936%2017.3406Z%22%20fill%3D%22%2359D01E%22%2F%3E%0A%3C%2Fsvg%3E%0A","rightAndDown-gold":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M4.5062%206.72126C4.56476%206.86262%204.69148%206.98934%204.94492%207.24278L11.3404%2013.6382L7.20313%2013.6382C6.84471%2013.6382%206.66551%2013.6382%206.52414%2013.6968C6.33566%2013.7749%206.18591%2013.9246%206.10784%2014.1131C6.04928%2014.2545%206.04928%2014.4337%206.04928%2014.7921C6.04928%2015.1505%206.04928%2015.3297%206.10784%2015.4711C6.18591%2015.6596%206.33566%2015.8093%206.52414%2015.8874C6.66551%2015.9459%206.84471%2015.9459%207.20313%2015.9459L13.9194%2015.9459C13.9805%2015.9465%2014.0484%2015.9465%2014.1243%2015.9465H14.1243C14.4353%2015.9465%2014.6114%2015.9465%2014.7449%2015.9082C14.7659%2015.9023%2014.7859%2015.8954%2014.8052%2015.8874C14.9937%2015.8093%2015.1434%2015.6596%2015.2215%2015.4711C15.2801%2015.3297%2015.2801%2015.1505%2015.2801%2014.7921C15.2801%2014.6767%2015.2801%2014.5799%2015.2781%2014.497L15.2781%207.86957C15.2781%207.51115%2015.2781%207.33194%2015.2195%207.19058C15.1415%207.0021%2014.9917%206.85235%2014.8032%206.77428C14.6619%206.71572%2014.4827%206.71572%2014.1243%206.71572C13.7658%206.71572%2013.5866%206.71572%2013.4453%206.77428C13.2568%206.85235%2013.107%207.0021%2013.029%207.19058C12.9704%207.33194%2012.9704%207.51115%2012.9704%207.86957L12.9704%2012.0047L6.5767%205.61099C6.32326%205.35755%206.19654%205.23083%206.05518%205.17228C5.8667%205.09421%205.65492%205.09421%205.46644%205.17228C5.32508%205.23083%205.19836%205.35755%204.94492%205.61099C4.69148%205.86443%204.56476%205.99115%204.5062%206.13251C4.42813%206.32099%204.42813%206.53277%204.5062%206.72126Z%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3C%2Fsvg%3E%0A","rightAndUp-gold":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M6.05431%2016.1597C6.19567%2016.1012%206.32239%2015.9745%206.57583%2015.721L12.9712%209.32568L12.9712%2013.4626C12.9712%2013.821%2012.9712%2014.0002%2013.0297%2014.1416C13.1078%2014.3301%2013.2576%2014.4798%2013.446%2014.5579C13.5874%2014.6164%2013.7666%2014.6164%2014.125%2014.6164C14.4834%2014.6164%2014.6626%2014.6164%2014.804%2014.5579C14.9925%2014.4798%2015.1422%2014.3301%2015.2203%2014.1416C15.2789%2014.0002%2015.2789%2013.821%2015.2789%2013.4626L15.2789%206.75233C15.2795%206.68972%2015.2795%206.62004%2015.2795%206.54182L15.2795%206.54157C15.2795%206.22585%2015.2795%206.04918%2015.2395%205.91495C15.2339%205.89605%2015.2276%205.878%2015.2203%205.86053C15.1422%205.67204%2014.9925%205.52229%2014.804%205.44422C14.6626%205.38567%2014.4834%205.38567%2014.125%205.38567L14.125%205.38567C14.0075%205.38567%2013.9093%205.38567%2013.8254%205.38773L7.20256%205.38773C6.84414%205.38773%206.66493%205.38773%206.52357%205.44628C6.33509%205.52436%206.18534%205.6741%206.10727%205.86259C6.04871%206.00395%206.04871%206.18315%206.04871%206.54156V6.54157L6.04871%206.54159C6.04871%206.9%206.04871%207.0792%206.10727%207.22056C6.18534%207.40905%206.33509%207.55879%206.52357%207.63687C6.66493%207.69542%206.84414%207.69542%207.20256%207.69542H11.3379L4.94405%2014.0892C4.69061%2014.3427%204.56389%2014.4694%204.50533%2014.6108C4.42726%2014.7992%204.42726%2015.011%204.50533%2015.1995C4.56389%2015.3409%204.69061%2015.4676%204.94405%2015.721C5.19749%2015.9745%205.32421%2016.1012%205.46557%2016.1597C5.65405%2016.2378%205.86583%2016.2378%206.05431%2016.1597Z%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3C%2Fsvg%3E%0A","down-gray":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M8.90467%203.99244C8.84611%204.1338%208.84611%204.31301%208.84611%204.67143V13.716L5.92068%2010.7906C5.66724%2010.5371%205.54052%2010.4104%205.39916%2010.3519C5.21067%2010.2738%204.9989%2010.2738%204.81041%2010.3519C4.66905%2010.4104%204.54233%2010.5371%204.28889%2010.7906C4.03545%2011.044%203.90873%2011.1707%203.85018%2011.3121C3.77211%2011.5006%203.77211%2011.7124%203.85018%2011.9008C3.90873%2012.0422%204.03545%2012.1689%204.28889%2012.4224L9.03476%2017.1682C9.07839%2017.2127%209.12737%2017.2617%209.18231%2017.3166L9.18239%2017.3167L9.18241%2017.3167C9.40545%2017.5398%209.53035%2017.6647%209.65346%2017.7313C9.67085%2017.7408%209.6882%2017.7492%209.70577%2017.7564C9.89425%2017.8345%2010.106%2017.8345%2010.2945%2017.7564C10.4359%2017.6979%2010.5626%2017.5712%2010.816%2017.3177C10.8986%2017.2352%2010.9677%2017.1661%2011.0253%2017.1056L15.7095%2012.4214L15.7095%2012.4213C15.963%2012.1679%2016.0897%2012.0412%2016.1482%2011.8998C16.2263%2011.7114%2016.2263%2011.4996%2016.1482%2011.3111C16.0897%2011.1697%2015.963%2011.043%2015.7095%2010.7896C15.4561%2010.5361%2015.3294%2010.4094%2015.188%2010.3509C14.9995%2010.2728%2014.7878%2010.2728%2014.5993%2010.3509C14.4579%2010.4094%2014.3312%2010.5361%2014.0778%2010.7896L14.0777%2010.7896L11.1538%2013.7135V4.67142C11.1538%204.31301%2011.1538%204.1338%2011.0953%203.99244C11.0172%203.80395%2010.8674%203.6542%2010.6789%203.57613C10.5376%203.51758%2010.3584%203.51758%209.99996%203.51758C9.64154%203.51758%209.46233%203.51758%209.32097%203.57613C9.13249%203.6542%208.98274%203.80395%208.90467%203.99244Z%22%20fill%3D%22%23999999%22%2F%3E%0A%3C%2Fsvg%3E%0A","right-gray":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M3.32508%2011.7609C3.46644%2011.8194%203.64565%2011.8194%204.00407%2011.8194H13.049L10.1235%2014.745C9.87002%2014.9984%209.7433%2015.1251%209.68475%2015.2665C9.60668%2015.455%209.60668%2015.6668%209.68475%2015.8552C9.7433%2015.9966%209.87002%2016.1233%2010.1235%2016.3768C10.3769%2016.6302%2010.5036%2016.7569%2010.645%2016.8155C10.8335%2016.8935%2011.0452%2016.8935%2011.2337%2016.8155C11.3751%2016.7569%2011.5018%2016.6302%2011.7552%2016.3768L16.5105%2011.6215C16.5524%2011.5803%2016.5983%2011.5344%2016.6493%2011.4834L16.6495%2011.4831C16.8561%2011.2765%2016.9785%2011.1542%2017.0484%2011.0394C17.0648%2011.0128%2017.0782%2010.9866%2017.0893%2010.9599C17.1674%2010.7714%2017.1674%2010.5596%2017.0893%2010.3711C17.0308%2010.2298%2016.904%2010.1031%2016.6506%209.84962C16.5685%209.76752%2016.4997%209.69872%2016.4394%209.64123L11.7542%204.95601C11.5007%204.70257%2011.374%204.57585%2011.2327%204.5173C11.0442%204.43923%2010.8324%204.43923%2010.6439%204.5173C10.5026%204.57585%2010.3758%204.70257%2010.1224%204.95601L10.1224%204.95601C9.86895%205.20945%209.74223%205.33617%209.68368%205.47753C9.60561%205.66601%209.60561%205.87779%209.68368%206.06627C9.74223%206.20764%209.86895%206.33436%2010.1224%206.5878L13.0463%209.51175H4.00407C3.64565%209.51175%203.46644%209.51175%203.32508%209.5703C3.1366%209.64837%202.98685%209.79812%202.90877%209.98661C2.85022%2010.128%202.85022%2010.3072%202.85022%2010.6656C2.85022%2011.024%202.85022%2011.2032%202.90877%2011.3446C2.98685%2011.5331%203.1366%2011.6828%203.32508%2011.7609Z%22%20fill%3D%22%23999999%22%2F%3E%0A%3C%2Fsvg%3E%0A","up-gray":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M11.0936%2017.3406C11.1522%2017.1992%2011.1522%2017.02%2011.1522%2016.6616V7.61701L14.0776%2010.5424C14.3311%2010.7959%2014.4578%2010.9226%2014.5991%2010.9811C14.7876%2011.0592%2014.9994%2011.0592%2015.1879%2010.9811C15.3292%2010.9226%2015.456%2010.7959%2015.7094%2010.5424C15.9628%2010.289%2016.0896%2010.1623%2016.1481%2010.0209C16.2262%209.83243%2016.2262%209.62066%2016.1481%209.43217C16.0896%209.29081%2015.9628%209.16409%2015.7094%208.91065L10.9645%204.16576C10.9207%204.12105%2010.8714%204.07178%2010.8161%204.01648L10.8159%204.0163C10.5916%203.792%2010.4666%203.66696%2010.3428%203.60058C10.3261%203.59154%2010.3094%203.58358%2010.2925%203.57658C10.104%203.49851%209.89226%203.49851%209.70378%203.57658C9.56242%203.63514%209.4357%203.76186%209.18226%204.0153C9.09955%204.09801%209.03034%204.16722%208.97258%204.22785L4.28878%208.91166C4.03534%209.1651%203.90862%209.29182%203.85006%209.43318C3.77199%209.62166%203.77199%209.83344%203.85006%2010.0219C3.90862%2010.1633%204.03534%2010.29%204.28878%2010.5434C4.54221%2010.7969%204.66893%2010.9236%204.8103%2010.9822C4.99878%2011.0602%205.21056%2011.0602%205.39904%2010.9822C5.5404%2010.9236%205.66712%2010.7969%205.92056%2010.5434L5.92056%2010.5434L8.84449%207.61951V16.6616C8.84449%2017.02%208.84449%2017.1992%208.90305%2017.3406C8.98112%2017.5291%209.13087%2017.6788%209.31935%2017.7569C9.46072%2017.8154%209.63992%2017.8154%209.99834%2017.8154C10.3568%2017.8154%2010.536%2017.8154%2010.6773%2017.7569C10.8658%2017.6788%2011.0156%2017.5291%2011.0936%2017.3406Z%22%20fill%3D%22%23999999%22%2F%3E%0A%3C%2Fsvg%3E%0A","rightAndDown-gray":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M4.5062%206.72126C4.56476%206.86262%204.69148%206.98934%204.94492%207.24278L11.3404%2013.6382L7.20313%2013.6382C6.84471%2013.6382%206.66551%2013.6382%206.52414%2013.6968C6.33566%2013.7749%206.18591%2013.9246%206.10784%2014.1131C6.04928%2014.2545%206.04928%2014.4337%206.04928%2014.7921C6.04928%2015.1505%206.04928%2015.3297%206.10784%2015.4711C6.18591%2015.6596%206.33566%2015.8093%206.52414%2015.8874C6.66551%2015.9459%206.84471%2015.9459%207.20313%2015.9459L13.9194%2015.9459C13.9805%2015.9465%2014.0484%2015.9465%2014.1243%2015.9465H14.1243C14.4353%2015.9465%2014.6114%2015.9465%2014.7449%2015.9082C14.7659%2015.9023%2014.7859%2015.8954%2014.8052%2015.8874C14.9937%2015.8093%2015.1434%2015.6596%2015.2215%2015.4711C15.2801%2015.3297%2015.2801%2015.1505%2015.2801%2014.7921C15.2801%2014.6767%2015.2801%2014.5799%2015.2781%2014.497L15.2781%207.86957C15.2781%207.51115%2015.2781%207.33194%2015.2195%207.19058C15.1415%207.0021%2014.9917%206.85235%2014.8032%206.77428C14.6619%206.71572%2014.4827%206.71572%2014.1243%206.71572C13.7658%206.71572%2013.5866%206.71572%2013.4453%206.77428C13.2568%206.85235%2013.107%207.0021%2013.029%207.19058C12.9704%207.33194%2012.9704%207.51115%2012.9704%207.86957L12.9704%2012.0047L6.5767%205.61099C6.32326%205.35755%206.19654%205.23083%206.05518%205.17228C5.8667%205.09421%205.65492%205.09421%205.46644%205.17228C5.32508%205.23083%205.19836%205.35755%204.94492%205.61099C4.69148%205.86443%204.56476%205.99115%204.5062%206.13251C4.42813%206.32099%204.42813%206.53277%204.5062%206.72126Z%22%20fill%3D%22%23999999%22%2F%3E%0A%3C%2Fsvg%3E%0A","rightAndUp-gray":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M6.05431%2016.1597C6.19567%2016.1012%206.32239%2015.9745%206.57583%2015.721L12.9712%209.32568L12.9712%2013.4626C12.9712%2013.821%2012.9712%2014.0002%2013.0297%2014.1416C13.1078%2014.3301%2013.2576%2014.4798%2013.446%2014.5579C13.5874%2014.6164%2013.7666%2014.6164%2014.125%2014.6164C14.4834%2014.6164%2014.6626%2014.6164%2014.804%2014.5579C14.9925%2014.4798%2015.1422%2014.3301%2015.2203%2014.1416C15.2789%2014.0002%2015.2789%2013.821%2015.2789%2013.4626L15.2789%206.75233C15.2795%206.68972%2015.2795%206.62004%2015.2795%206.54182L15.2795%206.54157C15.2795%206.22585%2015.2795%206.04918%2015.2395%205.91495C15.2339%205.89605%2015.2276%205.878%2015.2203%205.86053C15.1422%205.67204%2014.9925%205.52229%2014.804%205.44422C14.6626%205.38567%2014.4834%205.38567%2014.125%205.38567L14.125%205.38567C14.0075%205.38567%2013.9093%205.38567%2013.8254%205.38773L7.20256%205.38773C6.84414%205.38773%206.66493%205.38773%206.52357%205.44628C6.33509%205.52436%206.18534%205.6741%206.10727%205.86259C6.04871%206.00395%206.04871%206.18315%206.04871%206.54156V6.54157L6.04871%206.54159C6.04871%206.9%206.04871%207.0792%206.10727%207.22056C6.18534%207.40905%206.33509%207.55879%206.52357%207.63687C6.66493%207.69542%206.84414%207.69542%207.20256%207.69542H11.3379L4.94405%2014.0892C4.69061%2014.3427%204.56389%2014.4694%204.50533%2014.6108C4.42726%2014.7992%204.42726%2015.011%204.50533%2015.1995C4.56389%2015.3409%204.69061%2015.4676%204.94405%2015.721C5.19749%2015.9745%205.32421%2016.1012%205.46557%2016.1597C5.65405%2016.2378%205.86583%2016.2378%206.05431%2016.1597Z%22%20fill%3D%22%23999999%22%2F%3E%0A%3C%2Fsvg%3E%0A"}'),shape:{cross:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%223.70374%22%20y%3D%228.14795%22%20width%3D%2212.5926%22%20height%3D%223.7037%22%20rx%3D%220.740741%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3C%2Fsvg%3E%0A",up:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M9.44533%205.81157C9.74012%205.47858%2010.2598%205.47858%2010.5546%205.81157L16.2868%2012.2867C16.71%2012.7647%2016.3706%2013.5184%2015.7322%2013.5184H4.26776C3.62933%2013.5184%203.28995%2012.7647%203.71313%2012.2867L9.44533%205.81157Z%22%20fill%3D%22%2359D01E%22%2F%3E%0A%3C%2Fsvg%3E%0A",down:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M10.5547%2014.1884C10.2599%2014.5214%209.74019%2014.5214%209.4454%2014.1884L3.71321%207.71335C3.29002%207.23532%203.6294%206.48161%204.26784%206.48161L15.7322%206.48161C16.3707%206.48161%2016.7101%207.23532%2016.2869%207.71335L10.5547%2014.1884Z%22%20fill%3D%22%23FE4B4B%22%2F%3E%0A%3C%2Fsvg%3E%0A","rhomboid-red":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M2.1415%2011.1984C1.8412%2010.9074%201.8412%2010.4256%202.1415%2010.1346L9.48467%203.01785C9.77196%202.73942%2010.2284%202.73942%2010.5157%203.01786L17.8586%2010.1346C18.1589%2010.4256%2018.1589%2010.9074%2017.8586%2011.1984L10.5157%2018.3151C10.2284%2018.5936%209.77196%2018.5936%209.48467%2018.3152L2.1415%2011.1984Z%22%20fill%3D%22%23FE4B4B%22%2F%3E%0A%3C%2Fsvg%3E%0A","roundness-greed":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%2210.6664%22%20r%3D%227.03704%22%20fill%3D%22%2359D01E%22%2F%3E%0A%3C%2Fsvg%3E%0A","roundness-gold":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%2210.6664%22%20r%3D%227.03704%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3C%2Fsvg%3E%0A","roundness-red":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%2210.6664%22%20r%3D%227.03704%22%20fill%3D%22%23FE4B4B%22%2F%3E%0A%3C%2Fsvg%3E%0A","roundness-pink":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%2210.6664%22%20r%3D%227.03704%22%20fill%3D%22%23FB9D9D%22%2F%3E%0A%3C%2Fsvg%3E%0A","roundness-gray":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%2210.6664%22%20r%3D%227.03704%22%20fill%3D%22%23999999%22%2F%3E%0A%3C%2Fsvg%3E%0A","roundness-black":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%2210.6664%22%20r%3D%227.03704%22%20fill%3D%22black%22%2F%3E%0A%3C%2Fsvg%3E%0A","triangle-gold":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cg%20clip-path%3D%22url(%23clip0_613_237)%22%3E%0A%3Cpath%20d%3D%22M9.32308%204.41301C9.58368%203.82623%2010.4164%203.82623%2010.677%204.413L15.9526%2016.2917C16.1701%2016.7815%2015.8115%2017.3331%2015.2756%2017.3331H4.72454C4.18858%2017.3331%203.83002%2016.7815%204.04756%2016.2917L9.32308%204.41301Z%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3C%2Fg%3E%0A%3Cdefs%3E%0A%3CclipPath%20id%3D%22clip0_613_237%22%3E%0A%3Crect%20width%3D%2220%22%20height%3D%2220%22%20fill%3D%22white%22%20transform%3D%22translate(0%200.666504)%22%2F%3E%0A%3C%2FclipPath%3E%0A%3C%2Fdefs%3E%0A%3C%2Fsvg%3E%0A","indicate-greed":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%222.76941%22%20y%3D%222.76941%22%20width%3D%2214.4612%22%20height%3D%2214.4612%22%20rx%3D%223%22%20fill%3D%22black%22%2F%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%2210%22%20r%3D%224.5%22%20fill%3D%22%2359D01E%22%2F%3E%0A%3C%2Fsvg%3E%0A","indicate-gold":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%222.76941%22%20y%3D%222.76941%22%20width%3D%2214.4612%22%20height%3D%2214.4612%22%20rx%3D%223%22%20fill%3D%22black%22%2F%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%2210%22%20r%3D%224.5%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3C%2Fsvg%3E%0A","indicate-red":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%222.76941%22%20y%3D%222.76941%22%20width%3D%2214.4612%22%20height%3D%2214.4612%22%20rx%3D%223%22%20fill%3D%22black%22%2F%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%2210%22%20r%3D%224.5%22%20fill%3D%22%23FE4B4B%22%2F%3E%0A%3C%2Fsvg%3E%0A"},feedback2:{mistake2:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M4.12194%206.33702C4.1805%206.47839%204.30722%206.6051%204.56066%206.85854L8.36822%2010.6661L4.56062%2014.4737C4.30718%2014.7272%204.18046%2014.8539%204.12191%2014.9952C4.04384%2015.1837%204.04384%2015.3955%204.12191%2015.584C4.18046%2015.7253%204.30718%2015.8521%204.56062%2016.1055C4.81406%2016.3589%204.94078%2016.4857%205.08214%2016.5442C5.27062%2016.6223%205.4824%2016.6223%205.67089%2016.5442C5.81225%2016.4857%205.93897%2016.3589%206.19241%2016.1055L10%2012.2979L13.8074%2016.1053C14.0609%2016.3588%2014.1876%2016.4855%2014.329%2016.544C14.5174%2016.6221%2014.7292%2016.6221%2014.9177%2016.544C15.0591%2016.4855%2015.1858%2016.3588%2015.4392%2016.1053L15.4392%2016.1053C15.6927%2015.8519%2015.8194%2015.7252%2015.8779%2015.5838C15.956%2015.3953%2015.956%2015.1835%2015.8779%2014.9951C15.8194%2014.8537%2015.6927%2014.727%2015.4392%2014.4735L15.4392%2014.4735L11.6318%2010.6661L15.4392%206.85872C15.6926%206.60528%2015.8193%206.47856%2015.8779%206.3372C15.956%206.14871%2015.956%205.93694%2015.8779%205.74845C15.8193%205.60709%2015.6926%205.48037%2015.4392%205.22693C15.1857%204.97349%2015.059%204.84677%2014.9177%204.78822C14.7292%204.71015%2014.5174%204.71015%2014.3289%204.78822C14.1876%204.84677%2014.0608%204.97349%2013.8074%205.22693L10%209.03433L6.19244%205.22676C5.939%204.97332%205.81228%204.8466%205.67092%204.78805C5.48244%204.70997%205.27066%204.70997%205.08218%204.78805C4.94082%204.8466%204.8141%204.97332%204.56066%205.22676L4.56066%205.22676C4.30722%205.4802%204.1805%205.60692%204.12194%205.74828C4.04387%205.93676%204.04387%206.14854%204.12194%206.33702Z%22%20fill%3D%22%23FE4B4B%22%2F%3E%0A%3C%2Fsvg%3E%0A",warn2:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M8.49778%205.00963C8.48513%204.56774%208.47881%204.3468%208.56086%204.17746C8.63301%204.02856%208.75124%203.90689%208.89802%203.83052C9.06494%203.74365%209.28597%203.74365%209.72805%203.74365H10.272C10.714%203.74365%2010.9351%203.74365%2011.102%203.83052C11.2488%203.9069%2011.367%204.02856%2011.4392%204.17746C11.5212%204.3468%2011.5149%204.56775%2011.5022%205.00964L11.2644%2013.3173C11.2524%2013.737%2011.2464%2013.9468%2011.1609%2014.1065C11.0857%2014.2471%2010.9687%2014.3609%2010.826%2014.432C10.6639%2014.5129%2010.454%2014.5129%2010.0342%2014.5129H9.96582C9.54601%2014.5129%209.33611%2014.5129%209.17397%2014.432C9.0313%2014.3609%208.91426%2014.2471%208.83904%2014.1065C8.75357%2013.9468%208.74756%2013.737%208.73555%2013.3173L8.49778%205.00963Z%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3Crect%20x%3D%228.76917%22%20y%3D%2215.2817%22%20width%3D%222.46154%22%20height%3D%222.46154%22%20rx%3D%220.769231%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3C%2Fsvg%3E%0A",correct2:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cg%20clip-path%3D%22url(%23clip0_613_248)%22%3E%0A%3Cpath%20d%3D%22M15.689%205.69723C15.5476%205.75578%2015.4209%205.8825%2015.1675%206.13594L7.82436%2013.4791L4.83279%2010.4875C4.57935%2010.2341%204.45263%2010.1073%204.31127%2010.0488C4.12278%209.97071%203.91101%209.97071%203.72252%2010.0488C3.58116%2010.1073%203.45444%2010.2341%203.201%2010.4875C2.94756%2010.7409%202.82084%2010.8676%202.76229%2011.009C2.68422%2011.1975%202.68422%2011.4093%202.76229%2011.5978C2.82084%2011.7391%202.94756%2011.8658%203.201%2012.1193L7.0085%2015.9268C7.26194%2016.1802%207.38866%2016.3069%207.53002%2016.3655C7.7185%2016.4436%207.93028%2016.4436%208.11876%2016.3655C8.26013%2016.3069%208.38685%2016.1802%208.64028%2015.9268C8.66387%2015.9032%208.68636%2015.8807%208.7078%2015.8592L16.7993%207.76772C17.0527%207.51428%2017.1794%207.38756%2017.238%207.2462C17.3161%207.05772%2017.3161%206.84594%2017.238%206.65746C17.1794%206.5161%2017.0527%206.38938%2016.7993%206.13594C16.5458%205.8825%2016.4191%205.75578%2016.2777%205.69723C16.0893%205.61915%2015.8775%205.61915%2015.689%205.69723Z%22%20fill%3D%22%2359D01E%22%2F%3E%0A%3C%2Fg%3E%0A%3Cdefs%3E%0A%3CclipPath%20id%3D%22clip0_613_248%22%3E%0A%3Crect%20width%3D%2220%22%20height%3D%2220%22%20fill%3D%22white%22%20transform%3D%22translate(0%200.666504)%22%2F%3E%0A%3C%2FclipPath%3E%0A%3C%2Fdefs%3E%0A%3C%2Fsvg%3E%0A"},flag:{"flag-green":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M15.4274%204.74935C14.0982%205.1012%2013.1363%205.13675%2012.3604%205.03379C11.5776%204.93009%2010.9487%204.68342%2010.2456%204.40416L10.2246%204.39527C9.53411%204.1212%208.76945%203.8175%207.81312%203.69157C6.84279%203.56268%205.71016%203.61898%204.24802%204.0049C4.09343%204.04217%203.95538%204.13393%203.85649%204.26515C3.7576%204.39636%203.70374%204.55925%203.70374%204.72712V17.3197C3.70374%2017.5162%203.79534%2017.7046%203.92654%2017.8435C4.05773%2017.9824%204.25893%2018.0605%204.44448%2018.0605C4.63002%2018.0605%204.84911%2017.9824%204.98031%2017.8435C5.11151%2017.7046%205.18522%2017.5162%205.18522%2017.3197V14.9123V12.5049C6.24649%2012.2738%206.97081%2012.2605%207.63962%2012.3486C8.42246%2012.4523%209.05139%2012.699%209.75448%2012.9782L9.77546%2012.9871C10.466%2013.2612%2011.2306%2013.5649%2012.1869%2013.6908C13.1601%2013.8197%2014.2976%2013.7627%2015.7667%2013.3738C15.8866%2013.3421%2016.0727%2013.2135%2016.1483%2013.111C16.2238%2013.0084%2016.2963%2012.8204%2016.2963%2012.6553V5.46787C16.2963%205.35535%2016.2721%205.24432%2016.2255%205.1432C16.1788%205.04208%2016.1111%204.95353%2016.0274%204.88428C15.9436%204.81502%2015.846%204.76688%2015.7421%204.7435C15.6382%204.72012%2015.494%204.73173%2015.4274%204.74935Z%22%20fill%3D%22%2359D01E%22%2F%3E%0A%3C%2Fsvg%3E%0A","flag-gold":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M15.4274%204.74935C14.0982%205.1012%2013.1363%205.13675%2012.3604%205.03379C11.5776%204.93009%2010.9487%204.68342%2010.2456%204.40416L10.2246%204.39527C9.53411%204.1212%208.76945%203.8175%207.81312%203.69157C6.84279%203.56268%205.71016%203.61898%204.24802%204.0049C4.09343%204.04217%203.95538%204.13393%203.85649%204.26515C3.7576%204.39636%203.70374%204.55925%203.70374%204.72712V17.3197C3.70374%2017.5162%203.79534%2017.7046%203.92654%2017.8435C4.05773%2017.9824%204.25893%2018.0605%204.44448%2018.0605C4.63002%2018.0605%204.84911%2017.9824%204.98031%2017.8435C5.11151%2017.7046%205.18522%2017.5162%205.18522%2017.3197V14.9123V12.5049C6.24649%2012.2738%206.97081%2012.2605%207.63962%2012.3486C8.42246%2012.4523%209.05139%2012.699%209.75448%2012.9782L9.77546%2012.9871C10.466%2013.2612%2011.2306%2013.5649%2012.1869%2013.6908C13.1601%2013.8197%2014.2976%2013.7627%2015.7667%2013.3738C15.8866%2013.3421%2016.0727%2013.2135%2016.1483%2013.111C16.2238%2013.0084%2016.2963%2012.8204%2016.2963%2012.6553V5.46787C16.2963%205.35535%2016.2721%205.24432%2016.2255%205.1432C16.1788%205.04208%2016.1111%204.95353%2016.0274%204.88428C15.9436%204.81502%2015.846%204.76688%2015.7421%204.7435C15.6382%204.72012%2015.494%204.73173%2015.4274%204.74935Z%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3C%2Fsvg%3E%0A","flag-red":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M15.4274%204.74935C14.0982%205.1012%2013.1363%205.13675%2012.3604%205.03379C11.5776%204.93009%2010.9487%204.68342%2010.2456%204.40416L10.2246%204.39527C9.53411%204.1212%208.76945%203.8175%207.81312%203.69157C6.84279%203.56268%205.71016%203.61898%204.24802%204.0049C4.09343%204.04217%203.95538%204.13393%203.85649%204.26515C3.7576%204.39636%203.70374%204.55925%203.70374%204.72712V17.3197C3.70374%2017.5162%203.79534%2017.7046%203.92654%2017.8435C4.05773%2017.9824%204.25893%2018.0605%204.44448%2018.0605C4.63002%2018.0605%204.84911%2017.9824%204.98031%2017.8435C5.11151%2017.7046%205.18522%2017.5162%205.18522%2017.3197V14.9123V12.5049C6.24649%2012.2738%206.97081%2012.2605%207.63962%2012.3486C8.42246%2012.4523%209.05139%2012.699%209.75448%2012.9782L9.77546%2012.9871C10.466%2013.2612%2011.2306%2013.5649%2012.1869%2013.6908C13.1601%2013.8197%2014.2976%2013.7627%2015.7667%2013.3738C15.8866%2013.3421%2016.0727%2013.2135%2016.1483%2013.111C16.2238%2013.0084%2016.2963%2012.8204%2016.2963%2012.6553V5.46787C16.2963%205.35535%2016.2721%205.24432%2016.2255%205.1432C16.1788%205.04208%2016.1111%204.95353%2016.0274%204.88428C15.9436%204.81502%2015.846%204.76688%2015.7421%204.7435C15.6382%204.72012%2015.494%204.73173%2015.4274%204.74935Z%22%20fill%3D%22%23FE4B4B%22%2F%3E%0A%3C%2Fsvg%3E%0A"},cell:{"cell-0":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%224%22%20y%3D%2211.001%22%20width%3D%225%22%20height%3D%225%22%20rx%3D%221%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%2211%22%20y%3D%2211.001%22%20width%3D%225%22%20height%3D%225%22%20rx%3D%221%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%224%22%20y%3D%224.00098%22%20width%3D%225%22%20height%3D%225%22%20rx%3D%221%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%2211%22%20y%3D%224.00098%22%20width%3D%225%22%20height%3D%225%22%20rx%3D%221%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3C%2Fsvg%3E%0A","cell-25":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%224%22%20y%3D%2211.001%22%20width%3D%225%22%20height%3D%225%22%20rx%3D%221%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%2211%22%20y%3D%2211.001%22%20width%3D%225%22%20height%3D%225%22%20rx%3D%221%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%224.25%22%20y%3D%224.25098%22%20width%3D%224.5%22%20height%3D%224.5%22%20rx%3D%220.75%22%20fill%3D%22%230493EE%22%20stroke%3D%22%230493EE%22%20stroke-width%3D%220.5%22%2F%3E%0A%3Crect%20x%3D%2211%22%20y%3D%224.00098%22%20width%3D%225%22%20height%3D%225%22%20rx%3D%221%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3C%2Fsvg%3E%0A","cell-50":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%224%22%20y%3D%2211.001%22%20width%3D%225%22%20height%3D%225%22%20rx%3D%221%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%2211%22%20y%3D%2211.001%22%20width%3D%225%22%20height%3D%225%22%20rx%3D%221%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%224.25%22%20y%3D%224.25098%22%20width%3D%224.5%22%20height%3D%224.5%22%20rx%3D%220.75%22%20fill%3D%22%230493EE%22%20stroke%3D%22%230493EE%22%20stroke-width%3D%220.5%22%2F%3E%0A%3Crect%20x%3D%2211.25%22%20y%3D%224.25098%22%20width%3D%224.5%22%20height%3D%224.5%22%20rx%3D%220.75%22%20fill%3D%22%230493EE%22%20stroke%3D%22%230493EE%22%20stroke-width%3D%220.5%22%2F%3E%0A%3C%2Fsvg%3E%0A","cell-75":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%224.25%22%20y%3D%2211.251%22%20width%3D%224.5%22%20height%3D%224.5%22%20rx%3D%220.75%22%20fill%3D%22%230493EE%22%20stroke%3D%22%230493EE%22%20stroke-width%3D%220.5%22%2F%3E%0A%3Crect%20x%3D%2211%22%20y%3D%2211.001%22%20width%3D%225%22%20height%3D%225%22%20rx%3D%221%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%224.25%22%20y%3D%224.25098%22%20width%3D%224.5%22%20height%3D%224.5%22%20rx%3D%220.75%22%20fill%3D%22%230493EE%22%20stroke%3D%22%230493EE%22%20stroke-width%3D%220.5%22%2F%3E%0A%3Crect%20x%3D%2211.25%22%20y%3D%224.25098%22%20width%3D%224.5%22%20height%3D%224.5%22%20rx%3D%220.75%22%20fill%3D%22%230493EE%22%20stroke%3D%22%230493EE%22%20stroke-width%3D%220.5%22%2F%3E%0A%3C%2Fsvg%3E%0A","cell-100":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%224.25%22%20y%3D%2211.251%22%20width%3D%224.5%22%20height%3D%224.5%22%20rx%3D%220.75%22%20fill%3D%22%230493EE%22%20stroke%3D%22%230493EE%22%20stroke-width%3D%220.5%22%2F%3E%0A%3Crect%20x%3D%2211.25%22%20y%3D%2211.251%22%20width%3D%224.5%22%20height%3D%224.5%22%20rx%3D%220.75%22%20fill%3D%22%230493EE%22%20stroke%3D%22%230493EE%22%20stroke-width%3D%220.5%22%2F%3E%0A%3Crect%20x%3D%224.25%22%20y%3D%224.25098%22%20width%3D%224.5%22%20height%3D%224.5%22%20rx%3D%220.75%22%20fill%3D%22%230493EE%22%20stroke%3D%22%230493EE%22%20stroke-width%3D%220.5%22%2F%3E%0A%3Crect%20x%3D%2211.25%22%20y%3D%224.25098%22%20width%3D%224.5%22%20height%3D%224.5%22%20rx%3D%220.75%22%20fill%3D%22%230493EE%22%20stroke%3D%22%230493EE%22%20stroke-width%3D%220.5%22%2F%3E%0A%3C%2Fsvg%3E%0A"}},O2=[{title:"sheet.cf.iconSet.direction",group:[{name:"3Arrows",list:[f.arrow["up-green"],f.arrow["right-gold"],f.arrow["down-red"]]},{name:"3ArrowsGray",list:[f.arrow["up-gray"],f.arrow["right-gray"],f.arrow["down-gray"]]},{name:"4Arrows",list:[f.arrow["up-green"],f.arrow["rightAndUp-gold"],f.arrow["rightAndDown-gold"],f.arrow["down-red"]]},{name:"4ArrowsGray",list:[f.arrow["up-gray"],f.arrow["rightAndUp-gray"],f.arrow["rightAndDown-gray"],f.arrow["down-gray"]]},{name:"5Arrows",list:[f.arrow["up-green"],f.arrow["rightAndUp-gold"],f.arrow["right-gold"],f.arrow["rightAndDown-gold"],f.arrow["down-red"]]},{name:"5ArrowsGray",list:[f.arrow["up-gray"],f.arrow["rightAndUp-gray"],f.arrow["right-gray"],f.arrow["rightAndDown-gray"],f.arrow["down-gray"]]},{name:"3Triangles",list:[f.shape.up,f.shape.cross,f.shape.down]}]},{title:"sheet.cf.iconSet.shape",group:[{name:"3TrafficLights1",list:[f.shape["roundness-greed"],f.shape["roundness-gold"],f.shape["roundness-red"]]},{name:"3Signs",list:[f.shape["roundness-greed"],f.shape["triangle-gold"],f.shape["rhomboid-red"]]},{name:"3TrafficLights2",list:[f.shape["indicate-greed"],f.shape["indicate-gold"],f.shape["indicate-red"]]},{name:"4RedToBlack",list:[f.shape["roundness-red"],f.shape["roundness-pink"],f.shape["roundness-gray"],f.shape["roundness-black"]]},{name:"4TrafficLights",list:[f.shape["roundness-greed"],f.shape["roundness-gold"],f.shape["roundness-red"],f.shape["roundness-black"]]}]},{title:"sheet.cf.iconSet.mark",group:[{name:"3Symbols",list:[f.feedback.correct,f.feedback.warn,f.feedback.mistake]},{name:"3Symbols2",list:[f.feedback2.correct2,f.feedback2.warn2,f.feedback2.mistake2]},{name:"3Flags",list:[f.flag["flag-green"],f.flag["flag-gold"],f.flag["flag-red"]]}]},{title:"sheet.cf.iconSet.rank",group:[{name:"4Rating",list:[f.signal.signal25,f.signal.signal50,f.signal.signal75,f.signal.signal100]},{name:"5Rating",list:[f.signal.signal0,f.signal.signal25,f.signal.signal50,f.signal.signal75,f.signal.signal100]},{name:"5Quarters",list:[f.progress.progress100,f.progress.progress75,f.progress.progress50,f.progress.progress25,f.progress.progress0]},{name:"_5Felling",list:[f.feeling.guffaw,f.feeling.smile,f.feeling.noninductive,f.feeling.dissatisfied,f.feeling.impatient]},{name:"5Boxes",list:[f.cell["cell-100"],f.cell["cell-75"],f.cell["cell-50"],f.cell["cell-25"],f.cell["cell-0"]]},{name:"3Stars",list:[f.star.starFull,f.star.starIncomplete,f.star.starEmpty]}]}],n2=O2.reduce((a,r)=>{const{group:n}=r;for(const e of n)a[e.name]=e.list;return a},{});for(const a in n2){const r=n2[a];Object.freeze(r)}const j2="EMPTY_ICON_TYPE",C0="ssheets-conditional-formatting.config",$2={};var D0=Object.getOwnPropertyDescriptor,f0=(a,r,n,e)=>{for(var t=e>1?void 0:e?D0(r,n):r,i=a.length-1,s;i>=0;i--)(s=a[i])&&(t=s(t)||t);return t},X=(a,r)=>(n,e)=>r(n,e,a);C.ConditionalFormattingService=class extends u.Disposable{constructor(r,n,e,t,i,s){super(),this._conditionalFormattingRuleModel=r,this._injector=n,this._univerInstanceService=e,this._resourceManagerService=t,this._sheetInterceptorService=i,this._commandService=s,this._initCellChange(),this._initSnapshot(),this._initSheetChange()}get _conditionalFormattingViewModelV2(){return this._injector.get(C.ConditionalFormattingViewModel)}composeStyle(r,n,e,t){const i=this._conditionalFormattingViewModelV2.getCellCfs(r,n,e,t);if(i&&(i!=null&&i.length)){const s=i.map(l=>this._conditionalFormattingRuleModel.getRule(r,n,l.cfId)).filter(l=>!!l).reverse(),o=s.findIndex(l=>l==null?void 0:l.stopIfTrue);return o>-1&&s.splice(o+1),s.reduce((l,c)=>{var D;const h=c.rule.type,g=i.find(m=>m.cfId===c.cfId);if(h===R.highlightCell)g.result&&u.merge(l,{style:g.result});else if(h===R.colorScale){const m=g==null?void 0:g.result;m&&typeof m=="string"&&(l.style={...(D=l.style)!=null?D:{},bg:{rgb:m}})}else if(h===R.dataBar){const m=g==null?void 0:g.result;m&&(l.dataBar=m,l.isShowValue=m.isShowValue)}else if(h===R.iconSet){const m=g==null?void 0:g.result;m&&(l.iconSet=m,l.isShowValue=m.isShowValue)}return l},{})}return null}_initSnapshot(){const r=e=>{const t=this._conditionalFormattingRuleModel.getUnitRules(e),i={};return t?(t.forEach((s,o)=>{i[o]=s}),JSON.stringify(i)):""},n=e=>{if(!e)return{};try{return JSON.parse(e)}catch{return{}}};this.disposeWithMe(this._resourceManagerService.registerPluginResource({pluginName:h2,businesses:[u.UniverInstanceType.UNIVER_SHEET],toJson:e=>r(e),parseJson:e=>n(e),onUnLoad:e=>{this._conditionalFormattingRuleModel.deleteUnitId(e)},onLoad:(e,t)=>{Object.keys(t).forEach(i=>{[...t[i]].reverse().forEach(o=>{this._conditionalFormattingRuleModel.addRule(e,i,o)})})}}))}_initSheetChange(){this.disposeWithMe(this._sheetInterceptorService.interceptCommand({getMutations:r=>{if(r.id===p.RemoveSheetCommand.id){const n=r.params,e=n.unitId||m0(this._univerInstanceService),t=n.subUnitId||v0(this._univerInstanceService);if(!t)return{redos:[],undos:[]};const i=this._conditionalFormattingRuleModel.getSubunitRules(e,t);if(!i)return{redos:[],undos:[]};const s=[],o=[];return i.forEach(d=>{const l={unitId:e,subUnitId:t,cfId:d.cfId};s.push({id:j.id,params:l}),o.push(...J(this._injector,l))}),{redos:s,undos:o}}return{redos:[],undos:[]}}}))}_initCellChange(){this.disposeWithMe(this._commandService.onCommandExecuted(r=>{const n=(e,t,i)=>{const s=new Set;return i.forEach(([o,d])=>{const l=this._conditionalFormattingViewModelV2.getCellCfs(e,t,o,d);l==null||l.forEach(c=>s.add(c.cfId))}),[...s].map(o=>this._conditionalFormattingRuleModel.getRule(e,t,o)).filter(o=>!!o)};switch(r.id){case p.SetRangeValuesMutation.id:{const e=r.params,{subUnitId:t,unitId:i,cellValue:s}=e,o=[];new u.ObjectMatrix(s).forValue((l,c,h)=>{h&&Object.keys(h).some(D=>["p","v"].includes(D))&&o.push([l,c])}),n(i,t,o).forEach(l=>{this._conditionalFormattingViewModelV2.markRuleDirty(i,t,l.cfId)});break}case p.InsertColMutation.id:case p.RemoveColMutation.id:{const{range:e,unitId:t,subUnitId:i}=r.params,s=this._conditionalFormattingRuleModel.getSubunitRules(t,i),o={...e,endColumn:Number.MAX_SAFE_INTEGER};s&&s.filter(l=>l.ranges.some(c=>u.Rectangle.intersects(c,o))).forEach(l=>{this._conditionalFormattingViewModelV2.markRuleDirty(t,i,l.cfId)});break}case p.RemoveRowMutation.id:case p.InsertRowMutation.id:{const{range:e,unitId:t,subUnitId:i}=r.params,s=this._conditionalFormattingRuleModel.getSubunitRules(t,i),o={...e,endRow:Number.MAX_SAFE_INTEGER};s&&s.filter(l=>l.ranges.some(c=>u.Rectangle.intersects(c,o))).forEach(l=>{this._conditionalFormattingViewModelV2.markRuleDirty(t,i,l.cfId)});break}case p.MoveRowsMutation.id:{const{sourceRange:e,targetRange:t,unitId:i,subUnitId:s}=r.params,o=this._conditionalFormattingRuleModel.getSubunitRules(i,s),d={startRow:Math.min(e.startRow,t.startRow),endRow:Number.MAX_SAFE_INTEGER,startColumn:0,endColumn:Number.MAX_SAFE_INTEGER};o&&o.filter(c=>c.ranges.some(h=>u.Rectangle.intersects(h,d))).forEach(c=>{this._conditionalFormattingViewModelV2.markRuleDirty(i,s,c.cfId)});break}case p.MoveColsMutation.id:{const{sourceRange:e,targetRange:t,unitId:i,subUnitId:s}=r.params,o=this._conditionalFormattingRuleModel.getSubunitRules(i,s),d={startRow:0,endRow:Number.MAX_SAFE_INTEGER,startColumn:Math.min(e.startColumn,t.startColumn),endColumn:Number.MAX_SAFE_INTEGER};o&&o.filter(c=>c.ranges.some(h=>u.Rectangle.intersects(h,d))).forEach(c=>{this._conditionalFormattingViewModelV2.markRuleDirty(i,s,c.cfId)});break}case p.MoveRangeMutation.id:{const{unitId:e,to:t,from:i}=r.params,s=o=>{const d=[];new u.ObjectMatrix(o.value).forValue((c,h)=>{d.push([c,h])}),n(e,o.subUnitId,d).forEach(c=>{this._conditionalFormattingViewModelV2.markRuleDirty(e,o.subUnitId,c.cfId)})};s(t),s(i);break}case p.ReorderRangeMutation.id:{const{range:e,unitId:t,subUnitId:i}=r.params,s=this._conditionalFormattingRuleModel.getSubunitRules(t,i);s&&s.filter(d=>d.ranges.some(l=>u.Rectangle.intersects(l,e))).forEach(d=>{this._conditionalFormattingViewModelV2.markRuleDirty(t,i,d.cfId)});break}}}))}},C.ConditionalFormattingService=f0([X(0,u.Inject(I)),X(1,u.Inject(u.Injector)),X(2,u.Inject(u.IUniverInstanceService)),X(3,u.Inject(u.IResourceManagerService)),X(4,u.Inject(p.SheetInterceptorService)),X(5,u.Inject(u.ICommandService))],C.ConditionalFormattingService);const m0=a=>a.getCurrentUnitForType(u.UniverInstanceType.UNIVER_SHEET).getUnitId(),v0=a=>{var r;return(r=a.getCurrentUnitForType(u.UniverInstanceType.UNIVER_SHEET).getActiveSheet())==null?void 0:r.getSheetId()};var F0=Object.getOwnPropertyDescriptor,w0=(a,r,n,e)=>{for(var t=e>1?void 0:e?F0(r,n):r,i=a.length-1,s;i>=0;i--)(s=a[i])&&(t=s(t)||t);return t},F2=(a,r)=>(n,e)=>r(n,e,a);C.UniverSheetsConditionalFormattingPlugin=(u2=class extends u.Plugin{constructor(r=$2,n,e,t){super(),this._config=r,this._injector=n,this._commandService=e,this._configService=t;const{...i}=u.merge({},$2,this._config);this._configService.setConfig(C0,i),[[C.ConditionalFormattingService],[C.ConditionalFormattingFormulaService],[I],[C.ConditionalFormattingViewModel]].forEach(s=>{this._injector.add(s)}),[M2,I2,R2,x2,S2,b2,z,j,G,Z,Q].forEach(s=>{this._commandService.registerCommand(s)})}onStarting(){this._injector.get(C.ConditionalFormattingService),u.touchDependencies(this._injector,[[C.ConditionalFormattingService],[C.ConditionalFormattingViewModel]])}},F(u2,"pluginName",h2),F(u2,"type",u.UniverInstanceType.UNIVER_SHEET),u2),C.UniverSheetsConditionalFormattingPlugin=w0([F2(1,u.Inject(u.Injector)),F2(2,u.Inject(u.ICommandService)),F2(3,u.IConfigService)],C.UniverSheetsConditionalFormattingPlugin);const P2="sheet-conditional-rule-icon",E0=35,W2=15,q2=2;class Z2 extends q.SheetExtension{constructor(){super();F(this,"_paddingRightAndLeft",q2);F(this,"_width",W2);F(this,"_imageMap",new Map);F(this,"uKey",P2);F(this,"Z_INDEX",E0);F(this,"_radius",1);this._init()}draw(n,e,t,i){const{worksheet:s}=t;if(!s)return!1;n.save(),u.Range.foreach(t.rowColumnSegment,(o,d)=>{if(!s.getRowVisible(o)||!s.getColVisible(d))return;const l=s.getCell(o,d);if(l!=null&&l.iconSet){const{iconType:c,iconId:h}=l.iconSet;if(c===j2)return;const g=this._imageMap.get(this._createKey(c,h));if(!g)return;const D=t.getCellWithCoordByIndex(o,d,!1);let{isMerged:m,isMergedMainCell:v,mergeInfo:w,startY:A,endY:S,startX:y,endX:M}=D;if(m||(v&&(A=w.startY,S=w.endY,y=w.startX,M=w.endX),!this.isRenderDiffRangesByCell(w,i)))return;const N=M-y,c2=S-A;if(this._width>c2||this._width>N+this._paddingRightAndLeft*2)return;const w2=(c2-this._width)/2+A;n.drawImage(g,y+this._paddingRightAndLeft,w2,this._width,this._width)}}),n.restore()}_init(){for(const n in n2)n2[n].forEach((t,i)=>{const s=this._createKey(n,String(i)),o=new Image;o.onload=()=>{this._imageMap.set(s,o)},o.src=t})}_createKey(n,e){return`${n}_${e}`}}q.SpreadsheetExtensionRegistry.add(Z2);function G2(a){if(typeof a!="object"||a===null)return a;const r={};for(const n in a)if(a.hasOwnProperty(n)){const e=G2(a[n]);e!==void 0&&(r[n]=e)}return r}Object.defineProperty(C,"isRangesEqual",{enumerable:!0,get:()=>u.isRangesEqual}),C.AddCfCommand=M2,C.AddConditionalRuleMutation=z,C.AddConditionalRuleMutationUndoFactory=_2,C.CFNumberOperator=E,C.CFRuleType=R,C.CFSubRuleType=_,C.CFTextOperator=b,C.CFTimePeriodOperator=L,C.CFValueType=x,C.CONDITIONAL_FORMATTING_VIEWPORT_CACHE_LENGTH=l2,C.ClearRangeCfCommand=I2,C.ClearWorksheetCfCommand=R2,C.ConditionalFormattingFormulaMarkDirty=Q,C.ConditionalFormattingIcon=Z2,C.ConditionalFormattingRuleModel=I,C.DEFAULT_BG_COLOR=X2,C.DEFAULT_FONT_COLOR=Y2,C.DEFAULT_PADDING=q2,C.DEFAULT_WIDTH=W2,C.DataBar=k2,C.DeleteCfCommand=x2,C.DeleteConditionalRuleMutation=j,C.DeleteConditionalRuleMutationUndoFactory=J,C.EMPTY_ICON_TYPE=j2,C.FormulaResultStatus=T,C.IconUKey=P2,C.MoveCfCommand=S2,C.MoveConditionalRuleMutation=Z,C.MoveConditionalRuleMutationUndoFactory=y2,C.SHEET_CONDITIONAL_FORMATTING_PLUGIN=h2,C.SetCfCommand=b2,C.SetConditionalRuleMutation=G,C.anchorUndoFactory=p2,C.compareWithNumber=H,C.createCfId=A2,C.createDefaultRule=K2,C.createDefaultValue=J2,C.createDefaultValueByValueType=z2,C.dataBarUKey=L2,C.defaultDataBarNativeColor=m2,C.defaultDataBarPositiveColor=f2,C.defaultPlaceholderColor=T2,C.filterRange=o2,C.findIndexByAnchor=O,C.getCacheStyleMatrix=h0,C.getCellValue=U,C.getColorScaleFromValue=V2,C.getMaxInFormulaResult=g0,C.getOppositeOperator=U2,C.getValueByType=t2,C.iconGroup=O2,C.iconMap=n2,C.isAnchorEqual=Q2,C.isFloatsEqual=e2,C.isNullable=k,C.moveByAnchor=E2,C.removeUndefinedAttr=G2,C.serialTimeToTimestamp=N2,C.setConditionalRuleMutationUndoFactory=C2,C.toYMD_1900=B2,C.transformSupportSymmetryAnchor=g2,Object.defineProperty(C,Symbol.toStringTag,{value:"Module"})});
|
|
1
|
+
(function(C,u){typeof exports=="object"&&typeof module<"u"?u(exports,require("@univerjs/core"),require("@univerjs/sheets"),require("rxjs"),require("@univerjs/engine-formula"),require("rxjs/operators"),require("@univerjs/engine-render")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@univerjs/sheets","rxjs","@univerjs/engine-formula","rxjs/operators","@univerjs/engine-render"],u):(C=typeof globalThis<"u"?globalThis:C||self,u(C.UniverSheetsConditionalFormatting={},C.UniverCore,C.UniverSheets,C.rxjs,C.UniverEngineFormula,C.rxjs.operators,C.UniverEngineRender))})(this,function(C,u,p,K,V,i2,q){"use strict";var p0=Object.defineProperty;var A0=(C,u,p)=>u in C?p0(C,u,{enumerable:!0,configurable:!0,writable:!0,value:p}):C[u]=p;var F=(C,u,p)=>A0(C,typeof u!="symbol"?u+"":u,p);var u2;const h2="SHEET_CONDITIONAL_FORMATTING_PLUGIN";var b=(a=>(a.beginsWith="beginsWith",a.endsWith="endsWith",a.containsText="containsText",a.notContainsText="notContainsText",a.equal="equal",a.notEqual="notEqual",a.containsBlanks="containsBlanks",a.notContainsBlanks="notContainsBlanks",a.containsErrors="containsErrors",a.notContainsErrors="notContainsErrors",a))(b||{}),L=(a=>(a.today="today",a.yesterday="yesterday",a.tomorrow="tomorrow",a.last7Days="last7Days",a.thisMonth="thisMonth",a.lastMonth="lastMonth",a.nextMonth="nextMonth",a.thisWeek="thisWeek",a.lastWeek="lastWeek",a.nextWeek="nextWeek",a))(L||{}),E=(a=>(a.greaterThan="greaterThan",a.greaterThanOrEqual="greaterThanOrEqual",a.lessThan="lessThan",a.lessThanOrEqual="lessThanOrEqual",a.notBetween="notBetween",a.between="between",a.equal="equal",a.notEqual="notEqual",a))(E||{}),R=(a=>(a.highlightCell="highlightCell",a.dataBar="dataBar",a.colorScale="colorScale",a.iconSet="iconSet",a))(R||{}),_=(a=>(a.uniqueValues="uniqueValues",a.duplicateValues="duplicateValues",a.rank="rank",a.text="text",a.timePeriod="timePeriod",a.number="number",a.average="average",a.formula="formula",a))(_||{}),x=(a=>(a.num="num",a.min="min",a.max="max",a.percent="percent",a.percentile="percentile",a.formula="formula",a))(x||{});const X2="#fff",Y2="#000000",K2=()=>({cfId:void 0,ranges:[],stopIfTrue:!1,rule:{type:"highlightCell",subType:"text",operator:"containsText"}}),J2=(a,r)=>{switch(a){case"text":{if(["beginsWith","containsText","endsWith","equal","notContainsText","notEqual"].includes(r))return"";break}case"number":return["between","notBetween"].includes(r)?[10,100]:10}return""},z2=(a,r)=>{switch(a){case"formula":return"=";case"max":case"min":return"";case"percent":case"percentile":case"num":return r!==void 0?r:10}return""},O=(a,r,n)=>{if(!r)return null;const e=r.findIndex(t=>n(t)===a.id);if(e<0)return null;switch(a.type){case"after":return e+1;case"before":return e-1;case"self":return e}},E2=(a,r,n,e)=>{if(!n)return null;const t=O(a,n,e);let i=O(r,n,e);if(t===null||i===null||t===i)return;const s=n.splice(t,1)[0];switch(t<i&&(i=O(r,n,e)),r.type){case"before":{n.splice(i+1,0,s);break}case"self":case"after":{n.splice(i,0,s);break}}},g2=(a,r,n,e)=>{if(a.type==="after"&&["after","before"].includes(r.type))return[a,r];const t={...a},i={...r};if(t.type!=="after"){const s=O(t,n,e);if(s===null)return null;if(s-1<0){const o=n[s+1];if(o)t.id=e(o),t.type="before";else return null}else{const o=e(n[s-1]);t.id=o,t.type="after"}}if(!["after","before"].includes(i.type)){const s=O(i,n,e);if(s===null)return null;if(s===0)i.type="before";else if(s-1>=0){const o=e(n[s-1]);i.id=o,i.type="after"}else if(s+1<=n.length-1){const o=e(n[s+1]);i.id=o,i.type="before"}else return null}return t.id===i.id&&t.type===i.type?null:[t,i]},p2=(a,r)=>{if(["after","before"].includes(r.type)){if(a.type==="after")return[r,a];if(a.type==="before")return[r,{...a,type:"self"}]}return null},Q2=(a,r)=>a.id===r.id&&a.type===r.type,A2=()=>`${u.generateRandomId(8)}`;class I{constructor(){F(this,"_model",new Map);F(this,"_ruleChange$",new K.Subject);F(this,"$ruleChange",this._ruleChange$.asObservable())}_ensureList(r,n){let e=this.getSubunitRules(r,n);if(!e){e=[];let t=this._model.get(r);t||(t=new Map,this._model.set(r,t)),t.set(n,e)}return e}getRule(r,n,e){const t=this.getSubunitRules(r,n);return t?t.find(i=>i.cfId===e):null}getUnitRules(r){return this._model.get(r)||null}getSubunitRules(r,n){var t;return((t=this._model.get(r))==null?void 0:t.get(n))||null}deleteRule(r,n,e){const t=this.getSubunitRules(r,n);if(t){const i=t.findIndex(o=>o.cfId===e),s=t[i];s&&(t.splice(i,1),this._ruleChange$.next({rule:s,subUnitId:n,unitId:r,type:"delete"}))}}setRule(r,n,e,t){const s=this._ensureList(r,n).find(o=>o.cfId===t);if(s){const o=u.Tools.deepClone(s);Object.assign(s,e),this._ruleChange$.next({rule:s,subUnitId:n,unitId:r,type:"set",oldRule:o})}}addRule(r,n,e){const t=this._ensureList(r,n);t.find(s=>s.cfId===e.cfId)||t.unshift(e),this._ruleChange$.next({rule:e,subUnitId:n,unitId:r,type:"add"})}moveRulePriority(r,n,e,t){const i=this._ensureList(r,n),s=O(e,i,l=>l.cfId),o=O(t,i,l=>l.cfId);if(o===null||s===null||o===s)return;const d=i[s];d&&(E2(e,t,i,l=>l.cfId),this._ruleChange$.next({rule:d,subUnitId:n,unitId:r,type:"sort"}))}createCfId(r,n){return A2()}deleteUnitId(r){this._model.delete(r)}}const Z={type:u.CommandType.MUTATION,id:"sheet.mutation.move-conditional-rule",handler(a,r){if(!r)return!1;const{unitId:n,subUnitId:e,start:t,end:i}=r;return a.get(I).moveRulePriority(n,e,t,i),!0}},y2=a=>{const{unitId:r,subUnitId:n}=a,e=p2(a.start,a.end);if(!e)return[];const[t,i]=e;return[{id:Z.id,params:{unitId:r,subUnitId:n,start:t,end:i}}]},J=(a,r)=>{const n=a.get(I),{unitId:e,subUnitId:t,cfId:i}=r,s=[...n.getSubunitRules(e,t)||[]],o=s.findIndex(l=>l.cfId===i),d=s[o-1];if(o>-1){const l=s[o],c=[{id:z.id,params:{unitId:e,subUnitId:t,rule:u.Tools.deepClone(l)}}];if(s.splice(o,1),o!==0){const h=s[0];if(h){const g=g2({id:h.cfId,type:"before"},{id:d.cfId,type:"after"},s,w=>w.cfId);if(!g)return c;const[D,m]=g,v={unitId:e,subUnitId:t,start:D,end:m};c.push({id:Z.id,params:v})}}return c}return[]},j={type:u.CommandType.MUTATION,id:"sheet.mutation.delete-conditional-rule",handler(a,r){if(!r)return!1;const{unitId:n,subUnitId:e,cfId:t}=r;return a.get(I).deleteRule(n,e,t),!0}},_2=(a,r)=>({id:j.id,params:{unitId:r.unitId,subUnitId:r.subUnitId,cfId:r.rule.cfId}}),z={type:u.CommandType.MUTATION,id:"sheet.mutation.add-conditional-rule",handler(a,r){if(!r)return!1;const{unitId:n,subUnitId:e,rule:t}=r;return a.get(I).addRule(n,e,t),!0}},M2={type:u.CommandType.COMMAND,id:"sheet.command.add-conditional-rule",handler(a,r){if(!r)return!1;const{rule:n}=r,e=a.get(u.IUndoRedoService),t=a.get(u.ICommandService),i=a.get(I),s=a.get(u.IUniverInstanceService),o=p.getSheetCommandTarget(s,r);if(!o)return!1;const{unitId:d,subUnitId:l}=o,c=i.createCfId(d,l),h={unitId:d,subUnitId:l,rule:{...n,cfId:n.cfId||c}},g=_2(a,h),D=t.syncExecuteCommand(z.id,h);return D&&e.pushUndoRedo({unitID:d,redoMutations:[{id:z.id,params:h}],undoMutations:[g]}),D}},G={type:u.CommandType.MUTATION,id:"sheet.mutation.set-conditional-rule",handler(a,r){if(!r)return!1;const{unitId:n,subUnitId:e,rule:t}=r,i=r.cfId||r.rule.cfId;return a.get(I).setRule(n,e,t,i),!0}},C2=(a,r)=>{const n=a.get(I),{unitId:e,subUnitId:t}=r,i=r.cfId||r.rule.cfId,s=n.getRule(e,t,i);return s?[{id:G.id,params:{unitId:e,subUnitId:t,cfId:i,rule:u.Tools.deepClone(s)}}]:[]},I2={type:u.CommandType.COMMAND,id:"sheet.command.clear-range-conditional-rule",handler(a,r){var v;if(!r)return!1;const n=a.get(I),e=a.get(u.IUniverInstanceService),t=a.get(u.ICommandService),i=a.get(u.IUndoRedoService),s=a.get(p.SheetsSelectionsService),o=p.getSheetCommandTarget(e,r);if(!o)return!1;const{unitId:d,subUnitId:l}=o,c=((v=s.getCurrentSelections())==null?void 0:v.map(w=>w.range))||[],h=n.getSubunitRules(d,l);if(!(h!=null&&h.length)||!c.length)return!1;const g=[],D=[];h.forEach(w=>{const A=new u.ObjectMatrix;w.ranges.forEach(y=>{u.Range.foreach(y,(M,N)=>{A.setValue(M,N,1)})}),c.forEach(y=>{u.Range.foreach(y,(M,N)=>{A.realDeleteValue(M,N)})});const S=p.findAllRectangle(p.createTopMatrixFromMatrix(A));if(S.length){const y={...w,ranges:S},M={unitId:d,subUnitId:l,rule:y},N=C2(a,M);g.push({id:G.id,params:M}),D.push(...N)}else{const y={unitId:d,subUnitId:l,cfId:w.cfId},M=J(a,y);g.push({id:j.id,params:y}),D.push(...M)}});const m=u.sequenceExecute(g,t).result;return m&&i.pushUndoRedo({unitID:d,redoMutations:g,undoMutations:D}),m}},R2={type:u.CommandType.COMMAND,id:"sheet.command.clear-worksheet-conditional-rule",handler(a,r){const n=a.get(I),e=a.get(u.IUniverInstanceService),t=a.get(u.ICommandService),i=a.get(u.IUndoRedoService),s=p.getSheetCommandTarget(e,r);if(!s)return!1;const{unitId:o,subUnitId:d}=s,l=n.getSubunitRules(o,d);if(!(l!=null&&l.length))return!1;const c=l.map(m=>({cfId:m.cfId,unitId:o,subUnitId:d})),h=c.map(m=>({id:j.id,params:m})),g=c.map(m=>J(a,m)[0]),D=u.sequenceExecute(h,t).result;return D&&i.pushUndoRedo({unitID:o,redoMutations:h,undoMutations:g}),D}},x2={type:u.CommandType.COMMAND,id:"sheet.command.delete-conditional-rule",handler(a,r){if(!r)return!1;const n=a.get(u.IUndoRedoService),e=a.get(u.ICommandService),t=a.get(u.IUniverInstanceService),i=p.getSheetCommandTarget(t,r);if(!i)return!1;const{unitId:s,subUnitId:o}=i,d={unitId:s,subUnitId:o,cfId:r.cfId},l=J(a,d),c=e.syncExecuteCommand(j.id,d);return c&&n.pushUndoRedo({unitID:s,undoMutations:l,redoMutations:[{id:j.id,params:d}]}),c}},S2={type:u.CommandType.COMMAND,id:"sheet.command.move-conditional-rule",handler(a,r){if(!r)return!1;const n=a.get(u.IUndoRedoService),e=a.get(u.ICommandService),t=a.get(u.IUniverInstanceService),i=a.get(I),s=p.getSheetCommandTarget(t,r);if(!s)return!1;const{unitId:o,subUnitId:d}=s,l=g2(r.start,r.end,i.getSubunitRules(o,d)||[],v=>v.cfId);if(!l)return!1;const[c,h]=l,g={unitId:o,subUnitId:d,start:c,end:h},D=y2(g),m=e.syncExecuteCommand(Z.id,g);return m&&n.pushUndoRedo({unitID:o,redoMutations:[{id:Z.id,params:g}],undoMutations:D}),m}},b2={type:u.CommandType.COMMAND,id:"sheet.command.set-conditional-rule",handler(a,r){if(!r)return!1;const n=a.get(u.IUndoRedoService),e=a.get(u.ICommandService),t=a.get(u.IUniverInstanceService),i=p.getSheetCommandTarget(t,r);if(!i)return!1;const{unitId:s,subUnitId:o}=i,d={unitId:s,subUnitId:o,rule:r.rule,cfId:r.cfId},l=C2(a,d),c=e.syncExecuteCommand(G.id,d);return c&&n.pushUndoRedo({unitID:s,undoMutations:l,redoMutations:[{id:G.id,params:d}]}),c}},Q={type:u.CommandType.MUTATION,id:"sheet.mutation.conditional-formatting-formula-mark-dirty",handler(){return!0}};var e0=Object.getOwnPropertyDescriptor,t0=(a,r,n,e)=>{for(var t=e>1?void 0:e?e0(r,n):r,i=a.length-1,s;i>=0;i--)(s=a[i])&&(t=s(t)||t);return t},D2=(a,r)=>(n,e)=>r(n,e,a),T=(a=>(a[a.NOT_REGISTER=1]="NOT_REGISTER",a[a.SUCCESS=2]="SUCCESS",a[a.WAIT=3]="WAIT",a[a.ERROR=4]="ERROR",a))(T||{});const n0=a=>{const r=a&&a[0]&&a[0][0];return(r==null?void 0:r.t)===u.CellValueType.BOOLEAN?r.v===u.BooleanNumber.TRUE||r.v===!0:r?r.v:!1};C.ConditionalFormattingFormulaService=class extends u.Disposable{constructor(n,e,t){super();F(this,"_formulaMap",new Map);F(this,"_result$",new K.Subject);F(this,"result$",this._result$.asObservable());this._commandService=n,this._activeDirtyManagerService=e,this._conditionalFormattingRuleModel=t,this._initFormulaCalculationResultChange(),this._initRuleChange()}_initRuleChange(){const n=e=>{switch(e.type){case R.colorScale:return e.config.some(t=>t.value.type===x.formula);case R.dataBar:return[e.config.max,e.config.min].some(t=>t.type===x.formula);case R.iconSet:return e.config.some(t=>t.value.type===x.formula)}};this.disposeWithMe(this._conditionalFormattingRuleModel.$ruleChange.subscribe(e=>{const{unitId:t,subUnitId:i,rule:s,oldRule:o}=e;e.type==="delete"&&this._removeFormulaByCfId(t,i,s.cfId),e.type==="set"&&(n(s.rule)||o&&n(o.rule))&&this._removeFormulaByCfId(t,i,s.cfId)}))}_initFormulaCalculationResultChange(){this.disposeWithMe(this._commandService.onCommandExecuted(n=>{if(n.id===V.SetFormulaCalculationResultMutation.id){const e=n.params;for(const t in e.unitOtherData)for(const i in e.unitOtherData[t])for(const s in e.unitOtherData[t][i]){const o=new u.ObjectMatrix(e.unitOtherData[t][i][s]),d=this._ensureSubunitFormulaMap(t,i).getValue(s,["formulaId"]);if(!d)continue;const l=d.ranges;if(!l)continue;const c=d.result,h=l[0].startRow,g=l[0].startColumn;o.forValue((v,w,A)=>{c.setValue(h+v,g+w,n0(A))}),d.status=2;const m=this._getAllFormulaResultByCfId(t,i,d.cfId).every(v=>v.status===2);this._result$.next({...d,isAllFinished:m})}}})),this._activeDirtyManagerService.register(Q.id,{commandId:Q.id,getDirtyData(n){return{dirtyUnitOtherFormulaMap:n.params}}})}_ensureSubunitFormulaMap(n,e){let t=this._formulaMap.get(n);t||(t=new Map,this._formulaMap.set(n,t));let i=t.get(e);return i||(i=new u.RefAlias([],["formulaId","id"]),t.set(e,i)),i}getSubUnitFormulaMap(n,e){var t;return(t=this._formulaMap.get(n))==null?void 0:t.get(e)}registerFormulaWithRange(n,e,t,i,s=[{startRow:0,endRow:0,startColumn:0,endColumn:0}]){const o=this._ensureSubunitFormulaMap(n,e),d=this.createCFormulaId(t,i);if(o.getValue(d,["id"]))return;const l=this._createFormulaId(n,e);o.addValue({formulaText:i,unitId:n,subUnitId:e,cfId:t,id:d,ranges:s,formulaId:l,status:3,result:new u.ObjectMatrix});const c={unitId:n,subUnitId:e,formulaMap:{[l]:{f:i,ranges:s}}};this._commandService.executeCommand(V.SetOtherFormulaMutation.id,c,{onlyLocal:!0}).then(()=>{this._commandService.executeCommand(Q.id,{[n]:{[e]:{[l]:!0}}},{onlyLocal:!0})})}_removeFormulaByCfId(n,e,t){const s=this.deleteCache(n,e,t).map(o=>o.formulaId);this._commandService.executeCommand(V.RemoveOtherFormulaMutation.id,{unitId:n,subUnitId:e,formulaIdList:s},{onlyLocal:!0})}getFormulaResultWithCoords(n,e,t,i,s=0,o=0){const d=this.getSubUnitFormulaMap(n,e);if(!d)return{status:1};const l=d.getValue(this.createCFormulaId(t,i),["id"]);return l?l.status===2&&l.result?{result:l.result.getValue(s,o),status:2}:l.status===3?{status:3}:{status:4}:{status:1}}getFormulaMatrix(n,e,t,i){const s=this.getSubUnitFormulaMap(n,e);if(!s)return{status:1};const o=s.getValue(this.createCFormulaId(t,i),["id"]);if(!o)return{status:1};if(o.status===2&&o.result)return{result:o.result,status:2}}deleteCache(n,e,t,i){const s=this.getSubUnitFormulaMap(n,e);if(!s)return[];if(i){const o=this.createCFormulaId(t,i);return s.deleteValue(o,["id"]),[]}else{const o=s.getValues().filter(d=>d.cfId===t);return o.forEach(d=>{s.deleteValue(d.formulaId,["formulaId"])}),o}}_getAllFormulaResultByCfId(n,e,t){const i=this.getSubUnitFormulaMap(n,e);return i?i.getValues().filter(o=>o.cfId===t):[]}_createFormulaId(n,e){return`sheet.cf_${n}_${e}_${u.generateRandomId(8)}`}createCFormulaId(n,e){return`${n}_${e}`}},C.ConditionalFormattingFormulaService=t0([D2(0,u.Inject(u.ICommandService)),D2(1,u.Inject(V.IActiveDirtyManagerService)),D2(2,u.Inject(I))],C.ConditionalFormattingFormulaService);var B=(a=>(a.preComputingStart="preComputingStart",a.preComputing="preComputing",a.preComputingEnd="preComputingEnd",a.preComputingError="preComputingError",a))(B||{});class a2{constructor(r){F(this,"_cache");F(this,"_preComputingStatus$",new K.BehaviorSubject("preComputingStart"));F(this,"preComputingStatus$",this._preComputingStatus$.asObservable().pipe(i2.distinctUntilChanged()));F(this,"_preComputingCache");F(this,"_rule");this._context=r,this._cache=new u.LRUMap(r.limit),this._rule=r.rule,this._preComputingCache=null,this._initClearCacheListener()}setCacheLength(r){this._cache.limit=r}clearCache(){this._cache.clear()}resetPreComputingCache(){this._preComputingStatus$.next("preComputingStart"),this._preComputingCache=null}updateRule(r){this._rule=r,this.resetPreComputingCache()}getCell(r,n){const e=this._createKey(r,n);if(this._preComputingStatus$.getValue()==="preComputing")return this._cache.get(e);let t=this.getPreComputingResult(r,n);if(t===null&&(this._preComputingStatus$.next("preComputingStart"),this.preComputing(r,n,this._getContext()),t=this.getPreComputingResult(r,n),t===null))return this._cache.get(e);if(this._preComputingStatus$.next("preComputingEnd"),this._cache.has(e))return this._cache.get(e);const i=this.getCellResult(r,n,t,this._getContext());return i!==null&&this._setCache(r,n,i),i}setPreComputingCache(r){this._preComputingCache=r}getPreComputingResult(r,n){return this._preComputingCache}_createKey(r,n){return`${r}_${n}`}_setCache(r,n,e){const t=this._createKey(r,n);this._cache.set(t,e)}_getContext(){return{...this._context,rule:this._rule}}_initClearCacheListener(){this.preComputingStatus$.subscribe(r=>{r==="preComputingEnd"&&this.clearCache()})}}class i0 extends a2{preComputing(r,n,e){const t=e.rule,i=e.worksheet,s=new u.ObjectMatrix;!t.rule.config.every(c=>c.value.type===x.num)&&o2(t.ranges,i.getMaxRows()-1,i.getMaxColumns()-1).forEach(h=>{u.Range.foreach(h,(g,D)=>{const m=e.getCellValue(g,D),v=m&&m.v;if(!k(v)&&(m==null?void 0:m.t)===u.CellValueType.NUMBER){const w=Number(v);!Number.isNaN(w)&&s.setValue(g,D,w)}})});const d=[...t.rule.config].sort((c,h)=>c.index-h.index).map(c=>({value:t2(c.value,s,{...e,cfId:t.cfId}),color:new u.ColorKit(c.color)}));if(!d.some(c=>q.isObject(c.value)?c.value.status!==T.SUCCESS:!1)){const c=d.map(h=>h.color).reduce((h,g,D)=>(h.result.push({color:g,value:h.sortValue[D]}),h),{result:[],sortValue:d.map(h=>h.value.result).sort((h,g)=>h-g)}).result;this.setPreComputingCache(c),this._preComputingStatus$.next(B.preComputingEnd);return}this._preComputingStatus$.next(B.preComputing)}getCellResult(r,n,e,t){if(!e)return null;const i=t.getCellValue(r,n);if(i.t===u.CellValueType.NUMBER){const s=Number(i.v);if(!Number.isNaN(s))return V2(e,s)}}}const L2="sheet-conditional-rule-data-bar",f2="#ffbe38",m2="#abd91a",T2="#000",a0=34;class k2 extends q.SheetExtension{constructor(){super(...arguments);F(this,"_paddingRightAndLeft",2);F(this,"_paddingTopAndBottom",2);F(this,"uKey",L2);F(this,"Z_INDEX",a0);F(this,"_radius",1)}draw(n,e,t,i){const{worksheet:s}=t;if(!s)return!1;n.save(),u.Range.foreach(t.rowColumnSegment,(o,d)=>{if(!s.getRowVisible(o)||!s.getColVisible(d))return;const l=s.getCell(o,d);if(l&&l.dataBar){const{color:c,value:h,startPoint:g,isGradient:D}=l.dataBar,m=t.getCellWithCoordByIndex(o,d,!1);let{isMerged:v,isMergedMainCell:w,mergeInfo:A,startY:S,endY:y,startX:M,endX:N}=m;if(v||(w&&(S=A.startY,y=A.endY,M=A.startX,N=A.endX),!this.isRenderDiffRangesByCell(A,i)))return;const c2=N-M,w2=y+q.FIX_ONE_PIXEL_BLUR_OFFSET-S,d2=c2-this._paddingRightAndLeft*2,H2=w2-this._paddingTopAndBottom*2;if(h>0){const Y=Math.max(d2*(1-g/100)*h/100,1),$=M+this._paddingRightAndLeft+g/100*d2,P=S+this._paddingTopAndBottom;if(D){const W=n.createLinearGradient($,P,$+Y,P);W.addColorStop(0,c),W.addColorStop(1,"rgb(255 255 255)"),n.fillStyle=W,n.strokeStyle=c,n.lineWidth=1}else n.fillStyle=c;this._drawRectWithRoundedCorner(n,$,P,Y,H2,!1,!0,!0,!1),D&&n.stroke()}else{const Y=Math.max(d2*g/100*Math.abs(h)/100,1),$=M+this._paddingRightAndLeft+g/100*d2-Y,P=S+this._paddingTopAndBottom;if(D){const W=n.createLinearGradient($,P,$+Y,P);W.addColorStop(0,"rgb(255 255 255)"),W.addColorStop(1,c),n.fillStyle=W,n.strokeStyle=c,n.lineWidth=1}else n.fillStyle=c;this._drawRectWithRoundedCorner(n,$,P,Y,H2,!0,!1,!1,!0),D&&n.stroke()}}}),n.restore()}_drawRectWithRoundedCorner(n,e,t,i,s,o,d,l,c){const h=this._radius;!s||!i||(n.beginPath(),n.moveTo(e+h,t),n.lineTo(e+i-h,t),d?n.arcTo(e+i,t,e+i,t+h,h):n.lineTo(e+i,t),n.lineTo(e+i,t+s-h),l?n.arcTo(e+i,t+s,e+i-h,t+s,h):n.lineTo(e+i,t+s),n.lineTo(e+h,t+s),c?n.arcTo(e,t+s,e,t+s-h,h):n.lineTo(e,t+s),n.lineTo(e,t+h),o?n.arcTo(e,t,e+h,t,h):n.lineTo(e,t),n.closePath(),n.fill())}}q.SpreadsheetExtensionRegistry.add(k2);const r2=a=>Math.max(Math.min(100,a),0),r0=(a,r,n)=>{const e=n(a,r);if(e&&e.t===u.CellValueType.NUMBER){const t=Number(e.v);return Number.isNaN(t)?null:t}return null};class s0 extends a2{preComputing(r,n,e){const t=e.rule,i=t.rule,s=e.worksheet,o=new u.ObjectMatrix;![t.rule.config.max,t.rule.config.min].every(D=>D.type===x.num)&&o2(t.ranges,s.getMaxRows()-1,s.getMaxColumns()-1).forEach(m=>{u.Range.foreach(m,(v,w)=>{const A=e.getCellValue(v,w),S=A&&A.v;if(!k(S)&&(A==null?void 0:A.t)===u.CellValueType.NUMBER){const y=Number(S);!Number.isNaN(y)&&o.setValue(v,w,y)}})});const l=t2(i.config.min,o,{...e,cfId:t.cfId}),c=t2(i.config.max,o,{...e,cfId:t.cfId});let h=0,g=0;if(l.status===T.SUCCESS){const D=Number(l.result);h=Number.isNaN(D)?0:D}else{this._preComputingStatus$.next(B.preComputing);return}if(c.status===T.SUCCESS){const D=Number(c.result),m=Number.isNaN(D)?0:D;g=Math.max(m,h),h=Math.min(m,h);let v=50;if(h<0&&g<=0)v=100;else if(h<0&&g>0){const w=Math.abs(g)+Math.abs(h);v=Math.abs(h)/w*100}else h>=0&&g>0&&(v=0);this.setPreComputingCache({min:h,max:g,startPoint:v}),this._preComputingStatus$.next(B.preComputingEnd);return}this._preComputingStatus$.next(B.preComputing)}getCellResult(r,n,e,t){const{min:i,max:s,startPoint:o}=e,l=t.rule.rule,c=l.isShowValue,h=l.config.isGradient,g=r0(r,n,t.getCellValue);if(!(g===null||g<i||i===s||s<i)){if(g===0)return{color:T2,startPoint:o,value:0,isGradient:h,isShowValue:c};if(i<0&&s<=0){const D=s-i,m=r2((s-g)/D*100);return m===0?void 0:{color:l.config.nativeColor||m2,startPoint:o,value:-m,isGradient:h,isShowValue:c}}else if(i<0&&s>0)if(g>0){const D=r2(Math.min(g/s,1)*100);return D===0?void 0:{color:l.config.positiveColor||f2,startPoint:o,value:D,isGradient:h,isShowValue:c}}else{const D=r2(Math.min(Math.abs(g)/Math.abs(i),1)*100);return D===0?void 0:{color:l.config.nativeColor||m2,startPoint:o,value:-D,isGradient:h,isShowValue:c}}else if(i>=0&&s>0){const D=s-i,m=0,v=r2((1-(s-g)/D)*100);return v===0?void 0:{color:l.config.positiveColor||f2,startPoint:m,value:v,isGradient:h,isShowValue:c}}}}}class l0 extends a2{preComputing(r,n,e){const t=e.rule.rule,i=e.rule.ranges,o=(()=>{switch(t.subType){case _.average:{let d=0,l=0;return i.forEach(c=>{u.Range.foreach(c,(h,g)=>{const D=e.getCellValue(h,g),m=U(D||void 0);D&&D.t===u.CellValueType.NUMBER&&m!==void 0&&(d+=Number(m)||0,l++)})}),{value:d/l,type:t.subType}}case _.uniqueValues:case _.duplicateValues:{const d=new Map;return i.forEach(l=>{u.Range.foreach(l,(c,h)=>{const g=e.getCellValue(c,h),D=U(g||void 0);if(D!==void 0){const m=d.get(D);m?d.set(D,m+1):d.set(D,1)}})}),{value:d,type:t.subType}}case _.rank:{let d=[];i.forEach(h=>{u.Range.foreach(h,(g,D)=>{const m=e.getCellValue(g,D),v=U(m||void 0);m&&m.t===u.CellValueType.NUMBER&&v!==void 0&&d.push(Number(v)||0)})}),d.sort((h,g)=>g-h);const l=e.rule.rule;if(l.isPercent){l.isBottom&&(d=d.toReversed());const h=u.Tools.clamp(l.value,0,100)/100,g=Math.floor(h*d.length),D=u.Tools.clamp(g-1,0,d.length-1);return{value:d[D],type:t.subType}}const c=Math.floor(u.Tools.clamp(l.isBottom?l.value-1:l.value,0,d.length));return l.isBottom?{value:d[d.length-c-1],type:t.subType}:{value:d[Math.max(c-1,0)],type:t.subType}}case _.formula:{const d=t,l=e.accessor.get(C.ConditionalFormattingFormulaService);l.registerFormulaWithRange(e.unitId,e.subUnitId,e.rule.cfId,d.value,e.rule.ranges);const c=l.getFormulaMatrix(e.unitId,e.subUnitId,e.rule.cfId,d.value);return c&&c.status===T.SUCCESS?(this._preComputingStatus$.next(B.preComputingEnd),{value:c.result,type:t.subType}):(this._preComputingStatus$.next(B.preComputing),null)}case _.timePeriod:switch(t.operator){case L.last7Days:return{value:{start:u.dayjs().subtract(7,"day").valueOf(),end:u.dayjs().valueOf()},type:t.subType};case L.lastMonth:return{value:{start:u.dayjs().startOf("month").subtract(1,"month").valueOf(),end:u.dayjs().endOf("month").subtract(1,"month").valueOf()},type:t.subType};case L.lastWeek:return{value:{start:u.dayjs().startOf("week").subtract(1,"week").valueOf(),end:u.dayjs().endOf("week").subtract(1,"week").valueOf()},type:t.subType};case L.nextMonth:return{value:{start:u.dayjs().startOf("month").add(1,"month").valueOf(),end:u.dayjs().endOf("month").add(1,"month").valueOf()},type:t.subType};case L.nextWeek:return{value:{start:u.dayjs().startOf("week").add(1,"week").valueOf(),end:u.dayjs().endOf("week").add(1,"week").valueOf()},type:t.subType};case L.thisMonth:return{value:{start:u.dayjs().startOf("month").valueOf(),end:u.dayjs().endOf("month").valueOf()},type:t.subType};case L.thisWeek:return{value:{start:u.dayjs().startOf("week").valueOf(),end:u.dayjs().endOf("week").valueOf()},type:t.subType};case L.today:return{value:{start:u.dayjs().startOf("day").valueOf(),end:u.dayjs().endOf("day").valueOf()},type:t.subType};case L.tomorrow:return{value:{start:u.dayjs().startOf("day").add(1,"day").valueOf(),end:u.dayjs().endOf("day").add(1,"day").valueOf()},type:t.subType};case L.yesterday:return{value:{start:u.dayjs().startOf("day").subtract(1,"day").valueOf(),end:u.dayjs().endOf("day").subtract(1,"day").valueOf()},type:t.subType}}}})();this.setPreComputingCache(o)}getCellResult(r,n,e,t){const i=t.getCellValue(r,n),s=t.rule.rule;return(()=>{switch(s.subType){case _.number:{const l=i&&Number(i.v),c=(i==null?void 0:i.t)===u.CellValueType.NUMBER,h=s;return c?k(l)||Number.isNaN(l)?void 0:H({operator:h.operator,value:h.value||0},l||0):!![E.notEqual,E.notBetween].includes(h.operator)}case _.text:{const l=s,c=U(i),h=c===null?"":String(c),g=l.value||"";switch(l.operator){case b.beginsWith:return h.startsWith(g);case b.containsBlanks:return/^\s*$/.test(h);case b.notContainsBlanks:return!/^\s*$/.test(h);case b.containsErrors:return V.ERROR_TYPE_SET.has(h);case b.notContainsErrors:return!V.ERROR_TYPE_SET.has(h);case b.containsText:return h.indexOf(g)>-1;case b.notContainsText:return h.indexOf(g)===-1;case b.endsWith:return h.endsWith(g);case b.equal:return h===g;case b.notEqual:return h!==g;default:return!1}}case _.timePeriod:{const l=U(i);if(k(l)||Number.isNaN(Number(l))||(i==null?void 0:i.t)!==u.CellValueType.NUMBER||!e)return;const c=N2(Number(l)),{start:h,end:g}=e.value;return c>=h&&c<=g}case _.average:{const l=i&&i.v,c=Number(l),h=(i==null?void 0:i.t)===u.CellValueType.NUMBER,g=s;if(!h)return E.notEqual===g.operator;if(k(l)||Number.isNaN(c)||!e)return!1;const D=e.value;switch(g.operator){case E.greaterThan:return c>D;case E.greaterThanOrEqual:return c>=D;case E.lessThan:return c<D;case E.lessThanOrEqual:return c<=D;case E.equal:return e2(c,D);case E.notEqual:return!e2(c,D);default:return!1}}case _.rank:{const l=U(i),c=Number(l);if(k(l)||Number.isNaN(c)||(i==null?void 0:i.t)!==u.CellValueType.NUMBER||!e)return!1;const h=e.value;return s.isBottom?c<=h:c>=h}case _.uniqueValues:{const l=U(i);return k(l)||!e?!1:e.value.get(l)===1}case _.duplicateValues:{const l=U(i);return k(l)||!e?!1:e.value.get(l)!==1}case _.formula:{const l=e==null?void 0:e.value;return l?l.getValue(r,n)===!0:!1}}})()?s.style:{}}}const o0=(a,r,n)=>{const e=n(a,r);if(e&&e.t===u.CellValueType.NUMBER){const t=Number(e.v);return Number.isNaN(t)?null:t}return null};class u0 extends a2{preComputing(r,n,e){const t=e.rule.rule,i=e.worksheet,s=new u.ObjectMatrix;!t.config.every(c=>c.value.type===x.num)&&o2(e.rule.ranges,i.getMaxRows()-1,i.getMaxColumns()-1).forEach(h=>{u.Range.foreach(h,(g,D)=>{const m=e.getCellValue(g,D),v=m&&m.v;if(!k(v)&&(m==null?void 0:m.t)===u.CellValueType.NUMBER){const w=Number(v);!Number.isNaN(w)&&s.setValue(g,D,w)}})});const d=t.config.map(c=>t2(c.value,s,{...e,cfId:e.rule.cfId}));if(!d.some(c=>c.status!==T.SUCCESS)){const c=d.map((h,g)=>({operator:t.config[g].operator,value:Number(h.result)||0})).reduce((h,g,D,m)=>{const v=t.config[D];if(!D||D===m.length-1)h.push({...g,iconId:v.iconId,iconType:v.iconType});else{const w=m[D-1];H(w,g.value)||h.push({...g,iconId:v.iconId,iconType:v.iconType})}return h},[]);this.setPreComputingCache(c),this._preComputingStatus$.next(B.preComputingEnd);return}this._preComputingStatus$.next(B.preComputing)}getCellResult(r,n,e,t){if(!e)return null;const i=o0(r,n,t.getCellValue);if(i===null)return;const s=t.rule.rule,o=s.isShowValue===void 0?!0:!!s.isShowValue;for(let d=0;d<e.length;d++){const l=e[d],c={...l},h={...l},{iconId:g,iconType:D}=l;if(d===0){if(H(l,i))return{iconId:g,iconType:D,isShowValue:o}}else{if(d===e.length-1)return{iconId:g,iconType:D,isShowValue:o};{const m=e[d-1];if(h.operator=U2(m.operator),h.value=m.value,H(c,i)&&H(h,i))return{iconId:g,iconType:D,isShowValue:o}}}}}}var c0=Object.getOwnPropertyDescriptor,d0=(a,r,n,e)=>{for(var t=e>1?void 0:e?c0(r,n):r,i=a.length-1,s;i>=0;i--)(s=a[i])&&(t=s(t)||t);return t},s2=(a,r)=>(n,e)=>r(n,e,a);const l2=1e3*3*3;C.ConditionalFormattingViewModel=class extends u.Disposable{constructor(n,e,t,i){super();F(this,"_calculateUnitManagers",new Map);F(this,"_rTreeManager",new u.RTree);F(this,"_cellCache",new u.LRUMap(l2));F(this,"_markDirty$",new K.Subject);F(this,"markDirty$",this._markDirty$.asObservable());F(this,"_markRuleDirtyAtOnce",(n,e,t,i=!0)=>{if(this._cellCache.clear(),i){const o=this._ensureCalculateUnitManager(n,e).get(t);o&&o.resetPreComputingCache()}this._markDirty$.next({unitId:n,subUnitId:e,cfId:t})});F(this,"markRuleDirty",(()=>{const n=new K.Subject;return this.disposeWithMe(n.pipe(i2.bufferTime(100),i2.filter(e=>!!e.length),i2.map(e=>{const t=new Set,i=[];return e.forEach(s=>{const o=`${s.unitId}_${s.subUnitId}_${s.cfId}`;if(t.has(o)){if(s.isNeedResetPreComputingCache){const d=i.find(l=>l.cfId===s.cfId);d.isNeedResetPreComputingCache=!0}return}t.add(o),i.push({...s})}),i})).subscribe(e=>{e.forEach(t=>{this._markRuleDirtyAtOnce(t.unitId,t.subUnitId,t.cfId,t.isNeedResetPreComputingCache)})})),(e,t,i,s=!0)=>{n.next({unitId:e,subUnitId:t,cfId:i,isNeedResetPreComputingCache:s})}})());this._injector=n,this._conditionalFormattingRuleModel=e,this._conditionalFormattingFormulaService=t,this._univerInstanceService=i,this._initRuleListener(),this._handleCustomFormulasSeparately(),this._initCFFormulaListener()}_initCFFormulaListener(){this.disposeWithMe(this._conditionalFormattingFormulaService.result$.subscribe(({unitId:n,subUnitId:e,cfId:t,isAllFinished:i})=>{i&&this._markRuleDirtyAtOnce(n,e,t,i)}))}getCellCfs(n,e,t,i){const s=this._createCacheKey(n,e,t,i);if(this._cellCache.has(s))return this._cellCache.get(s);const o=this._getCellCfs(n,e,t,i);return o.length&&this._cellCache.set(s,o),o}_getCellCfs(n,e,t,i){var h;const s=(h=this._conditionalFormattingRuleModel.getSubunitRules(n,e))!=null?h:[],o=this._ensureCalculateUnitManager(n,e),d=this._rTreeManager.bulkSearch([{unitId:n,sheetId:e,range:{startColumn:i,endColumn:i,startRow:t,endRow:t}}]),l=s.filter(g=>d.has(g.cfId));return l.length?l.map(g=>{const D=o.get(g.cfId);return D?{cfId:g.cfId,result:D.getCell(t,i)}:null}).filter(g=>!!g).map((g,D)=>({...g,priority:D})):[]}_handleCustomFormulasSeparately(){this.disposeWithMe(this._conditionalFormattingRuleModel.$ruleChange.subscribe(n=>{if(n.type==="set"){const{unitId:e,subUnitId:t}=n,i=n.oldRule;i.rule.type===R.highlightCell&&i.rule.subType===_.formula&&this._conditionalFormattingFormulaService.deleteCache(e,t,i.cfId)}}))}_initRuleListener(){this.disposeWithMe(this._conditionalFormattingRuleModel.$ruleChange.subscribe(n=>{const{unitId:e,subUnitId:t,rule:i}=n,{cfId:s,ranges:o}=i,d=this._ensureCalculateUnitManager(e,t);switch(this.markRuleDirty(e,t,s),n.type){case"add":{this._rTreeManager.bulkInsert(o.map(c=>({unitId:e,sheetId:t,id:s,range:c})));const l=this._createRuleCalculateUnitInstance(e,t,i);if(!l)return;d.set(i.cfId,l);break}case"delete":{this._rTreeManager.bulkRemove(o.map(l=>({unitId:e,sheetId:t,id:s,range:l}))),d.delete(i.cfId);break}case"set":{const l=n.oldRule;if(this._rTreeManager.bulkRemove(l.ranges.map(c=>({unitId:e,sheetId:t,id:l.cfId,range:c}))),this._rTreeManager.bulkInsert(o.map(c=>({unitId:e,sheetId:t,id:s,range:c}))),l.rule.type!==i.rule.type){const c=this._createRuleCalculateUnitInstance(e,t,i);if(!c)return;d.delete(l.cfId),d.set(i.cfId,c)}else{const c=d.get(l.cfId);if(!c)return;c.updateRule(i)}}}}))}_ensureCalculateUnitManager(n,e){let t=this._calculateUnitManagers.get(n);t||(t=new Map,this._calculateUnitManagers.set(n,t));let i=t.get(e);return i||(i=new Map,t.set(e,i)),i}_createRuleCalculateUnitInstance(n,e,t){const i=this._univerInstanceService.getUnit(n),s=i==null?void 0:i.getSheetBySheetId(e);if(!i||!s)return;const o={workbook:i,worksheet:s,unitId:n,subUnitId:e,accessor:this._injector,rule:t,limit:l2,getCellValue:(d,l)=>s.getCellRaw(d,l)||{}};switch(t.rule.type){case R.colorScale:return new i0(o);case R.dataBar:return new s0(o);case R.highlightCell:return new l0(o);case R.iconSet:return new u0(o)}}_createCacheKey(n,e,t,i){return`${n}_${e}_${t}_${i}`}setCacheLength(n=l2){this._cellCache.limit!==n&&(this._cellCache.limit=n,this._calculateUnitManagers.forEach(e=>{e.forEach(t=>{t.forEach(i=>{i.setCacheLength(n)})})}))}},C.ConditionalFormattingViewModel=d0([s2(0,u.Inject(u.Injector)),s2(1,u.Inject(I)),s2(2,u.Inject(C.ConditionalFormattingFormulaService)),s2(3,u.IUniverInstanceService)],C.ConditionalFormattingViewModel);function e2(a,r){return Math.abs(a-r)<Number.EPSILON}const k=a=>[void 0,null].includes(a),U=a=>{var e,t;if(!a)return null;if(a.t===u.CellValueType.BOOLEAN)return a.v===u.BooleanNumber.TRUE?V.BooleanValue.TRUE:V.BooleanValue.FALSE;const r=a.v,n=(t=(e=a.p)==null?void 0:e.body)==null?void 0:t.dataStream.replace(/\r\n$/,"");return k(r)?k(n)?null:n:r},v2=86400;function B2(a,r=!0){if(r&&a>=0){if(a===0)return[1900,1,0];if(a===60)return[1900,2,29];if(a<60)return[1900,a<32?1:2,(a-1)%31+1]}let n=a+68569+2415019;const e=Math.floor(4*n/146097);n=n-Math.floor((146097*e+3)/4);const t=Math.floor(4e3*(n+1)/1461001);n=n-Math.floor(1461*t/4)+31;const i=Math.floor(80*n/2447),s=n-Math.floor(2447*i/80);n=Math.floor(i/11);const o=i+2-12*n;return[100*(e-49)+t+n|0,o|0,s|0]}const N2=a=>{let r=a|0;const n=v2*(a-r);let e=Math.floor(n);n-e>.9999&&(e+=1,e===v2&&(e=0,r+=1));const t=e<0?v2+e:e,[i,s,o]=B2(a,!0),d=Math.floor(t/60/60)%60,l=Math.floor(t/60)%60,c=Math.floor(t)%60;return u.dayjs(`${i}/${s}/${o} ${d}:${l}:${c}`).valueOf()},t2=(a,r,n)=>{switch(a.type){case x.max:{let e=0;return r.forValue((t,i,s)=>{s>e&&(e=s)}),{status:T.SUCCESS,result:e}}case x.min:{let e;return r.forValue((t,i,s)=>{e===void 0&&(e=s),s<e&&(e=s)}),{status:T.SUCCESS,result:e}}case x.percent:{let e,t;r.forValue((o,d,l)=>{(e===void 0||t===void 0)&&(e=l,t=l),l>e&&(e=l),l<t&&(t=l)});const i=(e||0)-(t||0),s=Math.max(Math.min(Number(a.value)||0,100),0);return{status:T.SUCCESS,result:i*(s/100)+(t||0)}}case x.percentile:{const e=r.toNativeArray().sort((l,c)=>l-c),t=Math.max(Math.min(Number(a.value)||0,100),0),i=(e.length-1)*t/100,s=Math.floor(i),o=i-s,d=e[s]+(e[Math.min(s+1,e.length-1)]-e[s])*o;return{status:T.SUCCESS,result:d}}case x.formula:{const{accessor:e,unitId:t,subUnitId:i,cfId:s}=n,o=String(a.value),d=e.get(C.ConditionalFormattingFormulaService);return d.registerFormulaWithRange(t,i,s,o),d.getFormulaResultWithCoords(t,i,s,o)}case x.num:{const e=Number(a.value);return{status:T.SUCCESS,result:Number.isNaN(e)?0:e}}}},h0=(a,r,n,e)=>{const{accessor:t}=e,i=t.get(C.ConditionalFormattingViewModel),s=new u.ObjectMatrix;return n.ranges.forEach(o=>{u.Range.foreach(o,(d,l)=>{const c=i.getCellCfs(a,r,d,l);if(c){const h=c.find(g=>g.cfId===n.cfId);h!=null&&h.result&&s.setValue(d,l,h.result)}})}),s},H=(a,r)=>{switch(a.operator){case E.between:{if(typeof a.value!="object"||!a.value.length)return;const n=Math.min(...a.value),e=Math.max(...a.value);return r>=n&&r<=e}case E.notBetween:{if(typeof a.value!="object"||!a.value.length)return;const n=Math.min(...a.value),e=Math.max(...a.value);return!(r>=n&&r<=e)}case E.equal:{const n=a.value||0;return e2(n,r)}case E.notEqual:{const n=a.value||0;return!e2(n,r)}case E.greaterThan:{const n=a.value||0;return r>n}case E.greaterThanOrEqual:{const n=a.value||0;return r>=n}case E.lessThan:{const n=a.value||0;return r<n}case E.lessThanOrEqual:{const n=a.value||0;return r<=n}default:return!1}},U2=a=>{switch(a){case E.greaterThan:return E.lessThanOrEqual;case E.greaterThanOrEqual:return E.lessThan;case E.lessThan:return E.greaterThanOrEqual;case E.lessThanOrEqual:return E.greaterThan}return a},V2=(a,r)=>{const n=i=>i.a!==void 0?i:{...i,a:1},e=a.findIndex(i=>i.value>=r),t=e-1;if(e===0)return a[0].color.toRgbString();if(t>=0){const i=a[t],s=a[e];if(i.color.isValid&&s.color.isValid){const o=n(i.color.toRgb()),d=n(s.color.toRgb()),l=s.value-i.value,c=(r-i.value)/l,h=["r","g","b","a"].reduce((D,m)=>{const v=o[m];return D[m]=(d[m]-v)*c+v,D},{});return new u.ColorKit(h).toRgbString()}}else return a[a.length-1].color.toRgbString()},o2=(a,r,n)=>a.map(e=>{if(e.startColumn>n||e.startRow>r)return null;const t={...e};return t.endRow=Math.min(t.endRow,r),t.endColumn=Math.min(t.endColumn,n),t}).filter(e=>!!e);function g0(a){let r=0;return new u.ObjectMatrix(a).forValue((n,e,t)=>{r=Math.max(Number.isNaN(r)?0:r,Number(t))}),r}const f={feedback:{mistake:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%229.99999%22%20cy%3D%2210%22%20r%3D%227.03704%22%20fill%3D%22%23FE4B4B%22%2F%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M6.87359%206.87332C6.6146%207.13231%206.6146%207.55221%206.87359%207.8112L9.062%209.99961L6.87356%2012.188C6.61457%2012.447%206.61457%2012.8669%206.87356%2013.1259C7.13255%2013.3849%207.55245%2013.3849%207.81144%2013.1259L9.99987%2010.9375L12.1882%2013.1258C12.4472%2013.3848%2012.8671%2013.3848%2013.1261%2013.1258C13.3851%2012.8669%2013.3851%2012.447%2013.1261%2012.188L10.9378%209.99961L13.1261%207.81127C13.3851%207.55228%2013.3851%207.13238%2013.1261%206.87339C12.8671%206.61441%2012.4472%206.61441%2012.1882%206.87339L9.99987%209.06173L7.81147%206.87332C7.55248%206.61433%207.13257%206.61433%206.87359%206.87332Z%22%20fill%3D%22%23FFFFFF%22%2F%3E%0A%3C%2Fsvg%3E%0A",warn:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%229.99999%22%20cy%3D%2210%22%20r%3D%227.03704%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3Cpath%20d%3D%22M9.16817%206.67735C9.16646%206.61745%209.1656%206.5875%209.16653%206.56236C9.18103%206.16817%209.49136%205.84883%209.88497%205.82306C9.91008%205.82141%209.94004%205.82141%209.99996%205.82141V5.82141C10.0599%205.82141%2010.0899%205.82141%2010.115%205.82306C10.5086%205.84883%2010.8189%206.16817%2010.8334%206.56236C10.8343%206.5875%2010.8335%206.61745%2010.8318%206.67735L10.7043%2011.131C10.6934%2011.5121%2010.3812%2011.8154%209.99995%2011.8154V11.8154C9.61866%2011.8154%209.30655%2011.5121%209.29564%2011.131L9.16817%206.67735Z%22%20fill%3D%22%23FFFFFF%22%2F%3E%0A%3Crect%20x%3D%229.31488%22%20y%3D%2212.8086%22%20width%3D%221.37006%22%20height%3D%221.37006%22%20rx%3D%220.685032%22%20fill%3D%22%23FFFFFF%22%2F%3E%0A%3C%2Fsvg%3E%0A",correct:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M17.037%2010C17.037%2013.8865%2013.8864%2017.0371%209.99999%2017.0371C6.11354%2017.0371%202.96295%2013.8865%202.96295%2010C2.96295%206.1136%206.11354%202.96301%209.99999%202.96301C13.8864%202.96301%2017.037%206.1136%2017.037%2010Z%22%20fill%3D%22%2359D01E%22%2F%3E%0A%3Cpath%20d%3D%22M13.9239%207.17477C13.6638%206.91472%2013.2422%206.91472%2012.9821%207.17477L8.74433%2011.4126L7.01786%209.6861C6.75781%209.42606%206.33619%209.42606%206.07614%209.6861C5.81609%209.94615%205.81609%2010.3678%206.07614%2010.6278L8.27349%2012.8252C8.53354%2013.0852%208.95516%2013.0852%209.21521%2012.8252L9.2195%2012.8209L13.9239%208.1165C14.1839%207.85645%2014.1839%207.43482%2013.9239%207.17477Z%22%20fill%3D%22%23FFFFFF%22%2F%3E%0A%3C%2Fsvg%3E%0A"},star:{starEmpty:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M10.3437%203.3312L11.6861%206.67412C11.8451%207.0699%2012.2165%207.33978%2012.6421%207.36863L16.2362%207.61233C16.5693%207.63492%2016.7048%208.05202%2016.4486%208.26608L13.6841%2010.5758C13.3568%2010.8493%2013.215%2011.2859%2013.319%2011.6996L14.1979%2015.1931C14.2793%2015.5168%2013.9245%2015.7746%2013.6418%2015.5971L10.5908%2013.6817C10.2296%2013.4549%209.77045%2013.4549%209.40924%2013.6817L6.35828%2015.5971C6.07553%2015.7746%205.72072%2015.5168%205.80217%2015.1931L6.68105%2011.6996C6.7851%2011.2859%206.64322%2010.8493%206.31592%2010.5758L3.55145%208.26607C3.29525%208.05202%203.43078%207.63492%203.76386%207.61233L7.358%207.36863C7.78352%207.33978%208.15498%207.0699%208.31391%206.67412L9.65633%203.3312C9.78074%203.0214%2010.2193%203.0214%2010.3437%203.3312Z%22%20fill%3D%22%23fff%22%20stroke%3D%22%23FFBD37%22%20stroke-width%3D%220.740741%22%2F%3E%0A%3C%2Fsvg%3E%0A",starIncomplete:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cg%20clip-path%3D%22url(%23clip0_613_177)%22%3E%0A%3Cmask%20id%3D%22mask0_613_177%22%20style%3D%22mask-type%3Aalpha%22%20maskUnits%3D%22userSpaceOnUse%22%20x%3D%2210%22%20y%3D%220%22%20width%3D%2210%22%20height%3D%2220%22%3E%0A%3Crect%20x%3D%2210.3704%22%20y%3D%220.37037%22%20width%3D%229.25926%22%20height%3D%2219.2593%22%20fill%3D%22%23C4C4C4%22%20stroke%3D%22%23F7D564%22%20stroke-width%3D%220.740741%22%2F%3E%0A%3C%2Fmask%3E%0A%3Cg%20mask%3D%22url(%23mask0_613_177)%22%3E%0A%3Cpath%20d%3D%22M10.3437%203.3312L11.6861%206.67412C11.845%207.0699%2012.2165%207.33978%2012.642%207.36863L16.2361%207.61233C16.5692%207.63492%2016.7047%208.05202%2016.4485%208.26608L13.6841%2010.5758C13.3568%2010.8493%2013.2149%2011.2859%2013.3189%2011.6996L14.1978%2015.1931C14.2793%2015.5168%2013.9245%2015.7746%2013.6417%2015.5971L10.5908%2013.6817C10.2295%2013.4549%209.77039%2013.4549%209.40918%2013.6817L6.35822%2015.5971C6.07547%2015.7746%205.72066%2015.5168%205.80211%2015.1931L6.68098%2011.6996C6.78504%2011.2859%206.64316%2010.8493%206.31586%2010.5758L3.55139%208.26607C3.29519%208.05202%203.43072%207.63492%203.7638%207.61233L7.35793%207.36863C7.78346%207.33978%208.15491%207.0699%208.31385%206.67412L9.65627%203.3312C9.78068%203.0214%2010.2192%203.0214%2010.3437%203.3312Z%22%20fill%3D%22%23fff%22%20stroke%3D%22%23FFBD37%22%20stroke-width%3D%220.740741%22%2F%3E%0A%3C%2Fg%3E%0A%3Cmask%20id%3D%22mask1_613_177%22%20style%3D%22mask-type%3Aalpha%22%20maskUnits%3D%22userSpaceOnUse%22%20x%3D%220%22%20y%3D%220%22%20width%3D%2210%22%20height%3D%2220%22%3E%0A%3Crect%20width%3D%2210%22%20height%3D%2220%22%20fill%3D%22%23C4C4C4%22%2F%3E%0A%3C%2Fmask%3E%0A%3Cg%20mask%3D%22url(%23mask1_613_177)%22%3E%0A%3Cpath%20d%3D%22M10.3437%203.3312L11.6861%206.67412C11.845%207.0699%2012.2165%207.33978%2012.642%207.36863L16.2361%207.61233C16.5692%207.63492%2016.7047%208.05202%2016.4485%208.26608L13.6841%2010.5758C13.3568%2010.8493%2013.2149%2011.2859%2013.3189%2011.6996L14.1978%2015.1931C14.2793%2015.5168%2013.9245%2015.7746%2013.6417%2015.5971L10.5908%2013.6817C10.2295%2013.4549%209.77039%2013.4549%209.40918%2013.6817L6.35822%2015.5971C6.07547%2015.7746%205.72066%2015.5168%205.80211%2015.1931L6.68098%2011.6996C6.78504%2011.2859%206.64316%2010.8493%206.31586%2010.5758L3.55139%208.26607C3.29519%208.05202%203.43072%207.63492%203.7638%207.61233L7.35793%207.36863C7.78346%207.33978%208.15491%207.0699%208.31385%206.67412L9.65627%203.3312C9.78068%203.0214%2010.2192%203.0214%2010.3437%203.3312Z%22%20fill%3D%22%23FFBD37%22%20stroke%3D%22%23FFBD37%22%20stroke-width%3D%220.740741%22%2F%3E%0A%3C%2Fg%3E%0A%3C%2Fg%3E%0A%3Cdefs%3E%0A%3CclipPath%20id%3D%22clip0_613_177%22%3E%0A%3Crect%20width%3D%2220%22%20height%3D%2220%22%20fill%3D%22white%22%2F%3E%0A%3C%2FclipPath%3E%0A%3C%2Fdefs%3E%0A%3C%2Fsvg%3E%0A",starFull:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M10.3437%203.3312L11.6861%206.67412C11.8451%207.0699%2012.2165%207.33978%2012.6421%207.36863L16.2362%207.61233C16.5693%207.63492%2016.7048%208.05202%2016.4486%208.26608L13.6841%2010.5758C13.3568%2010.8493%2013.215%2011.2859%2013.319%2011.6996L14.1979%2015.1931C14.2793%2015.5168%2013.9245%2015.7746%2013.6418%2015.5971L10.5908%2013.6817C10.2296%2013.4549%209.77045%2013.4549%209.40924%2013.6817L6.35828%2015.5971C6.07553%2015.7746%205.72072%2015.5168%205.80217%2015.1931L6.68105%2011.6996C6.7851%2011.2859%206.64322%2010.8493%206.31592%2010.5758L3.55145%208.26607C3.29525%208.05202%203.43078%207.63492%203.76386%207.61233L7.358%207.36863C7.78352%207.33978%208.15498%207.0699%208.31391%206.67412L9.65633%203.3312C9.78074%203.0214%2010.2193%203.0214%2010.3437%203.3312Z%22%20fill%3D%22%23FFBD37%22%20stroke%3D%22%23FFBD37%22%20stroke-width%3D%220.740741%22%2F%3E%0A%3C%2Fsvg%3E%0A"},progress:{progress0:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%229.99993%22%20r%3D%226.66667%22%20stroke%3D%22%237A7A7A%22%20stroke-width%3D%220.740741%22%2F%3E%0A%3C%2Fsvg%3E%0A",progress25:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%229.99993%22%20r%3D%226.66667%22%20stroke%3D%22%237A7A7A%22%20stroke-width%3D%220.740741%22%2F%3E%0A%3Cpath%20d%3D%22M16.2963%209.99991C16.2963%209.17307%2016.1335%208.35432%2015.8171%207.59042C15.5006%206.82652%2015.0369%206.13242%2014.4522%205.54776C13.8675%204.96309%2013.1734%204.49931%2012.4095%204.18289C11.6456%203.86647%2010.8269%203.70361%2010%203.70361L10%209.99991H16.2963Z%22%20fill%3D%22%237A7A7A%22%2F%3E%0A%3C%2Fsvg%3E%0A",progress50:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%229.99993%22%20r%3D%226.66667%22%20stroke%3D%22%237A7A7A%22%20stroke-width%3D%220.740741%22%2F%3E%0A%3Cpath%20d%3D%22M10%2016.2962C11.6699%2016.2962%2013.2714%2015.6328%2014.4522%2014.4521C15.633%2013.2713%2016.2963%2011.6698%2016.2963%209.99991C16.2963%208.33003%2015.633%206.72854%2014.4522%205.54776C13.2714%204.36697%2011.6699%203.70361%2010%203.70361L10%209.99991L10%2016.2962Z%22%20fill%3D%22%237A7A7A%22%2F%3E%0A%3C%2Fsvg%3E%0A",progress75:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%229.99993%22%20r%3D%226.66667%22%20stroke%3D%22%237A7A7A%22%20stroke-width%3D%220.740741%22%2F%3E%0A%3Cpath%20d%3D%22M3.70374%209.99991C3.70374%2011.2452%204.07301%2012.4625%204.76485%2013.4979C5.4567%2014.5334%206.44005%2015.3404%207.59054%2015.8169C8.74104%2016.2935%2010.007%2016.4182%2011.2284%2016.1752C12.4497%2015.9323%2013.5716%2015.3326%2014.4522%2014.4521C15.3327%2013.5715%2015.9324%2012.4496%2016.1753%2011.2283C16.4183%2010.0069%2016.2936%208.74092%2015.8171%207.59042C15.3405%206.43992%2014.5335%205.45658%2013.4981%204.76473C12.4626%204.07288%2011.2453%203.70361%2010%203.70361L10%209.99991L3.70374%209.99991Z%22%20fill%3D%22%237A7A7A%22%2F%3E%0A%3C%2Fsvg%3E%0A",progress100:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%229.99993%22%20r%3D%226.66667%22%20stroke%3D%22%237A7A7A%22%20stroke-width%3D%220.740741%22%2F%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%229.99991%22%20r%3D%226.2963%22%20fill%3D%22%237A7A7A%22%2F%3E%0A%3C%2Fsvg%3E%0A"},signal:{signal0:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%2214.4764%22%20y%3D%222.98926%22%20width%3D%222.3%22%20height%3D%2214.0597%22%20rx%3D%220.5%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%2210.7255%22%20y%3D%225.93921%22%20width%3D%222.3%22%20height%3D%2211.1096%22%20rx%3D%220.5%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%226.97455%22%20y%3D%229.70435%22%20width%3D%222.3%22%20height%3D%227.3443%22%20rx%3D%220.5%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%223.22363%22%20y%3D%2213.3302%22%20width%3D%222.3%22%20height%3D%223.71851%22%20rx%3D%220.5%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3C%2Fsvg%3E%0A",signal25:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%2214.4764%22%20y%3D%222.98926%22%20width%3D%222.3%22%20height%3D%2214.0597%22%20rx%3D%220.5%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%2210.7255%22%20y%3D%225.93921%22%20width%3D%222.3%22%20height%3D%2211.1096%22%20rx%3D%220.5%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%226.97455%22%20y%3D%229.70435%22%20width%3D%222.3%22%20height%3D%227.3443%22%20rx%3D%220.5%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%223.22363%22%20y%3D%2213.3302%22%20width%3D%222.3%22%20height%3D%223.71851%22%20rx%3D%220.5%22%20fill%3D%22%230493EE%22%2F%3E%0A%3C%2Fsvg%3E%0A",signal50:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%2214.4764%22%20y%3D%222.98926%22%20width%3D%222.3%22%20height%3D%2214.0597%22%20rx%3D%220.5%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%2210.7255%22%20y%3D%225.93921%22%20width%3D%222.3%22%20height%3D%2211.1096%22%20rx%3D%220.5%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%226.97455%22%20y%3D%229.70435%22%20width%3D%222.3%22%20height%3D%227.3443%22%20rx%3D%220.5%22%20fill%3D%22%230493EE%22%2F%3E%0A%3Crect%20x%3D%223.22363%22%20y%3D%2213.3302%22%20width%3D%222.3%22%20height%3D%223.71851%22%20rx%3D%220.5%22%20fill%3D%22%230493EE%22%2F%3E%0A%3C%2Fsvg%3E%0A",signal75:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%2214.4764%22%20y%3D%222.98926%22%20width%3D%222.3%22%20height%3D%2214.0597%22%20rx%3D%220.5%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%2210.7255%22%20y%3D%225.93921%22%20width%3D%222.3%22%20height%3D%2211.1096%22%20rx%3D%220.5%22%20fill%3D%22%230493EE%22%2F%3E%0A%3Crect%20x%3D%226.97455%22%20y%3D%229.70435%22%20width%3D%222.3%22%20height%3D%227.3443%22%20rx%3D%220.5%22%20fill%3D%22%230493EE%22%2F%3E%0A%3Crect%20x%3D%223.22363%22%20y%3D%2213.3302%22%20width%3D%222.3%22%20height%3D%223.71851%22%20rx%3D%220.5%22%20fill%3D%22%230493EE%22%2F%3E%0A%3C%2Fsvg%3E%0A",signal100:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%2214.4764%22%20y%3D%222.98926%22%20width%3D%222.3%22%20height%3D%2214.0597%22%20rx%3D%220.5%22%20fill%3D%22%230493EE%22%2F%3E%0A%3Crect%20x%3D%2210.7255%22%20y%3D%225.93933%22%20width%3D%222.3%22%20height%3D%2211.1096%22%20rx%3D%220.5%22%20fill%3D%22%230493EE%22%2F%3E%0A%3Crect%20x%3D%226.97455%22%20y%3D%229.70447%22%20width%3D%222.3%22%20height%3D%227.3443%22%20rx%3D%220.5%22%20fill%3D%22%230493EE%22%2F%3E%0A%3Crect%20x%3D%223.22363%22%20y%3D%2213.3302%22%20width%3D%222.3%22%20height%3D%223.71851%22%20rx%3D%220.5%22%20fill%3D%22%230493EE%22%2F%3E%0A%3C%2Fsvg%3E%0A"},feeling:{guffaw:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M16.887%2010C16.887%2013.8037%2013.8036%2016.8871%209.99999%2016.8871C6.19638%2016.8871%203.11295%2013.8037%203.11295%2010C3.11295%206.19644%206.19638%203.11301%209.99999%203.11301C13.8036%203.11301%2016.887%206.19644%2016.887%2010Z%22%20fill%3D%22%23FFBD37%22%20stroke%3D%22%238F5F00%22%20stroke-width%3D%220.3%22%2F%3E%0A%3Crect%20x%3D%227.40741%22%20y%3D%227.40735%22%20width%3D%221.48148%22%20height%3D%221.48148%22%20rx%3D%220.740741%22%20fill%3D%22%238F5F00%22%2F%3E%0A%3Crect%20x%3D%2211.1111%22%20y%3D%227.40735%22%20width%3D%221.48148%22%20height%3D%221.48148%22%20rx%3D%220.740741%22%20fill%3D%22%238F5F00%22%2F%3E%0A%3Cpath%20d%3D%22M12.5355%2013.5821C13.0482%2013.1841%2013.3951%2012.6107%2013.5405%2012.0327C13.5934%2011.8226%2013.5051%2011.6349%2013.3518%2011.5331C13.2036%2011.4346%2013.0031%2011.4203%2012.8265%2011.5131C11.0615%2012.4407%208.94609%2012.4427%207.1828%2011.513C7.00629%2011.4199%206.80602%2011.4343%206.65798%2011.5329C6.50518%2011.6346%206.41701%2011.8217%206.46844%2012.0312C6.61029%2012.609%206.95079%2013.1833%207.46449%2013.5821C8.14361%2014.1093%209.05608%2014.3999%2010%2014.3999C10.9439%2014.3999%2011.8564%2014.1093%2012.5355%2013.5821Z%22%20fill%3D%22white%22%20stroke%3D%22%238F5F00%22%20stroke-width%3D%220.4%22%2F%3E%0A%3C%2Fsvg%3E%0A",smile:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%229.99999%22%20cy%3D%2210%22%20r%3D%226.88704%22%20fill%3D%22%23FFBD37%22%20stroke%3D%22%238F5F00%22%20stroke-width%3D%220.3%22%2F%3E%0A%3Crect%20x%3D%227.40741%22%20y%3D%227.40735%22%20width%3D%221.48148%22%20height%3D%221.48148%22%20rx%3D%220.740741%22%20fill%3D%22%238F5F00%22%2F%3E%0A%3Crect%20x%3D%2211.1111%22%20y%3D%227.40735%22%20width%3D%221.48148%22%20height%3D%221.48148%22%20rx%3D%220.740741%22%20fill%3D%22%238F5F00%22%2F%3E%0A%3Cpath%20d%3D%22M7.03705%2011.8518C7.03705%2011.8518%207.77779%2013.7037%2010%2013.7037C12.2222%2013.7037%2012.963%2011.8518%2012.963%2011.8518%22%20stroke%3D%22%238F5F00%22%20stroke-width%3D%220.962963%22%20stroke-linecap%3D%22round%22%2F%3E%0A%3C%2Fsvg%3E%0A",noninductive:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%229.99999%22%20cy%3D%2210%22%20r%3D%226.88704%22%20fill%3D%22%23FFBD37%22%20stroke%3D%22%238F5F00%22%20stroke-width%3D%220.3%22%2F%3E%0A%3Crect%20x%3D%227.40741%22%20y%3D%227.9259%22%20width%3D%221.48148%22%20height%3D%221.11111%22%20rx%3D%220.555556%22%20fill%3D%22%238F5F00%22%2F%3E%0A%3Crect%20x%3D%2211.1111%22%20y%3D%227.9259%22%20width%3D%221.48148%22%20height%3D%221.11111%22%20rx%3D%220.555556%22%20fill%3D%22%238F5F00%22%2F%3E%0A%3Cpath%20d%3D%22M7.03705%2012.5927C7.03705%2012.5927%208.14816%2012.5927%2010.3704%2012.5927C12.5926%2012.5927%2012.963%2012.5927%2012.963%2012.5927%22%20stroke%3D%22%238F5F00%22%20stroke-width%3D%220.962963%22%20stroke-linecap%3D%22round%22%2F%3E%0A%3C%2Fsvg%3E%0A",dissatisfied:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%229.99999%22%20cy%3D%2210%22%20r%3D%226.88704%22%20fill%3D%22%23FFBD37%22%20stroke%3D%22%238F5F00%22%20stroke-width%3D%220.3%22%2F%3E%0A%3Crect%20x%3D%227.40741%22%20y%3D%227.40735%22%20width%3D%221.48148%22%20height%3D%221.48148%22%20rx%3D%220.740741%22%20fill%3D%22%238F5F00%22%2F%3E%0A%3Crect%20x%3D%2211.1111%22%20y%3D%227.40735%22%20width%3D%221.48148%22%20height%3D%221.48148%22%20rx%3D%220.740741%22%20fill%3D%22%238F5F00%22%2F%3E%0A%3Cpath%20d%3D%22M7.03705%2013.7037C7.03705%2013.7037%207.77779%2011.8519%2010%2011.8519C12.2222%2011.8519%2012.963%2013.7037%2012.963%2013.7037%22%20stroke%3D%22%238F5F00%22%20stroke-width%3D%220.962963%22%20stroke-linecap%3D%22round%22%2F%3E%0A%3C%2Fsvg%3E%0A",impatient:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%229.99999%22%20cy%3D%2210%22%20r%3D%226.88704%22%20fill%3D%22%23FFBD37%22%20stroke%3D%22%238F5F00%22%20stroke-width%3D%220.3%22%2F%3E%0A%3Crect%20x%3D%227.40741%22%20y%3D%227.40735%22%20width%3D%221.48148%22%20height%3D%221.48148%22%20rx%3D%220.740741%22%20fill%3D%22%238F5F00%22%2F%3E%0A%3Crect%20x%3D%2211.1111%22%20y%3D%227.40735%22%20width%3D%221.48148%22%20height%3D%221.48148%22%20rx%3D%220.740741%22%20fill%3D%22%238F5F00%22%2F%3E%0A%3Cpath%20d%3D%22M7.47573%2011.731C6.96306%2012.129%206.61613%2012.7024%206.47071%2013.2804C6.41784%2013.4905%206.50617%2013.6782%206.65942%2013.78C6.80761%2013.8785%207.00813%2013.8928%207.18477%2013.8C8.9498%2012.8724%2011.0652%2012.8704%2012.8285%2013.8002C13.005%2013.8932%2013.2052%2013.8788%2013.3533%2013.7802C13.5061%2013.6785%2013.5942%2013.4914%2013.5428%2013.2819C13.401%2012.7041%2013.0605%2012.1298%2012.5468%2011.731C11.8676%2011.2038%2010.9552%2010.9132%2010.0112%2010.9132C9.06732%2010.9132%208.15485%2011.2038%207.47573%2011.731Z%22%20fill%3D%22white%22%20stroke%3D%22%238F5F00%22%20stroke-width%3D%220.4%22%2F%3E%0A%3C%2Fsvg%3E%0A"},arrow:JSON.parse('{"down-red":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M8.90467%203.99244C8.84611%204.1338%208.84611%204.31301%208.84611%204.67143V13.716L5.92068%2010.7906C5.66724%2010.5371%205.54052%2010.4104%205.39916%2010.3519C5.21067%2010.2738%204.9989%2010.2738%204.81041%2010.3519C4.66905%2010.4104%204.54233%2010.5371%204.28889%2010.7906C4.03545%2011.044%203.90873%2011.1707%203.85018%2011.3121C3.77211%2011.5006%203.77211%2011.7124%203.85018%2011.9008C3.90873%2012.0422%204.03545%2012.1689%204.28889%2012.4224L9.03476%2017.1682C9.07839%2017.2127%209.12737%2017.2617%209.18231%2017.3166L9.18239%2017.3167L9.18241%2017.3167C9.40545%2017.5398%209.53035%2017.6647%209.65346%2017.7313C9.67085%2017.7408%209.6882%2017.7492%209.70577%2017.7564C9.89425%2017.8345%2010.106%2017.8345%2010.2945%2017.7564C10.4359%2017.6979%2010.5626%2017.5712%2010.816%2017.3177C10.8986%2017.2352%2010.9677%2017.1661%2011.0253%2017.1056L15.7095%2012.4214L15.7095%2012.4213C15.963%2012.1679%2016.0897%2012.0412%2016.1482%2011.8998C16.2263%2011.7114%2016.2263%2011.4996%2016.1482%2011.3111C16.0897%2011.1697%2015.963%2011.043%2015.7095%2010.7896C15.4561%2010.5361%2015.3294%2010.4094%2015.188%2010.3509C14.9995%2010.2728%2014.7878%2010.2728%2014.5993%2010.3509C14.4579%2010.4094%2014.3312%2010.5361%2014.0778%2010.7896L14.0777%2010.7896L11.1538%2013.7135V4.67142C11.1538%204.31301%2011.1538%204.1338%2011.0953%203.99244C11.0172%203.80395%2010.8674%203.6542%2010.6789%203.57613C10.5376%203.51758%2010.3584%203.51758%209.99996%203.51758C9.64154%203.51758%209.46233%203.51758%209.32097%203.57613C9.13249%203.6542%208.98274%203.80395%208.90467%203.99244Z%22%20fill%3D%22%23FE4B4B%22%2F%3E%0A%3C%2Fsvg%3E%0A","right-gold":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M3.32508%2011.7609C3.46644%2011.8194%203.64565%2011.8194%204.00407%2011.8194H13.049L10.1235%2014.745C9.87002%2014.9984%209.7433%2015.1251%209.68475%2015.2665C9.60668%2015.455%209.60668%2015.6668%209.68475%2015.8552C9.7433%2015.9966%209.87002%2016.1233%2010.1235%2016.3768C10.3769%2016.6302%2010.5036%2016.7569%2010.645%2016.8155C10.8335%2016.8935%2011.0452%2016.8935%2011.2337%2016.8155C11.3751%2016.7569%2011.5018%2016.6302%2011.7552%2016.3768L16.5105%2011.6215C16.5524%2011.5803%2016.5983%2011.5344%2016.6493%2011.4834L16.6495%2011.4831C16.8561%2011.2765%2016.9785%2011.1542%2017.0484%2011.0394C17.0648%2011.0128%2017.0782%2010.9866%2017.0893%2010.9599C17.1674%2010.7714%2017.1674%2010.5596%2017.0893%2010.3711C17.0308%2010.2298%2016.904%2010.1031%2016.6506%209.84962C16.5685%209.76752%2016.4997%209.69872%2016.4394%209.64123L11.7542%204.95601C11.5007%204.70257%2011.374%204.57585%2011.2327%204.5173C11.0442%204.43923%2010.8324%204.43923%2010.6439%204.5173C10.5026%204.57585%2010.3758%204.70257%2010.1224%204.95601L10.1224%204.95601C9.86895%205.20945%209.74223%205.33617%209.68368%205.47753C9.60561%205.66601%209.60561%205.87779%209.68368%206.06627C9.74223%206.20764%209.86895%206.33436%2010.1224%206.5878L13.0463%209.51175H4.00407C3.64565%209.51175%203.46644%209.51175%203.32508%209.5703C3.1366%209.64837%202.98685%209.79812%202.90877%209.98661C2.85022%2010.128%202.85022%2010.3072%202.85022%2010.6656C2.85022%2011.024%202.85022%2011.2032%202.90877%2011.3446C2.98685%2011.5331%203.1366%2011.6828%203.32508%2011.7609Z%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3C%2Fsvg%3E%0A","up-green":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M11.0936%2017.3406C11.1522%2017.1992%2011.1522%2017.02%2011.1522%2016.6616V7.61701L14.0776%2010.5424C14.3311%2010.7959%2014.4578%2010.9226%2014.5991%2010.9811C14.7876%2011.0592%2014.9994%2011.0592%2015.1879%2010.9811C15.3292%2010.9226%2015.456%2010.7959%2015.7094%2010.5424C15.9628%2010.289%2016.0896%2010.1623%2016.1481%2010.0209C16.2262%209.83243%2016.2262%209.62066%2016.1481%209.43217C16.0896%209.29081%2015.9628%209.16409%2015.7094%208.91065L10.9645%204.16576C10.9207%204.12105%2010.8714%204.07178%2010.8161%204.01648L10.8159%204.0163C10.5916%203.792%2010.4666%203.66696%2010.3428%203.60058C10.3261%203.59154%2010.3094%203.58358%2010.2925%203.57658C10.104%203.49851%209.89226%203.49851%209.70378%203.57658C9.56242%203.63514%209.4357%203.76186%209.18226%204.0153C9.09955%204.09801%209.03034%204.16722%208.97258%204.22785L4.28878%208.91166C4.03534%209.1651%203.90862%209.29182%203.85006%209.43318C3.77199%209.62166%203.77199%209.83344%203.85006%2010.0219C3.90862%2010.1633%204.03534%2010.29%204.28878%2010.5434C4.54221%2010.7969%204.66893%2010.9236%204.8103%2010.9822C4.99878%2011.0602%205.21056%2011.0602%205.39904%2010.9822C5.5404%2010.9236%205.66712%2010.7969%205.92056%2010.5434L5.92056%2010.5434L8.84449%207.61951V16.6616C8.84449%2017.02%208.84449%2017.1992%208.90305%2017.3406C8.98112%2017.5291%209.13087%2017.6788%209.31935%2017.7569C9.46072%2017.8154%209.63992%2017.8154%209.99834%2017.8154C10.3568%2017.8154%2010.536%2017.8154%2010.6773%2017.7569C10.8658%2017.6788%2011.0156%2017.5291%2011.0936%2017.3406Z%22%20fill%3D%22%2359D01E%22%2F%3E%0A%3C%2Fsvg%3E%0A","rightAndDown-gold":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M4.5062%206.72126C4.56476%206.86262%204.69148%206.98934%204.94492%207.24278L11.3404%2013.6382L7.20313%2013.6382C6.84471%2013.6382%206.66551%2013.6382%206.52414%2013.6968C6.33566%2013.7749%206.18591%2013.9246%206.10784%2014.1131C6.04928%2014.2545%206.04928%2014.4337%206.04928%2014.7921C6.04928%2015.1505%206.04928%2015.3297%206.10784%2015.4711C6.18591%2015.6596%206.33566%2015.8093%206.52414%2015.8874C6.66551%2015.9459%206.84471%2015.9459%207.20313%2015.9459L13.9194%2015.9459C13.9805%2015.9465%2014.0484%2015.9465%2014.1243%2015.9465H14.1243C14.4353%2015.9465%2014.6114%2015.9465%2014.7449%2015.9082C14.7659%2015.9023%2014.7859%2015.8954%2014.8052%2015.8874C14.9937%2015.8093%2015.1434%2015.6596%2015.2215%2015.4711C15.2801%2015.3297%2015.2801%2015.1505%2015.2801%2014.7921C15.2801%2014.6767%2015.2801%2014.5799%2015.2781%2014.497L15.2781%207.86957C15.2781%207.51115%2015.2781%207.33194%2015.2195%207.19058C15.1415%207.0021%2014.9917%206.85235%2014.8032%206.77428C14.6619%206.71572%2014.4827%206.71572%2014.1243%206.71572C13.7658%206.71572%2013.5866%206.71572%2013.4453%206.77428C13.2568%206.85235%2013.107%207.0021%2013.029%207.19058C12.9704%207.33194%2012.9704%207.51115%2012.9704%207.86957L12.9704%2012.0047L6.5767%205.61099C6.32326%205.35755%206.19654%205.23083%206.05518%205.17228C5.8667%205.09421%205.65492%205.09421%205.46644%205.17228C5.32508%205.23083%205.19836%205.35755%204.94492%205.61099C4.69148%205.86443%204.56476%205.99115%204.5062%206.13251C4.42813%206.32099%204.42813%206.53277%204.5062%206.72126Z%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3C%2Fsvg%3E%0A","rightAndUp-gold":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M6.05431%2016.1597C6.19567%2016.1012%206.32239%2015.9745%206.57583%2015.721L12.9712%209.32568L12.9712%2013.4626C12.9712%2013.821%2012.9712%2014.0002%2013.0297%2014.1416C13.1078%2014.3301%2013.2576%2014.4798%2013.446%2014.5579C13.5874%2014.6164%2013.7666%2014.6164%2014.125%2014.6164C14.4834%2014.6164%2014.6626%2014.6164%2014.804%2014.5579C14.9925%2014.4798%2015.1422%2014.3301%2015.2203%2014.1416C15.2789%2014.0002%2015.2789%2013.821%2015.2789%2013.4626L15.2789%206.75233C15.2795%206.68972%2015.2795%206.62004%2015.2795%206.54182L15.2795%206.54157C15.2795%206.22585%2015.2795%206.04918%2015.2395%205.91495C15.2339%205.89605%2015.2276%205.878%2015.2203%205.86053C15.1422%205.67204%2014.9925%205.52229%2014.804%205.44422C14.6626%205.38567%2014.4834%205.38567%2014.125%205.38567L14.125%205.38567C14.0075%205.38567%2013.9093%205.38567%2013.8254%205.38773L7.20256%205.38773C6.84414%205.38773%206.66493%205.38773%206.52357%205.44628C6.33509%205.52436%206.18534%205.6741%206.10727%205.86259C6.04871%206.00395%206.04871%206.18315%206.04871%206.54156V6.54157L6.04871%206.54159C6.04871%206.9%206.04871%207.0792%206.10727%207.22056C6.18534%207.40905%206.33509%207.55879%206.52357%207.63687C6.66493%207.69542%206.84414%207.69542%207.20256%207.69542H11.3379L4.94405%2014.0892C4.69061%2014.3427%204.56389%2014.4694%204.50533%2014.6108C4.42726%2014.7992%204.42726%2015.011%204.50533%2015.1995C4.56389%2015.3409%204.69061%2015.4676%204.94405%2015.721C5.19749%2015.9745%205.32421%2016.1012%205.46557%2016.1597C5.65405%2016.2378%205.86583%2016.2378%206.05431%2016.1597Z%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3C%2Fsvg%3E%0A","down-gray":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M8.90467%203.99244C8.84611%204.1338%208.84611%204.31301%208.84611%204.67143V13.716L5.92068%2010.7906C5.66724%2010.5371%205.54052%2010.4104%205.39916%2010.3519C5.21067%2010.2738%204.9989%2010.2738%204.81041%2010.3519C4.66905%2010.4104%204.54233%2010.5371%204.28889%2010.7906C4.03545%2011.044%203.90873%2011.1707%203.85018%2011.3121C3.77211%2011.5006%203.77211%2011.7124%203.85018%2011.9008C3.90873%2012.0422%204.03545%2012.1689%204.28889%2012.4224L9.03476%2017.1682C9.07839%2017.2127%209.12737%2017.2617%209.18231%2017.3166L9.18239%2017.3167L9.18241%2017.3167C9.40545%2017.5398%209.53035%2017.6647%209.65346%2017.7313C9.67085%2017.7408%209.6882%2017.7492%209.70577%2017.7564C9.89425%2017.8345%2010.106%2017.8345%2010.2945%2017.7564C10.4359%2017.6979%2010.5626%2017.5712%2010.816%2017.3177C10.8986%2017.2352%2010.9677%2017.1661%2011.0253%2017.1056L15.7095%2012.4214L15.7095%2012.4213C15.963%2012.1679%2016.0897%2012.0412%2016.1482%2011.8998C16.2263%2011.7114%2016.2263%2011.4996%2016.1482%2011.3111C16.0897%2011.1697%2015.963%2011.043%2015.7095%2010.7896C15.4561%2010.5361%2015.3294%2010.4094%2015.188%2010.3509C14.9995%2010.2728%2014.7878%2010.2728%2014.5993%2010.3509C14.4579%2010.4094%2014.3312%2010.5361%2014.0778%2010.7896L14.0777%2010.7896L11.1538%2013.7135V4.67142C11.1538%204.31301%2011.1538%204.1338%2011.0953%203.99244C11.0172%203.80395%2010.8674%203.6542%2010.6789%203.57613C10.5376%203.51758%2010.3584%203.51758%209.99996%203.51758C9.64154%203.51758%209.46233%203.51758%209.32097%203.57613C9.13249%203.6542%208.98274%203.80395%208.90467%203.99244Z%22%20fill%3D%22%23999999%22%2F%3E%0A%3C%2Fsvg%3E%0A","right-gray":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M3.32508%2011.7609C3.46644%2011.8194%203.64565%2011.8194%204.00407%2011.8194H13.049L10.1235%2014.745C9.87002%2014.9984%209.7433%2015.1251%209.68475%2015.2665C9.60668%2015.455%209.60668%2015.6668%209.68475%2015.8552C9.7433%2015.9966%209.87002%2016.1233%2010.1235%2016.3768C10.3769%2016.6302%2010.5036%2016.7569%2010.645%2016.8155C10.8335%2016.8935%2011.0452%2016.8935%2011.2337%2016.8155C11.3751%2016.7569%2011.5018%2016.6302%2011.7552%2016.3768L16.5105%2011.6215C16.5524%2011.5803%2016.5983%2011.5344%2016.6493%2011.4834L16.6495%2011.4831C16.8561%2011.2765%2016.9785%2011.1542%2017.0484%2011.0394C17.0648%2011.0128%2017.0782%2010.9866%2017.0893%2010.9599C17.1674%2010.7714%2017.1674%2010.5596%2017.0893%2010.3711C17.0308%2010.2298%2016.904%2010.1031%2016.6506%209.84962C16.5685%209.76752%2016.4997%209.69872%2016.4394%209.64123L11.7542%204.95601C11.5007%204.70257%2011.374%204.57585%2011.2327%204.5173C11.0442%204.43923%2010.8324%204.43923%2010.6439%204.5173C10.5026%204.57585%2010.3758%204.70257%2010.1224%204.95601L10.1224%204.95601C9.86895%205.20945%209.74223%205.33617%209.68368%205.47753C9.60561%205.66601%209.60561%205.87779%209.68368%206.06627C9.74223%206.20764%209.86895%206.33436%2010.1224%206.5878L13.0463%209.51175H4.00407C3.64565%209.51175%203.46644%209.51175%203.32508%209.5703C3.1366%209.64837%202.98685%209.79812%202.90877%209.98661C2.85022%2010.128%202.85022%2010.3072%202.85022%2010.6656C2.85022%2011.024%202.85022%2011.2032%202.90877%2011.3446C2.98685%2011.5331%203.1366%2011.6828%203.32508%2011.7609Z%22%20fill%3D%22%23999999%22%2F%3E%0A%3C%2Fsvg%3E%0A","up-gray":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M11.0936%2017.3406C11.1522%2017.1992%2011.1522%2017.02%2011.1522%2016.6616V7.61701L14.0776%2010.5424C14.3311%2010.7959%2014.4578%2010.9226%2014.5991%2010.9811C14.7876%2011.0592%2014.9994%2011.0592%2015.1879%2010.9811C15.3292%2010.9226%2015.456%2010.7959%2015.7094%2010.5424C15.9628%2010.289%2016.0896%2010.1623%2016.1481%2010.0209C16.2262%209.83243%2016.2262%209.62066%2016.1481%209.43217C16.0896%209.29081%2015.9628%209.16409%2015.7094%208.91065L10.9645%204.16576C10.9207%204.12105%2010.8714%204.07178%2010.8161%204.01648L10.8159%204.0163C10.5916%203.792%2010.4666%203.66696%2010.3428%203.60058C10.3261%203.59154%2010.3094%203.58358%2010.2925%203.57658C10.104%203.49851%209.89226%203.49851%209.70378%203.57658C9.56242%203.63514%209.4357%203.76186%209.18226%204.0153C9.09955%204.09801%209.03034%204.16722%208.97258%204.22785L4.28878%208.91166C4.03534%209.1651%203.90862%209.29182%203.85006%209.43318C3.77199%209.62166%203.77199%209.83344%203.85006%2010.0219C3.90862%2010.1633%204.03534%2010.29%204.28878%2010.5434C4.54221%2010.7969%204.66893%2010.9236%204.8103%2010.9822C4.99878%2011.0602%205.21056%2011.0602%205.39904%2010.9822C5.5404%2010.9236%205.66712%2010.7969%205.92056%2010.5434L5.92056%2010.5434L8.84449%207.61951V16.6616C8.84449%2017.02%208.84449%2017.1992%208.90305%2017.3406C8.98112%2017.5291%209.13087%2017.6788%209.31935%2017.7569C9.46072%2017.8154%209.63992%2017.8154%209.99834%2017.8154C10.3568%2017.8154%2010.536%2017.8154%2010.6773%2017.7569C10.8658%2017.6788%2011.0156%2017.5291%2011.0936%2017.3406Z%22%20fill%3D%22%23999999%22%2F%3E%0A%3C%2Fsvg%3E%0A","rightAndDown-gray":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M4.5062%206.72126C4.56476%206.86262%204.69148%206.98934%204.94492%207.24278L11.3404%2013.6382L7.20313%2013.6382C6.84471%2013.6382%206.66551%2013.6382%206.52414%2013.6968C6.33566%2013.7749%206.18591%2013.9246%206.10784%2014.1131C6.04928%2014.2545%206.04928%2014.4337%206.04928%2014.7921C6.04928%2015.1505%206.04928%2015.3297%206.10784%2015.4711C6.18591%2015.6596%206.33566%2015.8093%206.52414%2015.8874C6.66551%2015.9459%206.84471%2015.9459%207.20313%2015.9459L13.9194%2015.9459C13.9805%2015.9465%2014.0484%2015.9465%2014.1243%2015.9465H14.1243C14.4353%2015.9465%2014.6114%2015.9465%2014.7449%2015.9082C14.7659%2015.9023%2014.7859%2015.8954%2014.8052%2015.8874C14.9937%2015.8093%2015.1434%2015.6596%2015.2215%2015.4711C15.2801%2015.3297%2015.2801%2015.1505%2015.2801%2014.7921C15.2801%2014.6767%2015.2801%2014.5799%2015.2781%2014.497L15.2781%207.86957C15.2781%207.51115%2015.2781%207.33194%2015.2195%207.19058C15.1415%207.0021%2014.9917%206.85235%2014.8032%206.77428C14.6619%206.71572%2014.4827%206.71572%2014.1243%206.71572C13.7658%206.71572%2013.5866%206.71572%2013.4453%206.77428C13.2568%206.85235%2013.107%207.0021%2013.029%207.19058C12.9704%207.33194%2012.9704%207.51115%2012.9704%207.86957L12.9704%2012.0047L6.5767%205.61099C6.32326%205.35755%206.19654%205.23083%206.05518%205.17228C5.8667%205.09421%205.65492%205.09421%205.46644%205.17228C5.32508%205.23083%205.19836%205.35755%204.94492%205.61099C4.69148%205.86443%204.56476%205.99115%204.5062%206.13251C4.42813%206.32099%204.42813%206.53277%204.5062%206.72126Z%22%20fill%3D%22%23999999%22%2F%3E%0A%3C%2Fsvg%3E%0A","rightAndUp-gray":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M6.05431%2016.1597C6.19567%2016.1012%206.32239%2015.9745%206.57583%2015.721L12.9712%209.32568L12.9712%2013.4626C12.9712%2013.821%2012.9712%2014.0002%2013.0297%2014.1416C13.1078%2014.3301%2013.2576%2014.4798%2013.446%2014.5579C13.5874%2014.6164%2013.7666%2014.6164%2014.125%2014.6164C14.4834%2014.6164%2014.6626%2014.6164%2014.804%2014.5579C14.9925%2014.4798%2015.1422%2014.3301%2015.2203%2014.1416C15.2789%2014.0002%2015.2789%2013.821%2015.2789%2013.4626L15.2789%206.75233C15.2795%206.68972%2015.2795%206.62004%2015.2795%206.54182L15.2795%206.54157C15.2795%206.22585%2015.2795%206.04918%2015.2395%205.91495C15.2339%205.89605%2015.2276%205.878%2015.2203%205.86053C15.1422%205.67204%2014.9925%205.52229%2014.804%205.44422C14.6626%205.38567%2014.4834%205.38567%2014.125%205.38567L14.125%205.38567C14.0075%205.38567%2013.9093%205.38567%2013.8254%205.38773L7.20256%205.38773C6.84414%205.38773%206.66493%205.38773%206.52357%205.44628C6.33509%205.52436%206.18534%205.6741%206.10727%205.86259C6.04871%206.00395%206.04871%206.18315%206.04871%206.54156V6.54157L6.04871%206.54159C6.04871%206.9%206.04871%207.0792%206.10727%207.22056C6.18534%207.40905%206.33509%207.55879%206.52357%207.63687C6.66493%207.69542%206.84414%207.69542%207.20256%207.69542H11.3379L4.94405%2014.0892C4.69061%2014.3427%204.56389%2014.4694%204.50533%2014.6108C4.42726%2014.7992%204.42726%2015.011%204.50533%2015.1995C4.56389%2015.3409%204.69061%2015.4676%204.94405%2015.721C5.19749%2015.9745%205.32421%2016.1012%205.46557%2016.1597C5.65405%2016.2378%205.86583%2016.2378%206.05431%2016.1597Z%22%20fill%3D%22%23999999%22%2F%3E%0A%3C%2Fsvg%3E%0A"}'),shape:{cross:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%223.70374%22%20y%3D%228.14795%22%20width%3D%2212.5926%22%20height%3D%223.7037%22%20rx%3D%220.740741%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3C%2Fsvg%3E%0A",up:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M9.44533%205.81157C9.74012%205.47858%2010.2598%205.47858%2010.5546%205.81157L16.2868%2012.2867C16.71%2012.7647%2016.3706%2013.5184%2015.7322%2013.5184H4.26776C3.62933%2013.5184%203.28995%2012.7647%203.71313%2012.2867L9.44533%205.81157Z%22%20fill%3D%22%2359D01E%22%2F%3E%0A%3C%2Fsvg%3E%0A",down:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M10.5547%2014.1884C10.2599%2014.5214%209.74019%2014.5214%209.4454%2014.1884L3.71321%207.71335C3.29002%207.23532%203.6294%206.48161%204.26784%206.48161L15.7322%206.48161C16.3707%206.48161%2016.7101%207.23532%2016.2869%207.71335L10.5547%2014.1884Z%22%20fill%3D%22%23FE4B4B%22%2F%3E%0A%3C%2Fsvg%3E%0A","rhomboid-red":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M2.1415%2011.1984C1.8412%2010.9074%201.8412%2010.4256%202.1415%2010.1346L9.48467%203.01785C9.77196%202.73942%2010.2284%202.73942%2010.5157%203.01786L17.8586%2010.1346C18.1589%2010.4256%2018.1589%2010.9074%2017.8586%2011.1984L10.5157%2018.3151C10.2284%2018.5936%209.77196%2018.5936%209.48467%2018.3152L2.1415%2011.1984Z%22%20fill%3D%22%23FE4B4B%22%2F%3E%0A%3C%2Fsvg%3E%0A","roundness-greed":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%2210.6664%22%20r%3D%227.03704%22%20fill%3D%22%2359D01E%22%2F%3E%0A%3C%2Fsvg%3E%0A","roundness-gold":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%2210.6664%22%20r%3D%227.03704%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3C%2Fsvg%3E%0A","roundness-red":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%2210.6664%22%20r%3D%227.03704%22%20fill%3D%22%23FE4B4B%22%2F%3E%0A%3C%2Fsvg%3E%0A","roundness-pink":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%2210.6664%22%20r%3D%227.03704%22%20fill%3D%22%23FB9D9D%22%2F%3E%0A%3C%2Fsvg%3E%0A","roundness-gray":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%2210.6664%22%20r%3D%227.03704%22%20fill%3D%22%23999999%22%2F%3E%0A%3C%2Fsvg%3E%0A","roundness-black":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%2210.6664%22%20r%3D%227.03704%22%20fill%3D%22black%22%2F%3E%0A%3C%2Fsvg%3E%0A","triangle-gold":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cg%20clip-path%3D%22url(%23clip0_613_237)%22%3E%0A%3Cpath%20d%3D%22M9.32308%204.41301C9.58368%203.82623%2010.4164%203.82623%2010.677%204.413L15.9526%2016.2917C16.1701%2016.7815%2015.8115%2017.3331%2015.2756%2017.3331H4.72454C4.18858%2017.3331%203.83002%2016.7815%204.04756%2016.2917L9.32308%204.41301Z%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3C%2Fg%3E%0A%3Cdefs%3E%0A%3CclipPath%20id%3D%22clip0_613_237%22%3E%0A%3Crect%20width%3D%2220%22%20height%3D%2220%22%20fill%3D%22white%22%20transform%3D%22translate(0%200.666504)%22%2F%3E%0A%3C%2FclipPath%3E%0A%3C%2Fdefs%3E%0A%3C%2Fsvg%3E%0A","indicate-greed":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%222.76941%22%20y%3D%222.76941%22%20width%3D%2214.4612%22%20height%3D%2214.4612%22%20rx%3D%223%22%20fill%3D%22black%22%2F%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%2210%22%20r%3D%224.5%22%20fill%3D%22%2359D01E%22%2F%3E%0A%3C%2Fsvg%3E%0A","indicate-gold":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%222.76941%22%20y%3D%222.76941%22%20width%3D%2214.4612%22%20height%3D%2214.4612%22%20rx%3D%223%22%20fill%3D%22black%22%2F%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%2210%22%20r%3D%224.5%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3C%2Fsvg%3E%0A","indicate-red":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%222.76941%22%20y%3D%222.76941%22%20width%3D%2214.4612%22%20height%3D%2214.4612%22%20rx%3D%223%22%20fill%3D%22black%22%2F%3E%0A%3Ccircle%20cx%3D%2210%22%20cy%3D%2210%22%20r%3D%224.5%22%20fill%3D%22%23FE4B4B%22%2F%3E%0A%3C%2Fsvg%3E%0A"},feedback2:{mistake2:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M4.12194%206.33702C4.1805%206.47839%204.30722%206.6051%204.56066%206.85854L8.36822%2010.6661L4.56062%2014.4737C4.30718%2014.7272%204.18046%2014.8539%204.12191%2014.9952C4.04384%2015.1837%204.04384%2015.3955%204.12191%2015.584C4.18046%2015.7253%204.30718%2015.8521%204.56062%2016.1055C4.81406%2016.3589%204.94078%2016.4857%205.08214%2016.5442C5.27062%2016.6223%205.4824%2016.6223%205.67089%2016.5442C5.81225%2016.4857%205.93897%2016.3589%206.19241%2016.1055L10%2012.2979L13.8074%2016.1053C14.0609%2016.3588%2014.1876%2016.4855%2014.329%2016.544C14.5174%2016.6221%2014.7292%2016.6221%2014.9177%2016.544C15.0591%2016.4855%2015.1858%2016.3588%2015.4392%2016.1053L15.4392%2016.1053C15.6927%2015.8519%2015.8194%2015.7252%2015.8779%2015.5838C15.956%2015.3953%2015.956%2015.1835%2015.8779%2014.9951C15.8194%2014.8537%2015.6927%2014.727%2015.4392%2014.4735L15.4392%2014.4735L11.6318%2010.6661L15.4392%206.85872C15.6926%206.60528%2015.8193%206.47856%2015.8779%206.3372C15.956%206.14871%2015.956%205.93694%2015.8779%205.74845C15.8193%205.60709%2015.6926%205.48037%2015.4392%205.22693C15.1857%204.97349%2015.059%204.84677%2014.9177%204.78822C14.7292%204.71015%2014.5174%204.71015%2014.3289%204.78822C14.1876%204.84677%2014.0608%204.97349%2013.8074%205.22693L10%209.03433L6.19244%205.22676C5.939%204.97332%205.81228%204.8466%205.67092%204.78805C5.48244%204.70997%205.27066%204.70997%205.08218%204.78805C4.94082%204.8466%204.8141%204.97332%204.56066%205.22676L4.56066%205.22676C4.30722%205.4802%204.1805%205.60692%204.12194%205.74828C4.04387%205.93676%204.04387%206.14854%204.12194%206.33702Z%22%20fill%3D%22%23FE4B4B%22%2F%3E%0A%3C%2Fsvg%3E%0A",warn2:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M8.49778%205.00963C8.48513%204.56774%208.47881%204.3468%208.56086%204.17746C8.63301%204.02856%208.75124%203.90689%208.89802%203.83052C9.06494%203.74365%209.28597%203.74365%209.72805%203.74365H10.272C10.714%203.74365%2010.9351%203.74365%2011.102%203.83052C11.2488%203.9069%2011.367%204.02856%2011.4392%204.17746C11.5212%204.3468%2011.5149%204.56775%2011.5022%205.00964L11.2644%2013.3173C11.2524%2013.737%2011.2464%2013.9468%2011.1609%2014.1065C11.0857%2014.2471%2010.9687%2014.3609%2010.826%2014.432C10.6639%2014.5129%2010.454%2014.5129%2010.0342%2014.5129H9.96582C9.54601%2014.5129%209.33611%2014.5129%209.17397%2014.432C9.0313%2014.3609%208.91426%2014.2471%208.83904%2014.1065C8.75357%2013.9468%208.74756%2013.737%208.73555%2013.3173L8.49778%205.00963Z%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3Crect%20x%3D%228.76917%22%20y%3D%2215.2817%22%20width%3D%222.46154%22%20height%3D%222.46154%22%20rx%3D%220.769231%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3C%2Fsvg%3E%0A",correct2:"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cg%20clip-path%3D%22url(%23clip0_613_248)%22%3E%0A%3Cpath%20d%3D%22M15.689%205.69723C15.5476%205.75578%2015.4209%205.8825%2015.1675%206.13594L7.82436%2013.4791L4.83279%2010.4875C4.57935%2010.2341%204.45263%2010.1073%204.31127%2010.0488C4.12278%209.97071%203.91101%209.97071%203.72252%2010.0488C3.58116%2010.1073%203.45444%2010.2341%203.201%2010.4875C2.94756%2010.7409%202.82084%2010.8676%202.76229%2011.009C2.68422%2011.1975%202.68422%2011.4093%202.76229%2011.5978C2.82084%2011.7391%202.94756%2011.8658%203.201%2012.1193L7.0085%2015.9268C7.26194%2016.1802%207.38866%2016.3069%207.53002%2016.3655C7.7185%2016.4436%207.93028%2016.4436%208.11876%2016.3655C8.26013%2016.3069%208.38685%2016.1802%208.64028%2015.9268C8.66387%2015.9032%208.68636%2015.8807%208.7078%2015.8592L16.7993%207.76772C17.0527%207.51428%2017.1794%207.38756%2017.238%207.2462C17.3161%207.05772%2017.3161%206.84594%2017.238%206.65746C17.1794%206.5161%2017.0527%206.38938%2016.7993%206.13594C16.5458%205.8825%2016.4191%205.75578%2016.2777%205.69723C16.0893%205.61915%2015.8775%205.61915%2015.689%205.69723Z%22%20fill%3D%22%2359D01E%22%2F%3E%0A%3C%2Fg%3E%0A%3Cdefs%3E%0A%3CclipPath%20id%3D%22clip0_613_248%22%3E%0A%3Crect%20width%3D%2220%22%20height%3D%2220%22%20fill%3D%22white%22%20transform%3D%22translate(0%200.666504)%22%2F%3E%0A%3C%2FclipPath%3E%0A%3C%2Fdefs%3E%0A%3C%2Fsvg%3E%0A"},flag:{"flag-green":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M15.4274%204.74935C14.0982%205.1012%2013.1363%205.13675%2012.3604%205.03379C11.5776%204.93009%2010.9487%204.68342%2010.2456%204.40416L10.2246%204.39527C9.53411%204.1212%208.76945%203.8175%207.81312%203.69157C6.84279%203.56268%205.71016%203.61898%204.24802%204.0049C4.09343%204.04217%203.95538%204.13393%203.85649%204.26515C3.7576%204.39636%203.70374%204.55925%203.70374%204.72712V17.3197C3.70374%2017.5162%203.79534%2017.7046%203.92654%2017.8435C4.05773%2017.9824%204.25893%2018.0605%204.44448%2018.0605C4.63002%2018.0605%204.84911%2017.9824%204.98031%2017.8435C5.11151%2017.7046%205.18522%2017.5162%205.18522%2017.3197V14.9123V12.5049C6.24649%2012.2738%206.97081%2012.2605%207.63962%2012.3486C8.42246%2012.4523%209.05139%2012.699%209.75448%2012.9782L9.77546%2012.9871C10.466%2013.2612%2011.2306%2013.5649%2012.1869%2013.6908C13.1601%2013.8197%2014.2976%2013.7627%2015.7667%2013.3738C15.8866%2013.3421%2016.0727%2013.2135%2016.1483%2013.111C16.2238%2013.0084%2016.2963%2012.8204%2016.2963%2012.6553V5.46787C16.2963%205.35535%2016.2721%205.24432%2016.2255%205.1432C16.1788%205.04208%2016.1111%204.95353%2016.0274%204.88428C15.9436%204.81502%2015.846%204.76688%2015.7421%204.7435C15.6382%204.72012%2015.494%204.73173%2015.4274%204.74935Z%22%20fill%3D%22%2359D01E%22%2F%3E%0A%3C%2Fsvg%3E%0A","flag-gold":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M15.4274%204.74935C14.0982%205.1012%2013.1363%205.13675%2012.3604%205.03379C11.5776%204.93009%2010.9487%204.68342%2010.2456%204.40416L10.2246%204.39527C9.53411%204.1212%208.76945%203.8175%207.81312%203.69157C6.84279%203.56268%205.71016%203.61898%204.24802%204.0049C4.09343%204.04217%203.95538%204.13393%203.85649%204.26515C3.7576%204.39636%203.70374%204.55925%203.70374%204.72712V17.3197C3.70374%2017.5162%203.79534%2017.7046%203.92654%2017.8435C4.05773%2017.9824%204.25893%2018.0605%204.44448%2018.0605C4.63002%2018.0605%204.84911%2017.9824%204.98031%2017.8435C5.11151%2017.7046%205.18522%2017.5162%205.18522%2017.3197V14.9123V12.5049C6.24649%2012.2738%206.97081%2012.2605%207.63962%2012.3486C8.42246%2012.4523%209.05139%2012.699%209.75448%2012.9782L9.77546%2012.9871C10.466%2013.2612%2011.2306%2013.5649%2012.1869%2013.6908C13.1601%2013.8197%2014.2976%2013.7627%2015.7667%2013.3738C15.8866%2013.3421%2016.0727%2013.2135%2016.1483%2013.111C16.2238%2013.0084%2016.2963%2012.8204%2016.2963%2012.6553V5.46787C16.2963%205.35535%2016.2721%205.24432%2016.2255%205.1432C16.1788%205.04208%2016.1111%204.95353%2016.0274%204.88428C15.9436%204.81502%2015.846%204.76688%2015.7421%204.7435C15.6382%204.72012%2015.494%204.73173%2015.4274%204.74935Z%22%20fill%3D%22%23FFBD37%22%2F%3E%0A%3C%2Fsvg%3E%0A","flag-red":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2221%22%20viewBox%3D%220%200%2020%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M15.4274%204.74935C14.0982%205.1012%2013.1363%205.13675%2012.3604%205.03379C11.5776%204.93009%2010.9487%204.68342%2010.2456%204.40416L10.2246%204.39527C9.53411%204.1212%208.76945%203.8175%207.81312%203.69157C6.84279%203.56268%205.71016%203.61898%204.24802%204.0049C4.09343%204.04217%203.95538%204.13393%203.85649%204.26515C3.7576%204.39636%203.70374%204.55925%203.70374%204.72712V17.3197C3.70374%2017.5162%203.79534%2017.7046%203.92654%2017.8435C4.05773%2017.9824%204.25893%2018.0605%204.44448%2018.0605C4.63002%2018.0605%204.84911%2017.9824%204.98031%2017.8435C5.11151%2017.7046%205.18522%2017.5162%205.18522%2017.3197V14.9123V12.5049C6.24649%2012.2738%206.97081%2012.2605%207.63962%2012.3486C8.42246%2012.4523%209.05139%2012.699%209.75448%2012.9782L9.77546%2012.9871C10.466%2013.2612%2011.2306%2013.5649%2012.1869%2013.6908C13.1601%2013.8197%2014.2976%2013.7627%2015.7667%2013.3738C15.8866%2013.3421%2016.0727%2013.2135%2016.1483%2013.111C16.2238%2013.0084%2016.2963%2012.8204%2016.2963%2012.6553V5.46787C16.2963%205.35535%2016.2721%205.24432%2016.2255%205.1432C16.1788%205.04208%2016.1111%204.95353%2016.0274%204.88428C15.9436%204.81502%2015.846%204.76688%2015.7421%204.7435C15.6382%204.72012%2015.494%204.73173%2015.4274%204.74935Z%22%20fill%3D%22%23FE4B4B%22%2F%3E%0A%3C%2Fsvg%3E%0A"},cell:{"cell-0":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%224%22%20y%3D%2211.001%22%20width%3D%225%22%20height%3D%225%22%20rx%3D%221%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%2211%22%20y%3D%2211.001%22%20width%3D%225%22%20height%3D%225%22%20rx%3D%221%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%224%22%20y%3D%224.00098%22%20width%3D%225%22%20height%3D%225%22%20rx%3D%221%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%2211%22%20y%3D%224.00098%22%20width%3D%225%22%20height%3D%225%22%20rx%3D%221%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3C%2Fsvg%3E%0A","cell-25":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%224%22%20y%3D%2211.001%22%20width%3D%225%22%20height%3D%225%22%20rx%3D%221%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%2211%22%20y%3D%2211.001%22%20width%3D%225%22%20height%3D%225%22%20rx%3D%221%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%224.25%22%20y%3D%224.25098%22%20width%3D%224.5%22%20height%3D%224.5%22%20rx%3D%220.75%22%20fill%3D%22%230493EE%22%20stroke%3D%22%230493EE%22%20stroke-width%3D%220.5%22%2F%3E%0A%3Crect%20x%3D%2211%22%20y%3D%224.00098%22%20width%3D%225%22%20height%3D%225%22%20rx%3D%221%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3C%2Fsvg%3E%0A","cell-50":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%224%22%20y%3D%2211.001%22%20width%3D%225%22%20height%3D%225%22%20rx%3D%221%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%2211%22%20y%3D%2211.001%22%20width%3D%225%22%20height%3D%225%22%20rx%3D%221%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%224.25%22%20y%3D%224.25098%22%20width%3D%224.5%22%20height%3D%224.5%22%20rx%3D%220.75%22%20fill%3D%22%230493EE%22%20stroke%3D%22%230493EE%22%20stroke-width%3D%220.5%22%2F%3E%0A%3Crect%20x%3D%2211.25%22%20y%3D%224.25098%22%20width%3D%224.5%22%20height%3D%224.5%22%20rx%3D%220.75%22%20fill%3D%22%230493EE%22%20stroke%3D%22%230493EE%22%20stroke-width%3D%220.5%22%2F%3E%0A%3C%2Fsvg%3E%0A","cell-75":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%224.25%22%20y%3D%2211.251%22%20width%3D%224.5%22%20height%3D%224.5%22%20rx%3D%220.75%22%20fill%3D%22%230493EE%22%20stroke%3D%22%230493EE%22%20stroke-width%3D%220.5%22%2F%3E%0A%3Crect%20x%3D%2211%22%20y%3D%2211.001%22%20width%3D%225%22%20height%3D%225%22%20rx%3D%221%22%20fill%3D%22%23E5E5E5%22%2F%3E%0A%3Crect%20x%3D%224.25%22%20y%3D%224.25098%22%20width%3D%224.5%22%20height%3D%224.5%22%20rx%3D%220.75%22%20fill%3D%22%230493EE%22%20stroke%3D%22%230493EE%22%20stroke-width%3D%220.5%22%2F%3E%0A%3Crect%20x%3D%2211.25%22%20y%3D%224.25098%22%20width%3D%224.5%22%20height%3D%224.5%22%20rx%3D%220.75%22%20fill%3D%22%230493EE%22%20stroke%3D%22%230493EE%22%20stroke-width%3D%220.5%22%2F%3E%0A%3C%2Fsvg%3E%0A","cell-100":"data:image/svg+xml;charset=utf-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Crect%20x%3D%224.25%22%20y%3D%2211.251%22%20width%3D%224.5%22%20height%3D%224.5%22%20rx%3D%220.75%22%20fill%3D%22%230493EE%22%20stroke%3D%22%230493EE%22%20stroke-width%3D%220.5%22%2F%3E%0A%3Crect%20x%3D%2211.25%22%20y%3D%2211.251%22%20width%3D%224.5%22%20height%3D%224.5%22%20rx%3D%220.75%22%20fill%3D%22%230493EE%22%20stroke%3D%22%230493EE%22%20stroke-width%3D%220.5%22%2F%3E%0A%3Crect%20x%3D%224.25%22%20y%3D%224.25098%22%20width%3D%224.5%22%20height%3D%224.5%22%20rx%3D%220.75%22%20fill%3D%22%230493EE%22%20stroke%3D%22%230493EE%22%20stroke-width%3D%220.5%22%2F%3E%0A%3Crect%20x%3D%2211.25%22%20y%3D%224.25098%22%20width%3D%224.5%22%20height%3D%224.5%22%20rx%3D%220.75%22%20fill%3D%22%230493EE%22%20stroke%3D%22%230493EE%22%20stroke-width%3D%220.5%22%2F%3E%0A%3C%2Fsvg%3E%0A"}},O2=[{title:"sheet.cf.iconSet.direction",group:[{name:"3Arrows",list:[f.arrow["up-green"],f.arrow["right-gold"],f.arrow["down-red"]]},{name:"3ArrowsGray",list:[f.arrow["up-gray"],f.arrow["right-gray"],f.arrow["down-gray"]]},{name:"4Arrows",list:[f.arrow["up-green"],f.arrow["rightAndUp-gold"],f.arrow["rightAndDown-gold"],f.arrow["down-red"]]},{name:"4ArrowsGray",list:[f.arrow["up-gray"],f.arrow["rightAndUp-gray"],f.arrow["rightAndDown-gray"],f.arrow["down-gray"]]},{name:"5Arrows",list:[f.arrow["up-green"],f.arrow["rightAndUp-gold"],f.arrow["right-gold"],f.arrow["rightAndDown-gold"],f.arrow["down-red"]]},{name:"5ArrowsGray",list:[f.arrow["up-gray"],f.arrow["rightAndUp-gray"],f.arrow["right-gray"],f.arrow["rightAndDown-gray"],f.arrow["down-gray"]]},{name:"3Triangles",list:[f.shape.up,f.shape.cross,f.shape.down]}]},{title:"sheet.cf.iconSet.shape",group:[{name:"3TrafficLights1",list:[f.shape["roundness-greed"],f.shape["roundness-gold"],f.shape["roundness-red"]]},{name:"3Signs",list:[f.shape["roundness-greed"],f.shape["triangle-gold"],f.shape["rhomboid-red"]]},{name:"3TrafficLights2",list:[f.shape["indicate-greed"],f.shape["indicate-gold"],f.shape["indicate-red"]]},{name:"4RedToBlack",list:[f.shape["roundness-red"],f.shape["roundness-pink"],f.shape["roundness-gray"],f.shape["roundness-black"]]},{name:"4TrafficLights",list:[f.shape["roundness-greed"],f.shape["roundness-gold"],f.shape["roundness-red"],f.shape["roundness-black"]]}]},{title:"sheet.cf.iconSet.mark",group:[{name:"3Symbols",list:[f.feedback.correct,f.feedback.warn,f.feedback.mistake]},{name:"3Symbols2",list:[f.feedback2.correct2,f.feedback2.warn2,f.feedback2.mistake2]},{name:"3Flags",list:[f.flag["flag-green"],f.flag["flag-gold"],f.flag["flag-red"]]}]},{title:"sheet.cf.iconSet.rank",group:[{name:"4Rating",list:[f.signal.signal25,f.signal.signal50,f.signal.signal75,f.signal.signal100]},{name:"5Rating",list:[f.signal.signal0,f.signal.signal25,f.signal.signal50,f.signal.signal75,f.signal.signal100]},{name:"5Quarters",list:[f.progress.progress100,f.progress.progress75,f.progress.progress50,f.progress.progress25,f.progress.progress0]},{name:"_5Felling",list:[f.feeling.guffaw,f.feeling.smile,f.feeling.noninductive,f.feeling.dissatisfied,f.feeling.impatient]},{name:"5Boxes",list:[f.cell["cell-100"],f.cell["cell-75"],f.cell["cell-50"],f.cell["cell-25"],f.cell["cell-0"]]},{name:"3Stars",list:[f.star.starFull,f.star.starIncomplete,f.star.starEmpty]}]}],n2=O2.reduce((a,r)=>{const{group:n}=r;for(const e of n)a[e.name]=e.list;return a},{});for(const a in n2){const r=n2[a];Object.freeze(r)}const j2="EMPTY_ICON_TYPE",C0="ssheets-conditional-formatting.config",$2={};var D0=Object.getOwnPropertyDescriptor,f0=(a,r,n,e)=>{for(var t=e>1?void 0:e?D0(r,n):r,i=a.length-1,s;i>=0;i--)(s=a[i])&&(t=s(t)||t);return t},X=(a,r)=>(n,e)=>r(n,e,a);C.ConditionalFormattingService=class extends u.Disposable{constructor(r,n,e,t,i,s){super(),this._conditionalFormattingRuleModel=r,this._injector=n,this._univerInstanceService=e,this._resourceManagerService=t,this._sheetInterceptorService=i,this._commandService=s,this._initCellChange(),this._initSnapshot(),this._initSheetChange()}get _conditionalFormattingViewModelV2(){return this._injector.get(C.ConditionalFormattingViewModel)}composeStyle(r,n,e,t){const i=this._conditionalFormattingViewModelV2.getCellCfs(r,n,e,t);if(i&&(i!=null&&i.length)){const s=i.map(l=>this._conditionalFormattingRuleModel.getRule(r,n,l.cfId)).filter(l=>!!l).reverse(),o=s.findIndex(l=>l==null?void 0:l.stopIfTrue);return o>-1&&s.splice(o+1),s.reduce((l,c)=>{var D;const h=c.rule.type,g=i.find(m=>m.cfId===c.cfId);if(h===R.highlightCell)g.result&&u.merge(l,{style:g.result});else if(h===R.colorScale){const m=g==null?void 0:g.result;m&&typeof m=="string"&&(l.style={...(D=l.style)!=null?D:{},bg:{rgb:m}})}else if(h===R.dataBar){const m=g==null?void 0:g.result;m&&(l.dataBar=m,l.isShowValue=m.isShowValue)}else if(h===R.iconSet){const m=g==null?void 0:g.result;m&&(l.iconSet=m,l.isShowValue=m.isShowValue)}return l},{})}return null}_initSnapshot(){const r=e=>{const t=this._conditionalFormattingRuleModel.getUnitRules(e),i={};return t?(t.forEach((s,o)=>{i[o]=s}),JSON.stringify(i)):""},n=e=>{if(!e)return{};try{return JSON.parse(e)}catch{return{}}};this.disposeWithMe(this._resourceManagerService.registerPluginResource({pluginName:h2,businesses:[u.UniverInstanceType.UNIVER_SHEET],toJson:e=>r(e),parseJson:e=>n(e),onUnLoad:e=>{this._conditionalFormattingRuleModel.deleteUnitId(e)},onLoad:(e,t)=>{Object.keys(t).forEach(i=>{[...t[i]].reverse().forEach(o=>{this._conditionalFormattingRuleModel.addRule(e,i,o)})})}}))}_initSheetChange(){this.disposeWithMe(this._sheetInterceptorService.interceptCommand({getMutations:r=>{if(r.id===p.RemoveSheetCommand.id){const n=r.params,e=n.unitId||m0(this._univerInstanceService),t=n.subUnitId||v0(this._univerInstanceService);if(!t)return{redos:[],undos:[]};const i=this._conditionalFormattingRuleModel.getSubunitRules(e,t);if(!i)return{redos:[],undos:[]};const s=[],o=[];return i.forEach(d=>{const l={unitId:e,subUnitId:t,cfId:d.cfId};s.push({id:j.id,params:l}),o.push(...J(this._injector,l))}),{redos:s,undos:o}}return{redos:[],undos:[]}}}))}_initCellChange(){this.disposeWithMe(this._commandService.onCommandExecuted(r=>{const n=(e,t,i)=>{const s=new Set;return i.forEach(([o,d])=>{const l=this._conditionalFormattingViewModelV2.getCellCfs(e,t,o,d);l==null||l.forEach(c=>s.add(c.cfId))}),[...s].map(o=>this._conditionalFormattingRuleModel.getRule(e,t,o)).filter(o=>!!o)};switch(r.id){case p.SetRangeValuesMutation.id:{const e=r.params,{subUnitId:t,unitId:i,cellValue:s}=e,o=[];new u.ObjectMatrix(s).forValue((l,c,h)=>{h&&Object.keys(h).some(D=>["p","v"].includes(D))&&o.push([l,c])}),n(i,t,o).forEach(l=>{this._conditionalFormattingViewModelV2.markRuleDirty(i,t,l.cfId)});break}case p.InsertColMutation.id:case p.RemoveColMutation.id:{const{range:e,unitId:t,subUnitId:i}=r.params,s=this._conditionalFormattingRuleModel.getSubunitRules(t,i),o={...e,endColumn:Number.MAX_SAFE_INTEGER};s&&s.filter(l=>l.ranges.some(c=>u.Rectangle.intersects(c,o))).forEach(l=>{this._conditionalFormattingViewModelV2.markRuleDirty(t,i,l.cfId)});break}case p.RemoveRowMutation.id:case p.InsertRowMutation.id:{const{range:e,unitId:t,subUnitId:i}=r.params,s=this._conditionalFormattingRuleModel.getSubunitRules(t,i),o={...e,endRow:Number.MAX_SAFE_INTEGER};s&&s.filter(l=>l.ranges.some(c=>u.Rectangle.intersects(c,o))).forEach(l=>{this._conditionalFormattingViewModelV2.markRuleDirty(t,i,l.cfId)});break}case p.MoveRowsMutation.id:{const{sourceRange:e,targetRange:t,unitId:i,subUnitId:s}=r.params,o=this._conditionalFormattingRuleModel.getSubunitRules(i,s),d={startRow:Math.min(e.startRow,t.startRow),endRow:Number.MAX_SAFE_INTEGER,startColumn:0,endColumn:Number.MAX_SAFE_INTEGER};o&&o.filter(c=>c.ranges.some(h=>u.Rectangle.intersects(h,d))).forEach(c=>{this._conditionalFormattingViewModelV2.markRuleDirty(i,s,c.cfId)});break}case p.MoveColsMutation.id:{const{sourceRange:e,targetRange:t,unitId:i,subUnitId:s}=r.params,o=this._conditionalFormattingRuleModel.getSubunitRules(i,s),d={startRow:0,endRow:Number.MAX_SAFE_INTEGER,startColumn:Math.min(e.startColumn,t.startColumn),endColumn:Number.MAX_SAFE_INTEGER};o&&o.filter(c=>c.ranges.some(h=>u.Rectangle.intersects(h,d))).forEach(c=>{this._conditionalFormattingViewModelV2.markRuleDirty(i,s,c.cfId)});break}case p.MoveRangeMutation.id:{const{unitId:e,to:t,from:i}=r.params,s=o=>{const d=[];new u.ObjectMatrix(o.value).forValue((c,h)=>{d.push([c,h])}),n(e,o.subUnitId,d).forEach(c=>{this._conditionalFormattingViewModelV2.markRuleDirty(e,o.subUnitId,c.cfId)})};s(t),s(i);break}case p.ReorderRangeMutation.id:{const{range:e,unitId:t,subUnitId:i}=r.params,s=this._conditionalFormattingRuleModel.getSubunitRules(t,i);s&&s.filter(d=>d.ranges.some(l=>u.Rectangle.intersects(l,e))).forEach(d=>{this._conditionalFormattingViewModelV2.markRuleDirty(t,i,d.cfId)});break}}}))}},C.ConditionalFormattingService=f0([X(0,u.Inject(I)),X(1,u.Inject(u.Injector)),X(2,u.Inject(u.IUniverInstanceService)),X(3,u.Inject(u.IResourceManagerService)),X(4,u.Inject(p.SheetInterceptorService)),X(5,u.Inject(u.ICommandService))],C.ConditionalFormattingService);const m0=a=>a.getCurrentUnitForType(u.UniverInstanceType.UNIVER_SHEET).getUnitId(),v0=a=>{var r;return(r=a.getCurrentUnitForType(u.UniverInstanceType.UNIVER_SHEET).getActiveSheet())==null?void 0:r.getSheetId()};var F0=Object.getOwnPropertyDescriptor,w0=(a,r,n,e)=>{for(var t=e>1?void 0:e?F0(r,n):r,i=a.length-1,s;i>=0;i--)(s=a[i])&&(t=s(t)||t);return t},F2=(a,r)=>(n,e)=>r(n,e,a);C.UniverSheetsConditionalFormattingPlugin=(u2=class extends u.Plugin{constructor(r=$2,n,e,t){super(),this._config=r,this._injector=n,this._commandService=e,this._configService=t;const{...i}=u.merge({},$2,this._config);this._configService.setConfig(C0,i),[[C.ConditionalFormattingService],[C.ConditionalFormattingFormulaService],[I],[C.ConditionalFormattingViewModel]].forEach(s=>{this._injector.add(s)}),[M2,I2,R2,x2,S2,b2,z,j,G,Z,Q].forEach(s=>{this._commandService.registerCommand(s)})}onStarting(){this._injector.get(C.ConditionalFormattingService),u.touchDependencies(this._injector,[[C.ConditionalFormattingService],[C.ConditionalFormattingViewModel]])}},F(u2,"pluginName",h2),F(u2,"type",u.UniverInstanceType.UNIVER_SHEET),u2),C.UniverSheetsConditionalFormattingPlugin=w0([F2(1,u.Inject(u.Injector)),F2(2,u.Inject(u.ICommandService)),F2(3,u.IConfigService)],C.UniverSheetsConditionalFormattingPlugin);const P2="sheet-conditional-rule-icon",E0=35,W2=15,q2=2;class Z2 extends q.SheetExtension{constructor(){super();F(this,"_paddingRightAndLeft",q2);F(this,"_width",W2);F(this,"_imageMap",new Map);F(this,"uKey",P2);F(this,"Z_INDEX",E0);F(this,"_radius",1);this._init()}draw(n,e,t,i){const{worksheet:s}=t;if(!s)return!1;n.save(),u.Range.foreach(t.rowColumnSegment,(o,d)=>{if(!s.getRowVisible(o)||!s.getColVisible(d))return;const l=s.getCell(o,d);if(l!=null&&l.iconSet){const{iconType:c,iconId:h}=l.iconSet;if(c===j2)return;const g=this._imageMap.get(this._createKey(c,h));if(!g)return;const D=t.getCellWithCoordByIndex(o,d,!1);let{isMerged:m,isMergedMainCell:v,mergeInfo:w,startY:A,endY:S,startX:y,endX:M}=D;if(m||(v&&(A=w.startY,S=w.endY,y=w.startX,M=w.endX),!this.isRenderDiffRangesByCell(w,i)))return;const N=M-y,c2=S-A;if(this._width>c2||this._width>N+this._paddingRightAndLeft*2)return;const w2=(c2-this._width)/2+A;n.drawImage(g,y+this._paddingRightAndLeft,w2,this._width,this._width)}}),n.restore()}_init(){for(const n in n2)n2[n].forEach((t,i)=>{const s=this._createKey(n,String(i)),o=new Image;o.onload=()=>{this._imageMap.set(s,o)},o.src=t})}_createKey(n,e){return`${n}_${e}`}}q.SpreadsheetExtensionRegistry.add(Z2);function G2(a){if(typeof a!="object"||a===null)return a;const r={};for(const n in a)if(a.hasOwnProperty(n)){const e=G2(a[n]);e!==void 0&&(r[n]=e)}return r}Object.defineProperty(C,"isRangesEqual",{enumerable:!0,get:()=>u.isRangesEqual}),C.AddCfCommand=M2,C.AddConditionalRuleMutation=z,C.AddConditionalRuleMutationUndoFactory=_2,C.CFNumberOperator=E,C.CFRuleType=R,C.CFSubRuleType=_,C.CFTextOperator=b,C.CFTimePeriodOperator=L,C.CFValueType=x,C.CONDITIONAL_FORMATTING_VIEWPORT_CACHE_LENGTH=l2,C.ClearRangeCfCommand=I2,C.ClearWorksheetCfCommand=R2,C.ConditionalFormattingFormulaMarkDirty=Q,C.ConditionalFormattingIcon=Z2,C.ConditionalFormattingRuleModel=I,C.DEFAULT_BG_COLOR=X2,C.DEFAULT_FONT_COLOR=Y2,C.DEFAULT_PADDING=q2,C.DEFAULT_WIDTH=W2,C.DataBar=k2,C.DeleteCfCommand=x2,C.DeleteConditionalRuleMutation=j,C.DeleteConditionalRuleMutationUndoFactory=J,C.EMPTY_ICON_TYPE=j2,C.FormulaResultStatus=T,C.IconUKey=P2,C.MoveCfCommand=S2,C.MoveConditionalRuleMutation=Z,C.MoveConditionalRuleMutationUndoFactory=y2,C.SHEET_CONDITIONAL_FORMATTING_PLUGIN=h2,C.SetCfCommand=b2,C.SetConditionalRuleMutation=G,C.anchorUndoFactory=p2,C.compareWithNumber=H,C.createCfId=A2,C.createDefaultRule=K2,C.createDefaultValue=J2,C.createDefaultValueByValueType=z2,C.dataBarUKey=L2,C.defaultDataBarNativeColor=m2,C.defaultDataBarPositiveColor=f2,C.defaultPlaceholderColor=T2,C.filterRange=o2,C.findIndexByAnchor=O,C.getCacheStyleMatrix=h0,C.getCellValue=U,C.getColorScaleFromValue=V2,C.getMaxInFormulaResult=g0,C.getOppositeOperator=U2,C.getValueByType=t2,C.iconGroup=O2,C.iconMap=n2,C.isAnchorEqual=Q2,C.isFloatsEqual=e2,C.isNullable=k,C.moveByAnchor=E2,C.removeUndefinedAttr=G2,C.serialTimeToTimestamp=N2,C.setConditionalRuleMutationUndoFactory=C2,C.toYMD_1900=B2,C.transformSupportSymmetryAnchor=g2,Object.defineProperty(C,Symbol.toStringTag,{value:"Module"})});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@univerjs/sheets-conditional-formatting",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.10.0-nightly.202507310307",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Conditional formatting plugin for Univer Sheets",
|
|
6
6
|
"author": "DreamNum <developer@univer.ai>",
|
|
@@ -58,18 +58,18 @@
|
|
|
58
58
|
"rxjs": ">=7.0.0"
|
|
59
59
|
},
|
|
60
60
|
"dependencies": {
|
|
61
|
-
"@univerjs/core": "0.
|
|
62
|
-
"@univerjs/engine-formula": "0.
|
|
63
|
-
"@univerjs/engine-render": "0.
|
|
64
|
-
"@univerjs/sheets": "0.
|
|
61
|
+
"@univerjs/core": "0.10.0-nightly.202507310307",
|
|
62
|
+
"@univerjs/engine-formula": "0.10.0-nightly.202507310307",
|
|
63
|
+
"@univerjs/engine-render": "0.10.0-nightly.202507310307",
|
|
64
|
+
"@univerjs/sheets": "0.10.0-nightly.202507310307"
|
|
65
65
|
},
|
|
66
66
|
"devDependencies": {
|
|
67
67
|
"@univerjs/icons-svg": "^0.4.6",
|
|
68
68
|
"rxjs": "^7.8.2",
|
|
69
69
|
"typescript": "^5.8.3",
|
|
70
|
-
"vite": "^7.0.
|
|
70
|
+
"vite": "^7.0.6",
|
|
71
71
|
"vitest": "^3.2.4",
|
|
72
|
-
"@univerjs-infra/shared": "0.
|
|
72
|
+
"@univerjs-infra/shared": "0.10.0"
|
|
73
73
|
},
|
|
74
74
|
"scripts": {
|
|
75
75
|
"test": "vitest run",
|