@univerjs/sheets-conditional-formatting 0.4.2 → 0.5.0-alpha.0

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/umd/index.js CHANGED
@@ -1 +1 @@
1
- (function(global2,factory){typeof exports=="object"&&typeof module<"u"?factory(exports,require("@univerjs/core"),require("rxjs"),require("rxjs/operators"),require("@univerjs/sheets"),require("@univerjs/engine-render"),require("@univerjs/engine-formula")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","rxjs","rxjs/operators","@univerjs/sheets","@univerjs/engine-render","@univerjs/engine-formula"],factory):(global2=typeof globalThis<"u"?globalThis:global2||self,factory(global2.UniverSheetsConditionalFormatting={},global2.UniverCore,global2.rxjs,global2.rxjs.operators,global2.UniverSheets,global2.UniverEngineRender,global2.UniverEngineFormula))})(this,function(exports2,core,rxjs,operators,sheets,engineRender,engineFormula){"use strict";var __defProp=Object.defineProperty;var __defNormalProp=(obj,key,value)=>key in obj?__defProp(obj,key,{enumerable:!0,configurable:!0,writable:!0,value}):obj[key]=value;var __name=(target,value)=>__defProp(target,"name",{value,configurable:!0});var __publicField=(obj,key,value)=>__defNormalProp(obj,typeof key!="symbol"?key+"":key,value);var _a,_b,_c,_d;const SHEET_CONDITIONAL_FORMATTING_PLUGIN="SHEET_CONDITIONAL_FORMATTING_PLUGIN";var CFTextOperator=(CFTextOperator2=>(CFTextOperator2.beginsWith="beginsWith",CFTextOperator2.endsWith="endsWith",CFTextOperator2.containsText="containsText",CFTextOperator2.notContainsText="notContainsText",CFTextOperator2.equal="equal",CFTextOperator2.notEqual="notEqual",CFTextOperator2.containsBlanks="containsBlanks",CFTextOperator2.notContainsBlanks="notContainsBlanks",CFTextOperator2.containsErrors="containsErrors",CFTextOperator2.notContainsErrors="notContainsErrors",CFTextOperator2))(CFTextOperator||{}),CFTimePeriodOperator=(CFTimePeriodOperator2=>(CFTimePeriodOperator2.today="today",CFTimePeriodOperator2.yesterday="yesterday",CFTimePeriodOperator2.tomorrow="tomorrow",CFTimePeriodOperator2.last7Days="last7Days",CFTimePeriodOperator2.thisMonth="thisMonth",CFTimePeriodOperator2.lastMonth="lastMonth",CFTimePeriodOperator2.nextMonth="nextMonth",CFTimePeriodOperator2.thisWeek="thisWeek",CFTimePeriodOperator2.lastWeek="lastWeek",CFTimePeriodOperator2.nextWeek="nextWeek",CFTimePeriodOperator2))(CFTimePeriodOperator||{}),CFNumberOperator=(CFNumberOperator2=>(CFNumberOperator2.greaterThan="greaterThan",CFNumberOperator2.greaterThanOrEqual="greaterThanOrEqual",CFNumberOperator2.lessThan="lessThan",CFNumberOperator2.lessThanOrEqual="lessThanOrEqual",CFNumberOperator2.notBetween="notBetween",CFNumberOperator2.between="between",CFNumberOperator2.equal="equal",CFNumberOperator2.notEqual="notEqual",CFNumberOperator2))(CFNumberOperator||{}),CFRuleType=(CFRuleType2=>(CFRuleType2.highlightCell="highlightCell",CFRuleType2.dataBar="dataBar",CFRuleType2.colorScale="colorScale",CFRuleType2.iconSet="iconSet",CFRuleType2))(CFRuleType||{}),CFSubRuleType=(CFSubRuleType2=>(CFSubRuleType2.uniqueValues="uniqueValues",CFSubRuleType2.duplicateValues="duplicateValues",CFSubRuleType2.rank="rank",CFSubRuleType2.text="text",CFSubRuleType2.timePeriod="timePeriod",CFSubRuleType2.number="number",CFSubRuleType2.average="average",CFSubRuleType2.formula="formula",CFSubRuleType2))(CFSubRuleType||{}),CFValueType=(CFValueType2=>(CFValueType2.num="num",CFValueType2.min="min",CFValueType2.max="max",CFValueType2.percent="percent",CFValueType2.percentile="percentile",CFValueType2.formula="formula",CFValueType2))(CFValueType||{});const DEFAULT_BG_COLOR="#fff",DEFAULT_FONT_COLOR="#000000",createDefaultRule=__name(()=>({cfId:void 0,ranges:[],stopIfTrue:!1,rule:{type:"highlightCell",subType:"text",operator:"containsText"}}),"createDefaultRule"),createDefaultValue=__name((subType,operator)=>{switch(subType){case"text":{if(["beginsWith","containsText","endsWith","equal","notContainsText","notEqual"].includes(operator))return"";break}case"number":return["between","notBetween"].includes(operator)?[10,100]:10}return""},"createDefaultValue"),createDefaultValueByValueType=__name((type,defaultValue)=>{switch(type){case"formula":return"=";case"max":case"min":return"";case"percent":case"percentile":case"num":return defaultValue!==void 0?defaultValue:10}return""},"createDefaultValueByValueType"),createCfId=__name(()=>`${core.Tools.generateRandomId(8)}`,"createCfId"),findIndexByAnchor=__name((anchor,ruleList,get)=>{if(!ruleList)return null;const anchorIndex=ruleList.findIndex(rule=>get(rule)===anchor.id);if(anchorIndex<0)return null;switch(anchor.type){case"after":return anchorIndex+1;case"before":return anchorIndex-1;case"self":return anchorIndex}},"findIndexByAnchor"),moveByAnchor=__name((start,end,ruleList,get)=>{if(!ruleList)return null;const startIndex=findIndexByAnchor(start,ruleList,get);let endIndex=findIndexByAnchor(end,ruleList,get);if(startIndex===null||endIndex===null||startIndex===endIndex)return;const rule=ruleList.splice(startIndex,1)[0];switch(startIndex<endIndex&&(endIndex=findIndexByAnchor(end,ruleList,get)),end.type){case"before":{ruleList.splice(endIndex+1,0,rule);break}case"self":case"after":{ruleList.splice(endIndex,0,rule);break}}},"moveByAnchor"),transformSupportSymmetryAnchor=__name((start,end,ruleList,get)=>{if(start.type==="after"&&["after","before"].includes(end.type))return[start,end];const _start={...start},_end={...end};if(_start.type!=="after"){const index=findIndexByAnchor(_start,ruleList,get);if(index===null)return null;if(index-1<0){const nextItem=ruleList[index+1];if(nextItem)_start.id=get(nextItem),_start.type="before";else return null}else{const id=get(ruleList[index-1]);_start.id=id,_start.type="after"}}if(!["after","before"].includes(_end.type)){const index=findIndexByAnchor(_end,ruleList,get);if(index===null)return null;if(index===0)_end.type="before";else if(index-1>=0){const id=get(ruleList[index-1]);_end.id=id,_end.type="after"}else if(index+1<=ruleList.length-1){const id=get(ruleList[index+1]);_end.id=id,_end.type="before"}else return null}return _start.id===_end.id&&_start.type===_end.type?null:[_start,_end]},"transformSupportSymmetryAnchor"),anchorUndoFactory=__name((start,end)=>{if(["after","before"].includes(end.type)){if(start.type==="after")return[end,start];if(start.type==="before")return[end,{...start,type:"self"}]}return null},"anchorUndoFactory"),isAnchorEqual=__name((anchor1,anchor2)=>anchor1.id===anchor2.id&&anchor1.type===anchor2.type,"isAnchorEqual");var __defProp$3=Object.defineProperty,__getOwnPropDesc$3=Object.getOwnPropertyDescriptor,__decorateClass$3=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$3(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$3(target,key,result),result},"__decorateClass$3"),__decorateParam$3=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$3");exports2.ConditionalFormattingRuleModel=(_a=class{constructor(_injector){__publicField(this,"_model",new Map);__publicField(this,"_ruleChange$",new rxjs.Subject);__publicField(this,"$ruleChange",this._ruleChange$.asObservable().pipe(operators.bufferTime(16),operators.filter(list=>!!list.length),source=>new rxjs.Observable(observer=>{source.subscribe({next:__name(ruleList=>{const createKey=__name(item=>`${item.unitId}_${item.subUnitId}_${item.rule.cfId}`,"createKey"),handleCreateAndDelete=__name(list=>{const createIndex=list.findIndex(rule=>rule.type==="add"),deleteIndex=list.findIndex(rule=>rule.type==="delete");createIndex!==-1&&deleteIndex!==-1&&deleteIndex>createIndex&&list.splice(createIndex,deleteIndex-createIndex+1)},"handleCreateAndDelete"),result=ruleList.reduce((a,b,index)=>{const key=createKey(b);return a[key]||(a[key]=[]),a[key].push({...b,_index:index}),a},{});for(const key in result){const list=result[key];list.length>=2&&handleCreateAndDelete(list)}Object.keys(result).reduce((a,key)=>{const list=result[key];return a.push(...list),a},[]).sort((a,b)=>a._index-b._index).map(item=>item).forEach(item=>{observer.next(item)})},"next"),error:__name(err=>observer.error(err),"error"),complete:__name(()=>observer.complete(),"complete")})})));this._injector=_injector}_ensureList(unitId,subUnitId){let list=this.getSubunitRules(unitId,subUnitId);if(!list){list=[];let unitMap=this._model.get(unitId);unitMap||(unitMap=new Map,this._model.set(unitId,unitMap)),unitMap.set(subUnitId,list)}return list}getRule(unitId,subUnitId,cfId){const list=this.getSubunitRules(unitId,subUnitId);return list?list.find(item=>item.cfId===cfId):null}getUnitRules(unitId){return this._model.get(unitId)||null}getSubunitRules(unitId,subUnitId){var _a2;return((_a2=this._model.get(unitId))==null?void 0:_a2.get(subUnitId))||null}deleteRule(unitId,subUnitId,cfId){const list=this.getSubunitRules(unitId,subUnitId);if(list){const index=list.findIndex(e=>e.cfId===cfId),rule=list[index];rule&&(list.splice(index,1),this._ruleChange$.next({rule,subUnitId,unitId,type:"delete"}))}}setRule(unitId,subUnitId,rule,oldCfId){const oldRule=this._ensureList(unitId,subUnitId).find(item=>item.cfId===oldCfId);if(oldRule){const cloneRule=core.Tools.deepClone(oldRule);Object.assign(oldRule,rule),this._ruleChange$.next({rule:oldRule,subUnitId,unitId,type:"set",oldRule:cloneRule})}}addRule(unitId,subUnitId,rule){const list=this._ensureList(unitId,subUnitId);list.find(item2=>item2.cfId===rule.cfId)||list.unshift(rule),this._ruleChange$.next({rule,subUnitId,unitId,type:"add"})}moveRulePriority(unitId,subUnitId,start,end){const list=this._ensureList(unitId,subUnitId),curIndex=findIndexByAnchor(start,list,rule2=>rule2.cfId),targetCfIndex=findIndexByAnchor(end,list,rule2=>rule2.cfId);if(targetCfIndex===null||curIndex===null||targetCfIndex===curIndex)return;const rule=list[curIndex];rule&&(moveByAnchor(start,end,list,rule2=>rule2.cfId),this._ruleChange$.next({rule,subUnitId,unitId,type:"sort"}))}createCfId(_unitId,_subUnitId){return createCfId()}deleteUnitId(unitId){this._model.delete(unitId)}},__name(_a,"ConditionalFormattingRuleModel"),_a),exports2.ConditionalFormattingRuleModel=__decorateClass$3([__decorateParam$3(0,core.Inject(core.Injector))],exports2.ConditionalFormattingRuleModel);const _ConditionalFormattingViewModel=class _ConditionalFormattingViewModel{constructor(){__publicField(this,"_model",new Map);__publicField(this,"_markDirty$",new rxjs.Subject);__publicField(this,"markDirty$",this._markDirty$.asObservable())}_ensureMatrix(unitId,subUnitId){let _matrix=this.getMatrix(unitId,subUnitId);if(!_matrix){_matrix=new core.ObjectMatrix;let unitModel=this._model.get(unitId);unitModel||(unitModel=new Map,this._model.set(unitId,unitModel)),unitModel.set(subUnitId,_matrix)}return _matrix}getMatrix(unitId,subUnitId){var _a2;return(_a2=this._model.get(unitId))==null?void 0:_a2.get(subUnitId)}getCellCf(unitId,subUnitId,row,col,matrix){const _matrix=matrix!=null?matrix:this.getMatrix(unitId,subUnitId);return _matrix?_matrix.getValue(row,col):null}setCellCfRuleCache(unitId,subUnitId,row,col,cfId,value){const cell2=this._ensureMatrix(unitId,subUnitId).getValue(row,col),item=cell2==null?void 0:cell2.cfList.find(e=>e.cfId===cfId);item&&(item.ruleCache=value,item.isDirty=!1)}deleteCellCf(unitId,subUnitId,row,col,cfId,matrix){const _matrix=matrix!=null?matrix:this.getMatrix(unitId,subUnitId);if(_matrix){const cellItem=_matrix.getValue(row,col);if(cellItem){const cfList=cellItem.cfList,index=cfList.findIndex(item=>item.cfId===cfId);index>-1&&cfList.splice(index,1),cfList.length||_matrix.realDeleteValue(row,col)}}}pushCellCf(unitId,subUnitId,row,col,cfId){const _matrix=this._ensureMatrix(unitId,subUnitId);let cellValue=_matrix.getValue(row,col);if(!cellValue)cellValue={cfList:[{cfId,isDirty:!0}]};else{const cfIdList=cellValue.cfList;if(cfIdList.findIndex(item=>item.cfId===cfId)>-1)return;cfIdList.push({cfId,isDirty:!0})}_matrix.setValue(row,col,cellValue)}sortCellCf(unitId,subUnitId,row,col,cfPriorityMap){const cell2=this.getCellCf(unitId,subUnitId,row,col);if(cell2){const sortResult=cell2.cfList.map(cf=>{const priority=cfPriorityMap.get(cf.cfId);return priority===void 0?null:{...cf,priority}}).filter(item=>!!item).sort((a,b)=>a.priority-b.priority);cell2.cfList=sortResult}}markRuleDirty(unitId,subUnitId,rule,row,col){const handleCell=__name((row2,col2)=>{const cell2=this.getCellCf(unitId,subUnitId,row2,col2);if(cell2){const ruleItem=cell2.cfList.find(item=>item.cfId===rule.cfId);ruleItem&&(ruleItem.isDirty=!0)}},"handleCell");row!==void 0&&col!==void 0?(handleCell(row,col),this._markDirty$.next({rule,unitId,subUnitId})):(rule.ranges.forEach(range=>{core.Range.foreach(range,(row2,col2)=>{handleCell(row2,col2)})}),this._markDirty$.next({rule,unitId,subUnitId}))}};__name(_ConditionalFormattingViewModel,"ConditionalFormattingViewModel");let ConditionalFormattingViewModel=_ConditionalFormattingViewModel;const ICON_MAP={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:{"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","rhomboid-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%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%23FFBD37%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"}},iconGroup=[{title:"sheet.cf.iconSet.direction",group:[{name:"3Arrows",list:[ICON_MAP.arrow["up-green"],ICON_MAP.arrow["right-gold"],ICON_MAP.arrow["down-red"]]},{name:"3ArrowsGray",list:[ICON_MAP.arrow["up-gray"],ICON_MAP.arrow["right-gray"],ICON_MAP.arrow["down-gray"]]},{name:"4Arrows",list:[ICON_MAP.arrow["up-green"],ICON_MAP.arrow["rightAndUp-gold"],ICON_MAP.arrow["rightAndDown-gold"],ICON_MAP.arrow["down-red"]]},{name:"4ArrowsGray",list:[ICON_MAP.arrow["up-gray"],ICON_MAP.arrow["rightAndUp-gray"],ICON_MAP.arrow["rightAndDown-gray"],ICON_MAP.arrow["down-gray"]]},{name:"5Arrows",list:[ICON_MAP.arrow["up-green"],ICON_MAP.arrow["rightAndUp-gold"],ICON_MAP.arrow["right-gold"],ICON_MAP.arrow["rightAndDown-gold"],ICON_MAP.arrow["down-red"]]},{name:"5ArrowsGray",list:[ICON_MAP.arrow["up-gray"],ICON_MAP.arrow["rightAndUp-gray"],ICON_MAP.arrow["right-gray"],ICON_MAP.arrow["rightAndDown-gray"],ICON_MAP.arrow["down-gray"]]},{name:"3Triangles",list:[ICON_MAP.shape.up,ICON_MAP.shape.cross,ICON_MAP.shape.down]}]},{title:"sheet.cf.iconSet.shape",group:[{name:"3TrafficLights1",list:[ICON_MAP.shape["roundness-greed"],ICON_MAP.shape["roundness-gold"],ICON_MAP.shape["roundness-red"]]},{name:"3Signs",list:[ICON_MAP.shape["roundness-greed"],ICON_MAP.shape["triangle-gold"],ICON_MAP.shape["rhomboid-red"]]},{name:"3TrafficLights2",list:[ICON_MAP.shape["indicate-greed"],ICON_MAP.shape["indicate-gold"],ICON_MAP.shape["indicate-red"]]},{name:"4RedToBlack",list:[ICON_MAP.shape["roundness-red"],ICON_MAP.shape["roundness-pink"],ICON_MAP.shape["roundness-gray"],ICON_MAP.shape["roundness-black"]]},{name:"4TrafficLights",list:[ICON_MAP.shape["roundness-greed"],ICON_MAP.shape["roundness-gold"],ICON_MAP.shape["roundness-red"],ICON_MAP.shape["roundness-black"]]}]},{title:"sheet.cf.iconSet.mark",group:[{name:"3Symbols",list:[ICON_MAP.feedback.correct,ICON_MAP.feedback.warn,ICON_MAP.feedback.mistake]},{name:"3Symbols2",list:[ICON_MAP.feedback2.correct2,ICON_MAP.feedback2.warn2,ICON_MAP.feedback2.mistake2]},{name:"3Flags",list:[ICON_MAP.flag["flag-green"],ICON_MAP.flag["flag-gold"],ICON_MAP.flag["flag-red"]]}]},{title:"sheet.cf.iconSet.rank",group:[{name:"4Rating",list:[ICON_MAP.signal.signal25,ICON_MAP.signal.signal50,ICON_MAP.signal.signal75,ICON_MAP.signal.signal100]},{name:"5Rating",list:[ICON_MAP.signal.signal0,ICON_MAP.signal.signal25,ICON_MAP.signal.signal50,ICON_MAP.signal.signal75,ICON_MAP.signal.signal100]},{name:"5Quarters",list:[ICON_MAP.progress.progress100,ICON_MAP.progress.progress75,ICON_MAP.progress.progress50,ICON_MAP.progress.progress25,ICON_MAP.progress.progress0]},{name:"_5Felling",list:[ICON_MAP.feeling.guffaw,ICON_MAP.feeling.smile,ICON_MAP.feeling.noninductive,ICON_MAP.feeling.dissatisfied,ICON_MAP.feeling.impatient]},{name:"5Boxes",list:[ICON_MAP.cell["cell-100"],ICON_MAP.cell["cell-75"],ICON_MAP.cell["cell-50"],ICON_MAP.cell["cell-25"],ICON_MAP.cell["cell-0"]]},{name:"3Stars",list:[ICON_MAP.star.starFull,ICON_MAP.star.starIncomplete,ICON_MAP.star.starEmpty]}]}],iconMap=iconGroup.reduce((result,cur)=>{const{group}=cur;for(const v of group)result[v.name]=v.list;return result},{});for(const key in iconMap){const v=iconMap[key];Object.freeze(v)}const EMPTY_ICON_TYPE="EMPTY_ICON_TYPE",MoveConditionalRuleMutation={type:core.CommandType.MUTATION,id:"sheet.mutation.move-conditional-rule",handler(accessor,params){if(!params)return!1;const{unitId,subUnitId,start,end}=params;return accessor.get(exports2.ConditionalFormattingRuleModel).moveRulePriority(unitId,subUnitId,start,end),!0}},MoveConditionalRuleMutationUndoFactory=__name(param=>{const{unitId,subUnitId}=param,undo=anchorUndoFactory(param.start,param.end);if(!undo)return[];const[start,end]=undo;return[{id:MoveConditionalRuleMutation.id,params:{unitId,subUnitId,start,end}}]},"MoveConditionalRuleMutationUndoFactory"),DeleteConditionalRuleMutationUndoFactory=__name((accessor,param)=>{const conditionalFormattingRuleModel=accessor.get(exports2.ConditionalFormattingRuleModel),{unitId,subUnitId,cfId}=param,ruleList=[...conditionalFormattingRuleModel.getSubunitRules(unitId,subUnitId)||[]],index=ruleList.findIndex(item=>item.cfId===cfId),beforeRule=ruleList[index-1];if(index>-1){const rule=ruleList[index],result=[{id:AddConditionalRuleMutation.id,params:{unitId,subUnitId,rule:core.Tools.deepClone(rule)}}];if(ruleList.splice(index,1),index!==0){const firstRule=ruleList[0];if(firstRule){const transformResult=transformSupportSymmetryAnchor({id:firstRule.cfId,type:"before"},{id:beforeRule.cfId,type:"after"},ruleList,rule2=>rule2.cfId);if(!transformResult)return result;const[start,end]=transformResult,params={unitId,subUnitId,start,end};result.push({id:MoveConditionalRuleMutation.id,params})}}return result}return[]},"DeleteConditionalRuleMutationUndoFactory"),DeleteConditionalRuleMutation={type:core.CommandType.MUTATION,id:"sheet.mutation.delete-conditional-rule",handler(accessor,params){if(!params)return!1;const{unitId,subUnitId,cfId}=params;return accessor.get(exports2.ConditionalFormattingRuleModel).deleteRule(unitId,subUnitId,cfId),!0}},AddConditionalRuleMutationUndoFactory=__name((accessor,param)=>({id:DeleteConditionalRuleMutation.id,params:{unitId:param.unitId,subUnitId:param.subUnitId,cfId:param.rule.cfId}}),"AddConditionalRuleMutationUndoFactory"),AddConditionalRuleMutation={type:core.CommandType.MUTATION,id:"sheet.mutation.add-conditional-rule",handler(accessor,params){if(!params)return!1;const{unitId,subUnitId,rule}=params;return accessor.get(exports2.ConditionalFormattingRuleModel).addRule(unitId,subUnitId,rule),!0}},ConditionalFormattingFormulaMarkDirty={type:core.CommandType.MUTATION,id:"sheet.mutation.conditional-formatting-formula-mark-dirty",handler(){return!0}},SetConditionalRuleMutation={type:core.CommandType.MUTATION,id:"sheet.mutation.set-conditional-rule",handler(accessor,params){if(!params)return!1;const{unitId,subUnitId,rule}=params,cfId=params.cfId||params.rule.cfId;return accessor.get(exports2.ConditionalFormattingRuleModel).setRule(unitId,subUnitId,rule,cfId),!0}},setConditionalRuleMutationUndoFactory=__name((accessor,param)=>{const conditionalFormattingRuleModel=accessor.get(exports2.ConditionalFormattingRuleModel),{unitId,subUnitId}=param,cfId=param.cfId||param.rule.cfId,rule=conditionalFormattingRuleModel.getRule(unitId,subUnitId,cfId);return rule?[{id:SetConditionalRuleMutation.id,params:{unitId,subUnitId,cfId,rule:core.Tools.deepClone(rule)}}]:[]},"setConditionalRuleMutationUndoFactory"),PLUGIN_CONFIG_KEY="ssheets-conditional-formatting.config",defaultPluginConfig={};var __defProp$2=Object.defineProperty,__getOwnPropDesc$2=Object.getOwnPropertyDescriptor,__decorateClass$2=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$2(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$2(target,key,result),result},"__decorateClass$2"),__decorateParam$2=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$2"),FormulaResultStatus=(FormulaResultStatus2=>(FormulaResultStatus2[FormulaResultStatus2.NOT_REGISTER=1]="NOT_REGISTER",FormulaResultStatus2[FormulaResultStatus2.SUCCESS=2]="SUCCESS",FormulaResultStatus2[FormulaResultStatus2.WAIT=3]="WAIT",FormulaResultStatus2[FormulaResultStatus2.ERROR=4]="ERROR",FormulaResultStatus2))(FormulaResultStatus||{});const getResultFromFormula=__name(formulaResult=>{const v=formulaResult&&formulaResult[0]&&formulaResult[0][0];return(v==null?void 0:v.t)===core.CellValueType.BOOLEAN?v.v===core.BooleanNumber.TRUE||v.v===!0:v?v.v:!1},"getResultFromFormula");exports2.ConditionalFormattingFormulaService=(_b=class extends core.Disposable{constructor(_commandService,_injector,_activeDirtyManagerService,_conditionalFormattingViewModel,_conditionalFormattingRuleModel){super();__publicField(this,"_formulaMap",new Map);__publicField(this,"_cache",new Map);__publicField(this,"_formulaChange$",new rxjs.Subject);__publicField(this,"formulaChange$",this._formulaChange$.asObservable());this._commandService=_commandService,this._injector=_injector,this._activeDirtyManagerService=_activeDirtyManagerService,this._conditionalFormattingViewModel=_conditionalFormattingViewModel,this._conditionalFormattingRuleModel=_conditionalFormattingRuleModel,this._initFormulaCalculationResultChange(),this._initRuleChange(),this._initCache(),this.disposeWithMe(core.toDisposable(()=>{this._cache.clear(),this._formulaMap.clear()}))}dispose(){this._formulaChange$.complete()}_initCache(){const _conditionalFormattingService=this._injector.get(exports2.ConditionalFormattingService);this.disposeWithMe(_conditionalFormattingService.ruleComputeStatus$.subscribe(option=>{const{unitId,subUnitId,status,result,cfId}=option;status==="end"&&result&&this._ensureCacheMap(unitId,subUnitId).set(cfId,result)})),this.disposeWithMe(this._conditionalFormattingRuleModel.$ruleChange.subscribe(option=>{if(option.type==="delete"){const{unitId,subUnitId,rule}=option;this._deleteCache(unitId,subUnitId,rule.cfId)}}))}_initRuleChange(){this.disposeWithMe(this._conditionalFormattingRuleModel.$ruleChange.subscribe(option=>{const{unitId,subUnitId,rule}=option;option.type==="delete"&&this._removeFormulaByCfId(unitId,subUnitId,rule.cfId)}))}_initFormulaCalculationResultChange(){this.disposeWithMe(this._commandService.onCommandExecuted(commandInfo=>{if(commandInfo.id===engineFormula.SetFormulaCalculationResultMutation.id){const params=commandInfo.params;for(const unitId in params.unitOtherData)for(const subUnitId in params.unitOtherData[unitId]){const map2=this.getSubUnitFormulaMap(unitId,subUnitId);if(!map2)continue;const cfIdSet=new Set;for(const formulaId in params.unitOtherData[unitId][subUnitId]){const item=map2.getValue(formulaId,["formulaId"]);if(item){const value=getResultFromFormula(params.unitOtherData[unitId][subUnitId][formulaId]);item.result=value,item.status=2,cfIdSet.add(item.cfId)}}for(const cfId of cfIdSet){const rule=this._conditionalFormattingRuleModel.getRule(unitId,subUnitId,cfId);rule&&this._conditionalFormattingViewModel.markRuleDirty(unitId,subUnitId,rule)}}}})),this._activeDirtyManagerService.register(ConditionalFormattingFormulaMarkDirty.id,{commandId:ConditionalFormattingFormulaMarkDirty.id,getDirtyData(commandInfo){return{dirtyUnitOtherFormulaMap:commandInfo.params}}}),this.formulaChange$.pipe(operators.bufferTime(16),operators.filter(list=>!!list.length),operators.map(list=>list.reduce((result,cur)=>{const{unitId,subUnitId,formulaId,formulaText}=cur;return result[unitId]||(result[unitId]={}),result[unitId][subUnitId]||(result[unitId][subUnitId]={}),result[unitId][subUnitId][formulaId]={f:formulaText},result},{}))).subscribe(result=>{for(const unitId in result)for(const subUnitId in result[unitId]){const value=result[unitId][subUnitId],config={unitId,subUnitId,formulaMap:value};this._commandService.executeCommand(engineFormula.SetOtherFormulaMutation.id,config).then(()=>{this._commandService.executeCommand(ConditionalFormattingFormulaMarkDirty.id,{[unitId]:{[subUnitId]:value}})})}})}_ensureSubunitFormulaMap(unitId,subUnitId){let unitMap=this._formulaMap.get(unitId);unitMap||(unitMap=new Map,this._formulaMap.set(unitId,unitMap));let subUnitMap=unitMap.get(subUnitId);return subUnitMap||(subUnitMap=new core.RefAlias([],["formulaId","formulaText"]),unitMap.set(subUnitId,subUnitMap)),subUnitMap}_ensureCacheMap(unitId,subUnitId){let unitMap=this._cache.get(unitId);unitMap||(unitMap=new Map,this._cache.set(unitId,unitMap));let subUnitMap=unitMap.get(subUnitId);return subUnitMap||(subUnitMap=new Map,unitMap.set(subUnitId,subUnitMap)),subUnitMap}_deleteCache(unitId,subUnitId,cfId){const unitCache=this._cache.get(unitId);if(unitCache){const subUnitCache=unitCache.get(subUnitId);subUnitCache&&(cfId?subUnitCache.delete(cfId):subUnitCache.clear())}}getCache(unitId,subUnitId,cfId){return this._ensureCacheMap(unitId,subUnitId).get(cfId)}getSubUnitFormulaMap(unitId,subUnitId){var _a2;return(_a2=this._formulaMap.get(unitId))==null?void 0:_a2.get(subUnitId)}registerFormula(unitId,subUnitId,cfId,formulaText){const subUnitFormulaMap=this._ensureSubunitFormulaMap(unitId,subUnitId),formulaItem=subUnitFormulaMap.getValue(formulaText,["formulaText"]);if(formulaItem){subUnitFormulaMap.getValues().some(item=>item.cfId===cfId)||formulaItem.count++;return}const formulaId=this._createFormulaId(unitId,subUnitId);subUnitFormulaMap.addValue({formulaId,formulaText,cfId,status:3,count:1}),this._formulaChange$.next({unitId,cfId,subUnitId,formulaText,formulaId})}_removeFormulaByCfId(unitId,subUnitId,cfId){const subUnitFormulaMap=this._ensureSubunitFormulaMap(unitId,subUnitId),reduceCount=__name(formulaText=>{const formulaItem=subUnitFormulaMap.getValue(formulaText,["formulaText"]);formulaItem&&(formulaItem.count--,formulaItem.count<=0&&subUnitFormulaMap.deleteValue(formulaText))},"reduceCount"),values=subUnitFormulaMap.getValues().filter(item=>item.cfId===cfId);values.forEach(item=>{reduceCount(item.formulaText)});const formulaIdList=values.map(item=>item.formulaId);this._commandService.executeCommand(engineFormula.RemoveOtherFormulaMutation.id,{unitId,subUnitId,formulaIdList})}getFormulaResult(unitId,subUnitId,formulaText){const map2=this.getSubUnitFormulaMap(unitId,subUnitId);if(!map2)return{status:1};const item=map2.getValue(formulaText,["formulaText"]);return item?item.status===2?{result:item.result,status:2}:item.status===3?{status:3}:{status:4}:{status:1}}_createFormulaId(unitId,subUnitId){return`sheet.cf_${unitId}_${subUnitId}_${core.Tools.generateRandomId(8)}`}},__name(_b,"ConditionalFormattingFormulaService"),_b),exports2.ConditionalFormattingFormulaService=__decorateClass$2([__decorateParam$2(0,core.Inject(core.ICommandService)),__decorateParam$2(1,core.Inject(core.Injector)),__decorateParam$2(2,core.Inject(engineFormula.IActiveDirtyManagerService)),__decorateParam$2(3,core.Inject(ConditionalFormattingViewModel)),__decorateParam$2(4,core.Inject(exports2.ConditionalFormattingRuleModel))],exports2.ConditionalFormattingFormulaService);var commonjsGlobal=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function getDefaultExportFromCjs(x){return x&&x.__esModule&&Object.prototype.hasOwnProperty.call(x,"default")?x.default:x}__name(getDefaultExportFromCjs,"getDefaultExportFromCjs");var dayjs_min={exports:{}};(function(module2,exports3){(function(t,e){module2.exports=e()})(commonjsGlobal,function(){var t=1e3,e=6e4,n=36e5,r="millisecond",i="second",s="minute",u="hour",a="day",o="week",c="month",f="quarter",h="year",d="date",l="Invalid Date",$=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,y=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:__name(function(t2){var e2=["th","st","nd","rd"],n2=t2%100;return"["+t2+(e2[(n2-20)%10]||e2[n2]||e2[0])+"]"},"ordinal")},m=__name(function(t2,e2,n2){var r2=String(t2);return!r2||r2.length>=e2?t2:""+Array(e2+1-r2.length).join(n2)+t2},"m"),v={s:m,z:__name(function(t2){var e2=-t2.utcOffset(),n2=Math.abs(e2),r2=Math.floor(n2/60),i2=n2%60;return(e2<=0?"+":"-")+m(r2,2,"0")+":"+m(i2,2,"0")},"z"),m:__name(function t2(e2,n2){if(e2.date()<n2.date())return-t2(n2,e2);var r2=12*(n2.year()-e2.year())+(n2.month()-e2.month()),i2=e2.clone().add(r2,c),s2=n2-i2<0,u2=e2.clone().add(r2+(s2?-1:1),c);return+(-(r2+(n2-i2)/(s2?i2-u2:u2-i2))||0)},"t"),a:__name(function(t2){return t2<0?Math.ceil(t2)||0:Math.floor(t2)},"a"),p:__name(function(t2){return{M:c,y:h,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:f}[t2]||String(t2||"").toLowerCase().replace(/s$/,"")},"p"),u:__name(function(t2){return t2===void 0},"u")},g="en",D={};D[g]=M;var p="$isDayjsObject",S=__name(function(t2){return t2 instanceof _||!(!t2||!t2[p])},"S"),w=__name(function t2(e2,n2,r2){var i2;if(!e2)return g;if(typeof e2=="string"){var s2=e2.toLowerCase();D[s2]&&(i2=s2),n2&&(D[s2]=n2,i2=s2);var u2=e2.split("-");if(!i2&&u2.length>1)return t2(u2[0])}else{var a2=e2.name;D[a2]=e2,i2=a2}return!r2&&i2&&(g=i2),i2||!r2&&g},"t"),O=__name(function(t2,e2){if(S(t2))return t2.clone();var n2=typeof e2=="object"?e2:{};return n2.date=t2,n2.args=arguments,new _(n2)},"O"),b=v;b.l=w,b.i=S,b.w=function(t2,e2){return O(t2,{locale:e2.$L,utc:e2.$u,x:e2.$x,$offset:e2.$offset})};var _=function(){function M2(t2){this.$L=w(t2.locale,null,!0),this.parse(t2),this.$x=this.$x||t2.x||{},this[p]=!0}__name(M2,"M");var m2=M2.prototype;return m2.parse=function(t2){this.$d=function(t3){var e2=t3.date,n2=t3.utc;if(e2===null)return new Date(NaN);if(b.u(e2))return new Date;if(e2 instanceof Date)return new Date(e2);if(typeof e2=="string"&&!/Z$/i.test(e2)){var r2=e2.match($);if(r2){var i2=r2[2]-1||0,s2=(r2[7]||"0").substring(0,3);return n2?new Date(Date.UTC(r2[1],i2,r2[3]||1,r2[4]||0,r2[5]||0,r2[6]||0,s2)):new Date(r2[1],i2,r2[3]||1,r2[4]||0,r2[5]||0,r2[6]||0,s2)}}return new Date(e2)}(t2),this.init()},m2.init=function(){var t2=this.$d;this.$y=t2.getFullYear(),this.$M=t2.getMonth(),this.$D=t2.getDate(),this.$W=t2.getDay(),this.$H=t2.getHours(),this.$m=t2.getMinutes(),this.$s=t2.getSeconds(),this.$ms=t2.getMilliseconds()},m2.$utils=function(){return b},m2.isValid=function(){return this.$d.toString()!==l},m2.isSame=function(t2,e2){var n2=O(t2);return this.startOf(e2)<=n2&&n2<=this.endOf(e2)},m2.isAfter=function(t2,e2){return O(t2)<this.startOf(e2)},m2.isBefore=function(t2,e2){return this.endOf(e2)<O(t2)},m2.$g=function(t2,e2,n2){return b.u(t2)?this[e2]:this.set(n2,t2)},m2.unix=function(){return Math.floor(this.valueOf()/1e3)},m2.valueOf=function(){return this.$d.getTime()},m2.startOf=function(t2,e2){var n2=this,r2=!!b.u(e2)||e2,f2=b.p(t2),l2=__name(function(t3,e3){var i2=b.w(n2.$u?Date.UTC(n2.$y,e3,t3):new Date(n2.$y,e3,t3),n2);return r2?i2:i2.endOf(a)},"l"),$2=__name(function(t3,e3){return b.w(n2.toDate()[t3].apply(n2.toDate("s"),(r2?[0,0,0,0]:[23,59,59,999]).slice(e3)),n2)},"$"),y2=this.$W,M3=this.$M,m3=this.$D,v2="set"+(this.$u?"UTC":"");switch(f2){case h:return r2?l2(1,0):l2(31,11);case c:return r2?l2(1,M3):l2(0,M3+1);case o:var g2=this.$locale().weekStart||0,D2=(y2<g2?y2+7:y2)-g2;return l2(r2?m3-D2:m3+(6-D2),M3);case a:case d:return $2(v2+"Hours",0);case u:return $2(v2+"Minutes",1);case s:return $2(v2+"Seconds",2);case i:return $2(v2+"Milliseconds",3);default:return this.clone()}},m2.endOf=function(t2){return this.startOf(t2,!1)},m2.$set=function(t2,e2){var n2,o2=b.p(t2),f2="set"+(this.$u?"UTC":""),l2=(n2={},n2[a]=f2+"Date",n2[d]=f2+"Date",n2[c]=f2+"Month",n2[h]=f2+"FullYear",n2[u]=f2+"Hours",n2[s]=f2+"Minutes",n2[i]=f2+"Seconds",n2[r]=f2+"Milliseconds",n2)[o2],$2=o2===a?this.$D+(e2-this.$W):e2;if(o2===c||o2===h){var y2=this.clone().set(d,1);y2.$d[l2]($2),y2.init(),this.$d=y2.set(d,Math.min(this.$D,y2.daysInMonth())).$d}else l2&&this.$d[l2]($2);return this.init(),this},m2.set=function(t2,e2){return this.clone().$set(t2,e2)},m2.get=function(t2){return this[b.p(t2)]()},m2.add=function(r2,f2){var d2,l2=this;r2=Number(r2);var $2=b.p(f2),y2=__name(function(t2){var e2=O(l2);return b.w(e2.date(e2.date()+Math.round(t2*r2)),l2)},"y");if($2===c)return this.set(c,this.$M+r2);if($2===h)return this.set(h,this.$y+r2);if($2===a)return y2(1);if($2===o)return y2(7);var M3=(d2={},d2[s]=e,d2[u]=n,d2[i]=t,d2)[$2]||1,m3=this.$d.getTime()+r2*M3;return b.w(m3,this)},m2.subtract=function(t2,e2){return this.add(-1*t2,e2)},m2.format=function(t2){var e2=this,n2=this.$locale();if(!this.isValid())return n2.invalidDate||l;var r2=t2||"YYYY-MM-DDTHH:mm:ssZ",i2=b.z(this),s2=this.$H,u2=this.$m,a2=this.$M,o2=n2.weekdays,c2=n2.months,f2=n2.meridiem,h2=__name(function(t3,n3,i3,s3){return t3&&(t3[n3]||t3(e2,r2))||i3[n3].slice(0,s3)},"h"),d2=__name(function(t3){return b.s(s2%12||12,t3,"0")},"d"),$2=f2||function(t3,e3,n3){var r3=t3<12?"AM":"PM";return n3?r3.toLowerCase():r3};return r2.replace(y,function(t3,r3){return r3||function(t4){switch(t4){case"YY":return String(e2.$y).slice(-2);case"YYYY":return b.s(e2.$y,4,"0");case"M":return a2+1;case"MM":return b.s(a2+1,2,"0");case"MMM":return h2(n2.monthsShort,a2,c2,3);case"MMMM":return h2(c2,a2);case"D":return e2.$D;case"DD":return b.s(e2.$D,2,"0");case"d":return String(e2.$W);case"dd":return h2(n2.weekdaysMin,e2.$W,o2,2);case"ddd":return h2(n2.weekdaysShort,e2.$W,o2,3);case"dddd":return o2[e2.$W];case"H":return String(s2);case"HH":return b.s(s2,2,"0");case"h":return d2(1);case"hh":return d2(2);case"a":return $2(s2,u2,!0);case"A":return $2(s2,u2,!1);case"m":return String(u2);case"mm":return b.s(u2,2,"0");case"s":return String(e2.$s);case"ss":return b.s(e2.$s,2,"0");case"SSS":return b.s(e2.$ms,3,"0");case"Z":return i2}return null}(t3)||i2.replace(":","")})},m2.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m2.diff=function(r2,d2,l2){var $2,y2=this,M3=b.p(d2),m3=O(r2),v2=(m3.utcOffset()-this.utcOffset())*e,g2=this-m3,D2=__name(function(){return b.m(y2,m3)},"D");switch(M3){case h:$2=D2()/12;break;case c:$2=D2();break;case f:$2=D2()/3;break;case o:$2=(g2-v2)/6048e5;break;case a:$2=(g2-v2)/864e5;break;case u:$2=g2/n;break;case s:$2=g2/e;break;case i:$2=g2/t;break;default:$2=g2}return l2?$2:b.a($2)},m2.daysInMonth=function(){return this.endOf(c).$D},m2.$locale=function(){return D[this.$L]},m2.locale=function(t2,e2){if(!t2)return this.$L;var n2=this.clone(),r2=w(t2,e2,!0);return r2&&(n2.$L=r2),n2},m2.clone=function(){return b.w(this.$d,this)},m2.toDate=function(){return new Date(this.valueOf())},m2.toJSON=function(){return this.isValid()?this.toISOString():null},m2.toISOString=function(){return this.$d.toISOString()},m2.toString=function(){return this.$d.toUTCString()},M2}(),k=_.prototype;return O.prototype=k,[["$ms",r],["$s",i],["$m",s],["$H",u],["$W",a],["$M",c],["$y",h],["$D",d]].forEach(function(t2){k[t2[1]]=function(e2){return this.$g(e2,t2[0],t2[1])}}),O.extend=function(t2,e2){return t2.$i||(t2(e2,_,O),t2.$i=!0),O},O.locale=w,O.isDayjs=S,O.unix=function(t2){return O(1e3*t2)},O.en=D[g],O.Ls=D,O.p={},O})})(dayjs_min);var dayjs_minExports=dayjs_min.exports;const dayjs=getDefaultExportFromCjs(dayjs_minExports);function isFloatsEqual(a,b){return Math.abs(a-b)<Number.EPSILON}__name(isFloatsEqual,"isFloatsEqual");const isNullable=__name(v=>[void 0,null].includes(v),"isNullable"),getCellValue=__name(cell2=>{var _a2,_b2;if(!cell2)return null;if(cell2.t===core.CellValueType.BOOLEAN)return cell2.v===core.BooleanNumber.TRUE?engineFormula.BooleanValue.TRUE:engineFormula.BooleanValue.FALSE;const v=cell2.v,dataStream=(_b2=(_a2=cell2.p)==null?void 0:_a2.body)==null?void 0:_b2.dataStream.replace(/\r\n$/,"");return isNullable(v)?isNullable(dataStream)?null:dataStream:v},"getCellValue"),DAY_SIZE=86400;function toYMD_1900(ord,leap1900=!0){if(leap1900&&ord>=0){if(ord===0)return[1900,1,0];if(ord===60)return[1900,2,29];if(ord<60)return[1900,ord<32?1:2,(ord-1)%31+1]}let l=ord+68569+2415019;const n=Math.floor(4*l/146097);l=l-Math.floor((146097*n+3)/4);const i=Math.floor(4e3*(l+1)/1461001);l=l-Math.floor(1461*i/4)+31;const j=Math.floor(80*l/2447),nDay=l-Math.floor(2447*j/80);l=Math.floor(j/11);const nMonth=j+2-12*l;return[100*(n-49)+i+l|0,nMonth|0,nDay|0]}__name(toYMD_1900,"toYMD_1900");const serialTimeToTimestamp=__name(value=>{let date=value|0;const t=DAY_SIZE*(value-date);let time=Math.floor(t);t-time>.9999&&(time+=1,time===DAY_SIZE&&(time=0,date+=1));const x=time<0?DAY_SIZE+time:time,[y,m,d]=toYMD_1900(value,!0),hh=Math.floor(x/60/60)%60,mm=Math.floor(x/60)%60,ss=Math.floor(x)%60;return dayjs(`${y}/${m}/${d} ${hh}:${mm}:${ss}`).valueOf()},"serialTimeToTimestamp"),getValueByType=__name((value,matrix,context)=>{switch(value.type){case CFValueType.max:{let max=0;return matrix.forValue((row,col,value2)=>{value2>max&&(max=value2)}),{status:FormulaResultStatus.SUCCESS,result:max}}case CFValueType.min:{let min;return matrix.forValue((row,col,value2)=>{min===void 0&&(min=value2),value2<min&&(min=value2)}),{status:FormulaResultStatus.SUCCESS,result:min}}case CFValueType.percent:{let max,min;matrix.forValue((row,col,value2)=>{(max===void 0||min===void 0)&&(max=value2,min=value2),value2>max&&(max=value2),value2<min&&(min=value2)});const length=(max||0)-(min||0),v=Math.max(Math.min(Number(value.value)||0,100),0);return{status:FormulaResultStatus.SUCCESS,result:length*(v/100)+(min||0)}}case CFValueType.percentile:{const list=matrix.toNativeArray().sort((a,b)=>a-b),v=Math.max(Math.min(Number(value.value)||0,100),0),index=(list.length-1)*v/100,intIndex=Math.floor(index),decimalIndex=index-intIndex,result=list[intIndex]+(list[Math.min(intIndex+1,list.length-1)]-list[intIndex])*decimalIndex;return{status:FormulaResultStatus.SUCCESS,result}}case CFValueType.formula:{const{accessor,unitId,subUnitId,cfId}=context,formulaText=String(value.value),conditionalFormattingFormulaService=accessor.get(exports2.ConditionalFormattingFormulaService);return conditionalFormattingFormulaService.registerFormula(unitId,subUnitId,cfId,formulaText),conditionalFormattingFormulaService.getFormulaResult(unitId,subUnitId,formulaText)}case CFValueType.num:{const v=Number(value.value);return{status:FormulaResultStatus.SUCCESS,result:Number.isNaN(v)?0:v}}}},"getValueByType"),getCacheStyleMatrix=__name((unitId,subUnitId,rule,context)=>{const{accessor}=context,conditionalFormattingViewModel=accessor.get(ConditionalFormattingViewModel),matrix=new core.ObjectMatrix;return rule.ranges.forEach(range=>{core.Range.foreach(range,(row,col)=>{const cellCfItem=conditionalFormattingViewModel.getCellCf(unitId,subUnitId,row,col);if(cellCfItem){const item=cellCfItem.cfList.find(item2=>item2.cfId===rule.cfId);item!=null&&item.ruleCache&&matrix.setValue(row,col,item.ruleCache)}})}),matrix},"getCacheStyleMatrix"),compareWithNumber=__name((config,v)=>{switch(config.operator){case CFNumberOperator.between:{if(typeof config.value!="object"||!config.value.length)return;const start=Math.min(...config.value),end=Math.max(...config.value);return v>=start&&v<=end}case CFNumberOperator.notBetween:{if(typeof config.value!="object"||!config.value.length)return;const start=Math.min(...config.value),end=Math.max(...config.value);return!(v>=start&&v<=end)}case CFNumberOperator.equal:{const condition=config.value||0;return isFloatsEqual(condition,v)}case CFNumberOperator.notEqual:{const condition=config.value||0;return!isFloatsEqual(condition,v)}case CFNumberOperator.greaterThan:{const condition=config.value||0;return v>condition}case CFNumberOperator.greaterThanOrEqual:{const condition=config.value||0;return v>=condition}case CFNumberOperator.lessThan:{const condition=config.value||0;return v<condition}case CFNumberOperator.lessThanOrEqual:{const condition=config.value||0;return v<=condition}default:return!1}},"compareWithNumber"),getOppositeOperator=__name(operator=>{switch(operator){case CFNumberOperator.greaterThan:return CFNumberOperator.lessThanOrEqual;case CFNumberOperator.greaterThanOrEqual:return CFNumberOperator.lessThan;case CFNumberOperator.lessThan:return CFNumberOperator.greaterThanOrEqual;case CFNumberOperator.lessThanOrEqual:return CFNumberOperator.greaterThan}return operator},"getOppositeOperator"),getColorScaleFromValue=__name((colorList,value)=>{const prefixRgba=__name(rgb=>rgb.a!==void 0?rgb:{...rgb,a:1},"prefixRgba"),index=colorList.findIndex(item=>item.value>=value),preIndex=index-1;if(index===0)return colorList[0].color.toRgbString();if(preIndex>=0){const minItem=colorList[preIndex],maxItem=colorList[index];if(minItem.color.isValid&&maxItem.color.isValid){const minRgb=prefixRgba(minItem.color.toRgb()),maxRgb=prefixRgba(maxItem.color.toRgb()),length=maxItem.value-minItem.value,v=(value-minItem.value)/length,rgbResult=["r","g","b","a"].reduce((obj,key)=>{const minV=minRgb[key];return obj[key]=(maxRgb[key]-minV)*v+minV,obj},{});return new core.ColorKit(rgbResult).toRgbString()}}else return colorList[colorList.length-1].color.toRgbString()},"getColorScaleFromValue"),filterRange=__name((ranges,maxRow,maxCol)=>ranges.map(range=>{if(range.startColumn>maxCol||range.startRow>maxRow)return null;const _range={...range};return _range.endRow=Math.min(_range.endRow,maxRow),_range.endColumn=Math.min(_range.endColumn,maxCol),_range}).filter(range=>!!range),"filterRange"),emptyStyle="",colorScaleCellCalculateUnit={type:CFRuleType.colorScale,handle:__name(async(rule,context)=>{var _a2;const ruleConfig=rule.rule,conditionalFormattingFormulaService=context.accessor.get(exports2.ConditionalFormattingFormulaService),{worksheet}=context,matrix=new core.ObjectMatrix,ranges=filterRange(rule.ranges,worksheet.getMaxRows()-1,worksheet.getMaxColumns()-1);ranges.forEach(range=>{core.Range.foreach(range,(row,col)=>{const cell2=worksheet==null?void 0:worksheet.getCellRaw(row,col),v=cell2&&cell2.v;if(!isNullable(v)&&(cell2==null?void 0:cell2.t)===core.CellValueType.NUMBER){const _value=Number(v);!Number.isNaN(_value)&&matrix.setValue(row,col,_value)}})});const computeResult=new core.ObjectMatrix;ranges.forEach(range=>{core.Range.foreach(range,(row,col)=>{computeResult.setValue(row,col,emptyStyle)})});const _configList=[...ruleConfig.config].sort((a,b)=>a.index-b.index).map(config=>({value:getValueByType(config.value,matrix,{...context,cfId:rule.cfId}),color:new core.ColorKit(config.color)}));if(_configList.some(item=>engineRender.isObject(item.value)?item.value.status!==FormulaResultStatus.SUCCESS:!1))return(_a2=conditionalFormattingFormulaService.getCache(context.unitId,context.subUnitId,rule.cfId))!=null?_a2:computeResult;const colorList=_configList.map(item=>item.color).reduce((result,color,index)=>(result.result.push({color,value:result.sortValue[index]}),result),{result:[],sortValue:_configList.map(item=>item.value.result).sort((a,b)=>a-b)}).result;return colorList.length<=1||matrix.forValue((row,col,value)=>{const color=getColorScaleFromValue(colorList,value);color&&computeResult.setValue(row,col,color)}),computeResult},"handle")},dataBarUKey="sheet-conditional-rule-data-bar",defaultDataBarPositiveColor="#ffbe38",defaultDataBarNativeColor="#abd91a",EXTENSION_Z_INDEX$1=34,_DataBar=class _DataBar extends engineRender.SheetExtension{constructor(){super(...arguments);__publicField(this,"_paddingRightAndLeft",2);__publicField(this,"_paddingTopAndBottom",2);__publicField(this,"uKey",dataBarUKey);__publicField(this,"Z_INDEX",EXTENSION_Z_INDEX$1);__publicField(this,"_radius",1)}draw(ctx,_parentScale,spreadsheetSkeleton,diffRanges){const{worksheet}=spreadsheetSkeleton;if(!worksheet)return!1;ctx.save(),core.Range.foreach(spreadsheetSkeleton.rowColumnSegment,(row,col)=>{if(!worksheet.getRowVisible(row)||!worksheet.getColVisible(col))return;const cellData=worksheet.getCell(row,col);if(cellData&&cellData.dataBar){const{color,value,startPoint,isGradient}=cellData.dataBar,cellInfo=spreadsheetSkeleton.getCellByIndexWithNoHeader(row,col);let{isMerged,isMergedMainCell,mergeInfo,startY,endY,startX,endX}=cellInfo;if(isMerged||(isMergedMainCell&&(startY=mergeInfo.startY,endY=mergeInfo.endY,startX=mergeInfo.startX,endX=mergeInfo.endX),!this.isRenderDiffRangesByCell(mergeInfo,diffRanges)))return;const borderWidth=endX-startX,borderHeight=endY+engineRender.FIX_ONE_PIXEL_BLUR_OFFSET-startY,width=borderWidth-this._paddingRightAndLeft*2,height=borderHeight-this._paddingTopAndBottom*2;if(value>0){const dataBarWidth=Math.max(width*(1-startPoint/100)*value/100,1),x0=startX+this._paddingRightAndLeft+startPoint/100*width,y0=startY+this._paddingTopAndBottom;if(isGradient){const gradient=ctx.createLinearGradient(x0,y0,x0+dataBarWidth,y0);gradient.addColorStop(0,color),gradient.addColorStop(1,"rgb(255 255 255)"),ctx.fillStyle=gradient,ctx.strokeStyle=color,ctx.lineWidth=1}else ctx.fillStyle=color;this._drawRectWithRoundedCorner(ctx,x0,y0,dataBarWidth,height,!1,!0,!0,!1),isGradient&&ctx.stroke()}else{const dataBarWidth=Math.max(width*startPoint/100*Math.abs(value)/100,1),x0=startX+this._paddingRightAndLeft+startPoint/100*width-dataBarWidth,y0=startY+this._paddingTopAndBottom;if(isGradient){const gradient=ctx.createLinearGradient(x0,y0,x0+dataBarWidth,y0);gradient.addColorStop(0,"rgb(255 255 255)"),gradient.addColorStop(1,color),ctx.fillStyle=gradient,ctx.strokeStyle=color,ctx.lineWidth=1}else ctx.fillStyle=color;this._drawRectWithRoundedCorner(ctx,x0,y0,dataBarWidth,height,!0,!1,!1,!0),isGradient&&ctx.stroke()}}}),ctx.restore()}_drawRectWithRoundedCorner(ctx,x,y,width,height,topLeftRadius,topRightRadius,bottomRightRadius,bottomLeftRadius){const radius=this._radius;!height||!width||(ctx.beginPath(),ctx.moveTo(x+radius,y),ctx.lineTo(x+width-radius,y),topRightRadius?ctx.arcTo(x+width,y,x+width,y+radius,radius):ctx.lineTo(x+width,y),ctx.lineTo(x+width,y+height-radius),bottomRightRadius?ctx.arcTo(x+width,y+height,x+width-radius,y+height,radius):ctx.lineTo(x+width,y+height),ctx.lineTo(x+radius,y+height),bottomLeftRadius?ctx.arcTo(x,y+height,x,y+height-radius,radius):ctx.lineTo(x,y+height),ctx.lineTo(x,y+radius),topLeftRadius?ctx.arcTo(x,y,x+radius,y,radius):ctx.lineTo(x,y),ctx.closePath(),ctx.fill())}};__name(_DataBar,"DataBar");let DataBar=_DataBar;engineRender.SpreadsheetExtensionRegistry.add(DataBar);const EMPTY_STYLE={};Object.freeze(EMPTY_STYLE);const dataBarCellCalculateUnit={type:CFRuleType.dataBar,handle:__name(async(rule,context)=>{const ruleConfig=rule.rule,conditionalFormattingFormulaService=context.accessor.get(exports2.ConditionalFormattingFormulaService),{worksheet}=context,matrix=new core.ObjectMatrix,ranges=filterRange(rule.ranges,worksheet.getMaxRows()-1,worksheet.getMaxColumns()-1);ranges.forEach(range=>{core.Range.foreach(range,(row,col)=>{const cell2=worksheet==null?void 0:worksheet.getCellRaw(row,col),v=cell2&&cell2.v;if(!isNullable(v)&&(cell2==null?void 0:cell2.t)===core.CellValueType.NUMBER){const _value=Number(v);!Number.isNaN(_value)&&matrix.setValue(row,col,_value)}})});const computeResult=new core.ObjectMatrix;ranges.forEach(range=>{core.Range.foreach(range,(row,col)=>{computeResult.setValue(row,col,EMPTY_STYLE)})});const _min=getValueByType(ruleConfig.config.min,matrix,{...context,cfId:rule.cfId}),_max=getValueByType(ruleConfig.config.max,matrix,{...context,cfId:rule.cfId});let min=0,max=0;if(_min.status===FormulaResultStatus.WAIT)return conditionalFormattingFormulaService.getCache(context.unitId,context.subUnitId,rule.cfId)||computeResult;if(_min.status===FormulaResultStatus.SUCCESS){const v=Number(_min.result);min=Number.isNaN(v)?0:v}else return computeResult;if(_max.status===FormulaResultStatus.WAIT)return conditionalFormattingFormulaService.getCache(context.unitId,context.subUnitId,rule.cfId)||computeResult;if(_max.status===FormulaResultStatus.SUCCESS){const v=Number.isNaN(Number(_max.result))?0:Number(_max.result);max=Math.max(v,min),min=Math.min(v,min)}else return computeResult;const isGradient=ruleConfig.config.isGradient,isShowValue=ruleConfig.isShowValue,getSafeValue=__name(v=>Math.max(Math.min(100,v),0),"getSafeValue");if(!(min===max||max<min)){if(min<0&&max<=0){const length=max-min,startPoint=100;matrix.forValue((row,col,value)=>{if(value>max)return;const v=getSafeValue((max-value)/length*100);computeResult.setValue(row,col,{color:ruleConfig.config.nativeColor||defaultDataBarNativeColor,startPoint,value:-v,isGradient,isShowValue})})}else if(min<0&&max>0){const length=Math.abs(max)+Math.abs(min),startPoint=Math.abs(min)/length*100;matrix.forValue((row,col,value)=>{if(value)if(value>0){const v=getSafeValue(Math.min(value/max,1)*100);computeResult.setValue(row,col,{color:ruleConfig.config.positiveColor,startPoint,value:v,isGradient,isShowValue})}else{const v=getSafeValue(Math.min(Math.abs(value)/Math.abs(min),1)*100);computeResult.setValue(row,col,{color:ruleConfig.config.nativeColor||defaultDataBarNativeColor,startPoint,value:-v,isGradient,isShowValue})}})}else if(min>=0&&max>0){const length=max-min,startPoint=0;matrix.forValue((row,col,value)=>{if(value<min)return;const v=getSafeValue((1-(max-value)/length)*100);computeResult.setValue(row,col,{color:ruleConfig.config.positiveColor||defaultDataBarPositiveColor,startPoint,value:v,isGradient,isShowValue})})}}return computeResult},"handle")},highlightCellCalculateUnit={type:CFRuleType.highlightCell,handle:__name(async(rule,context)=>{const ruleConfig=rule.rule,{worksheet}=context,ranges=filterRange(rule.ranges,worksheet.getMaxRows()-1,worksheet.getMaxColumns()-1),cache=__name(()=>{switch(ruleConfig.subType){case CFSubRuleType.average:{let sum=0,count=0;return ranges.forEach(range=>{core.Range.foreach(range,(row,col)=>{const cell2=worksheet==null?void 0:worksheet.getCellRaw(row,col),v=getCellValue(cell2||void 0);cell2&&cell2.t===core.CellValueType.NUMBER&&v!==void 0&&(sum+=Number(v)||0,count++)})}),{average:sum/count}}case CFSubRuleType.uniqueValues:case CFSubRuleType.duplicateValues:{const cacheMap=new Map;return ranges.forEach(range=>{core.Range.foreach(range,(row,col)=>{const cell2=worksheet==null?void 0:worksheet.getCellRaw(row,col),v=getCellValue(cell2||void 0);if(v!==void 0){const cache2=cacheMap.get(v);cache2?cacheMap.set(v,cache2+1):cacheMap.set(v,1)}})}),{count:cacheMap}}case CFSubRuleType.rank:{const allValue=[];ranges.forEach(range=>{core.Range.foreach(range,(row,col)=>{const cell2=worksheet==null?void 0:worksheet.getCellRaw(row,col),v=getCellValue(cell2||void 0);cell2&&cell2.t===core.CellValueType.NUMBER&&v!==void 0&&allValue.push(Number(v)||0)})}),allValue.sort((a,b)=>b-a);const configRule=rule.rule,targetIndex=configRule.isPercent?Math.floor(Math.max(Math.min(configRule.value,100),0)/100*allValue.length):Math.floor(Math.max(Math.min(configRule.isBottom?configRule.value-1:configRule.value,allValue.length),0));return configRule.isBottom?{rank:allValue[allValue.length-targetIndex-1]}:{rank:allValue[Math.max(targetIndex-1,0)]}}case CFSubRuleType.formula:{const subRuleConfig=ruleConfig,lexerTreeBuilder=context.accessor.get(engineFormula.LexerTreeBuilder),formulaString=subRuleConfig.value,sequenceNodes=lexerTreeBuilder.sequenceNodesBuilder(formulaString);return sequenceNodes?{sequenceNodes}:{sequenceNodes:null}}case CFSubRuleType.timePeriod:switch(ruleConfig.operator){case CFTimePeriodOperator.last7Days:return{timePeriod:{start:dayjs().subtract(7,"day").valueOf(),end:dayjs().valueOf()}};case CFTimePeriodOperator.lastMonth:return{timePeriod:{start:dayjs().startOf("month").subtract(1,"month").valueOf(),end:dayjs().endOf("month").subtract(1,"month").valueOf()}};case CFTimePeriodOperator.lastWeek:return{timePeriod:{start:dayjs().startOf("week").subtract(1,"week").valueOf(),end:dayjs().endOf("week").subtract(1,"week").valueOf()}};case CFTimePeriodOperator.nextMonth:return{timePeriod:{start:dayjs().startOf("month").add(1,"month").valueOf(),end:dayjs().endOf("month").add(1,"month").valueOf()}};case CFTimePeriodOperator.nextWeek:return{timePeriod:{start:dayjs().startOf("week").add(1,"week").valueOf(),end:dayjs().endOf("week").add(1,"week").valueOf()}};case CFTimePeriodOperator.thisMonth:return{timePeriod:{start:dayjs().startOf("month").valueOf(),end:dayjs().endOf("month").valueOf()}};case CFTimePeriodOperator.thisWeek:return{timePeriod:{start:dayjs().startOf("week").valueOf(),end:dayjs().endOf("week").valueOf()}};case CFTimePeriodOperator.today:return{timePeriod:{start:dayjs().startOf("day").valueOf(),end:dayjs().endOf("day").valueOf()}};case CFTimePeriodOperator.tomorrow:return{timePeriod:{start:dayjs().startOf("day").add(1,"day").valueOf(),end:dayjs().endOf("day").add(1,"day").valueOf()}};case CFTimePeriodOperator.yesterday:return{timePeriod:{start:dayjs().startOf("day").subtract(1,"day").valueOf(),end:dayjs().endOf("day").subtract(1,"day").valueOf()}}}}},"getCache")(),check=__name((row,col)=>{const cellValue=worksheet==null?void 0:worksheet.getCellRaw(row,col);switch(ruleConfig.subType){case CFSubRuleType.number:{const v=cellValue&&Number(cellValue.v);if(isNullable(v)||Number.isNaN(v)||(cellValue==null?void 0:cellValue.t)!==core.CellValueType.NUMBER)return!1;const subRuleConfig=ruleConfig;return compareWithNumber({operator:subRuleConfig.operator,value:subRuleConfig.value||0},v||0)}case CFSubRuleType.text:{const subRuleConfig=ruleConfig,value=getCellValue(cellValue),v=value===null?"":String(value),condition=subRuleConfig.value||"";switch(subRuleConfig.operator){case CFTextOperator.beginsWith:return v.startsWith(condition);case CFTextOperator.containsBlanks:return/^\s*$/.test(v);case CFTextOperator.notContainsBlanks:return!/^\s*$/.test(v);case CFTextOperator.containsErrors:return engineFormula.ERROR_TYPE_SET.has(v);case CFTextOperator.notContainsErrors:return!engineFormula.ERROR_TYPE_SET.has(v);case CFTextOperator.containsText:return v.indexOf(condition)>-1;case CFTextOperator.notContainsText:return v.indexOf(condition)===-1;case CFTextOperator.endsWith:return v.endsWith(condition);case CFTextOperator.equal:return v===condition;case CFTextOperator.notEqual:return v!==condition;default:return!1}}case CFSubRuleType.timePeriod:{const value=getCellValue(cellValue);if(isNullable(value)||Number.isNaN(Number(value))||(cellValue==null?void 0:cellValue.t)!==core.CellValueType.NUMBER)return!1;const v=serialTimeToTimestamp(Number(value)),{start,end}=cache.timePeriod;return v>=start&&v<=end}case CFSubRuleType.average:{const value=cellValue&&cellValue.v,v=Number(value);if(isNullable(value)||Number.isNaN(v)||(cellValue==null?void 0:cellValue.t)!==core.CellValueType.NUMBER)return!1;const subRuleConfig=ruleConfig,average=cache==null?void 0:cache.average;switch(subRuleConfig.operator){case CFNumberOperator.greaterThan:return v>average;case CFNumberOperator.greaterThanOrEqual:return v>=average;case CFNumberOperator.lessThan:return v<average;case CFNumberOperator.lessThanOrEqual:return v<=average;case CFNumberOperator.equal:return isFloatsEqual(v,average);case CFNumberOperator.notEqual:return!isFloatsEqual(v,average);default:return!1}}case CFSubRuleType.rank:{const value=getCellValue(cellValue),v=Number(value);if(isNullable(value)||Number.isNaN(v)||(cellValue==null?void 0:cellValue.t)!==core.CellValueType.NUMBER)return!1;const targetValue=cache.rank;return ruleConfig.isBottom?v<=targetValue:v>=targetValue}case CFSubRuleType.uniqueValues:{const value=getCellValue(cellValue);return isNullable(value)?!1:cache.count.get(value)===1}case CFSubRuleType.duplicateValues:{const value=getCellValue(cellValue);return isNullable(value)?!1:cache.count.get(value)!==1}case CFSubRuleType.formula:{if(!(cache!=null&&cache.sequenceNodes))return!1;const{unitId,subUnitId}=context,conditionalFormattingFormulaService=context.accessor.get(exports2.ConditionalFormattingFormulaService),getRangeFromCell=__name((row2,col2)=>({startRow:row2,endRow:row2,startColumn:col2,endColumn:col2}),"getRangeFromCell"),originRange=getRangeFromCell(rule.ranges[0].startRow,rule.ranges[0].startColumn),sequenceNodes=core.Tools.deepClone(cache.sequenceNodes),transformSequenceNodes=Array.isArray(sequenceNodes)?sequenceNodes.map(node=>{if(typeof node=="object"&&node.nodeType===engineFormula.sequenceNodeType.REFERENCE){const gridRangeName=engineFormula.deserializeRangeWithSheet(node.token),relativeRange=core.Rectangle.getRelativeRange(gridRangeName.range,originRange),newRange=core.Rectangle.getPositionRange(relativeRange,getRangeFromCell(row,col),gridRangeName.range),newToken=engineFormula.serializeRange(newRange);return{...node,token:newToken}}return node}):sequenceNodes;let formulaString=transformSequenceNodes&&engineFormula.generateStringWithSequence(transformSequenceNodes);if(formulaString){formulaString=`=${formulaString}`,conditionalFormattingFormulaService.registerFormula(unitId,subUnitId,rule.cfId,formulaString);const formulaItem=conditionalFormattingFormulaService.getFormulaResult(unitId,subUnitId,formulaString);if(formulaItem&&formulaItem.status===FormulaResultStatus.SUCCESS)return formulaItem.result===!0;{const cache2=conditionalFormattingFormulaService.getCache(unitId,subUnitId,rule.cfId),style=cache2==null?void 0:cache2.getValue(row,col);return style&&style!==EMPTY_STYLE}}return!1}}},"check"),computeResult=new core.ObjectMatrix;return ranges.forEach(range=>{core.Range.foreach(range,(row,col)=>{check(row,col)?computeResult.setValue(row,col,ruleConfig.style):computeResult.setValue(row,col,EMPTY_STYLE)})}),computeResult},"handle")},iconSetCalculateUnit={type:CFRuleType.iconSet,handle:__name(async(rule,context)=>{var _a2;const ruleConfig=rule.rule,conditionalFormattingFormulaService=context.accessor.get(exports2.ConditionalFormattingFormulaService),{worksheet}=context,matrix=new core.ObjectMatrix,ranges=filterRange(rule.ranges,worksheet.getMaxRows()-1,worksheet.getMaxColumns()-1);ranges.forEach(range=>{core.Range.foreach(range,(row,col)=>{const cell2=worksheet==null?void 0:worksheet.getCellRaw(row,col),v=cell2&&cell2.v;if(!isNullable(v)&&(cell2==null?void 0:cell2.t)===core.CellValueType.NUMBER){const _value=Number(v);!Number.isNaN(_value)&&matrix.setValue(row,col,_value)}})});const computeResult=new core.ObjectMatrix;ranges.forEach(range=>{core.Range.foreach(range,(row,col)=>{computeResult.setValue(row,col,EMPTY_STYLE)})});const splitValueResult=ruleConfig.config.map(v=>getValueByType(v.value,matrix,{...context,cfId:rule.cfId}));if(splitValueResult.some(item=>item.status!==FormulaResultStatus.SUCCESS))return(_a2=conditionalFormattingFormulaService.getCache(context.unitId,context.subUnitId,rule.cfId))!=null?_a2:computeResult;const splitValue=splitValueResult.map((item,index)=>({operator:ruleConfig.config[index].operator,value:Number(item.result)||0})).reduce((result,cur,index,list)=>{const item=ruleConfig.config[index];if(!index||index===list.length-1)result.push({...cur,iconId:item.iconId,iconType:item.iconType});else{const pre=list[index-1];compareWithNumber(pre,cur.value)||result.push({...cur,iconId:item.iconId,iconType:item.iconType})}return result},[]),isShowValue=ruleConfig.isShowValue===void 0?!0:!!ruleConfig.isShowValue;return matrix.forValue((row,col,value)=>{for(let index=0;index<splitValue.length;index++){const item=splitValue[index],start={...item},end={...item},{iconId,iconType}=item;if(index===0){if(compareWithNumber(item,value)){computeResult.setValue(row,col,{iconId,iconType,isShowValue});return}}else if(index===splitValue.length-1){computeResult.setValue(row,col,{iconId,iconType,isShowValue});return}else{const pre=splitValue[index-1];if(end.operator=getOppositeOperator(pre.operator),end.value=pre.value,compareWithNumber(start,value)&&compareWithNumber(end,value)){computeResult.setValue(row,col,{iconId,iconType,isShowValue});return}}}}),computeResult},"handle")};var __defProp$1=Object.defineProperty,__getOwnPropDesc$1=Object.getOwnPropertyDescriptor,__decorateClass$1=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc$1(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp$1(target,key,result),result},"__decorateClass$1"),__decorateParam$1=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam$1");const beforeUpdateRuleResult=core.createInterceptorKey("conditional-formatting-before-update-rule-result");exports2.ConditionalFormattingService=(_c=class extends core.Disposable{constructor(_conditionalFormattingRuleModel,_injector,_conditionalFormattingViewModel,_univerInstanceService,_resourceManagerService,_sheetInterceptorService,_commandService){super();__publicField(this,"_ruleCacheMap",new Map);__publicField(this,"_calculateUnit$",new rxjs.Subject);__publicField(this,"_ruleComputeStatus$",new rxjs.Subject);__publicField(this,"ruleComputeStatus$",this._ruleComputeStatus$.asObservable());__publicField(this,"interceptorManager",new core.InterceptorManager({beforeUpdateRuleResult}));__publicField(this,"_calculationUnitMap",new Map);this._conditionalFormattingRuleModel=_conditionalFormattingRuleModel,this._injector=_injector,this._conditionalFormattingViewModel=_conditionalFormattingViewModel,this._univerInstanceService=_univerInstanceService,this._resourceManagerService=_resourceManagerService,this._sheetInterceptorService=_sheetInterceptorService,this._commandService=_commandService,this._initCellChange(),this._initCacheManager(),this._initRemoteCalculate(),this._initSnapshot(),this._initSheetChange(),this._registerCalculationUnit(dataBarCellCalculateUnit),this._registerCalculationUnit(colorScaleCellCalculateUnit),this._registerCalculationUnit(highlightCellCalculateUnit),this._registerCalculationUnit(iconSetCalculateUnit),this._calculateUnit$.pipe(operators.bufferTime(100),operators.filter(list=>!!list.length),operators.map(list=>{const createKey=__name(config=>`${config.unitId}_${config.subUnitId}_${config.rule.cfId}`,"createKey");return list.reduce((a,b)=>{const key=createKey(b);return a.map[key]||(a.map[key]=b,a.list.push(b)),a},{map:{},list:[]}).list})).subscribe(configList=>{configList.forEach(config=>{this._handleCalculateUnit(config.unitId,config.subUnitId,config.rule)})}),this.disposeWithMe(()=>{this.interceptorManager.dispose()})}composeStyle(unitId,subUnitId,row,col){const cell2=this._conditionalFormattingViewModel.getCellCf(unitId,subUnitId,row,col);if(cell2){const ruleList=cell2.cfList.map(item=>this._conditionalFormattingRuleModel.getRule(unitId,subUnitId,item.cfId)).filter(rule=>!!rule).reverse(),endIndex=ruleList.findIndex(rule=>rule==null?void 0:rule.stopIfTrue);return endIndex>-1&&ruleList.splice(endIndex+1),ruleList.reduce((pre,rule)=>{var _a2;const type=rule.rule.type,ruleCacheItem=cell2.cfList.find(cache=>cache.cfId===rule.cfId);if(ruleCacheItem!=null&&ruleCacheItem.isDirty&&this._calculateUnit$.next({unitId,subUnitId,rule}),type===CFRuleType.highlightCell)ruleCacheItem.ruleCache&&core.Tools.deepMerge(pre,{style:ruleCacheItem.ruleCache});else if(type===CFRuleType.colorScale){const ruleCache=ruleCacheItem==null?void 0:ruleCacheItem.ruleCache;ruleCache&&typeof ruleCache=="string"&&(pre.style={...(_a2=pre.style)!=null?_a2:{},bg:{rgb:ruleCache}})}else if(type===CFRuleType.dataBar){const ruleCache=ruleCacheItem==null?void 0:ruleCacheItem.ruleCache;ruleCache&&ruleCache!==EMPTY_STYLE&&(pre.dataBar=ruleCache,pre.isShowValue=ruleCache.isShowValue)}else if(type===CFRuleType.iconSet){const ruleCache=ruleCacheItem==null?void 0:ruleCacheItem.ruleCache;ruleCache&&ruleCache!==EMPTY_STYLE&&(pre.iconSet=ruleCache,pre.isShowValue=ruleCache.isShowValue)}return pre},{})}return null}_initSnapshot(){const toJson=__name(unitID=>{const map2=this._conditionalFormattingRuleModel.getUnitRules(unitID),resultMap={};return map2?(map2.forEach((v,key)=>{resultMap[key]=v}),JSON.stringify(resultMap)):""},"toJson"),parseJson=__name(json=>{if(!json)return{};try{return JSON.parse(json)}catch{return{}}},"parseJson");this.disposeWithMe(this._resourceManagerService.registerPluginResource({pluginName:SHEET_CONDITIONAL_FORMATTING_PLUGIN,businesses:[core.UniverInstanceType.UNIVER_SHEET],toJson:__name(unitID=>toJson(unitID),"toJson"),parseJson:__name(json=>parseJson(json),"parseJson"),onUnLoad:__name(unitID=>{this._conditionalFormattingRuleModel.deleteUnitId(unitID)},"onUnLoad"),onLoad:__name((unitID,value)=>{Object.keys(value).forEach(subunitId=>{[...value[subunitId]].reverse().forEach(rule=>{this._conditionalFormattingRuleModel.addRule(unitID,subunitId,rule)})})},"onLoad")}))}_initSheetChange(){this.disposeWithMe(this._sheetInterceptorService.interceptCommand({getMutations:__name(commandInfo=>{if(commandInfo.id===sheets.RemoveSheetCommand.id){const params=commandInfo.params,unitId=params.unitId||getUnitId(this._univerInstanceService),subUnitId=params.subUnitId||getSubUnitId(this._univerInstanceService);if(!subUnitId)return{redos:[],undos:[]};const ruleList=this._conditionalFormattingRuleModel.getSubunitRules(unitId,subUnitId);if(!ruleList)return{redos:[],undos:[]};const redos=[],undos=[];return ruleList.forEach(item=>{const params2={unitId,subUnitId,cfId:item.cfId};redos.push({id:DeleteConditionalRuleMutation.id,params:params2}),undos.push(...DeleteConditionalRuleMutationUndoFactory(this._injector,params2))}),{redos,undos}}return{redos:[],undos:[]}},"getMutations")}))}_registerCalculationUnit(unit){this._calculationUnitMap.set(unit.type,unit)}_getComputedCache(unitId,subUnitId,cfId){var _a2,_b2;return(_b2=(_a2=this._ruleCacheMap.get(unitId))==null?void 0:_a2.get(subUnitId))==null?void 0:_b2.get(cfId)}_setComputedCache(unitId,subUnitId,cfId,value){let unitMap=this._ruleCacheMap.get(unitId);unitMap||(unitMap=new Map,this._ruleCacheMap.set(unitId,unitMap));let subUnitMap=unitMap.get(subUnitId);subUnitMap||(subUnitMap=new Map,unitMap.set(subUnitId,subUnitMap)),subUnitMap.set(cfId,value)}_deleteComputeCache(unitId,subUnitId,cfId){const unitCache=this._ruleCacheMap.get(unitId),subUnitCache=unitCache==null?void 0:unitCache.get(subUnitId);subUnitCache&&(subUnitCache.delete(cfId),subUnitCache.size||unitCache==null||unitCache.delete(subUnitId))}_initCacheManager(){this.disposeWithMe(this._conditionalFormattingViewModel.markDirty$.subscribe(item=>{this._deleteComputeCache(item.unitId,item.subUnitId,item.rule.cfId)})),this.disposeWithMe(this._conditionalFormattingRuleModel.$ruleChange.pipe(operators.filter(item=>item.type!=="sort")).subscribe(item=>{const{unitId,subUnitId,rule}=item;this._deleteComputeCache(unitId,subUnitId,rule.cfId)}))}_initCellChange(){this.disposeWithMe(this._commandService.onCommandExecuted(commandInfo=>{const collectRule=__name((unitId,subUnitId,cellData)=>{const ruleIds=new Set;return cellData.forEach(([row,col])=>{const ruleItem=this._conditionalFormattingViewModel.getCellCf(unitId,subUnitId,row,col);ruleItem==null||ruleItem.cfList.forEach(item=>ruleIds.add(item.cfId))}),[...ruleIds].map(cfId=>this._conditionalFormattingRuleModel.getRule(unitId,subUnitId,cfId)).filter(rule=>!!rule)},"collectRule");switch(commandInfo.id){case sheets.SetRangeValuesMutation.id:{const params=commandInfo.params,{subUnitId,unitId,cellValue}=params,cellMatrix=[];new core.ObjectMatrix(cellValue).forValue((row,col,value)=>{value&&Object.keys(value).some(key=>["p","v"].includes(key))&&cellMatrix.push([row,col])}),collectRule(unitId,subUnitId,cellMatrix).forEach(rule=>{this._conditionalFormattingViewModel.markRuleDirty(unitId,subUnitId,rule),this._deleteComputeCache(unitId,subUnitId,rule.cfId)});break}case sheets.InsertColMutation.id:case sheets.RemoveColMutation.id:{const{range,unitId,subUnitId}=commandInfo.params,allRules=this._conditionalFormattingRuleModel.getSubunitRules(unitId,subUnitId),effectRange={...range,endColumn:Number.MAX_SAFE_INTEGER};allRules&&allRules.filter(rule=>rule.ranges.some(ruleRange=>core.Rectangle.intersects(ruleRange,effectRange))).forEach(rule=>{this._conditionalFormattingViewModel.markRuleDirty(unitId,subUnitId,rule),this._deleteComputeCache(unitId,subUnitId,rule.cfId)});break}case sheets.RemoveRowMutation.id:case sheets.InsertRowMutation.id:{const{range,unitId,subUnitId}=commandInfo.params,allRules=this._conditionalFormattingRuleModel.getSubunitRules(unitId,subUnitId),effectRange={...range,endRow:Number.MAX_SAFE_INTEGER};allRules&&allRules.filter(rule=>rule.ranges.some(ruleRange=>core.Rectangle.intersects(ruleRange,effectRange))).forEach(rule=>{this._conditionalFormattingViewModel.markRuleDirty(unitId,subUnitId,rule),this._deleteComputeCache(unitId,subUnitId,rule.cfId)});break}case sheets.MoveRowsMutation.id:{const{sourceRange,targetRange,unitId,subUnitId}=commandInfo.params,allRules=this._conditionalFormattingRuleModel.getSubunitRules(unitId,subUnitId),effectRange={startRow:Math.min(sourceRange.startRow,targetRange.startRow),endRow:Number.MAX_SAFE_INTEGER,startColumn:0,endColumn:Number.MAX_SAFE_INTEGER};allRules&&allRules.filter(rule=>rule.ranges.some(ruleRange=>core.Rectangle.intersects(ruleRange,effectRange))).forEach(rule=>{this._conditionalFormattingViewModel.markRuleDirty(unitId,subUnitId,rule),this._deleteComputeCache(unitId,subUnitId,rule.cfId)});break}case sheets.MoveColsMutation.id:{const{sourceRange,targetRange,unitId,subUnitId}=commandInfo.params,allRules=this._conditionalFormattingRuleModel.getSubunitRules(unitId,subUnitId),effectRange={startRow:0,endRow:Number.MAX_SAFE_INTEGER,startColumn:Math.min(sourceRange.startColumn,targetRange.startColumn),endColumn:Number.MAX_SAFE_INTEGER};allRules&&allRules.filter(rule=>rule.ranges.some(ruleRange=>core.Rectangle.intersects(ruleRange,effectRange))).forEach(rule=>{this._conditionalFormattingViewModel.markRuleDirty(unitId,subUnitId,rule),this._deleteComputeCache(unitId,subUnitId,rule.cfId)});break}case sheets.MoveRangeMutation.id:{const{unitId,to,from}=commandInfo.params,handleSubUnit=__name(value=>{const cellMatrix=[];new core.ObjectMatrix(value.value).forValue((row,col)=>{cellMatrix.push([row,col])}),collectRule(unitId,value.subUnitId,cellMatrix).forEach(rule=>{this._conditionalFormattingViewModel.markRuleDirty(unitId,value.subUnitId,rule),this._deleteComputeCache(unitId,value.subUnitId,rule.cfId)})},"handleSubUnit");handleSubUnit(to),handleSubUnit(from);break}case sheets.ReorderRangeMutation.id:{const{range,unitId,subUnitId}=commandInfo.params,allRules=this._conditionalFormattingRuleModel.getSubunitRules(unitId,subUnitId);allRules&&allRules.filter(rule=>rule.ranges.some(ruleRange=>core.Rectangle.intersects(ruleRange,range))).forEach(rule=>{this._conditionalFormattingViewModel.markRuleDirty(unitId,subUnitId,rule),this._deleteComputeCache(unitId,subUnitId,rule.cfId)});break}}}))}_initRemoteCalculate(){this.disposeWithMe(this._ruleComputeStatus$.subscribe(({status,subUnitId,unitId,cfId,result})=>{const cache=this._getComputedCache(unitId,subUnitId,cfId)||{};cache.status=status,this._setComputedCache(unitId,subUnitId,cfId,cache),status==="end"&&result&&(this.interceptorManager.fetchThroughInterceptors(this.interceptorManager.getInterceptPoints().beforeUpdateRuleResult)({subUnitId,unitId,cfId},void 0),result.forValue((row,col,value)=>{this._conditionalFormattingViewModel.setCellCfRuleCache(unitId,subUnitId,row,col,cfId,value)}))}))}async _handleCalculateUnit(unitId,subUnitId,rule){if(!this._conditionalFormattingRuleModel.getRule(unitId,subUnitId,rule.cfId))return;const workbook=this._univerInstanceService.getUnit(unitId),worksheet=workbook==null?void 0:workbook.getSheetBySheetId(subUnitId);let cache=this._getComputedCache(unitId,subUnitId,rule.cfId);if(cache&&["computing","end"].includes(cache.status))return;cache||(cache={status:"computing"},this._setComputedCache(unitId,subUnitId,rule.cfId,cache));const unit=this._calculationUnitMap.get(rule.rule.type);if(!unit||!worksheet)return;const context={unitId,subUnitId,accessor:this._injector,workbook,worksheet},result=await unit.handle(rule,context);this._ruleComputeStatus$.next({status:"end",unitId,subUnitId,cfId:rule.cfId,result})}},__name(_c,"ConditionalFormattingService"),_c),exports2.ConditionalFormattingService=__decorateClass$1([__decorateParam$1(0,core.Inject(exports2.ConditionalFormattingRuleModel)),__decorateParam$1(1,core.Inject(core.Injector)),__decorateParam$1(2,core.Inject(ConditionalFormattingViewModel)),__decorateParam$1(3,core.Inject(core.IUniverInstanceService)),__decorateParam$1(4,core.Inject(core.IResourceManagerService)),__decorateParam$1(5,core.Inject(sheets.SheetInterceptorService)),__decorateParam$1(6,core.Inject(core.ICommandService))],exports2.ConditionalFormattingService);const getUnitId=__name(u=>u.getCurrentUnitForType(core.UniverInstanceType.UNIVER_SHEET).getUnitId(),"getUnitId"),getSubUnitId=__name(u=>{var _a2;return(_a2=u.getCurrentUnitForType(core.UniverInstanceType.UNIVER_SHEET).getActiveSheet())==null?void 0:_a2.getSheetId()},"getSubUnitId");var __defProp2=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__decorateClass=__name((decorators,target,key,kind)=>{for(var result=kind>1?void 0:kind?__getOwnPropDesc(target,key):target,i=decorators.length-1,decorator;i>=0;i--)(decorator=decorators[i])&&(result=(kind?decorator(target,key,result):decorator(result))||result);return kind&&result&&__defProp2(target,key,result),result},"__decorateClass"),__decorateParam=__name((index,decorator)=>(target,key)=>decorator(target,key,index),"__decorateParam");exports2.UniverSheetsConditionalFormattingPlugin=(_d=class extends core.Plugin{constructor(_config=defaultPluginConfig,_injector,_commandService,_configService){super(),this._config=_config,this._injector=_injector,this._commandService=_commandService,this._configService=_configService;const{...rest}=this._config;this._configService.setConfig(PLUGIN_CONFIG_KEY,rest),[[exports2.ConditionalFormattingService],[exports2.ConditionalFormattingFormulaService],[exports2.ConditionalFormattingRuleModel],[ConditionalFormattingViewModel]].forEach(dependency=>{this._injector.add(dependency)}),[AddConditionalRuleMutation,DeleteConditionalRuleMutation,SetConditionalRuleMutation,MoveConditionalRuleMutation,ConditionalFormattingFormulaMarkDirty].forEach(m=>{this._commandService.registerCommand(m)})}onStarting(){this._injector.get(exports2.ConditionalFormattingService)}},__name(_d,"UniverSheetsConditionalFormattingPlugin"),__publicField(_d,"pluginName",SHEET_CONDITIONAL_FORMATTING_PLUGIN),__publicField(_d,"type",core.UniverInstanceType.UNIVER_SHEET),_d),exports2.UniverSheetsConditionalFormattingPlugin=__decorateClass([__decorateParam(1,core.Inject(core.Injector)),__decorateParam(2,core.Inject(core.ICommandService)),__decorateParam(3,core.IConfigService)],exports2.UniverSheetsConditionalFormattingPlugin);const IconUKey="sheet-conditional-rule-icon",EXTENSION_Z_INDEX=35,DEFAULT_WIDTH=15,DEFAULT_PADDING=2,_ConditionalFormattingIcon=class _ConditionalFormattingIcon extends engineRender.SheetExtension{constructor(){super();__publicField(this,"_paddingRightAndLeft",DEFAULT_PADDING);__publicField(this,"_width",DEFAULT_WIDTH);__publicField(this,"_imageMap",new Map);__publicField(this,"uKey",IconUKey);__publicField(this,"Z_INDEX",EXTENSION_Z_INDEX);__publicField(this,"_radius",1);this._init()}draw(ctx,_parentScale,spreadsheetSkeleton,diffRanges){const{worksheet}=spreadsheetSkeleton;if(!worksheet)return!1;ctx.save(),core.Range.foreach(spreadsheetSkeleton.rowColumnSegment,(row,col)=>{if(!worksheet.getRowVisible(row)||!worksheet.getColVisible(col))return;const cellData=worksheet.getCell(row,col);if(cellData!=null&&cellData.iconSet){const{iconType,iconId}=cellData.iconSet;if(iconType===EMPTY_ICON_TYPE)return;const icon=this._imageMap.get(this._createKey(iconType,iconId));if(!icon)return;const cellInfo=spreadsheetSkeleton.getCellByIndexWithNoHeader(row,col);let{isMerged,isMergedMainCell,mergeInfo,startY,endY,startX,endX}=cellInfo;if(isMerged||(isMergedMainCell&&(startY=mergeInfo.startY,endY=mergeInfo.endY,startX=mergeInfo.startX,endX=mergeInfo.endX),!this.isRenderDiffRangesByCell(mergeInfo,diffRanges)))return;const borderWidth=endX-startX,borderHeight=endY-startY;if(this._width>borderHeight||this._width>borderWidth+this._paddingRightAndLeft*2)return;const y=(borderHeight-this._width)/2+startY;ctx.drawImage(icon,startX+this._paddingRightAndLeft,y,this._width,this._width)}}),ctx.restore()}_init(){for(const type in iconMap)iconMap[type].forEach((base64,index)=>{const key=this._createKey(type,String(index)),image=new Image;image.onload=()=>{this._imageMap.set(key,image)},image.src=base64})}_createKey(iconType,iconIndex){return`${iconType}_${iconIndex}`}};__name(_ConditionalFormattingIcon,"ConditionalFormattingIcon");let ConditionalFormattingIcon=_ConditionalFormattingIcon;engineRender.SpreadsheetExtensionRegistry.add(ConditionalFormattingIcon);const isRangesEqual=__name((oldRanges,ranges)=>ranges.length===oldRanges.length&&!oldRanges.some(oldRange=>ranges.some(range=>!core.Rectangle.equals(range,oldRange))),"isRangesEqual");function removeUndefinedAttr(obj){if(typeof obj!="object"||obj===null)return obj;const result={};for(const key in obj)if(obj.hasOwnProperty(key)){const value=removeUndefinedAttr(obj[key]);value!==void 0&&(result[key]=value)}return result}__name(removeUndefinedAttr,"removeUndefinedAttr"),exports2.AddConditionalRuleMutation=AddConditionalRuleMutation,exports2.AddConditionalRuleMutationUndoFactory=AddConditionalRuleMutationUndoFactory,exports2.CFNumberOperator=CFNumberOperator,exports2.CFRuleType=CFRuleType,exports2.CFSubRuleType=CFSubRuleType,exports2.CFTextOperator=CFTextOperator,exports2.CFTimePeriodOperator=CFTimePeriodOperator,exports2.CFValueType=CFValueType,exports2.ConditionalFormattingFormulaMarkDirty=ConditionalFormattingFormulaMarkDirty,exports2.ConditionalFormattingIcon=ConditionalFormattingIcon,exports2.ConditionalFormattingViewModel=ConditionalFormattingViewModel,exports2.DEFAULT_BG_COLOR=DEFAULT_BG_COLOR,exports2.DEFAULT_FONT_COLOR=DEFAULT_FONT_COLOR,exports2.DEFAULT_PADDING=DEFAULT_PADDING,exports2.DEFAULT_WIDTH=DEFAULT_WIDTH,exports2.DataBar=DataBar,exports2.DeleteConditionalRuleMutation=DeleteConditionalRuleMutation,exports2.DeleteConditionalRuleMutationUndoFactory=DeleteConditionalRuleMutationUndoFactory,exports2.EMPTY_ICON_TYPE=EMPTY_ICON_TYPE,exports2.EMPTY_STYLE=EMPTY_STYLE,exports2.FormulaResultStatus=FormulaResultStatus,exports2.IconUKey=IconUKey,exports2.MoveConditionalRuleMutation=MoveConditionalRuleMutation,exports2.MoveConditionalRuleMutationUndoFactory=MoveConditionalRuleMutationUndoFactory,exports2.SHEET_CONDITIONAL_FORMATTING_PLUGIN=SHEET_CONDITIONAL_FORMATTING_PLUGIN,exports2.SetConditionalRuleMutation=SetConditionalRuleMutation,exports2.anchorUndoFactory=anchorUndoFactory,exports2.compareWithNumber=compareWithNumber,exports2.createCfId=createCfId,exports2.createDefaultRule=createDefaultRule,exports2.createDefaultValue=createDefaultValue,exports2.createDefaultValueByValueType=createDefaultValueByValueType,exports2.dataBarUKey=dataBarUKey,exports2.defaultDataBarNativeColor=defaultDataBarNativeColor,exports2.defaultDataBarPositiveColor=defaultDataBarPositiveColor,exports2.filterRange=filterRange,exports2.findIndexByAnchor=findIndexByAnchor,exports2.getCacheStyleMatrix=getCacheStyleMatrix,exports2.getCellValue=getCellValue,exports2.getColorScaleFromValue=getColorScaleFromValue,exports2.getOppositeOperator=getOppositeOperator,exports2.getValueByType=getValueByType,exports2.iconGroup=iconGroup,exports2.iconMap=iconMap,exports2.isAnchorEqual=isAnchorEqual,exports2.isFloatsEqual=isFloatsEqual,exports2.isNullable=isNullable,exports2.isRangesEqual=isRangesEqual,exports2.moveByAnchor=moveByAnchor,exports2.removeUndefinedAttr=removeUndefinedAttr,exports2.serialTimeToTimestamp=serialTimeToTimestamp,exports2.setConditionalRuleMutationUndoFactory=setConditionalRuleMutationUndoFactory,exports2.toYMD_1900=toYMD_1900,exports2.transformSupportSymmetryAnchor=transformSupportSymmetryAnchor,Object.defineProperty(exports2,Symbol.toStringTag,{value:"Module"})});
1
+ (function(f,g){typeof exports=="object"&&typeof module<"u"?g(exports,require("@univerjs/core"),require("rxjs"),require("rxjs/operators"),require("@univerjs/sheets"),require("@univerjs/engine-render"),require("@univerjs/engine-formula")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","rxjs","rxjs/operators","@univerjs/sheets","@univerjs/engine-render","@univerjs/engine-formula"],g):(f=typeof globalThis<"u"?globalThis:f||self,g(f.UniverSheetsConditionalFormatting={},f.UniverCore,f.rxjs,f.rxjs.operators,f.UniverSheets,f.UniverEngineRender,f.UniverEngineFormula))})(this,function(f,g,Q,d2,J,h2,n2){"use strict";var P0=Object.defineProperty;var W0=(f,g,Q)=>g in f?P0(f,g,{enumerable:!0,configurable:!0,writable:!0,value:Q}):f[g]=Q;var I=(f,g,Q)=>W0(f,typeof g!="symbol"?g+"":g,Q);var x2;const S2="SHEET_CONDITIONAL_FORMATTING_PLUGIN";var Y=(s=>(s.beginsWith="beginsWith",s.endsWith="endsWith",s.containsText="containsText",s.notContainsText="notContainsText",s.equal="equal",s.notEqual="notEqual",s.containsBlanks="containsBlanks",s.notContainsBlanks="notContainsBlanks",s.containsErrors="containsErrors",s.notContainsErrors="notContainsErrors",s))(Y||{}),H=(s=>(s.today="today",s.yesterday="yesterday",s.tomorrow="tomorrow",s.last7Days="last7Days",s.thisMonth="thisMonth",s.lastMonth="lastMonth",s.nextMonth="nextMonth",s.thisWeek="thisWeek",s.lastWeek="lastWeek",s.nextWeek="nextWeek",s))(H||{}),T=(s=>(s.greaterThan="greaterThan",s.greaterThanOrEqual="greaterThanOrEqual",s.lessThan="lessThan",s.lessThanOrEqual="lessThanOrEqual",s.notBetween="notBetween",s.between="between",s.equal="equal",s.notEqual="notEqual",s))(T||{}),W=(s=>(s.highlightCell="highlightCell",s.dataBar="dataBar",s.colorScale="colorScale",s.iconSet="iconSet",s))(W||{}),U=(s=>(s.uniqueValues="uniqueValues",s.duplicateValues="duplicateValues",s.rank="rank",s.text="text",s.timePeriod="timePeriod",s.number="number",s.average="average",s.formula="formula",s))(U||{}),z=(s=>(s.num="num",s.min="min",s.max="max",s.percent="percent",s.percentile="percentile",s.formula="formula",s))(z||{});const e0="#fff",n0="#000000",i0=()=>({cfId:void 0,ranges:[],stopIfTrue:!1,rule:{type:"highlightCell",subType:"text",operator:"containsText"}}),s0=(s,r)=>{switch(s){case"text":{if(["beginsWith","containsText","endsWith","equal","notContainsText","notEqual"].includes(r))return"";break}case"number":return["between","notBetween"].includes(r)?[10,100]:10}return""},a0=(s,r)=>{switch(s){case"formula":return"=";case"max":case"min":return"";case"percent":case"percentile":case"num":return r!==void 0?r:10}return""},O2=()=>`${g.Tools.generateRandomId(8)}`,i2=(s,r,t)=>{if(!r)return null;const e=r.findIndex(n=>t(n)===s.id);if(e<0)return null;switch(s.type){case"after":return e+1;case"before":return e-1;case"self":return e}},$2=(s,r,t,e)=>{if(!t)return null;const n=i2(s,t,e);let i=i2(r,t,e);if(n===null||i===null||n===i)return;const a=t.splice(n,1)[0];switch(n<i&&(i=i2(r,t,e)),r.type){case"before":{t.splice(i+1,0,a);break}case"self":case"after":{t.splice(i,0,a);break}}},U2=(s,r,t,e)=>{if(s.type==="after"&&["after","before"].includes(r.type))return[s,r];const n={...s},i={...r};if(n.type!=="after"){const a=i2(n,t,e);if(a===null)return null;if(a-1<0){const l=t[a+1];if(l)n.id=e(l),n.type="before";else return null}else{const l=e(t[a-1]);n.id=l,n.type="after"}}if(!["after","before"].includes(i.type)){const a=i2(i,t,e);if(a===null)return null;if(a===0)i.type="before";else if(a-1>=0){const l=e(t[a-1]);i.id=l,i.type="after"}else if(a+1<=t.length-1){const l=e(t[a+1]);i.id=l,i.type="before"}else return null}return n.id===i.id&&n.type===i.type?null:[n,i]},V2=(s,r)=>{if(["after","before"].includes(r.type)){if(s.type==="after")return[r,s];if(s.type==="before")return[r,{...s,type:"self"}]}return null},r0=(s,r)=>s.id===r.id&&s.type===r.type;var l0=Object.defineProperty,o0=Object.getOwnPropertyDescriptor,c0=(s,r,t,e)=>{for(var n=e>1?void 0:e?o0(r,t):r,i=s.length-1,a;i>=0;i--)(a=s[i])&&(n=(e?a(r,t,n):a(n))||n);return e&&n&&l0(r,t,n),n},u0=(s,r)=>(t,e)=>r(t,e,s);f.ConditionalFormattingRuleModel=class{constructor(r){I(this,"_model",new Map);I(this,"_ruleChange$",new Q.Subject);I(this,"$ruleChange",this._ruleChange$.asObservable().pipe(d2.bufferTime(16),d2.filter(r=>!!r.length),r=>new Q.Observable(t=>{r.subscribe({next:e=>{const n=o=>`${o.unitId}_${o.subUnitId}_${o.rule.cfId}`,i=o=>{const u=o.findIndex(d=>d.type==="add"),c=o.findIndex(d=>d.type==="delete");u!==-1&&c!==-1&&c>u&&o.splice(u,c-u+1)},a=e.reduce((o,u,c)=>{const d=n(u);return o[d]||(o[d]=[]),o[d].push({...u,_index:c}),o},{});for(const o in a){const u=a[o];u.length>=2&&i(u)}Object.keys(a).reduce((o,u)=>{const c=a[u];return o.push(...c),o},[]).sort((o,u)=>o._index-u._index).map(o=>o).forEach(o=>{t.next(o)})},error:e=>t.error(e),complete:()=>t.complete()})})));this._injector=r}_ensureList(r,t){let e=this.getSubunitRules(r,t);if(!e){e=[];let n=this._model.get(r);n||(n=new Map,this._model.set(r,n)),n.set(t,e)}return e}getRule(r,t,e){const n=this.getSubunitRules(r,t);return n?n.find(i=>i.cfId===e):null}getUnitRules(r){return this._model.get(r)||null}getSubunitRules(r,t){var n;return((n=this._model.get(r))==null?void 0:n.get(t))||null}deleteRule(r,t,e){const n=this.getSubunitRules(r,t);if(n){const i=n.findIndex(l=>l.cfId===e),a=n[i];a&&(n.splice(i,1),this._ruleChange$.next({rule:a,subUnitId:t,unitId:r,type:"delete"}))}}setRule(r,t,e,n){const a=this._ensureList(r,t).find(l=>l.cfId===n);if(a){const l=g.Tools.deepClone(a);Object.assign(a,e),this._ruleChange$.next({rule:a,subUnitId:t,unitId:r,type:"set",oldRule:l})}}addRule(r,t,e){const n=this._ensureList(r,t);n.find(a=>a.cfId===e.cfId)||n.unshift(e),this._ruleChange$.next({rule:e,subUnitId:t,unitId:r,type:"add"})}moveRulePriority(r,t,e,n){const i=this._ensureList(r,t),a=i2(e,i,u=>u.cfId),l=i2(n,i,u=>u.cfId);if(l===null||a===null||l===a)return;const o=i[a];o&&($2(e,n,i,u=>u.cfId),this._ruleChange$.next({rule:o,subUnitId:t,unitId:r,type:"sort"}))}createCfId(r,t){return O2()}deleteUnitId(r){this._model.delete(r)}},f.ConditionalFormattingRuleModel=c0([u0(0,g.Inject(g.Injector))],f.ConditionalFormattingRuleModel);class D2{constructor(){I(this,"_model",new Map);I(this,"_markDirty$",new Q.Subject);I(this,"markDirty$",this._markDirty$.asObservable())}_ensureMatrix(r,t){let e=this.getMatrix(r,t);if(!e){e=new g.ObjectMatrix;let n=this._model.get(r);n||(n=new Map,this._model.set(r,n)),n.set(t,e)}return e}getMatrix(r,t){var e;return(e=this._model.get(r))==null?void 0:e.get(t)}getCellCf(r,t,e,n,i){const a=i!=null?i:this.getMatrix(r,t);return a?a.getValue(e,n):null}setCellCfRuleCache(r,t,e,n,i,a){const o=this._ensureMatrix(r,t).getValue(e,n),u=o==null?void 0:o.cfList.find(c=>c.cfId===i);u&&(u.ruleCache=a,u.isDirty=!1)}deleteCellCf(r,t,e,n,i,a){const l=a!=null?a:this.getMatrix(r,t);if(l){const o=l.getValue(e,n);if(o){const u=o.cfList,c=u.findIndex(d=>d.cfId===i);c>-1&&u.splice(c,1),u.length||l.realDeleteValue(e,n)}}}pushCellCf(r,t,e,n,i){const a=this._ensureMatrix(r,t);let l=a.getValue(e,n);if(!l)l={cfList:[{cfId:i,isDirty:!0}]};else{const o=l.cfList;if(o.findIndex(c=>c.cfId===i)>-1)return;o.push({cfId:i,isDirty:!0})}a.setValue(e,n,l)}sortCellCf(r,t,e,n,i){const a=this.getCellCf(r,t,e,n);if(a){const l=a.cfList.map(o=>{const u=i.get(o.cfId);return u===void 0?null:{...o,priority:u}}).filter(o=>!!o).sort((o,u)=>o.priority-u.priority);a.cfList=l}}markRuleDirty(r,t,e,n,i){const a=(l,o)=>{const u=this.getCellCf(r,t,l,o);if(u){const c=u.cfList.find(d=>d.cfId===e.cfId);c&&(c.isDirty=!0)}};n!==void 0&&i!==void 0?(a(n,i),this._markDirty$.next({rule:e,unitId:r,subUnitId:t})):(e.ranges.forEach(l=>{g.Range.foreach(l,(o,u)=>{a(o,u)})}),this._markDirty$.next({rule:e,unitId:r,subUnitId:t}))}}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:{"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","rhomboid-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%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%23FFBD37%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"}},N2=[{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]}]}],m2=N2.reduce((s,r)=>{const{group:t}=r;for(const e of t)s[e.name]=e.list;return s},{});for(const s in m2){const r=m2[s];Object.freeze(r)}const j2="EMPTY_ICON_TYPE",_2={type:g.CommandType.MUTATION,id:"sheet.mutation.move-conditional-rule",handler(s,r){if(!r)return!1;const{unitId:t,subUnitId:e,start:n,end:i}=r;return s.get(f.ConditionalFormattingRuleModel).moveRulePriority(t,e,n,i),!0}},d0=s=>{const{unitId:r,subUnitId:t}=s,e=V2(s.start,s.end);if(!e)return[];const[n,i]=e;return[{id:_2.id,params:{unitId:r,subUnitId:t,start:n,end:i}}]},P2=(s,r)=>{const t=s.get(f.ConditionalFormattingRuleModel),{unitId:e,subUnitId:n,cfId:i}=r,a=[...t.getSubunitRules(e,n)||[]],l=a.findIndex(u=>u.cfId===i),o=a[l-1];if(l>-1){const u=a[l],c=[{id:b2.id,params:{unitId:e,subUnitId:n,rule:g.Tools.deepClone(u)}}];if(a.splice(l,1),l!==0){const d=a[0];if(d){const D=U2({id:d.cfId,type:"before"},{id:o.cfId,type:"after"},a,w=>w.cfId);if(!D)return c;const[h,m]=D,C={unitId:e,subUnitId:n,start:h,end:m};c.push({id:_2.id,params:C})}}return c}return[]},y2={type:g.CommandType.MUTATION,id:"sheet.mutation.delete-conditional-rule",handler(s,r){if(!r)return!1;const{unitId:t,subUnitId:e,cfId:n}=r;return s.get(f.ConditionalFormattingRuleModel).deleteRule(t,e,n),!0}},h0=(s,r)=>({id:y2.id,params:{unitId:r.unitId,subUnitId:r.subUnitId,cfId:r.rule.cfId}}),b2={type:g.CommandType.MUTATION,id:"sheet.mutation.add-conditional-rule",handler(s,r){if(!r)return!1;const{unitId:t,subUnitId:e,rule:n}=r;return s.get(f.ConditionalFormattingRuleModel).addRule(t,e,n),!0}},F2={type:g.CommandType.MUTATION,id:"sheet.mutation.conditional-formatting-formula-mark-dirty",handler(){return!0}},I2={type:g.CommandType.MUTATION,id:"sheet.mutation.set-conditional-rule",handler(s,r){if(!r)return!1;const{unitId:t,subUnitId:e,rule:n}=r,i=r.cfId||r.rule.cfId;return s.get(f.ConditionalFormattingRuleModel).setRule(t,e,n,i),!0}},g0=(s,r)=>{const t=s.get(f.ConditionalFormattingRuleModel),{unitId:e,subUnitId:n}=r,i=r.cfId||r.rule.cfId,a=t.getRule(e,n,i);return a?[{id:I2.id,params:{unitId:e,subUnitId:n,cfId:i,rule:g.Tools.deepClone(a)}}]:[]},f0="ssheets-conditional-formatting.config",C0={};var D0=Object.defineProperty,m0=Object.getOwnPropertyDescriptor,F0=(s,r,t,e)=>{for(var n=e>1?void 0:e?m0(r,t):r,i=s.length-1,a;i>=0;i--)(a=s[i])&&(n=(e?a(r,t,n):a(n))||n);return e&&n&&D0(r,t,n),n},w2=(s,r)=>(t,e)=>r(t,e,s),j=(s=>(s[s.NOT_REGISTER=1]="NOT_REGISTER",s[s.SUCCESS=2]="SUCCESS",s[s.WAIT=3]="WAIT",s[s.ERROR=4]="ERROR",s))(j||{});const w0=s=>{const r=s&&s[0]&&s[0][0];return(r==null?void 0:r.t)===g.CellValueType.BOOLEAN?r.v===g.BooleanNumber.TRUE||r.v===!0:r?r.v:!1};f.ConditionalFormattingFormulaService=class extends g.Disposable{constructor(t,e,n,i,a){super();I(this,"_formulaMap",new Map);I(this,"_cache",new Map);this._commandService=t,this._injector=e,this._activeDirtyManagerService=n,this._conditionalFormattingViewModel=i,this._conditionalFormattingRuleModel=a,this._initFormulaCalculationResultChange(),this._initRuleChange(),this._initCache(),this.disposeWithMe(g.toDisposable(()=>{this._cache.clear(),this._formulaMap.clear()}))}_initCache(){const t=this._injector.get(f.ConditionalFormattingService);this.disposeWithMe(t.ruleComputeStatus$.subscribe(e=>{const{unitId:n,subUnitId:i,status:a,result:l,cfId:o}=e;a==="end"&&l&&this._ensureCacheMap(n,i).set(o,l)})),this.disposeWithMe(this._conditionalFormattingRuleModel.$ruleChange.subscribe(e=>{if(e.type==="delete"){const{unitId:n,subUnitId:i,rule:a}=e;this._deleteCache(n,i,a.cfId)}}))}_initRuleChange(){const t=e=>{switch(e.type){case W.colorScale:return e.config.some(n=>n.value.type===z.formula);case W.highlightCell:return e.subType===U.formula;case W.dataBar:return[e.config.max,e.config.min].some(n=>n.type===z.formula);case W.iconSet:return e.config.some(n=>n.value.type===z.formula)}};this.disposeWithMe(this._conditionalFormattingRuleModel.$ruleChange.subscribe(e=>{const{unitId:n,subUnitId:i,rule:a,oldRule:l}=e;e.type==="delete"&&this._removeFormulaByCfId(n,i,a.cfId),e.type==="set"&&(t(a.rule)||l&&t(l.rule))&&this._removeFormulaByCfId(n,i,a.cfId)}))}_initFormulaCalculationResultChange(){this.disposeWithMe(this._commandService.onCommandExecuted(t=>{if(t.id===n2.SetFormulaCalculationResultMutation.id){const e=t.params;for(const n in e.unitOtherData)for(const i in e.unitOtherData[n]){const a=new Set;for(const l in e.unitOtherData[n][i]){const o=new g.ObjectMatrix(e.unitOtherData[n][i][l]),u=this._ensureSubunitFormulaMap(n,i).getValue(l,["formulaId"]);if(!u)continue;const c=u.ranges;if(!c)continue;const d=u.result,D=c[0].startRow,h=c[0].startColumn;o.forValue((m,C,w)=>{d.setValue(D+m,h+C,w0(w))}),u.status=2,a.add(u.cfId)}for(const l of a){const o=this._conditionalFormattingRuleModel.getRule(n,i,l);o&&this._conditionalFormattingViewModel.markRuleDirty(n,i,o)}}}})),this._activeDirtyManagerService.register(F2.id,{commandId:F2.id,getDirtyData(t){return{dirtyUnitOtherFormulaMap:t.params}}})}_ensureSubunitFormulaMap(t,e){let n=this._formulaMap.get(t);n||(n=new Map,this._formulaMap.set(t,n));let i=n.get(e);return i||(i=new g.RefAlias([],["formulaId","id"]),n.set(e,i)),i}_ensureCacheMap(t,e){let n=this._cache.get(t);n||(n=new Map,this._cache.set(t,n));let i=n.get(e);return i||(i=new Map,n.set(e,i)),i}_deleteCache(t,e,n){const i=this._cache.get(t);if(i){const a=i.get(e);a&&(n?a.delete(n):a.clear())}}getCache(t,e,n){return this._ensureCacheMap(t,e).get(n)}getSubUnitFormulaMap(t,e){var n;return(n=this._formulaMap.get(t))==null?void 0:n.get(e)}registerFormulaWithRange(t,e,n,i,a=[{startRow:0,endRow:0,startColumn:0,endColumn:0}]){const l=this._ensureSubunitFormulaMap(t,e);if(l.getValue(this.createCFormulaId(n,i),["id"]))return;const o=this._createFormulaId(t,e);l.addValue({formulaText:i,cfId:n,id:this.createCFormulaId(n,i),ranges:a,formulaId:o,status:3,result:new g.ObjectMatrix});const u={unitId:t,subUnitId:e,formulaMap:{[o]:{f:i,ranges:a}}};this._commandService.executeCommand(n2.SetOtherFormulaMutation.id,u).then(()=>{this._commandService.executeCommand(F2.id,{[t]:{[e]:{[o]:!0}}})})}_removeFormulaByCfId(t,e,n){const i=this._ensureSubunitFormulaMap(t,e);i.deleteValue(n);const a=i.getValues().filter(o=>o.cfId===n);a.forEach(o=>{i.deleteValue(o.id,["id"])});const l=a.map(o=>o.formulaId);this._commandService.executeCommand(n2.RemoveOtherFormulaMutation.id,{unitId:t,subUnitId:e,formulaIdList:l})}getFormulaResult(t,e,n,i,a=0,l=0){const o=this.getSubUnitFormulaMap(t,e);if(!o)return{status:1};const u=o.getValue(this.createCFormulaId(n,i),["id"]);return u?u.status===2&&u.result?{result:u.result.getValue(a,l),status:2}:u.status===3?{status:3}:{status:4}:{status:1}}_createFormulaId(t,e){return`sheet.cf_${t}_${e}_${g.Tools.generateRandomId(8)}`}createCFormulaId(t,e){return`${t}_${e}`}},f.ConditionalFormattingFormulaService=F0([w2(0,g.Inject(g.ICommandService)),w2(1,g.Inject(g.Injector)),w2(2,g.Inject(n2.IActiveDirtyManagerService)),w2(3,g.Inject(D2)),w2(4,g.Inject(f.ConditionalFormattingRuleModel))],f.ConditionalFormattingFormulaService);var v0=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function E0(s){return s&&s.__esModule&&Object.prototype.hasOwnProperty.call(s,"default")?s.default:s}var W2={exports:{}};(function(s,r){(function(t,e){s.exports=e()})(v0,function(){var t=1e3,e=6e4,n=36e5,i="millisecond",a="second",l="minute",o="hour",u="day",c="week",d="month",D="quarter",h="year",m="date",C="Invalid Date",w=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,E=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,S={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(_){var A=["th","st","nd","rd"],v=_%100;return"["+_+(A[(v-20)%10]||A[v]||A[0])+"]"}},b=function(_,A,v){var M=String(_);return!M||M.length>=A?_:""+Array(A+1-M.length).join(v)+_},k={s:b,z:function(_){var A=-_.utcOffset(),v=Math.abs(A),M=Math.floor(v/60),p=v%60;return(A<=0?"+":"-")+b(M,2,"0")+":"+b(p,2,"0")},m:function _(A,v){if(A.date()<v.date())return-_(v,A);var M=12*(v.year()-A.year())+(v.month()-A.month()),p=A.clone().add(M,d),y=v-p<0,x=A.clone().add(M+(y?-1:1),d);return+(-(M+(v-p)/(y?p-x:x-p))||0)},a:function(_){return _<0?Math.ceil(_)||0:Math.floor(_)},p:function(_){return{M:d,y:h,w:c,d:u,D:m,h:o,m:l,s:a,ms:i,Q:D}[_]||String(_||"").toLowerCase().replace(/s$/,"")},u:function(_){return _===void 0}},q="en",P={};P[q]=S;var f2="$isDayjsObject",s2=function(_){return _ instanceof X||!(!_||!_[f2])},o2=function _(A,v,M){var p;if(!A)return q;if(typeof A=="string"){var y=A.toLowerCase();P[y]&&(p=y),v&&(P[y]=v,p=y);var x=A.split("-");if(!p&&x.length>1)return _(x[0])}else{var L=A.name;P[L]=A,p=L}return!M&&p&&(q=p),p||!M&&q},B=function(_,A){if(s2(_))return _.clone();var v=typeof A=="object"?A:{};return v.date=_,v.args=arguments,new X(v)},R=k;R.l=o2,R.i=s2,R.w=function(_,A){return B(_,{locale:A.$L,utc:A.$u,x:A.$x,$offset:A.$offset})};var X=function(){function _(v){this.$L=o2(v.locale,null,!0),this.parse(v),this.$x=this.$x||v.x||{},this[f2]=!0}var A=_.prototype;return A.parse=function(v){this.$d=function(M){var p=M.date,y=M.utc;if(p===null)return new Date(NaN);if(R.u(p))return new Date;if(p instanceof Date)return new Date(p);if(typeof p=="string"&&!/Z$/i.test(p)){var x=p.match(w);if(x){var L=x[2]-1||0,$=(x[7]||"0").substring(0,3);return y?new Date(Date.UTC(x[1],L,x[3]||1,x[4]||0,x[5]||0,x[6]||0,$)):new Date(x[1],L,x[3]||1,x[4]||0,x[5]||0,x[6]||0,$)}}return new Date(p)}(v),this.init()},A.init=function(){var v=this.$d;this.$y=v.getFullYear(),this.$M=v.getMonth(),this.$D=v.getDate(),this.$W=v.getDay(),this.$H=v.getHours(),this.$m=v.getMinutes(),this.$s=v.getSeconds(),this.$ms=v.getMilliseconds()},A.$utils=function(){return R},A.isValid=function(){return this.$d.toString()!==C},A.isSame=function(v,M){var p=B(v);return this.startOf(M)<=p&&p<=this.endOf(M)},A.isAfter=function(v,M){return B(v)<this.startOf(M)},A.isBefore=function(v,M){return this.endOf(M)<B(v)},A.$g=function(v,M,p){return R.u(v)?this[M]:this.set(p,v)},A.unix=function(){return Math.floor(this.valueOf()/1e3)},A.valueOf=function(){return this.$d.getTime()},A.startOf=function(v,M){var p=this,y=!!R.u(M)||M,x=R.p(v),L=function(u2,Z){var a2=R.w(p.$u?Date.UTC(p.$y,Z,u2):new Date(p.$y,Z,u2),p);return y?a2:a2.endOf(u)},$=function(u2,Z){return R.w(p.toDate()[u2].apply(p.toDate("s"),(y?[0,0,0,0]:[23,59,59,999]).slice(Z)),p)},V=this.$W,N=this.$M,K=this.$D,C2="set"+(this.$u?"UTC":"");switch(x){case h:return y?L(1,0):L(31,11);case d:return y?L(1,N):L(0,N+1);case c:var c2=this.$locale().weekStart||0,A2=(V<c2?V+7:V)-c2;return L(y?K-A2:K+(6-A2),N);case u:case m:return $(C2+"Hours",0);case o:return $(C2+"Minutes",1);case l:return $(C2+"Seconds",2);case a:return $(C2+"Milliseconds",3);default:return this.clone()}},A.endOf=function(v){return this.startOf(v,!1)},A.$set=function(v,M){var p,y=R.p(v),x="set"+(this.$u?"UTC":""),L=(p={},p[u]=x+"Date",p[m]=x+"Date",p[d]=x+"Month",p[h]=x+"FullYear",p[o]=x+"Hours",p[l]=x+"Minutes",p[a]=x+"Seconds",p[i]=x+"Milliseconds",p)[y],$=y===u?this.$D+(M-this.$W):M;if(y===d||y===h){var V=this.clone().set(m,1);V.$d[L]($),V.init(),this.$d=V.set(m,Math.min(this.$D,V.daysInMonth())).$d}else L&&this.$d[L]($);return this.init(),this},A.set=function(v,M){return this.clone().$set(v,M)},A.get=function(v){return this[R.p(v)]()},A.add=function(v,M){var p,y=this;v=Number(v);var x=R.p(M),L=function(N){var K=B(y);return R.w(K.date(K.date()+Math.round(N*v)),y)};if(x===d)return this.set(d,this.$M+v);if(x===h)return this.set(h,this.$y+v);if(x===u)return L(1);if(x===c)return L(7);var $=(p={},p[l]=e,p[o]=n,p[a]=t,p)[x]||1,V=this.$d.getTime()+v*$;return R.w(V,this)},A.subtract=function(v,M){return this.add(-1*v,M)},A.format=function(v){var M=this,p=this.$locale();if(!this.isValid())return p.invalidDate||C;var y=v||"YYYY-MM-DDTHH:mm:ssZ",x=R.z(this),L=this.$H,$=this.$m,V=this.$M,N=p.weekdays,K=p.months,C2=p.meridiem,c2=function(Z,a2,M2,R2){return Z&&(Z[a2]||Z(M,y))||M2[a2].slice(0,R2)},A2=function(Z){return R.s(L%12||12,Z,"0")},u2=C2||function(Z,a2,M2){var R2=Z<12?"AM":"PM";return M2?R2.toLowerCase():R2};return y.replace(E,function(Z,a2){return a2||function(M2){switch(M2){case"YY":return String(M.$y).slice(-2);case"YYYY":return R.s(M.$y,4,"0");case"M":return V+1;case"MM":return R.s(V+1,2,"0");case"MMM":return c2(p.monthsShort,V,K,3);case"MMMM":return c2(K,V);case"D":return M.$D;case"DD":return R.s(M.$D,2,"0");case"d":return String(M.$W);case"dd":return c2(p.weekdaysMin,M.$W,N,2);case"ddd":return c2(p.weekdaysShort,M.$W,N,3);case"dddd":return N[M.$W];case"H":return String(L);case"HH":return R.s(L,2,"0");case"h":return A2(1);case"hh":return A2(2);case"a":return u2(L,$,!0);case"A":return u2(L,$,!1);case"m":return String($);case"mm":return R.s($,2,"0");case"s":return String(M.$s);case"ss":return R.s(M.$s,2,"0");case"SSS":return R.s(M.$ms,3,"0");case"Z":return x}return null}(Z)||x.replace(":","")})},A.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},A.diff=function(v,M,p){var y,x=this,L=R.p(M),$=B(v),V=($.utcOffset()-this.utcOffset())*e,N=this-$,K=function(){return R.m(x,$)};switch(L){case h:y=K()/12;break;case d:y=K();break;case D:y=K()/3;break;case c:y=(N-V)/6048e5;break;case u:y=(N-V)/864e5;break;case o:y=N/n;break;case l:y=N/e;break;case a:y=N/t;break;default:y=N}return p?y:R.a(y)},A.daysInMonth=function(){return this.endOf(d).$D},A.$locale=function(){return P[this.$L]},A.locale=function(v,M){if(!v)return this.$L;var p=this.clone(),y=o2(v,M,!0);return y&&(p.$L=y),p},A.clone=function(){return R.w(this.$d,this)},A.toDate=function(){return new Date(this.valueOf())},A.toJSON=function(){return this.isValid()?this.toISOString():null},A.toISOString=function(){return this.$d.toISOString()},A.toString=function(){return this.$d.toUTCString()},_}(),t2=X.prototype;return B.prototype=t2,[["$ms",i],["$s",a],["$m",l],["$H",o],["$W",u],["$M",d],["$y",h],["$D",m]].forEach(function(_){t2[_[1]]=function(A){return this.$g(A,_[0],_[1])}}),B.extend=function(_,A){return _.$i||(_(A,X,B),_.$i=!0),B},B.locale=o2,B.isDayjs=s2,B.unix=function(_){return B(1e3*_)},B.en=P[q],B.Ls=P,B.p={},B})})(W2);var p0=W2.exports;const O=E0(p0);function v2(s,r){return Math.abs(s-r)<Number.EPSILON}const G=s=>[void 0,null].includes(s),e2=s=>{var e,n;if(!s)return null;if(s.t===g.CellValueType.BOOLEAN)return s.v===g.BooleanNumber.TRUE?n2.BooleanValue.TRUE:n2.BooleanValue.FALSE;const r=s.v,t=(n=(e=s.p)==null?void 0:e.body)==null?void 0:n.dataStream.replace(/\r\n$/,"");return G(r)?G(t)?null:t:r},L2=86400;function q2(s,r=!0){if(r&&s>=0){if(s===0)return[1900,1,0];if(s===60)return[1900,2,29];if(s<60)return[1900,s<32?1:2,(s-1)%31+1]}let t=s+68569+2415019;const e=Math.floor(4*t/146097);t=t-Math.floor((146097*e+3)/4);const n=Math.floor(4e3*(t+1)/1461001);t=t-Math.floor(1461*n/4)+31;const i=Math.floor(80*t/2447),a=t-Math.floor(2447*i/80);t=Math.floor(i/11);const l=i+2-12*t;return[100*(e-49)+n+t|0,l|0,a|0]}const Z2=s=>{let r=s|0;const t=L2*(s-r);let e=Math.floor(t);t-e>.9999&&(e+=1,e===L2&&(e=0,r+=1));const n=e<0?L2+e:e,[i,a,l]=q2(s,!0),o=Math.floor(n/60/60)%60,u=Math.floor(n/60)%60,c=Math.floor(n)%60;return O(`${i}/${a}/${l} ${o}:${u}:${c}`).valueOf()},E2=(s,r,t)=>{switch(s.type){case z.max:{let e=0;return r.forValue((n,i,a)=>{a>e&&(e=a)}),{status:j.SUCCESS,result:e}}case z.min:{let e;return r.forValue((n,i,a)=>{e===void 0&&(e=a),a<e&&(e=a)}),{status:j.SUCCESS,result:e}}case z.percent:{let e,n;r.forValue((l,o,u)=>{(e===void 0||n===void 0)&&(e=u,n=u),u>e&&(e=u),u<n&&(n=u)});const i=(e||0)-(n||0),a=Math.max(Math.min(Number(s.value)||0,100),0);return{status:j.SUCCESS,result:i*(a/100)+(n||0)}}case z.percentile:{const e=r.toNativeArray().sort((u,c)=>u-c),n=Math.max(Math.min(Number(s.value)||0,100),0),i=(e.length-1)*n/100,a=Math.floor(i),l=i-a,o=e[a]+(e[Math.min(a+1,e.length-1)]-e[a])*l;return{status:j.SUCCESS,result:o}}case z.formula:{const{accessor:e,unitId:n,subUnitId:i,cfId:a}=t,l=String(s.value),o=e.get(f.ConditionalFormattingFormulaService);return o.registerFormulaWithRange(n,i,a,l),o.getFormulaResult(n,i,a,l)}case z.num:{const e=Number(s.value);return{status:j.SUCCESS,result:Number.isNaN(e)?0:e}}}},A0=(s,r,t,e)=>{const{accessor:n}=e,i=n.get(D2),a=new g.ObjectMatrix;return t.ranges.forEach(l=>{g.Range.foreach(l,(o,u)=>{const c=i.getCellCf(s,r,o,u);if(c){const d=c.cfList.find(D=>D.cfId===t.cfId);d!=null&&d.ruleCache&&a.setValue(o,u,d.ruleCache)}})}),a},g2=(s,r)=>{switch(s.operator){case T.between:{if(typeof s.value!="object"||!s.value.length)return;const t=Math.min(...s.value),e=Math.max(...s.value);return r>=t&&r<=e}case T.notBetween:{if(typeof s.value!="object"||!s.value.length)return;const t=Math.min(...s.value),e=Math.max(...s.value);return!(r>=t&&r<=e)}case T.equal:{const t=s.value||0;return v2(t,r)}case T.notEqual:{const t=s.value||0;return!v2(t,r)}case T.greaterThan:{const t=s.value||0;return r>t}case T.greaterThanOrEqual:{const t=s.value||0;return r>=t}case T.lessThan:{const t=s.value||0;return r<t}case T.lessThanOrEqual:{const t=s.value||0;return r<=t}default:return!1}},Y2=s=>{switch(s){case T.greaterThan:return T.lessThanOrEqual;case T.greaterThanOrEqual:return T.lessThan;case T.lessThan:return T.greaterThanOrEqual;case T.lessThanOrEqual:return T.greaterThan}return s},H2=(s,r)=>{const t=i=>i.a!==void 0?i:{...i,a:1},e=s.findIndex(i=>i.value>=r),n=e-1;if(e===0)return s[0].color.toRgbString();if(n>=0){const i=s[n],a=s[e];if(i.color.isValid&&a.color.isValid){const l=t(i.color.toRgb()),o=t(a.color.toRgb()),u=a.value-i.value,c=(r-i.value)/u,d=["r","g","b","a"].reduce((h,m)=>{const C=l[m];return h[m]=(o[m]-C)*c+C,h},{});return new g.ColorKit(d).toRgbString()}}else return s[s.length-1].color.toRgbString()},p2=(s,r,t)=>s.map(e=>{if(e.startColumn>t||e.startRow>r)return null;const n={...e};return n.endRow=Math.min(n.endRow,r),n.endColumn=Math.min(n.endColumn,t),n}).filter(e=>!!e);function M0(s){let r=0;return new g.ObjectMatrix(s).forValue((t,e,n)=>{r=Math.max(Number.isNaN(r)?0:r,Number(n))}),r}const _0="",y0={type:W.colorScale,handle:async(s,r)=>{var d;const t=s.rule,e=r.accessor.get(f.ConditionalFormattingFormulaService),{worksheet:n}=r,i=new g.ObjectMatrix,a=p2(s.ranges,n.getMaxRows()-1,n.getMaxColumns()-1);a.forEach(D=>{g.Range.foreach(D,(h,m)=>{const C=n==null?void 0:n.getCellRaw(h,m),w=C&&C.v;if(!G(w)&&(C==null?void 0:C.t)===g.CellValueType.NUMBER){const E=Number(w);!Number.isNaN(E)&&i.setValue(h,m,E)}})});const l=new g.ObjectMatrix;a.forEach(D=>{g.Range.foreach(D,(h,m)=>{l.setValue(h,m,_0)})});const o=[...t.config].sort((D,h)=>D.index-h.index).map(D=>({value:E2(D.value,i,{...r,cfId:s.cfId}),color:new g.ColorKit(D.color)}));if(o.some(D=>h2.isObject(D.value)?D.value.status!==j.SUCCESS:!1))return(d=e.getCache(r.unitId,r.subUnitId,s.cfId))!=null?d:l;const c=o.map(D=>D.color).reduce((D,h,m)=>(D.result.push({color:h,value:D.sortValue[m]}),D),{result:[],sortValue:o.map(D=>D.value.result).sort((D,h)=>D-h)}).result;return c.length<=1||i.forValue((D,h,m)=>{const C=H2(c,m);C&&l.setValue(D,h,C)}),l}},G2="sheet-conditional-rule-data-bar",B2="#ffbe38",T2="#abd91a",x0=34;class X2 extends h2.SheetExtension{constructor(){super(...arguments);I(this,"_paddingRightAndLeft",2);I(this,"_paddingTopAndBottom",2);I(this,"uKey",G2);I(this,"Z_INDEX",x0);I(this,"_radius",1)}draw(t,e,n,i){const{worksheet:a}=n;if(!a)return!1;t.save(),g.Range.foreach(n.rowColumnSegment,(l,o)=>{if(!a.getRowVisible(l)||!a.getColVisible(o))return;const u=a.getCell(l,o);if(u&&u.dataBar){const{color:c,value:d,startPoint:D,isGradient:h}=u.dataBar,m=n.getCellByIndexWithNoHeader(l,o);let{isMerged:C,isMergedMainCell:w,mergeInfo:E,startY:S,endY:b,startX:k,endX:q}=m;if(C||(w&&(S=E.startY,b=E.endY,k=E.startX,q=E.endX),!this.isRenderDiffRangesByCell(E,i)))return;const P=q-k,f2=b+h2.FIX_ONE_PIXEL_BLUR_OFFSET-S,s2=P-this._paddingRightAndLeft*2,o2=f2-this._paddingTopAndBottom*2;if(d>0){const B=Math.max(s2*(1-D/100)*d/100,1),R=k+this._paddingRightAndLeft+D/100*s2,X=S+this._paddingTopAndBottom;if(h){const t2=t.createLinearGradient(R,X,R+B,X);t2.addColorStop(0,c),t2.addColorStop(1,"rgb(255 255 255)"),t.fillStyle=t2,t.strokeStyle=c,t.lineWidth=1}else t.fillStyle=c;this._drawRectWithRoundedCorner(t,R,X,B,o2,!1,!0,!0,!1),h&&t.stroke()}else{const B=Math.max(s2*D/100*Math.abs(d)/100,1),R=k+this._paddingRightAndLeft+D/100*s2-B,X=S+this._paddingTopAndBottom;if(h){const t2=t.createLinearGradient(R,X,R+B,X);t2.addColorStop(0,"rgb(255 255 255)"),t2.addColorStop(1,c),t.fillStyle=t2,t.strokeStyle=c,t.lineWidth=1}else t.fillStyle=c;this._drawRectWithRoundedCorner(t,R,X,B,o2,!0,!1,!1,!0),h&&t.stroke()}}}),t.restore()}_drawRectWithRoundedCorner(t,e,n,i,a,l,o,u,c){const d=this._radius;!a||!i||(t.beginPath(),t.moveTo(e+d,n),t.lineTo(e+i-d,n),o?t.arcTo(e+i,n,e+i,n+d,d):t.lineTo(e+i,n),t.lineTo(e+i,n+a-d),u?t.arcTo(e+i,n+a,e+i-d,n+a,d):t.lineTo(e+i,n+a),t.lineTo(e+d,n+a),c?t.arcTo(e,n+a,e,n+a-d,d):t.lineTo(e,n+a),t.lineTo(e,n+d),l?t.arcTo(e,n,e+d,n,d):t.lineTo(e,n),t.closePath(),t.fill())}}h2.SpreadsheetExtensionRegistry.add(X2);const r2={};Object.freeze(r2);const R0={type:W.dataBar,handle:async(s,r)=>{const t=s.rule,e=r.accessor.get(f.ConditionalFormattingFormulaService),{worksheet:n}=r,i=new g.ObjectMatrix,a=p2(s.ranges,n.getMaxRows()-1,n.getMaxColumns()-1);a.forEach(C=>{g.Range.foreach(C,(w,E)=>{const S=n==null?void 0:n.getCellRaw(w,E),b=S&&S.v;if(!G(b)&&(S==null?void 0:S.t)===g.CellValueType.NUMBER){const k=Number(b);!Number.isNaN(k)&&i.setValue(w,E,k)}})});const l=new g.ObjectMatrix;a.forEach(C=>{g.Range.foreach(C,(w,E)=>{l.setValue(w,E,r2)})});const o=E2(t.config.min,i,{...r,cfId:s.cfId}),u=E2(t.config.max,i,{...r,cfId:s.cfId});let c=0,d=0;if(o.status===j.WAIT)return e.getCache(r.unitId,r.subUnitId,s.cfId)||l;if(o.status===j.SUCCESS){const C=Number(o.result);c=Number.isNaN(C)?0:C}else return l;if(u.status===j.WAIT)return e.getCache(r.unitId,r.subUnitId,s.cfId)||l;if(u.status===j.SUCCESS){const C=Number(u.result),w=Number.isNaN(C)?0:C;d=Math.max(w,c),c=Math.min(w,c)}else return l;const D=t.config.isGradient,h=t.isShowValue,m=C=>Math.max(Math.min(100,C),0);if(!(c===d||d<c)){if(c<0&&d<=0){const C=d-c,w=100;i.forValue((E,S,b)=>{if(b>d)return;const k=m((d-b)/C*100);l.setValue(E,S,{color:t.config.nativeColor||T2,startPoint:w,value:-k,isGradient:D,isShowValue:h})})}else if(c<0&&d>0){const C=Math.abs(d)+Math.abs(c),w=Math.abs(c)/C*100;i.forValue((E,S,b)=>{if(b)if(b>0){const k=m(Math.min(b/d,1)*100);l.setValue(E,S,{color:t.config.positiveColor||B2,startPoint:w,value:k,isGradient:D,isShowValue:h})}else{const k=m(Math.min(Math.abs(b)/Math.abs(c),1)*100);l.setValue(E,S,{color:t.config.nativeColor||T2,startPoint:w,value:-k,isGradient:D,isShowValue:h})}})}else if(c>=0&&d>0){const C=d-c,w=0;i.forValue((E,S,b)=>{if(b<c)return;const k=m((1-(d-b)/C)*100);l.setValue(E,S,{color:t.config.positiveColor||B2,startPoint:w,value:k,isGradient:D,isShowValue:h})})}}return l}},S0={type:W.highlightCell,handle:async(s,r)=>{const t=s.rule,{worksheet:e,unitId:n,subUnitId:i}=r,a=p2(s.ranges,e.getMaxRows()-1,e.getMaxColumns()-1),o=(()=>{switch(t.subType){case U.average:{let d=0,D=0;return a.forEach(h=>{g.Range.foreach(h,(m,C)=>{const w=e==null?void 0:e.getCellRaw(m,C),E=e2(w||void 0);w&&w.t===g.CellValueType.NUMBER&&E!==void 0&&(d+=Number(E)||0,D++)})}),{average:d/D}}case U.uniqueValues:case U.duplicateValues:{const d=new Map;return a.forEach(D=>{g.Range.foreach(D,(h,m)=>{const C=e==null?void 0:e.getCellRaw(h,m),w=e2(C||void 0);if(w!==void 0){const E=d.get(w);E?d.set(w,E+1):d.set(w,1)}})}),{count:d}}case U.rank:{const d=[];a.forEach(m=>{g.Range.foreach(m,(C,w)=>{const E=e==null?void 0:e.getCellRaw(C,w),S=e2(E||void 0);E&&E.t===g.CellValueType.NUMBER&&S!==void 0&&d.push(Number(S)||0)})}),d.sort((m,C)=>C-m);const D=s.rule,h=D.isPercent?Math.floor(Math.max(Math.min(D.value,100),0)/100*d.length):Math.floor(Math.max(Math.min(D.isBottom?D.value-1:D.value,d.length),0));return D.isBottom?{rank:d[d.length-h-1]}:{rank:d[Math.max(h-1,0)]}}case U.formula:{const d=t;r.accessor.get(f.ConditionalFormattingFormulaService).registerFormulaWithRange(r.unitId,r.subUnitId,s.cfId,d.value,s.ranges);break}case U.timePeriod:switch(t.operator){case H.last7Days:return{timePeriod:{start:O().subtract(7,"day").valueOf(),end:O().valueOf()}};case H.lastMonth:return{timePeriod:{start:O().startOf("month").subtract(1,"month").valueOf(),end:O().endOf("month").subtract(1,"month").valueOf()}};case H.lastWeek:return{timePeriod:{start:O().startOf("week").subtract(1,"week").valueOf(),end:O().endOf("week").subtract(1,"week").valueOf()}};case H.nextMonth:return{timePeriod:{start:O().startOf("month").add(1,"month").valueOf(),end:O().endOf("month").add(1,"month").valueOf()}};case H.nextWeek:return{timePeriod:{start:O().startOf("week").add(1,"week").valueOf(),end:O().endOf("week").add(1,"week").valueOf()}};case H.thisMonth:return{timePeriod:{start:O().startOf("month").valueOf(),end:O().endOf("month").valueOf()}};case H.thisWeek:return{timePeriod:{start:O().startOf("week").valueOf(),end:O().endOf("week").valueOf()}};case H.today:return{timePeriod:{start:O().startOf("day").valueOf(),end:O().endOf("day").valueOf()}};case H.tomorrow:return{timePeriod:{start:O().startOf("day").add(1,"day").valueOf(),end:O().endOf("day").add(1,"day").valueOf()}};case H.yesterday:return{timePeriod:{start:O().startOf("day").subtract(1,"day").valueOf(),end:O().endOf("day").subtract(1,"day").valueOf()}}}}})(),u=(d,D)=>{const h=e==null?void 0:e.getCellRaw(d,D);switch(t.subType){case U.number:{const m=h&&Number(h.v);if(G(m)||Number.isNaN(m)||(h==null?void 0:h.t)!==g.CellValueType.NUMBER)return!1;const C=t;return g2({operator:C.operator,value:C.value||0},m||0)}case U.text:{const m=t,C=e2(h),w=C===null?"":String(C),E=m.value||"";switch(m.operator){case Y.beginsWith:return w.startsWith(E);case Y.containsBlanks:return/^\s*$/.test(w);case Y.notContainsBlanks:return!/^\s*$/.test(w);case Y.containsErrors:return n2.ERROR_TYPE_SET.has(w);case Y.notContainsErrors:return!n2.ERROR_TYPE_SET.has(w);case Y.containsText:return w.indexOf(E)>-1;case Y.notContainsText:return w.indexOf(E)===-1;case Y.endsWith:return w.endsWith(E);case Y.equal:return w===E;case Y.notEqual:return w!==E;default:return!1}}case U.timePeriod:{const m=e2(h);if(G(m)||Number.isNaN(Number(m))||(h==null?void 0:h.t)!==g.CellValueType.NUMBER)return!1;const C=Z2(Number(m)),{start:w,end:E}=o.timePeriod;return C>=w&&C<=E}case U.average:{const m=h&&h.v,C=Number(m);if(G(m)||Number.isNaN(C)||(h==null?void 0:h.t)!==g.CellValueType.NUMBER)return!1;const w=t,E=o==null?void 0:o.average;switch(w.operator){case T.greaterThan:return C>E;case T.greaterThanOrEqual:return C>=E;case T.lessThan:return C<E;case T.lessThanOrEqual:return C<=E;case T.equal:return v2(C,E);case T.notEqual:return!v2(C,E);default:return!1}}case U.rank:{const m=e2(h),C=Number(m);if(G(m)||Number.isNaN(C)||(h==null?void 0:h.t)!==g.CellValueType.NUMBER)return!1;const w=o.rank;return t.isBottom?C<=w:C>=w}case U.uniqueValues:{const m=e2(h);return G(m)?!1:o.count.get(m)===1}case U.duplicateValues:{const m=e2(h);return G(m)?!1:o.count.get(m)!==1}case U.formula:{const m=t,w=r.accessor.get(f.ConditionalFormattingFormulaService).getFormulaResult(n,i,s.cfId,m.value,d,D);return w&&w.status===j.SUCCESS?w.result===!0:!1}}},c=new g.ObjectMatrix;if(t.subType===U.formula){const d=t,D=r.accessor.get(f.ConditionalFormattingFormulaService),h=D.getSubUnitFormulaMap(n,i),m=h==null?void 0:h.getValue(D.createCFormulaId(s.cfId,d.value),["id"]);if(!m||m.status!==j.SUCCESS)return D.getCache(n,i,s.cfId)||c}return a.forEach(d=>{g.Range.foreach(d,(D,h)=>{u(D,h)?c.setValue(D,h,t.style):c.setValue(D,h,r2)})}),c}},b0={type:W.iconSet,handle:async(s,r)=>{var D;const t=s.rule,e=r.accessor.get(f.ConditionalFormattingFormulaService),{worksheet:n}=r,i=new g.ObjectMatrix,a=p2(s.ranges,n.getMaxRows()-1,n.getMaxColumns()-1);a.forEach(h=>{g.Range.foreach(h,(m,C)=>{const w=n==null?void 0:n.getCellRaw(m,C),E=w&&w.v;if(!G(E)&&(w==null?void 0:w.t)===g.CellValueType.NUMBER){const S=Number(E);!Number.isNaN(S)&&i.setValue(m,C,S)}})});const l=new g.ObjectMatrix;a.forEach(h=>{g.Range.foreach(h,(m,C)=>{l.setValue(m,C,r2)})});const o=t.config.map(h=>E2(h.value,i,{...r,cfId:s.cfId}));if(o.some(h=>h.status!==j.SUCCESS))return(D=e.getCache(r.unitId,r.subUnitId,s.cfId))!=null?D:l;const c=o.map((h,m)=>({operator:t.config[m].operator,value:Number(h.result)||0})).reduce((h,m,C,w)=>{const E=t.config[C];if(!C||C===w.length-1)h.push({...m,iconId:E.iconId,iconType:E.iconType});else{const S=w[C-1];g2(S,m.value)||h.push({...m,iconId:E.iconId,iconType:E.iconType})}return h},[]),d=t.isShowValue===void 0?!0:!!t.isShowValue;return i.forValue((h,m,C)=>{for(let w=0;w<c.length;w++){const E=c[w],S={...E},b={...E},{iconId:k,iconType:q}=E;if(w===0){if(g2(E,C)){l.setValue(h,m,{iconId:k,iconType:q,isShowValue:d});return}}else if(w===c.length-1){l.setValue(h,m,{iconId:k,iconType:q,isShowValue:d});return}else{const P=c[w-1];if(b.operator=Y2(P.operator),b.value=P.value,g2(S,C)&&g2(b,C)){l.setValue(h,m,{iconId:k,iconType:q,isShowValue:d});return}}}}),l}};var I0=Object.defineProperty,L0=Object.getOwnPropertyDescriptor,B0=(s,r,t,e)=>{for(var n=e>1?void 0:e?L0(r,t):r,i=s.length-1,a;i>=0;i--)(a=s[i])&&(n=(e?a(r,t,n):a(n))||n);return e&&n&&I0(r,t,n),n},l2=(s,r)=>(t,e)=>r(t,e,s);const T0=g.createInterceptorKey("conditional-formatting-before-update-rule-result");f.ConditionalFormattingService=class extends g.Disposable{constructor(t,e,n,i,a,l,o){super();I(this,"_ruleCacheMap",new Map);I(this,"_calculateUnit$",new Q.Subject);I(this,"_ruleComputeStatus$",new Q.Subject);I(this,"ruleComputeStatus$",this._ruleComputeStatus$.asObservable());I(this,"interceptorManager",new g.InterceptorManager({beforeUpdateRuleResult:T0}));I(this,"_calculationUnitMap",new Map);this._conditionalFormattingRuleModel=t,this._injector=e,this._conditionalFormattingViewModel=n,this._univerInstanceService=i,this._resourceManagerService=a,this._sheetInterceptorService=l,this._commandService=o,this._initCellChange(),this._initCacheManager(),this._initRemoteCalculate(),this._initSnapshot(),this._initSheetChange(),this._registerCalculationUnit(R0),this._registerCalculationUnit(y0),this._registerCalculationUnit(S0),this._registerCalculationUnit(b0),this._calculateUnit$.pipe(d2.bufferTime(100),d2.filter(u=>!!u.length),d2.map(u=>{const c=D=>`${D.unitId}_${D.subUnitId}_${D.rule.cfId}`;return u.reduce((D,h)=>{const m=c(h);return D.map[m]||(D.map[m]=h,D.list.push(h)),D},{map:{},list:[]}).list})).subscribe(u=>{u.forEach(c=>{this._handleCalculateUnit(c.unitId,c.subUnitId,c.rule)})}),this.disposeWithMe(()=>{this.interceptorManager.dispose()})}composeStyle(t,e,n,i){const a=this._conditionalFormattingViewModel.getCellCf(t,e,n,i);if(a){const l=a.cfList.map(c=>this._conditionalFormattingRuleModel.getRule(t,e,c.cfId)).filter(c=>!!c).reverse(),o=l.findIndex(c=>c==null?void 0:c.stopIfTrue);return o>-1&&l.splice(o+1),l.reduce((c,d)=>{var m;const D=d.rule.type,h=a.cfList.find(C=>C.cfId===d.cfId);if(h!=null&&h.isDirty&&this._calculateUnit$.next({unitId:t,subUnitId:e,rule:d}),D===W.highlightCell)h.ruleCache&&g.Tools.deepMerge(c,{style:h.ruleCache});else if(D===W.colorScale){const C=h==null?void 0:h.ruleCache;C&&typeof C=="string"&&(c.style={...(m=c.style)!=null?m:{},bg:{rgb:C}})}else if(D===W.dataBar){const C=h==null?void 0:h.ruleCache;C&&C!==r2&&(c.dataBar=C,c.isShowValue=C.isShowValue)}else if(D===W.iconSet){const C=h==null?void 0:h.ruleCache;C&&C!==r2&&(c.iconSet=C,c.isShowValue=C.isShowValue)}return c},{})}return null}_initSnapshot(){const t=n=>{const i=this._conditionalFormattingRuleModel.getUnitRules(n),a={};return i?(i.forEach((l,o)=>{a[o]=l}),JSON.stringify(a)):""},e=n=>{if(!n)return{};try{return JSON.parse(n)}catch{return{}}};this.disposeWithMe(this._resourceManagerService.registerPluginResource({pluginName:S2,businesses:[g.UniverInstanceType.UNIVER_SHEET],toJson:n=>t(n),parseJson:n=>e(n),onUnLoad:n=>{this._conditionalFormattingRuleModel.deleteUnitId(n)},onLoad:(n,i)=>{Object.keys(i).forEach(a=>{[...i[a]].reverse().forEach(o=>{this._conditionalFormattingRuleModel.addRule(n,a,o)})})}}))}_initSheetChange(){this.disposeWithMe(this._sheetInterceptorService.interceptCommand({getMutations:t=>{if(t.id===J.RemoveSheetCommand.id){const e=t.params,n=e.unitId||k0(this._univerInstanceService),i=e.subUnitId||O0(this._univerInstanceService);if(!i)return{redos:[],undos:[]};const a=this._conditionalFormattingRuleModel.getSubunitRules(n,i);if(!a)return{redos:[],undos:[]};const l=[],o=[];return a.forEach(u=>{const c={unitId:n,subUnitId:i,cfId:u.cfId};l.push({id:y2.id,params:c}),o.push(...P2(this._injector,c))}),{redos:l,undos:o}}return{redos:[],undos:[]}}}))}_registerCalculationUnit(t){this._calculationUnitMap.set(t.type,t)}_getComputedCache(t,e,n){var i,a;return(a=(i=this._ruleCacheMap.get(t))==null?void 0:i.get(e))==null?void 0:a.get(n)}_setComputedCache(t,e,n,i){let a=this._ruleCacheMap.get(t);a||(a=new Map,this._ruleCacheMap.set(t,a));let l=a.get(e);l||(l=new Map,a.set(e,l)),l.set(n,i)}_deleteComputeCache(t,e,n){const i=this._ruleCacheMap.get(t),a=i==null?void 0:i.get(e);a&&(a.delete(n),a.size||i==null||i.delete(e))}_initCacheManager(){this.disposeWithMe(this._conditionalFormattingViewModel.markDirty$.subscribe(t=>{this._deleteComputeCache(t.unitId,t.subUnitId,t.rule.cfId)})),this.disposeWithMe(this._conditionalFormattingRuleModel.$ruleChange.pipe(d2.filter(t=>t.type!=="sort")).subscribe(t=>{const{unitId:e,subUnitId:n,rule:i}=t;this._deleteComputeCache(e,n,i.cfId)}))}_initCellChange(){this.disposeWithMe(this._commandService.onCommandExecuted(t=>{const e=(n,i,a)=>{const l=new Set;return a.forEach(([o,u])=>{const c=this._conditionalFormattingViewModel.getCellCf(n,i,o,u);c==null||c.cfList.forEach(d=>l.add(d.cfId))}),[...l].map(o=>this._conditionalFormattingRuleModel.getRule(n,i,o)).filter(o=>!!o)};switch(t.id){case J.SetRangeValuesMutation.id:{const n=t.params,{subUnitId:i,unitId:a,cellValue:l}=n,o=[];new g.ObjectMatrix(l).forValue((c,d,D)=>{D&&Object.keys(D).some(m=>["p","v"].includes(m))&&o.push([c,d])}),e(a,i,o).forEach(c=>{this._conditionalFormattingViewModel.markRuleDirty(a,i,c),this._deleteComputeCache(a,i,c.cfId)});break}case J.InsertColMutation.id:case J.RemoveColMutation.id:{const{range:n,unitId:i,subUnitId:a}=t.params,l=this._conditionalFormattingRuleModel.getSubunitRules(i,a),o={...n,endColumn:Number.MAX_SAFE_INTEGER};l&&l.filter(c=>c.ranges.some(d=>g.Rectangle.intersects(d,o))).forEach(c=>{this._conditionalFormattingViewModel.markRuleDirty(i,a,c),this._deleteComputeCache(i,a,c.cfId)});break}case J.RemoveRowMutation.id:case J.InsertRowMutation.id:{const{range:n,unitId:i,subUnitId:a}=t.params,l=this._conditionalFormattingRuleModel.getSubunitRules(i,a),o={...n,endRow:Number.MAX_SAFE_INTEGER};l&&l.filter(c=>c.ranges.some(d=>g.Rectangle.intersects(d,o))).forEach(c=>{this._conditionalFormattingViewModel.markRuleDirty(i,a,c),this._deleteComputeCache(i,a,c.cfId)});break}case J.MoveRowsMutation.id:{const{sourceRange:n,targetRange:i,unitId:a,subUnitId:l}=t.params,o=this._conditionalFormattingRuleModel.getSubunitRules(a,l),u={startRow:Math.min(n.startRow,i.startRow),endRow:Number.MAX_SAFE_INTEGER,startColumn:0,endColumn:Number.MAX_SAFE_INTEGER};o&&o.filter(d=>d.ranges.some(D=>g.Rectangle.intersects(D,u))).forEach(d=>{this._conditionalFormattingViewModel.markRuleDirty(a,l,d),this._deleteComputeCache(a,l,d.cfId)});break}case J.MoveColsMutation.id:{const{sourceRange:n,targetRange:i,unitId:a,subUnitId:l}=t.params,o=this._conditionalFormattingRuleModel.getSubunitRules(a,l),u={startRow:0,endRow:Number.MAX_SAFE_INTEGER,startColumn:Math.min(n.startColumn,i.startColumn),endColumn:Number.MAX_SAFE_INTEGER};o&&o.filter(d=>d.ranges.some(D=>g.Rectangle.intersects(D,u))).forEach(d=>{this._conditionalFormattingViewModel.markRuleDirty(a,l,d),this._deleteComputeCache(a,l,d.cfId)});break}case J.MoveRangeMutation.id:{const{unitId:n,to:i,from:a}=t.params,l=o=>{const u=[];new g.ObjectMatrix(o.value).forValue((d,D)=>{u.push([d,D])}),e(n,o.subUnitId,u).forEach(d=>{this._conditionalFormattingViewModel.markRuleDirty(n,o.subUnitId,d),this._deleteComputeCache(n,o.subUnitId,d.cfId)})};l(i),l(a);break}case J.ReorderRangeMutation.id:{const{range:n,unitId:i,subUnitId:a}=t.params,l=this._conditionalFormattingRuleModel.getSubunitRules(i,a);l&&l.filter(u=>u.ranges.some(c=>g.Rectangle.intersects(c,n))).forEach(u=>{this._conditionalFormattingViewModel.markRuleDirty(i,a,u),this._deleteComputeCache(i,a,u.cfId)});break}}}))}_initRemoteCalculate(){this.disposeWithMe(this._ruleComputeStatus$.subscribe(({status:t,subUnitId:e,unitId:n,cfId:i,result:a})=>{const l=this._getComputedCache(n,e,i)||{};l.status=t,this._setComputedCache(n,e,i,l),t==="end"&&a&&(this.interceptorManager.fetchThroughInterceptors(this.interceptorManager.getInterceptPoints().beforeUpdateRuleResult)({subUnitId:e,unitId:n,cfId:i},void 0),a.forValue((o,u,c)=>{this._conditionalFormattingViewModel.setCellCfRuleCache(n,e,o,u,i,c)}))}))}async _handleCalculateUnit(t,e,n){if(!this._conditionalFormattingRuleModel.getRule(t,e,n.cfId))return;const i=this._univerInstanceService.getUnit(t),a=i==null?void 0:i.getSheetBySheetId(e);let l=this._getComputedCache(t,e,n.cfId);if(l&&["computing","end"].includes(l.status))return;l||(l={status:"computing"},this._setComputedCache(t,e,n.cfId,l));const o=this._calculationUnitMap.get(n.rule.type);if(!o||!a)return;const u={unitId:t,subUnitId:e,accessor:this._injector,workbook:i,worksheet:a},c=await o.handle(n,u);this._ruleComputeStatus$.next({status:"end",unitId:t,subUnitId:e,cfId:n.cfId,result:c})}},f.ConditionalFormattingService=B0([l2(0,g.Inject(f.ConditionalFormattingRuleModel)),l2(1,g.Inject(g.Injector)),l2(2,g.Inject(D2)),l2(3,g.Inject(g.IUniverInstanceService)),l2(4,g.Inject(g.IResourceManagerService)),l2(5,g.Inject(J.SheetInterceptorService)),l2(6,g.Inject(g.ICommandService))],f.ConditionalFormattingService);const k0=s=>s.getCurrentUnitForType(g.UniverInstanceType.UNIVER_SHEET).getUnitId(),O0=s=>{var r;return(r=s.getCurrentUnitForType(g.UniverInstanceType.UNIVER_SHEET).getActiveSheet())==null?void 0:r.getSheetId()};var $0=Object.defineProperty,U0=Object.getOwnPropertyDescriptor,V0=(s,r,t,e)=>{for(var n=e>1?void 0:e?U0(r,t):r,i=s.length-1,a;i>=0;i--)(a=s[i])&&(n=(e?a(r,t,n):a(n))||n);return e&&n&&$0(r,t,n),n},k2=(s,r)=>(t,e)=>r(t,e,s);f.UniverSheetsConditionalFormattingPlugin=(x2=class extends g.Plugin{constructor(r=C0,t,e,n){super(),this._config=r,this._injector=t,this._commandService=e,this._configService=n;const{...i}=this._config;this._configService.setConfig(f0,i),[[f.ConditionalFormattingService],[f.ConditionalFormattingFormulaService],[f.ConditionalFormattingRuleModel],[D2]].forEach(a=>{this._injector.add(a)}),[b2,y2,I2,_2,F2].forEach(a=>{this._commandService.registerCommand(a)})}onStarting(){this._injector.get(f.ConditionalFormattingService)}},I(x2,"pluginName",S2),I(x2,"type",g.UniverInstanceType.UNIVER_SHEET),x2),f.UniverSheetsConditionalFormattingPlugin=V0([k2(1,g.Inject(g.Injector)),k2(2,g.Inject(g.ICommandService)),k2(3,g.IConfigService)],f.UniverSheetsConditionalFormattingPlugin);const K2="sheet-conditional-rule-icon",N0=35,J2=15,z2=2;class Q2 extends h2.SheetExtension{constructor(){super();I(this,"_paddingRightAndLeft",z2);I(this,"_width",J2);I(this,"_imageMap",new Map);I(this,"uKey",K2);I(this,"Z_INDEX",N0);I(this,"_radius",1);this._init()}draw(t,e,n,i){const{worksheet:a}=n;if(!a)return!1;t.save(),g.Range.foreach(n.rowColumnSegment,(l,o)=>{if(!a.getRowVisible(l)||!a.getColVisible(o))return;const u=a.getCell(l,o);if(u!=null&&u.iconSet){const{iconType:c,iconId:d}=u.iconSet;if(c===j2)return;const D=this._imageMap.get(this._createKey(c,d));if(!D)return;const h=n.getCellByIndexWithNoHeader(l,o);let{isMerged:m,isMergedMainCell:C,mergeInfo:w,startY:E,endY:S,startX:b,endX:k}=h;if(m||(C&&(E=w.startY,S=w.endY,b=w.startX,k=w.endX),!this.isRenderDiffRangesByCell(w,i)))return;const q=k-b,P=S-E;if(this._width>P||this._width>q+this._paddingRightAndLeft*2)return;const f2=(P-this._width)/2+E;t.drawImage(D,b+this._paddingRightAndLeft,f2,this._width,this._width)}}),t.restore()}_init(){for(const t in m2)m2[t].forEach((n,i)=>{const a=this._createKey(t,String(i)),l=new Image;l.onload=()=>{this._imageMap.set(a,l)},l.src=n})}_createKey(t,e){return`${t}_${e}`}}h2.SpreadsheetExtensionRegistry.add(Q2);const j0=(s,r)=>r.length===s.length&&!s.some(t=>r.some(e=>!g.Rectangle.equals(e,t)));function t0(s){if(typeof s!="object"||s===null)return s;const r={};for(const t in s)if(s.hasOwnProperty(t)){const e=t0(s[t]);e!==void 0&&(r[t]=e)}return r}f.AddConditionalRuleMutation=b2,f.AddConditionalRuleMutationUndoFactory=h0,f.CFNumberOperator=T,f.CFRuleType=W,f.CFSubRuleType=U,f.CFTextOperator=Y,f.CFTimePeriodOperator=H,f.CFValueType=z,f.ConditionalFormattingFormulaMarkDirty=F2,f.ConditionalFormattingIcon=Q2,f.ConditionalFormattingViewModel=D2,f.DEFAULT_BG_COLOR=e0,f.DEFAULT_FONT_COLOR=n0,f.DEFAULT_PADDING=z2,f.DEFAULT_WIDTH=J2,f.DataBar=X2,f.DeleteConditionalRuleMutation=y2,f.DeleteConditionalRuleMutationUndoFactory=P2,f.EMPTY_ICON_TYPE=j2,f.EMPTY_STYLE=r2,f.FormulaResultStatus=j,f.IconUKey=K2,f.MoveConditionalRuleMutation=_2,f.MoveConditionalRuleMutationUndoFactory=d0,f.SHEET_CONDITIONAL_FORMATTING_PLUGIN=S2,f.SetConditionalRuleMutation=I2,f.anchorUndoFactory=V2,f.compareWithNumber=g2,f.createCfId=O2,f.createDefaultRule=i0,f.createDefaultValue=s0,f.createDefaultValueByValueType=a0,f.dataBarUKey=G2,f.defaultDataBarNativeColor=T2,f.defaultDataBarPositiveColor=B2,f.filterRange=p2,f.findIndexByAnchor=i2,f.getCacheStyleMatrix=A0,f.getCellValue=e2,f.getColorScaleFromValue=H2,f.getMaxInFormulaResult=M0,f.getOppositeOperator=Y2,f.getValueByType=E2,f.iconGroup=N2,f.iconMap=m2,f.isAnchorEqual=r0,f.isFloatsEqual=v2,f.isNullable=G,f.isRangesEqual=j0,f.moveByAnchor=$2,f.removeUndefinedAttr=t0,f.serialTimeToTimestamp=Z2,f.setConditionalRuleMutationUndoFactory=g0,f.toYMD_1900=q2,f.transformSupportSymmetryAnchor=U2,Object.defineProperty(f,Symbol.toStringTag,{value:"Module"})});