show urgency`}},presets:{line1:"",line2:"",name:""},recurringTasks:{heading:"Wiederkehrende Aufgaben",nextLine:{description:"Aktivieren Sie dies, damit das n\xE4chste Auftreten einer Aufgabe in der Zeile unterhalb der abgeschlossenen Aufgabe erscheint. Ansonsten erscheint es vor der abgeschlossenen Aufgabe.",name:"N\xE4chste Wiederholung erscheint in Zeile darunter"},removeScheduledDate:{description:{line1:"Aktiviert, damit das n\xE4chste Auftreten einer Aufgabe keinen geplanten (\u23F3) Termin hat, wenn mindestens Start-(\u{1F6EB}) oder F\xE4lligkeitsdaten (\u{1F4C5}) vorhanden sind.",line2:"Dies gilt, wenn Sie m\xF6chten, dass Start- und F\xE4lligkeitsdaten beim n\xE4chsten Auftreten beibehalten werden, aber das geplante Datum sp\xE4ter festgelegt wird, sobald Sie planen, daran zu arbeiten."},name:"Geplantes Datum bei Wiederholung entfernen"}},seeTheDocumentation:"Vgl. die Dokumentation",statuses:{collections:{anuppuccinTheme:"AnuPpuccin Theme",auraTheme:"Aura Theme",borderTheme:"Border Theme",buttons:{addCollection:{name:"{{themeName}}: F\xFCge {{numberOfStatuses}} unterst\xFCtzte Status hinzu"}},ebullientworksTheme:"Ebullientworks Theme",itsThemeAndSlrvbCheckboxes:"ITS Theme & SlRvb Kontrollk\xE4stchen",lytModeTheme:"LYT Mode Theme (nur Dunkelmodus)",minimalTheme:"Minimal Theme",thingsTheme:"Things Theme"},coreStatuses:{buttons:{checkStatuses:{name:"\xDCberpr\xFCfen und einsehen Sie Ihre Status-Eintr\xE4ge",tooltip:"Erstellen Sie eine neue Datei im Hauptverzeichnis des Tresors, die ein Mermaid-Diagramm der aktuellen Statuseinstellungen enth\xE4lt."}},description:{line1:"Diese Kern-Status unterst\xFCtzt Tasks nativ ohne benutzerdefiniertes CSS-Styling oder Themes.",line2:"Hinzuf\xFCgen und Bearbeiten Ihrer eigenen benutzerdefinierten Status k\xF6nnen Sie im unteren Abschnitt."},heading:"Kern-Status"},customStatuses:{buttons:{addAllUnknown:{name:"Alle unbekannten Statustypen hinzuf\xFCgen"},addNewStatus:{name:"Neuen Aufgabenstatus hinzuf\xFCgen"},resetCustomStatuses:{name:"Benutzerdefinierte Statustypen auf Standard zur\xFCcksetzen"}},description:{line1:"Zuerst w\xE4hlen und installieren Sie ein CSS-Snippet oder Theme, um benutzerdefinierte Kontrollk\xE4stchen zu formatieren.",line2:"Verwenden Sie dann die untenstehenden Schaltfl\xE4chen, um Ihre benutzerdefinierten Status zu erstellen, sodass sie mit Ihren ausgew\xE4hlten CSS-Kontrollk\xE4stchen \xFCbereinstimmen.",line3:"Hinweis: Status mit dem gleichen Symbol wie ein fr\xFCherer Status ignorieren wir. Best\xE4tigen Sie die tats\xE4chlich geladenen Status, indem Sie den 'Aufgabe erstellen oder bearbeiten'-Befehl ausf\xFChren und das Status-Dropdown anschauen.",line4:"Nutzen Sie die Dokumentation, um loszulegen!"},heading:"Benutzerdefinierte Status"},heading:"Aufgabenstatus"}}}});vartT,eT=Z(()=>{tT={main:{loadingPlugin:"Loading plugin: {{name}} v{{version}}",unloadingPlugin:"Unloading plugin: {{name}} v{{version}}"},modals:{customStatusModal:{editAvailableAsCommand:{description:"If enabled this status will be available as a command so you can assign a hotkey and toggle the status using it.",name:"Available as command"},editNextStatusSymbol:{description:"When clicked on this is the symbol that should be used next.",name:"Task Next Status Symbol"},editStatusName:{description:"This is the friendly name of the task status.",name:"Task Status Name"},editStatusSymbol:{description:"This is the character between the square braces. (It can only be edited for Custom statuses, and not Core statuses.)",name:"Task Status Symbol"},editStatusType:{description:"Control how the status behaves for searching and toggling.",name:"Task Status Type"},fixErrorsBeforeSaving:"Fix errors before saving."}},reports:{statusRegistry:{about:{createdBy:"This file was created by the Obsidian Tasks plugin (version {{version}}) to help visualise the task statuses in this vault.",deleteFileAnyTime:"You can delete this file any time.",title:"About this file",updateReport:{line1:"If you change the Tasks status settings, you can get an updated report by:",line2:"Going to `Settings` -> `Tasks`.",line3:"Cl
show urgency`}},presets:{line1:"Youcandefinenamedinstructionshere,thatyoucanre-useinmultiplequeries.Apresetcalled'{{name}}'canbeusedinTasksquerieswitheither'{{instruction1}}'or'{{instruction2}}'.",line2:"AnyopenTasksqueriesarereloadedautomaticallywhenpresetsareedited.",name:"Presets"},recurringTasks:{heading:"Recurringtasks",nextLine:{description:"Enablingthiswillmakethenextrecurrenceofataskappearonthelinebelowthecompletedtask.Otherwisethenextrecurrencewillappearbeforethecompletedone.",name:"Nextrecurrenceappearsonthelinebelow"},removeScheduledDate:{description:{line1:"EnablingthiswillmakethenextrecurrenceofataskhavenoScheduled(\u23F3)date,whenatleastoneofStart(\u{1F6EB})orDue(\u{1F4C5})datesispresent.",line2:"ThisisforwhenyouwanttheStartandDuedatestocarryforwardtothenextrecurrence,butyouwillsettheScheduleddateinfuture,onceyouplantoworkonit."},name:"Removescheduleddateonrecurrence"}},seeTheDocumentation:"Seethedocumentation",statuses:{collections:{anuppuccinTheme:"AnuPpuccinTheme",auraTheme:"AuraTheme",borderTheme:"BorderTheme",buttons:{addCollection:{name:"{{themeName}}:Add{{numberOfStatuses}}supportedStatuses"}},ebullientworksTheme:"EbullientworksTheme",itsThemeAndSlrvbCheckboxes:"ITSTheme&SlRvbCheckboxes",lytModeTheme:"LYTModeTheme(Darkmodeonly)",minimalTheme:"MinimalTheme",thingsTheme:"ThingsTheme"},coreStatuses:{buttons:{checkStatuses:{name:"ReviewandcheckyourStatuses",tooltip:"Createanewfileintherootofthevault,containingaMermaiddiagramofthecurrentstatussettings."}},description:{line1:"ThesearethecorestatusesthatTaskssupportsnatively,withnoneedforcustomCSSstylingortheming.",line2:"Youcanaddeditandaddyourowncustomstatusesinthesectionbelow."},heading:"CoreStatuses"},customStatuses:{buttons:{addAllUnknown:{name:"AddAllUnknownStatusTypes"},addNewStatus:{name:"AddNewTaskStatus"},resetCustomStatuses:{name:"ResetCustomStatusTypestoDefaults"}},description:{line1:"Youshouldfirst<b>selectandinstallaCSSSnippetorTheme</b> to style custom checkboxes.",line2:"Then, use the buttons below to set up your custom statuses, to match your chosen CSS checkboxes.",line3:"<b>Note</b> Any statuses with the same symbol as any earlier statuses will be ignored. You can confirm the actually loaded statuses by running the 'Create or edit task' command and looking at the Status drop-down.",line4:"See the documentation to get started!"},heading:"Custom Statuses"},heading:"Task Statuses"}}}});var rT,nT=Z(()=>{rT={main:{loadingPlugin:"\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430 \u043F\u043B\u0430\u0433\u0438\u043D\u0430: {{name}} v{{version}}",unloadingPlugin:"\u0412\u044B\u0433\u0440\u0443\u0437\u043A\u0430 \u043F\u043B\u0430\u0433\u0438\u043D\u0430: {{name}} v{{version}}"},modals:{customStatusModal:{editAvailableAsCommand:{description:"\u0415\u0441\u043B\u0438 \u0432\u043A\u043B\u044E\u0447\u0435\u043D\u043E, \u044D\u0442\u043E\u0442 \u0441\u0442\u0430\u0442\u0443\u0441 \u0431\u0443\u0434\u0435\u0442 \u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D \u043A\u0430\u043A \u043A\u043E\u043C\u0430\u043D\u0434\u0430, \u043F\u043E\u044D\u0442\u043E\u043C\u0443 \u0432\u044B \u043C\u043E\u0436\u0435\u0442\u0435 \u043D\u0430\u0437\u043D\u0430\u0447\u0438\u0442\u044C \u0433\u043E\u0440\u044F\u0447\u0443\u044E \u043A\u043B\u0430\u0432\u0438\u0448\u0443 \u0438 \u043F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0430\u0442\u044C \u0441\u0442\u0430\u0442\u0443\u0441 \u0441 \u0435\u0435 \u043F\u043E\u043C\u043E\u0449\u044C\u044E.",name:"\u0414\u043E\u0441\u0442\u0443\u043F\u043D\u043E \u043A\u0430\u043A \u043A\u043E\u043C\u0430\u043D\u0434\u0430"},editNextStatusSymbol:{description:"\u041F\u0440\u0438 \u043D\u0430\u0436\u0430\u0442\u0438\u0438 \u044D\u0442\u043E \u0441\u0438\u043C\u0432\u043E\u043B, \u043A\u043E\u0442\u043E\u0440\u044B\u0439 \u0441\u043B\u0435\u0434\u0443\u0435\u0442 \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0
show urgency`}},presets:{line1:"\u60A8\u53EF\u4EE5\u5728\u8FD9\u91CC\u5B9A\u4E49\u547D\u540D\u6307\u4EE4\uFF0C\u53EF\u4EE5\u5728\u591A\u4E2A\u67E5\u8BE2\u4E2D\u91CD\u590D\u4F7F\u7528\u3002\u4E00\u4E2A\u540D\u4E3A'{{name}}'\u7684\u9884\u8BBE\u53EF\u4EE5\u5728\u4EFB\u52A1\u67E5\u8BE2\u4E2D\u4F7F\u7528'{{instruction1}}'\u6216'{{instruction2}}'\u3002",line2:"\u4EFB\u4F55\u6253\u5F00\u7684\u4EFB\u52A1\u67E5\u8BE2\u5728\u9884\u8BBE\u88AB\u7F16\u8F91\u65F6\u90FD\u4F1A\u81EA\u52A8\u91CD\u65B0\u52A0\u8F7D\u3002",name:"\u9884\u8BBE"},recurringTasks:{heading:"\u91CD\u590D\u6027\u4EFB\u52A1",nextLine:{description:"\u542F\u7528\u6B64\u529F\u80FD\u540E\uFF0C\u4EFB\u52A1\u7684\u4E0B\u4E00\u6B21\u91CD\u590D\u5C06\u663E\u793A\u5728\u5DF2\u5B8C\u6210\u4EFB\u52A1\u7684\u4E0B\u4E00\u884C\u3002\u82E5\u5173\u95ED\u6B64\u529F\u80FD\uFF0C\u5219\u4E0B\u4E00\u6B21\u91CD\u590D\u5C06\u51FA\u73B0\u5728\u5DF2\u5B8C\u6210\u4EFB\u52A1\u7684\u4E0A\u4E00\u884C\u3002",name:"\u628A\u4EFB\u52A1\u7684\u4E0B\u4E00\u6B21\u91CD\u590D\u653E\u5728\u4E0B\u4E00\u884C"},removeScheduledDate:{description:{line1:"\u5F00\u542F\u6B64\u9009\u9879\u540E\uFF0C\u5F53\u4EFB\u52A1\u81F3\u5C11\u8BBE\u7F6E\u4E86\u5F00\u59CB\u65E5\u671F(\u{1F6EB})\u6216\u8BA1\u5212\u65E5\u671F(\u{1F4C5})\u4E2D\u7684\u4E00\u4E2A\u65F6\uFF0C\u8BE5\u4EFB\u52A1\u7684\u4E0B\u4E00\u6B21\u91CD\u590D\u5468\u671F\u5C06\u4E0D\u518D\u5305\u542B\u8BA1\u5212\u65E5\u671F(\u23F3)\u3002",line2:"\u6B64\u529F\u80FD\u9002\u7528\u4E8E\u4F60\u5E0C\u671B\u5C06\u5F00\u59CB\u548C\u622A\u6B62\u65E5\u671F\u5EF6\u7EED\u5230\u4E0B\u4E00\u4E2A\u5468\u671F\uFF0C\u4F46\u8BA1\u5212\u65E5\u671F\u6682\u4E0D\u8BBE\u7F6E\uFF0C\u7B49\u5B9E\u9645\u5F00\u59CB\u5904\u7406\u65F6\u518D\u786E\u5B9A\u7684\u60C5\u51B5\u3002"},name:"\u5728\u91CD\u590D\u6027\u4EFB\u52A1\u4E2D\u79FB\u9664\u8BA1\u5212\u65E5\u671F"}},seeTheDocumentation:"\u53C2\u9605\u6587\u6863",statuses:{collections:{anuppuccinTheme:"AnuPpuccin\u4E3B\u9898",auraTheme:"Aura\u4E3B\u9898",borderTheme:"Border\u4E3B\u9898",buttons:{addCollection:{name:"{{themeName}}:\u6DFB\u52A0{{numberOfStatuses}}\u79CD\u652F\u6301\u72B6\u6001"}},ebullientworksTheme:"Ebullientworks\u4E3B\u9898",itsThemeAndSlrvbCheckboxes:"ITS\u4E3B\u9898\u548CSlRvb\u590D\u9009\u6846",lytModeTheme:"LYTMode\u4E3B\u9898(\u4EC5\u6DF1\u8272\u6A21\u5F0F)",minimalTheme:"Minimal\u4E3B\u9898",thingsTheme:"Things\u4E3B\u9898"},coreStatuses:{buttons:{checkStatuses:{name:"\u67E5\u770B\u5E76\u68C0\u67E5\u60A8\u7684\u72B6\u6001",tooltip:"\u5728\u5E93\u7684\u6839\u76EE\u5F55\u4E0B\u521B\u5EFA\u4E00\u4E2A\u65B0\u6587\u4EF6,\u5305\u542B\u5F53\u524D\u72B6\u6001\u8BBE\u7F6E\u7684Mermaid\u56FE\u8868."}},description:{line1:"\u8FD9\u4E9B\u662FTasks\u539F\u751F\u652F\u6301\u7684\u6838\u5FC3\u72B6\u6001\uFF0C\u4E0D\u9700\u8981\u81EA\u5B9A\u4E49CSS\u6837\u5F0F\u6216\u4E3B\u9898\u3002",line2:"\u60A8\u53EF\u4EE5\u5728\u4E0B\u9762\u7F16\u8F91\u548C\u6DFB\u52A0\u81EA\u5B9A\u4E49\u72B6\u6001\u3002"},heading:"\u6838\u5FC3\u72B6\u6001"},customStatuses:{buttons:{addAllUnknown:{name:"\u6DFB\u52A0\u6240\u6709\u672A\u77E5\u72B6\u6001\u7C7B\u578B"},addNewStatus:{name:"\u6DFB\u52A0\u65B0\u4EFB\u52A1\u72B6\u6001"},resetCustomStatuses:{name:"\u91CD\u7F6E\u81EA\u5B9A\u4E49\u72B6\u6001\u7C7B\u578B\u4E3A\u9ED8\u8BA4\u503C"}},description:{line1:"\u60A8\u5E94\u8BE5\u9996\u5148<b>\u9009\u62E9\u5E76\u5B89\u88C5CSS\u4EE3\u7801\u6BB5\u6216\u4E3B\u9898<b>\u4EE5\u8BBE\u7F6E\u81EA\u5B9A\u4E49\u590D\u9009\u6846\u7684\u6837\u5F0F",line2:"\u7136\u540E\uFF0C\u4F7F\u7528\u4E0B\u9762\u7684\u6309\u94AE\u8BBE\u7F6E\u60A8\u7684\u81EA\u5B9A\u4E49\u72B6\u6001,\u4EE5\u5339\u914D\u60A8\u9009\u62E9\u7684CSS\u590D\u9009\u6846.",line3:"<b>\u6CE8\u610F</b>\u4EFB\u4F55\u4E0E\u66F4\u65E9\u7684\u72B6\u6001\u5177\u6709\u76F8\u540C\u7B26\u53F7\u7684\u72B6\u6001\u90FD\u5C06\u88AB\u5FFD\u7565.\u60A8\u53EF\u4EE5\u901A\u8FC7\u8FD0\u884C\u201CCreate or edit task\u201D\u547D\u4EE4\u5E76\u67E5\u770B\u201CStatus\u201D\u4E0B\u62C9\u5217\u8868\u6765\u786E\u8BA4\u5B9E\u9645\u52A0\u8F7D\u7684\u72B6\u6001\u3002",line4:"\u53C2\u9605\u6587\u6863\uFF01"},heading:"\u81EA\u5B9A\
`).map(XL).filter(function(e){return e!==null});return Pt(Pt({},t[0]),t[1])}function eu(r){var t={},e=/DTSTART(?:;TZID=([^:=]+?))?(?::|=)([^;\s]+)/i.exec(r);if(!e)return t;var n=e[1],i=e[2];return n&&(t.tzid=n),t.dtstart=Ql(i),t}function XL(r){if(r=r.replace(/^\s+|\s+$/,""),!r.length)return null;var t=/^([A-Z]+?)[:;]/.exec(r.toUpperCase());if(!t)return oS(r);var e=t[1];switch(e.toUpperCase()){case"RRULE":case"EXRULE":return oS(r);case"DTSTART":return eu(r);default:throw new Error("Unsupported RFC prop ".concat(e," in ").concat(r))}}function oS(r){var t=r.replace(/^RRULE:/i,""),e=eu(t),n=r.replace(/^(?:RRULE|EXRULE):/i,"").split(";");return n.forEach(function(i){var s=i.split("="),a=s[0],o=s[1];switch(a.toUpperCase()){case"FREQ":e.freq=Ae[o.toUpperCase()];break;case"WKST":e.wkst=tr[o.toUpperCase()];break;case"COUNT":case"INTERVAL":case"BYSETPOS":case"BYMONTH":case"BYMONTHDAY":case"BYYEARDAY":case"BYWEEKNO":case"BYHOUR":case"BYMINUTE":case"BYSECOND":var l=JL(o),u=a.toLowerCase();e[u]=l;break;case"BYWEEKDAY":case"BYDAY":e.byweekday=e2(o);break;case"DTSTART":case"TZID":var c=eu(r);e.tzid=c.tzid,e.dtstart=c.dtstart;break;case"UNTIL":e.until=Ql(o);break;case"BYEASTER":e.byeaster=Number(o);break;default:throw new Error("Unknown RRULE property '"+a+"'")}}),e}function JL(r){if(r.indexOf(",")!==-1){var t=r.split(",");return t.map(lS)}return lS(r)}function lS(r){return/^[+-]?\d+$/.test(r)?Number(r):r}function e2(r){var t=r.split(",");return t.map(function(e){if(e.length===2)return tr[e];var n=e.match(/^([+-]?\d{1,2})([A-Z]{2})$/);if(!n||n.length<3)throw new SyntaxError("Invalid weekday string: ".concat(e));var i=Number(n[1]),s=n[2],a=tr[s].weekday;return new ft(a,i)})}var Zg=Z(()=>{Br();_i();As();jt();er()});var Fs,Kc=Z(()=>{jt();Fs=function(){function r(t,e){if(isNaN(t.getTime()))throw new RangeError("Invalid date passed to DateWithZone");this.date=t,this.tzid=e}return Object.defineProperty(r.prototype,"isUTC",{get:function(){return!this.tzid||this.tzid.toUpperCase()==="UTC"},enumerable:!1,configurable:!0}),r.prototype.toString=function(){var t=La(this.date.getTime(),this.isUTC);return this.isUTC?":".concat(t):";TZID=".concat(this.tzid,":").concat(t)},r.prototype.getTime=function(){return this.date.getTime()},r.prototype.rezonedDate=function(){return this.isUTC?this.date:Vk(this.date,this.tzid)},r}()});function nu(r){for(var t=[],e="",n=Object.keys(r),i=Object.keys(Jl),s=0;s<n.length;s++)if(n[s]!=="tzid"&&!!Fe(i,n[s])){var a=n[s].toUpperCase(),o=r[n[s]],l="";if(!(!Je(o)||At(o)&&!o.length)){switch(a){case"FREQ":l=oe.FREQUENCIES[r.freq];break;case"WKST":Rn(o)?l=new ft(o).toString():l=o.toString();break;case"BYWEEKDAY":a="BYDAY",l=qk(o).map(function(p){return p instanceof ft?p:At(p)?new ft(p[0],p[1]):new ft(p)}).toString();break;case"DTSTART":e=t2(o,r.tzid);break;case"UNTIL":l=La(o,!r.tzid);break;default:if(At(o)){for(var u=[],c=0;c<o.length;c++)u[c]=String(o[c]);l=u.toString()}else l=String(o)}l&&t.push([a,l])}}var d=t.map(function(p){var b=p[0],T=p[1];return"".concat(b,"=").concat(T.toString())}).join(";"),f="";return d!==""&&(f="RRULE:".concat(d)),[e,f].filter(function(p){return!!p}).join(`
`),n=0;n<e.length;){vari=e[n]=e[n].replace(/\s+$/g,"");i?n>0&&i[0]===" "?(e[n-1]+=i.slice(1),e.splice(n,1)):n+=1:e.splice(n,1)}returne}functionb2(r){r.forEach(function(t){if(!/(VALUE=DATE(-TIME)?)|(TZID=)/.test(t))thrownewError("unsupported RDATE/EXDATE parm: "+t)})}functionNS(r,t){returnb2(t),r.split(",").map(function(e){returnQl(e)})}varPS,ny=Z(()=>{Br();er();iy();jt();rn();Zg();PS={dtstart:null,cache:!1,unfold:!1,forceset:!1,compatible:!1,tzid:null}});functionIS(r){vart=this;returnfunction(e){if(e!==void0&&(t["_".concat(r)]=e),t["_".concat(r)]!==void0)returnt["_".concat(r)];for(varn=0;n<t._rrule.length;n++){vari=t._rrule[n].origOptions[r];if(i)returni}}}functionFS(r,t){if(!(rinstanceofoe))thrownewTypeError(String(r)+" is not RRule instance");Fe(t.map(String),String(r))||t.push(r)}functionLS(r,t){if(!(rinstanceofDate))thrownewTypeError(String(r)+" is not Date instance");Fe(t.map(Number),Number(r))||(t.push(r),Ti(t))}functionUS(r,t,e){varn=!e||e.toUpperCase()==="UTC",i=n?"".concat(r,":"):"".concat(r,";TZID=").concat(e,":"),s=t.map(function(a){returnLa(a.valueOf(),n)}).join(",");return"".concat(i).concat(s)}varry,iy=Z(()=>{Br();er();jt();rn();AS();ny();Xg();ry=function(r){Ua(t,r);functiont(e){e===void0&&(e=!1);varn=r.call(this,{},e)||this;returnn.dtstart=IS.apply(n,["dtstart"]),n.tzid=IS.apply(n,["tzid"]),n._rrule=[],n._rdate=[],n._exrule=[],n._exdate=[],n}returnt.prototype._iter=function(e){returnMS(e,this._rrule,this._exrule,this._rdate,this._exdate,this.tzid())},t.prototype.rrule=function(e){FS(e,this._rrule)},t.prototype.exrule=function(e){FS(e,this._exrule)},t.prototype.rdate=function(e){LS(e,this._rdate)},t.prototype.exdate=function(e){LS(e,this._exdate)},t.prototype.rrules=function(){returnthis._rrule.map(function(e){returnZc(e.toString())})},t.prototype.exrules=function(){returnthis._exrule.map(function(e){returnZc(e.toString())})},t.prototype.rdates=function(){returnthis._rdate.map(function(e){returnnewDate(e.getTime())})},t.prototype.exdates=function(){returnthis._exdate.map(function(e){returnnewDate(e.getTime())})},t.prototype.valueOf=function(){vare=[];return!this._rrule.length&&this._dtstart&&(e=e.concat(nu({dtstart:this._dtstart}))),this._rrule.forEach(function(n){e=e.concat(n.toString().split(`
`)},t.prototype.clone=function(){vare=newt(!!this._cache);returnthis._rrule.forEach(function(n){returne.rrule(n.clone())}),this._exrule.forEach(function(n){returne.exrule(n.clone())}),this._rdate.forEach(function(n){returne.rdate(newDate(n.getTime()))}),this._exdate.forEach(function(n){returne.exdate(newDate(n.getTime()))}),e},t}(oe)});varYS=Z(()=>{er();iy();ny();_i();As();jt()});varDt,Xc=Z(()=>{"use strict";YS();Dt=class{constructor({rrule:t,baseOnToday:e,occurrence:n}){this.rrule=t,this.baseOnToday=e,this.occurrence=n}staticfromText({recurrenceRuleText:t,occurrence:e}){try{letn=t.match(/^([a-zA-Z0-9, !]+?)( when done)?$/i);if(n==null)returnnull;leti=n[1].trim(),s=n[2]!==void0,a=oe.parseText(i);if(a!==null){leto=e.referenceDate;!s&&o!==null?a.dtstart=window.moment(o).startOf("day").utc(!0).toDate():a.dtstart=window.moment().startOf("day").utc(!0).toDate();letl=newoe(a);returnnewDt({rrule:l,baseOnToday:s,occurrence:e})}}catch(n){ninstanceofError&&console.log(n.message)}returnnull}toText(){lett=this.rrule.toText();returnthis.baseOnToday&&(t+=" when done"),t}next(t=window.moment(),e=!1){letn=this.nextReferenceDate(t);returnn===null?null:this.occurrence.next(n,e)}identicalTo(t){returnthis.baseOnToday!==t.baseOnToday||!this.occurrence.isIdenticalTo(t.occurrence)?!1:this.toText()===t.toText()}nextReferenceDate(t){returnthis.baseOnToday?this.nextReferenceDateFromToday(t.clone()).toDate():this.nextReferenceDateFromOriginalReferenceDate().toDate()}nextReferenceDateFromToday(t){lete=newoe(de(F({},this.rrule.origOptions),{dtstart:t.startOf("day").utc(!0).toDate()}));returnthis.nextAfter(t.endOf("day"),e)}nextReferenceDateFromOriginalReferenceDate(){vare;lett=window.moment((e=this.occurrence.referenceDate)!=null?e:void0).endOf("day");returnthis.nextAfter(t,this.rrule)}nextAfter(t,e){t.utc(!0);letn=window.moment.utc(e.after(t.toDate())),i=this.toText(),s=i.match(/every( \d+)? month(s)?(.*)?/);s!==null&&(i.includes(" on ")||(n=Dt.nextAfterMonths(t,n,e,s[1])));leta=i.match(/every( \d+)? year(s)?(.*)?/);returna!==null&&(n=Dt.nextAfterYears(t,n,e,a[1])),Dt.addTimezone(n)}staticnextAfterMonths(t,e,n,i){lets=1;for(i!==void0&&(s=Number.parseInt(i.trim(),10));Dt.isSkippingTooManyMonths(t,e,s);)e=Dt.fromOneDayEarlier(t,n);returne}staticisSkippingTooManyMonths(t,e,n){leti=e.month()-t.month();returni+=(e.year()-t.year())*12,i>n}staticnextAfterYears(t,e,n,i){lets=1;for(i!==void0&&(s=Number.parseInt(i.trim(),10));Dt.isSkippingTooManyYears(t,e,s);)e=Dt.fromOneDayEarlier(t,n);returne}staticisSkippingTooManyYears(t,e,n){returne.year()-t.year()>n}staticfromOneDayEarlier(t,e){t.subtract(1,"days").endOf("day");letn=e.origOptions;returnn.dtstart=t.startOf("day").toDate(),e=newoe(n),window.moment.utc(e.after(t.toDate()))}staticaddTimezone(t){returnwindow.moment.utc(t).set({hour:12,minute:0,second:0,millisecond:0}).local(!0).startOf("day")}}});function$S(r,t,e){letn=newMap([["cancelled date","cancelledDate"],["created date","createdDate"],["depends on","dependsOn"],["done date","doneDate"],["due date","dueDate"],["id","id"],["on completion","onCompletion"],["priority","priority"],["recurrence rule","recurrenceRule"],["scheduled date","scheduledDate"],["start date","startDate"]]);for(let[i,s]ofn.entries())if(t.startsWith(i))returnr.setVisibility(s,e),!0;returnt.startsWith("tags")?(r.setTagsVisibility(e),!0):!1}varru,Jc,zr,Ls=Z(()=>{"use strict";ru=(p=>(p.Description="description",p.Id="id",p.DependsOn="dependsOn",p.Priority="priority",p.RecurrenceRule="recurrenceRule",p.OnCompletion="onCompletion",p.CreatedDate="createdDate",p.StartDate="startDate",p.ScheduledDate="scheduledDate",p.DueDate="dueDate",p.CancelledDate="cancelledDate",p.DoneDate="doneDate",p.BlockLink="blockLink",p))(ru||{}),Jc=Object.values(ru),zr=class{constructor(){this.visible={};this.tagsVisible=!0;Jc.forEach(t=>{this.visible[t]=!0})}isShown(t){returnthis.visible[t]}areTagsShown(){returnthis.tagsVisible}hide(t){this.visible[t]=!1}setVisibility(t,e){this.visible[t]=e}setTagsVisibility(t){this.tagsVisible=t}getshownCompo
`})),c=c.slice(0,a.autoSuggestMaxItems),c}}function D2(r,t,e){let n=L2(t.substring(0,e),[["(",")"],["[","]"]])=="("?")":"]",i=r?n+" ":" ",s=r&&t.length>e&&t.charAt(e)===n?1:0;return{postfix:i,insertSkip:s}}function E2(r,t,e){let n=[],i=e.line;Ws(n,i,r.dueDateSymbol,"due date"),Ws(n,i,r.startDateSymbol,"start date"),Ws(n,i,r.scheduledDateSymbol,"scheduled date"),x2(n,r,e),Ws(n,i,r.recurrenceSymbol,"recurring (repeat)"),O2(n,r,e),zS(t)&&(Ws(n,i,r.idSymbol,"id"),Ws(n,i,r.dependsOnSymbol,"depends on id")),Ws(n,i,r.onCompletionSymbol,"on completion");let s=R2(n,e);return s.length===0&&e.settings.autoSuggestMinMatch===0?n:s}function Ws(r,t,e,n){t.includes(e)||r.push({displayText:`${e}${n}`,appendText:`${e}`})}function x2(r,t,e){if(!(i=>Object.values(t.prioritySymbols).some(s=>s.length>0&&i.includes(s)))(e.line)){let i=t.prioritySymbols,s=["High","Medium","Low","Highest","Lowest"];for(let a of s){let o=i[a];r.push({displayText:e.dataviewMode?`${o}priority`:`${o}${a.toLowerCase()}priority`,appendText:`${o}${e.postfix}`,insertSkip:e.dataviewMode?e.insertSkip:void 0})}}}function O2(r,t,e){if(!e.line.includes(t.createdDateSymbol)){let i=On.parseDate("today",!0).format(fe.dateFormat);r.push({textToMatch:`${t.createdDateSymbol}created`,displayText:`${t.createdDateSymbol}createdtoday(${i})`,appendText:`${t.createdDateSymbol}${i}`+e.postfix,insertSkip:e.dataviewMode?e.insertSkip:void 0})}}function R2(r,t){let e=Ga(/([a-zA-Z'_-]*)/g,t),n=[];if(e&&e.length>0){let i=e[0];if(i.length>=Math.max(1,t.settings.autoSuggestMinMatch)){let s=r.filter(a=>{var l;return((l=a.textToMatch)!=null?l:a.displayText).toLowerCase().includes(i.toLowerCase())});for(let a of s){let o=t.dataviewMode&&(a.displayText.includes("priority")||a.displayText.includes("created"))?i.length+t.insertSkip:i.length;n.push({suggestionType:"match",displayText:a.displayText,appendText:a.appendText,insertAt:e.index,insertSkip:o})}}}return n}function KS(r,t){let e=`${t}`,n=`${r}${t}`;return{displayText:e,appendText:n}}function C2(r,t){let n=`${On.parseDate(t,!0).format(fe.dateFormat)}`,i=`${t}(${n})`,s=`${r}${n}`;return{displayText:i,appendText:s}}function M2(r,t,e){let n=["today","tomorrow","Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","next week","next month","next year"],i=[],s=new RegExp(`(${r})\\s*([0-9a-zA-Z]*)`,"ug"),a=Ga(s,e);if(a&&a.length>=2){let o=a[2];if(o.length<e.settings.autoSuggestMinMatch)return[];let l=o&&o.length>1?On.parseDate(Yc(o),!0):null;if(l!=null&&l.isValid()){let c=l.format(fe.dateFormat);ad(e,a,[c],KS,i)}let u=uy(n,o,t,!0);ad(e,a,u,C2,i)}return i}function A2(r,t){var a;let e=["every","every day","every week","every month","every month on the","every year","every week on Sunday","every week on Monday","every week on Tuesday","every week on Wednesday","every week on Thursday","every week on Friday","every week on Saturday"],n=[],i=new RegExp(`(${r})\\s*([0-9a-zA-Z]*)`,"ug"),s=Ga(i,t);if(s&&s.length>=2){let o=s[1],l=s[2];if(l.length<t.settings.autoSuggestMinMatch)return[];if(l.length>0){let f=(a=Dt.fromText({recurrenceRuleText:l,occurrence:new Xn({startDate:null,scheduledDate:null,dueDate:null})}))==null?void 0:a.toText();if(f){let p=`${o}${f}`+t.postfix;if(n.push({suggestionType:"match",displayText:`\u2705${f}`,appendText:p,insertAt:s.index,insertSkip:cy(s[0],t)}),s[0]==p)return[]}}let u=t.settings.autoSuggestMaxItems/2,c=uy(e,l,u,!1);c.length===0&&l.trim().length===0&&(c=e.slice(0,u)),ad(t,s,c,(f,p)=>{let b=`${p}`,T=`${f}${p}`;return{displayText:b,appendText:T}},n)}return n}function P2(r,t,e){let n=["delete","keep"],i=[],s=new RegExp(`(${r})\\s*([0-9a-zA-Z]*)`,"ug"),a=Ga(s,e);if(a&&a.length>=2){let o=a[2];if(o.length<e.settings.autoSuggestMinMatch)return[];let l=uy(n,o,t,!0);ad(e,a,l,KS,i)}return i}function N2(r,t,e){let n=[],i=new RegExp(`(${r})\\s*(${Us.source})?`,"ug"),s=Ga(i,e);if(s&&s[0].trim().length<=r.length){let a=au(t.map(o=>o.id));n.push({suggestionType:"match",displayText:"generate unique id",appendText:`${r}${a}`+e.postfix,insertAt:s.index,insertSkip:cy(s[0],e)})}return n}function I2(r,t,e,n){let
`);n.length>1&&(t=n[0],e=!0);leti=50;returnt.length>i&&(t=t.slice(0,i),e=!0),e&&(t+="..."),t}functioneD(r,t){lete=`Cannot find preset "${r}" in the Tasks settings`;if(Object.keys(t).length===0)e+=`
`)}`}returne}varJS,my=Z(()=>{"use strict";JS={this_file:"path includes {{query.file.path}}",this_folder:"folder includes {{query.file.folder}}",this_folder_only:"filter by function task.file.folder === query.file.folder",this_root:"root includes {{query.file.root}}",hide_date_fields:`# Hide any values for all date fields
preset hide_query_elements`}});varld,tD=Z(()=>{"use strict";ld=class{constructor(t=!1,e=!1,n=!1){this.ignoreSortInstructions=t,this.showTaskHiddenData=e,this.recordTimings=n}}});varet,Ba=Z(()=>{"use strict";Er();et=class{constructor(){this.coreStatuses=[ge.TODO.configuration,ge.DONE.configuration],this.customStatuses=[ge.IN_PROGRESS.configuration,ge.CANCELLED.configuration]}staticaddStatus(t,e){t.push(e)}staticreplaceStatus(t,e,n){leti=this.findStatusIndex(e,t);returni<=-1?!1:(t.splice(i,1,n),!0)}staticfindStatusIndex(t,e){letn=newge(t);returne.findIndex(i=>newge(i).previewText()==n.previewText())}staticdeleteStatus(t,e){letn=this.findStatusIndex(e,t);returnn<=-1?!1:(t.splice(n,1),!0)}staticdeleteAllCustomStatuses(t){t.customStatuses.splice(0)}staticresetAllCustomStatuses(t){et.deleteAllCustomStatuses(t),newet().customStatuses.forEach(n=>{et.addStatus(t.customStatuses,n)})}staticbulkAddStatusCollection(t,e){letn=[];returne.forEach(i=>{t.customStatuses.find(a=>a.symbol==i[0]&&a.name==i[1]&&a.nextStatusSymbol==i[2])?n.push(`The status ${i[1]} (${i[0]}) is already added.`):et.addStatus(t.customStatuses,ge.createFromImportedValue(i))}),n}staticallStatuses(t){returnt.coreStatuses.concat(t.customStatuses)}staticapplyToStatusRegistry(t,e){e.clearStatuses(),et.allStatuses(t).forEach(n=>{e.add(n)})}}});varrD,nD=Z(()=>{rD=[{index:9999,internalName:"INTERNAL_TESTING_ENABLED_BY_DEFAULT",displayName:"Test Item. Used to validate the Feature Framework.",description:"Description",enabledByDefault:!0,stable:!1}]});varki,iD=Z(()=>{"use strict";nD();ki=class{constructor(t,e,n,i,s,a){this.internalName=t;this.index=e;this.description=n;this.displayName=i;this.enabledByDefault=s;this.stable=a}staticgetvalues(){lett=[];returnrD.forEach(e=>{t=[...t,newki(e.internalName,e.index,e.description,e.displayName,e.enabledByDefault,e.stable)]}),t}staticgetsettingsFlags(){lett={};returnki.values.forEach(e=>{t[e.internalName]=e.enabledByDefault}),t}staticfromString(t){for(leteofki.values)if(t===e.internalName)returne;thrownewRangeError(`Illegal argument passed to fromString(): ${t} does not correspond to any available Feature ${this.prototype.constructor.name}`)}}});functionhy(r,t){for(leteinr)t[e]===void0&&(t[e]=r[e])}functionuu(){returnxr[re().taskFormat]}functionq2(r){lett=F({},r);return"includes"int&&!("presets"int)&&(t.presets=t.includes,deletet.includes),t}varxr,gy,Si,re,nt,qs,sD,Vt=Z(()=>{"use strict";dy();su();py();Mn();Er();XS();py();bs();my();tD();Ba();iD();xr={tasksPluginEmoji:{getDisplayName:()=>M.t("settings.format.displayName.tasksEmojiFormat"),taskSerializer:newYs(iu),buildSuggestions:ly(iu,oy,!1)},dataview:{getDisplayName:()=>M.t("settings.format.displayName.dataview"),taskSerializer:newod,buildSuggestions:QS(ly(fy,oy,!0),[["(",")"],["[","]"]])}},gy={presets:JS,globalQuery:"",globalFilter:"",removeGlobalFilter:!1,taskFormat:"tasksPluginEmoji",setCreatedDate:!1,setDoneDate:!0,setCancelledDate:!0,autoSuggestInEditor:!0,autoSuggestMinMatch:0,autoSuggestMaxItems:20,provideAccessKeys:!0,useFilenameAsScheduledDate:!1,filenameAsScheduledDateFormat:"",filenameAsDateFolders:[],recurrenceOnNextLine:!1,removeScheduledDateOnRecurrence:!1,statusSettings:newet,features:ki.settingsFlags,generalSettings:{},headingOpened:{},debugSettings:newld,loggingOptions:{minLevels:{"":"info",tasks:"info","tasks.Cache":"info","tasks.Events":"info","tasks.File":"info","tasks.Query":"info","tasks.Task":"info"}}},Si=F({},gy);re=()=>(hy(ki.settingsFlags,Si.features),hy(gy.loggingOptions.minLevels,Si.loggingOptions.minLevels),hy(gy.debugSettings,Si.debugSettings),Si.statusSettings.customStatuses.forEach((r,t,e)=>{vari,s;letn=ge.getTypeFromStatusTypeString(r.type);e[t]=newgt((i=r.symbol)!=null?i:" ",r.name,(s=r.nextStatusSymbol)!=null?s:"x",r.availableAsCommand,n)}),F({},Si)),nt=r=>{lett=q2(r);returnSi=F(F({},Si),t),re()},qs=(r,t)=>(Si.generalSettings[r]=t,re()),sD=r=>{vart;return(t=Si.features[r])!=null?t:!1}});functionud(r){lete={"<":"<",">":">","&":"&",'"':"""}[r];returne!==void0?e:r}funct
`}addEdgeIfNotToInternal(t,e,n,i,s){leta=t.findIndex(u=>u.symbol===e.symbol),o=a!==-1,l=e.type!=="EMPTY";if(o&&l){letu;s?u='-. "\u{1F501}" .-> ':u=" --> ";letc=`${i+1}${u}${a+1}`;n.push(c)}}getMermaidNodeLabel(t,e){letn=aD(t.name),i=t.type;if(e){lets=ud(t.symbol),a=ud(t.nextStatusSymbol),o=`[${s}] -> [${a}]`,l=`'${n}'`,u=`(${i})`;return`["${l}<br>${o}<br>${u}"]:::${i}`}elsereturn`["${n}"]:::${i}`}}});varQr,lD=Z(()=>{"use strict";Qr=class{constructor(t,e){this.name=t,this.sortOrder=e}getgroupText(){returnthis.name!==""?`%%${this.sortOrder}%% ${this.name}`:""}}});varuD,It,cd=Z(()=>{"use strict";uD=require("obsidian");lD();li();It=class{constructor(t){this._date=null;this._date=t}getmoment(){returnthis._date}formatAsDate(t=""){returnthis.format(fe.dateFormat,t)}formatAsDateAndTime(t=""){returnthis.format(fe.dateTimeFormat,t)}format(t,e=""){returnthis._date?this._date.format(t):e}toISOString(t){returnthis._date?this._date.toISOString(t):""}getcategory(){lett=window.moment(),e=this.moment;returne?e.isBefore(t,"day")?newQr("Overdue",1):e.isSame(t,"day")?newQr("Today",2):e.isValid()?newQr("Future",3):newQr("Invalid date",0):newQr("Undated",4)}getfromNow(){lett=this.moment;if(!t)returnnewQr("",0);lete=this.fromNowOrder(t);returnnewQr(t.fromNow(),e)}fromNowOrder(t){if(!t.isValid())return0;lete=window.moment(),n=t.isSameOrBefore(e,"day"),i=this.fromNowStartDateOfGroup(t,n,e);returnNumber((n?1:3)+i.format("YYYYMMDD"))}fromNowStartDateOfGroup(t,e,n){leti=t.fromNow(!0).split(" "),s,a=Number(i[0]);isNaN(a)?s=1:s=a;leto=i[1];returne?n.subtract(s,o):n.add(s,o)}postpone(t="days",e=1){if(!this._date)thrownewuD.Notice("Cannot postpone a null date");letn=window.moment().startOf("day");returnthis._date.isSameOrAfter(n,"day")?this._date.clone().add(e,t):n.add(e,t)}}});varfD=x((cD,dD)=>{(function(r){vart=Object.hasOwnProperty,e=Array.isArray?Array.isArray:function(y){returnObject.prototype.toString.call(y)==="[object Array]"},n=10,i=typeofprocess=="object"&&typeofprocess.nextTick=="function",s=typeofSymbol=="function",a=typeofReflect=="object",o=typeofsetImmediate=="function",l=o?setImmediate:setTimeout,u=s?a&&typeofReflect.ownKeys=="function"?Reflect.ownKeys:function(m){vary=Object.getOwnPropertyNames(m);returny.push.apply(y,Object.getOwnPropertySymbols(m)),y}:Object.keys;functionc(){this._events={},this._conf&&d.call(this,this._conf)}functiond(m){m&&(this._conf=m,m.delimiter&&(this.delimiter=m.delimiter),m.maxListeners!==r&&(this._maxListeners=m.maxListeners),m.wildcard&&(this.wildcard=m.wildcard),m.newListener&&(this._newListener=m.newListener),m.removeListener&&(this._removeListener=m.removeListener),m.verboseMemoryLeak&&(this.verboseMemoryLeak=m.verboseMemoryLeak),m.ignoreErrors&&(this.ignoreErrors=m.ignoreErrors),this.wildcard&&(this.listenerTree={}))}functionf(m,y){var_="(node) warning: possible EventEmitter memory leak detected. "+m+" listeners added. Use emitter.setMaxListeners() to increase limit.";if(this.verboseMemoryLeak&&(_+=" Event name: "+y+"."),typeofprocess!="undefined"&&process.emitWarning){varw=newError(_);w.name="MaxListenersExceededWarning",w.emitter=this,w.count=m,process.emitWarning(w)}elseconsole.error(_),console.trace&&console.trace()}varp=function(m,y,_){varw=arguments.length;switch(w){case0:return[];case1:return[m];case2:return[m,y];case3:return[m,y,_];default:for(varS=newArray(w);w--;)S[w]=arguments[w];returnS}};functionb(m,y){for(var_={},w,S=m.length,C=y?y.length:0,L=0;L<S;L++)w=m[L],_[w]=L<C?y[L]:r;return_}functionT(m,y,_){this._emitter=m,this._target=y,this._listeners={},this._listenersCount=0;varw,S;if((_.on||_.off)&&(w=_.on,S=_.off),y.addEventListener?(w=y.addEventListener,S=y.removeEventListener):y.addListener?(w=y.addListener,S=y.removeListener):y.on&&(w=y.on,S=y.off),!w&&!S)throwError("target does not implement any known event API");if(typeofw!="function")throwTypeError("on method must be a function");if(typeofS!="function")throwTypeError("off method must be a function");this._on=w,this._off=S;varC=m._observers;C?C.push(this):m
`),this.dateFromFileName=new Va(()=>Ft.fromPath(this.filePath))}parseFileContent(){if(this.listItems===void 0)return this.tasks;let t=new mt(this.filePath,this.fileCache),e=this.fileLines.length,n=null,i=0;for(let s of this.listItems){let a=s.position.start.line;if(a>=e)return this.logger.debug(`${this.filePath}Obsidiangaveusalinenumber${a}pasttheendofthefile.${e}.`),this.tasks;if((n===null||n.position.end.line<a)&&(n=Hs.getSection(a,this.fileCache.sections),i=0),n===null)continue;let o=this.fileLines[a];if(o===void 0){this.logger.debug(`${this.filePath}:line${a}-ignoring'undefined'line.`);continue}let l=new Lt(t,a,n.position.start.line,i,Hs.getPrecedingHeader(a,this.fileCache.headings));i=this.parseLine(s,o,l,a,i)}return this.tasks}parseLine(t,e,n,i,s){var o;if(t.task===void 0)return this.createListItem(t,e,i,n),s;let a;try{if(a=pe.fromLine({line:e,taskLocation:n,fallbackDate:this.dateFromFileName.value}),a!==null){let l=(o=this.line2ListItem.get(t.parent))!=null?o:null;l!==null&&(a=new pe(de(F({},a),{parent:l}))),this.line2ListItem.set(i,a),a!==null&&(s++,this.tasks.push(a))}else this.createListItem(t,e,i,n)}catch(l){this.errorReporter(l,this.filePath,t,e)}return s}createListItem(t,e,n,i){var o;let s=(o=this.line2ListItem.get(t.parent))!=null?o:null,a=rr.fromListItemLine(e,s,i);if(a===null){this.logger.warn("Unexpected failure to create a list item from line: "+e+" in file: "+this.filePath);return}this.line2ListItem.set(n,a)}};var Hs=class{constructor({metadataCache:t,vault:e,workspace:n,events:i}){this.logger=sn.getLogger("tasks.Cache");this.notifySubscribersDebounced=(0,gD.debounce)(()=>this.notifySubscribersNotDebounced(),100,!0);this.logger.debug("Creating Cache object"),this.metadataCache=t,this.metadataCacheEventReferences=[],this.vault=e,this.workspace=n,this.vaultEventReferences=[],this.events=i,this.eventsEventReferences=[],this.tasksMutex=new ju,this.state="Cold",this.logger.debug("Cache.constructor(): state = Cold"),this.tasks=[],this.loadedAfterFirstResolve=!1,this.subscribeToCache(),this.workspace.onLayoutReady(()=>{this.subscribeToVault(),this.loadVault()}),this.subscribeToEvents()}unload(){this.logger.info("Unloading Cache");for(let t of this.metadataCacheEventReferences)this.metadataCache.offref(t);for(let t of this.vaultEventReferences)this.vault.offref(t);for(let t of this.eventsEventReferences)this.events.off(t)}getTasks(){return this.tasks}getState(){return this.state}notifySubscribers(){this.logger.debug("Cache.notifySubscribers()"),this.notifySubscribersDebounced()}notifySubscribersNotDebounced(){this.logger.debug("Cache.notifySubscribersNotDebounced()"),this.events.triggerCacheUpdate({tasks:this.tasks,state:this.state})}subscribeToCache(){this.logger.debug("Cache.subscribeToCache()");let t=this.metadataCache.on("resolved",()=>I(this,null,function*(){this.loadedAfterFirstResolve||(this.loadedAfterFirstResolve=!0,this.loadVault())}));this.metadataCacheEventReferences.push(t);let e=this.metadataCache.on("changed",n=>{this.tasksMutex.runExclusive(()=>{this.indexFile(n)})});this.metadataCacheEventReferences.push(e)}subscribeToVault(){this.logger.debug("Cache.subscribeToVault()");let{useFilenameAsScheduledDate:t}=re(),e=this.vault.on("create",s=>{s instanceof za.TFile&&(this.logger.debug(`Cache.subscribeToVault.createdEventReference()${s.path}`),this.tasksMutex.runExclusive(()=>{this.indexFile(s)}))});this.vaultEventReferences.push(e);let n=this.vault.on("delete",s=>{s instanceof za.TFile&&(this.logger.debug(`Cache.subscribeToVault.deletedEventReference()${s.path}`),this.tasksMutex.runExclusive(()=>{this.tasks=this.tasks.filter(a=>a.path!==s.path),this.notifySubscribers()}))});this.vaultEventReferences.push(n);let i=this.vault.on("rename",(s,a)=>{s instanceof za.TFile&&(this.logger.debug(`Cache.subscribeToVault.renamedEventReference()${s.path}`),this.tasksMutex.runExclusive(()=>{let o=this.metadataCache.getFileCache(s),l=new mt(s.path,o!=null?o:void 0),u=new Va(()=>Ft.fromPath(s.path));this.tasks=this.tasks.map(c=>{if(c.path!==a)return c;let d=c.taskLocation.fromRenamedFile(l);r
`))}catch(u){if(u instanceof Zi){u.message&&oE(u.message),yield l();return}else if(u instanceof xd){yield l();return}else u instanceof Error&&Ed(u.message)}});function uE(r,t){return I(this,null,function*(){if(bu===void 0)throw new Zi;let e=t.getAbstractFileByPath(r.path);if(!(e instanceof Tu.TFile))throw new Zi(`Tasks: No file found for task ${r.description}. Retrying ...`);if(!CU.includes(e.extension))throw new Error(`Tasks: Does not support files with the ${e.extension} file extension.`);let n=bu.getFileCache(e);if(n==null||n===null)throw new Zi(`Tasks: No file cache found for file ${e.path}. Retrying ...`);let i=n.listItems;if(i===void 0||i.length===0)throw new Zi(`Tasks: No list items found in file cache of ${e.path}. Retrying ...`);let a=(yield t.read(e)).split(`
`),o=AU(r,a,i,MU);if(o===void 0)throw new xd;return[o,e,a]})}function Wy(r,t){return I(this,null,function*(){try{let[e,n,i]=yield uE(r,t);return[e,n]}catch(e){e instanceof Zi?e.message&&oE(e.message):e instanceof Error&&Ed(e.message)}})}function cE(r,t){return r<t.length}function AU(r,t,e,n){let i=PU(r,t);return i!==void 0||(i=NU(r,t),i!==void 0)?i:IU(r,t,e,n)}function PU(r,t){let e=r.taskLocation.lineNumber;if(cE(e,t)&&t[e]===r.originalMarkdown)return Od().debug(`Found original markdown at original line number ${e}`),e}function NU(r,t){let e=[];for(let n=0;n<t.length;n++)t[n]===r.originalMarkdown&&e.push(n);if(e.length===1)return e[0]}function IU(r,t,e,n){let i,s=0;for(let a of e){let o=a.position.start.line;if(!cE(o,t))return;if(o<r.taskLocation.sectionStart||a.task===void 0)continue;let l=t[o];if(Ne.getInstance().includedIn(l)){if(s===r.taskLocation.sectionIndex){if(l===r.originalMarkdown)i=o;else{n(`Tasks: Unable to find task in file ${r.taskLocation.path}.
`}indent(t){return this.indentation+t}};pn();var He=class{constructor(t,e=[],n=""){this.description=t,this.symbol=n,this.children=e}static booleanAnd(t){return this.combineOrCreateExplanation("All of",t,"AND")}static booleanOr(t){return this.combineOrCreateExplanation("At least one of",t,"OR")}static booleanNot(t){return new He("None of",t,"NOT")}static booleanXor(t){return new He("Exactly one of",t,"XOR")}asString(t=""){if(this.children.length==0)return t+this.description;let e=t;this.symbol===""?e+=this.description:(e+=this.symbol,this.children.length>1&&(e+=`(${this.description})`),e+=":");let n=t+" ";for(let i=0;i<this.children.length;i++)e+=`
${n}`}};varVd=classextendsXe{fieldName(){return"filename"}value(t){lete=t.filename;returne===null?"":e+".md"}supportsSorting(){return!0}supportsGrouping(){return!0}grouper(){returnt=>{lete=t.filename;returne===null?["Unknown Location"]:["[["+e+"]]"]}}};var_o=classextendsqe{canCreateFilterForLine(t){return!1}createFilterOrErrorMessage(t){returnke.fromError(t,"Filtering by urgency is not yet supported")}fieldName(){return"urgency"}filterRegExp(){throwError(`filterRegExp() unimplemented for ${this.fieldName()}`)}supportsSorting(){return!0}comparator(){return(t,e)=>e.urgency-t.urgency}supportsGrouping(){return!0}grouper(){returnt=>[`${t.urgency.toFixed(2)}`]}createGrouper(t){returnsuper.createGrouper(!t)}grouperInstruction(t){returnsuper.grouperInstruction(!t)}};varzd=classextendsXe{constructor(){super()}fieldName(){return"status.name"}value(t){returnt.status.name}supportsSorting(){return!0}supportsGrouping(){return!0}};Mn();varsi=classextendsqe{canCreateFilterForLine(t){lete=newRegExp(`^(?:${this.fieldNameSingularEscaped()})`,"i");returnqe.lineMatchesFilter(e,t)}createFilterOrErrorMessage(t){lete=qe.getMatch(this.filterRegExp(),t);if(e===null)returnthis.helpMessage(t);letn=e[1].toLowerCase(),i=e[2],s=Bt[i.toUpperCase()];if(!s)returnthis.helpMessage(t);leta;switch(n){case"is":a=o=>o.status.type===s;break;case"is not":a=o=>o.status.type!==s;break;default:returnthis.helpMessage(t)}returnke.fromFilter(newKt(t,a,newHe(t)))}filterRegExp(){returnnewRegExp(`^(?:${this.fieldNameSingularEscaped()}) (is|is not) ([^ ]+)$`,"i")}helpMessage(t){lete=Object.values(Bt).filter(i=>i!=="EMPTY").join(" "),n=`Invalid ${this.fieldNameSingular()} instruction: '${t}'.
Example: ${this.fieldNameSingular()} is not NON_TASK`;returnke.fromError(t,n)}fieldName(){return"status.type"}value(t){returnt.status.type}supportsSorting(){return!0}comparator(){return(t,e)=>{letn=si.groupName(t),i=si.groupName(e);returnn.localeCompare(i,void0,{numeric:!0})}}supportsGrouping(){return!0}grouper(){returnt=>[si.groupName(t)]}staticgroupName(t){returnt.status.typeGroupText}};varKd=classextendsXe{fieldName(){return"recurrence"}value(t){returnt.recurrence!==null?t.recurrence.toText():""}supportsGrouping(){return!0}grouper(){returnt=>t.recurrence!==null?[t.recurrence.toText()]:["None"]}};varQd=classextendsXe{fieldName(){return"folder"}value(t){returnt.file.folder}supportsGrouping(){return!0}grouper(){returnt=>[Xe.escapeMarkdownCharacters(this.value(t))]}};varZd=classextendsXe{fieldName(){return"root"}value(t){returnt.file.root}supportsGrouping(){return!0}grouper(){returnt=>[Xe.escapeMarkdownCharacters(this.value(t))]}};varXd=classextendsXe{fieldName(){return"backlink"}value(t){lete=t.getLinkText({isFilenameUnique:!0});returne===null?"Unknown Location":e}createFilterOrErrorMessage(t){returnke.fromError(t,"backlink field does not support filtering")}canCreateFilterForLine(t){return!1}supportsGrouping(){return!0}grouper(){returnt=>{lete=t.filename;if(e===null)return["Unknown Location"];letn=t.precedingHeader;returnn===null?["[["+e+"]]"]:[`[[${e}#${n}|${e} > ${n}]]`]}}};varJd=classextendsEt{fieldName(){return"cancelled"}date(t){returnt.cancelledDate}filterResultIfFieldMissing(){return!1}};varef=classextendscr{constructor(){super(),this._filters.add("is blocking",(t,e)=>t.isBlocking(e.allTasks)),this._filters.add("is not blocking",(t,e)=>!t.isBlocking(e.allTasks)),this._filters.add("is blocked",(t,e)=>t.isBlocked(e.allTasks)),this._filters.add("is not blocked",(t,e)=>!t.isBlocked(e.allTasks))}fieldName(){return"blocking"}};vartf=classextendsXe{constructor(){super();this.filterInstructions=newbn;this.filterInstructions.add("has id",e=>e.id.length>0),this.filterInstructions.add("no id",e=>e.id.length===0)}canCreateFilterForLine(e){returnthis.filterInstructions.canCreateFilterForLine(e)?!0:super.canCreateFilterForLine(e)}createFilterOrErrorMessage(e){letn=this.filterInstructions.createFilterOrErrorMessage(e);returnn.isValid()?n:super.createFilterOrErrorMessage(e)}fieldName(){return"id"}value(e){returne.id}supportsSorting(){return!0}supportsGrouping(){return!0}};varnf=classextendsqe{constructor(){super();this.filterInstructions=newbn;this.filterInstructions.add("has depends on",e=>e.dependsOn.length>0),this.filterInstructions.add("no depends on",e=>e.dependsOn.length===0)}canCreateFilterForLine(e){returnthis.filterInstructions.canCreateFilterForLine(e)?!0:super.canCreateFilterForLine(e)}createFilterOrErrorMessage(e){letn=this.filterInstructions.createFilterOrErrorMessage(e);returnn.isValid()?n:ke.fromError(e,"Unknown instruction")}fieldName(){return"blocked by"}filterRegExp(){returnnull}};varrf=classextendscr{fieldName(){return"random"}supportsSorting(){return!0}comparator(){return(t,e)=>this.sortKey(t)-this.sortKey(e)}sortKey(t){lete=i=>{lets=0,a=9;for(;s<i.length;)a=Math.imul(a^i.charCodeAt(s++),387420489);returna^a>>>9},n=window.moment().format("Y-MM-DD");returne(n+" "+t.description)}};varmb=[()=>newzd,()=>newsi,()=>newts,()=>new$d,()=>newta,()=>newYd,()=>newJd,()=>newMd,()=>newUd,()=>newLd,()=>newfo,()=>newAd,()=>newpo,()=>newQd,()=>newZd,()=>newXd,()=>newea,()=>newna,()=>newFd,()=>newPd,()=>newVd,()=>new_o,()=>newKd,()=>newId,()=>newtf,()=>newnf,()=>newef,()=>newrf,()=>newBd];functionxu(r){for(lettofmb){lete=t();if(e.canCreateFilterForLine(r))returne.createFilterOrErrorMessage(r)}returnnull}functionGE(r){lett=/^sort by /i;if(r.match(t)===null)returnnull;for(leteofmb){leti=e().createSorterFromLine(r);if(i)returni}returnnull}functionBE(r){lett=/^group by /i;if(r.match(t)===null)returnnull;for(leteofmb){leti=e().createGrouperFromLine(r);if(i)returni}returnnull}varsf=class{constructor(t,e
`))}catch(l){return l instanceof Error?this._error=l.message:this._error="Internal error. expandPlaceholders() threw something other than Error.",[t]}}return this.createStatementsFromExpandedPlaceholders(s,t)}createStatementsFromExpandedPlaceholders(t,e){let n=t.split(`
`),l=0,u=[];for(letf=a.lineStart;f<=a.lineEnd;f++){letp=o[f];if(p===void0)continue;letb=null,T=pe.fromLine({line:p,taskLocation:newLt(newmt(s),f,a.lineStart,l,b),fallbackDate:null});T!==null&&(u.push(T),l++)}letc=newAi({obsidianApp:this.app,obsidianComponent:n,parentUlElement:t,taskLayoutOptions:newzr,queryLayoutOptions:newXi});for(letf=0;f<i.length;f++){letp=u[f],b=i[f];if(p===void0||b===void0)continue;letT=(d=b.getAttr("data-line"))!=null?d:"0",v=Number.parseInt(T,10),O=yieldc.renderTaskLine({task:p,taskIndex:v,isTaskInQueryFile:!0}),E=b.childNodes;for(letj=0;j<E.length;j=j+1){letae=E[j],H=ae.nodeName.toLowerCase();H==="div"?O.prepend(ae):(H==="ul"||H==="ol")&&O.append(ae)}letP=b.querySelectorAll("[data-footnote-id]"),Y=O.querySelectorAll("[data-footnote-id]");if(P.length===Y.length)for(letj=0;j<P.length;j++)Y[j].replaceWith(P[j]);b.replaceWith(O)}})}};varSx=require("@codemirror/view"),Dx=require("obsidian");Nt();varEx=()=>Sx.ViewPlugin.fromClass(xb),xb=class{constructor(t){this.view=t,this.handleClickEvent=this.handleClickEvent.bind(this),this.view.dom.addEventListener("click",this.handleClickEvent)}destroy(){this.view.dom.removeEventListener("click",this.handleClickEvent)}handleClickEvent(t){let{target:e}=t;if(!e||!(einstanceofHTMLInputElement)||e.type!=="checkbox")return!1;letn=e.closest("ul.plugin-tasks-query-result, div.callout-content");if(n){if(n.matches("div.callout-content")){letp=`obsidian-tasks-plugin warning: Tasks cannot add or remove completion dates or make the next copy of a recurring task for tasks written inside a callout when you click their checkboxes in Live Preview.
If you wanted Tasks to do these things, please undo your change, then either click the line of the task and use the "Toggle Task Done" command, or switch to Reading View to click the checkbox.`;console.warn(p),newDx.Notice(p,45e3)}return!1}let{state:i}=this.view,s=this.view.posAtDOM(e),a=i.doc.lineAt(s),o=pe.fromLine({line:a.text,taskLocation:Lt.fromUnknownPosition(newmt("")),fallbackDate:null});if(o===null)return!1;t.preventDefault();letl=o.toggleWithRecurrenceInUsersOrder(),u=l.map(p=>p.toFileLineString()).join(i.lineBreak),c=a.to;if(u===""){letp=a.number<i.doc.lines?i.doc.line(a.number+1):null;p&&(c=p.from)}letd=i.update({changes:{from:a.from,to:c,insert:u}});if(this.view.dispatch(d),l.length===1){letp=l[0].status.symbol!==" ";setTimeout(()=>{e.checked=p},1)}return!0}};varPi=require("obsidian"),Ox=require("obsidian");functionxx(r,t,e,n=void0){leti="";t.isEmpty()||(i+=`Only tasks containing the global filter '${t.get()}'.
${s.explainQuery(d)}`}leto=newUn(r,n),l=newCi().query(n);if(!(o.ignoreGlobalQuery||l.ignoreGlobalQuery)&&e.hasInstructions()){letc=e.query(n);i+=a("Explanation of the global query",c)+`
`),i+=a("Explanation of this Tasks code block query",o),i}functionEf(r,t,e){leti=newCi().query(e).append(newUn(r,e));returni.ignoreGlobalQuery?i:t.query(e).append(i)}Ki();pn();functionAu(r,t,e){t&&r.push(t$(e))}functiont$(r){return`tasks-layout-hide-${r}`}varxf=class{constructor(t){t?this.queryLayoutOptions=t:this.queryLayoutOptions=newXi}getHiddenClasses(){lett=[],e=[[this.queryLayoutOptions.hideUrgency,"urgency"],[this.queryLayoutOptions.hideBacklinks,"backlinks"],[this.queryLayoutOptions.hideEditButton,"edit-button"],[this.queryLayoutOptions.hidePostponeButton,"postpone-button"]];for(let[n,i]ofe)Au(t,n,i);returnthis.queryLayoutOptions.shortMode&&t.push("tasks-layout-short-mode"),t}};Ls();varOf=class{constructor(t){t?this.taskLayoutOptions=t:this.taskLayoutOptions=newzr}generateHiddenClasses(){lett=[];returnthis.taskLayoutOptions.toggleableComponents.forEach(e=>{Au(t,!this.taskLayoutOptions.isShown(e),e)}),Au(t,!this.taskLayoutOptions.areTagsShown(),"tags"),t}};Vt();varPu=class{constructor(t){this.label=t,this.start()}start(){!this.recordTimings()||performance.mark(this.labelForStart())}finish(){!this.recordTimings()||(performance.mark(this.labelForEnd()),performance.measure(this.label,this.labelForStart(),this.labelForEnd()),this.printDuration())}printDuration(){lett=performance.getEntriesByName(this.label),e=t[t.length-1];e?console.log(this.label+":",e.duration.toFixed(2),"milliseconds"):console.log(`Measurement for ${this.label} not found`)}labelForStart(){return`${this.label} - start`}labelForEnd(){return`${this.label} - end`}recordTimings(){let{debugSettings:t}=re();returnt.recordTimings}};Nt();varOb=require("obsidian");varus=classextendsas{constructor(t,e,n=ai){super(n);leti=(u,c,d,f,p,b)=>{varE;letT=!1,v=xo(e);if(v){let{postponedDate:P}=b(e,v,d,f);(E=e[v])!=null&&E.isSame(P,"day")&&(T=!0)}letO=p(e,f,d);c.setChecked(T).setTitle(O).onClick(()=>us.postponeOnClickCallback(u,e,f,d,b,n))},s=mx,a=lx;this.addItem(u=>i(t,u,"days",0,s,a)),this.addItem(u=>i(t,u,"day",1,s,a)),this.addSeparator();leto=Sb,l=kb;this.addItem(u=>i(t,u,"days",2,o,l)),this.addItem(u=>i(t,u,"days",3,o,l)),this.addItem(u=>i(t,u,"days",4,o,l)),this.addItem(u=>i(t,u,"days",5,o,l)),this.addItem(u=>i(t,u,"days",6,o,l)),this.addSeparator(),this.addItem(u=>i(t,u,"week",1,o,l)),this.addItem(u=>i(t,u,"weeks",2,o,l)),this.addItem(u=>i(t,u,"weeks",3,o,l)),this.addItem(u=>i(t,u,"month",1,o,l)),this.addSeparator(),this.addItem(u=>i(t,u,"days",2,hx,ux))}staticpostponeOnClickCallback(o,l,u,c){returnI(this,arguments,function*(t,e,n,i,s=kb,a=ai){varb;letd=xo(e);if(d===null){letT="\u26A0\uFE0F Postponement requires a date: due, scheduled or start.";returnnewOb.Notice(T,1e4)}let{postponedDate:f,postponedTask:p}=s(e,d,i,n);(b=e[d])!=null&&b.isSame(f,"day")||(yielda(e,p),us.postponeSuccessCallback(t,d,f))})}staticpostponeSuccessCallback(t,e,n){t.style.pointerEvents="none";leti=fx(n,e);newOb.Notice(i,2e3)}};varRf=class{constructor(t,e,n,i,s,a,o=Ai.obsidianMarkdownRenderer){switch(this.source=e,this._tasksFile=n,this.renderMarkdown=i,this.obsidianComponent=s,this.obsidianApp=a,this.textRenderer=o,t){case"block-language-tasks":this.query=this.makeQueryFromSourceAndTasksFile(),this.queryType="tasks";break;default:this.query=this.makeQueryFromSourceAndTasksFile(),this.queryType="tasks";break}}makeQueryFromSourceAndTasksFile(){returnEf(this.source,pr.getInstance(),this.tasksFile)}gettasksFile(){returnthis._tasksFile}setTasksFile(t){this._tasksFile=t,this.rereadQueryFromFile()}rereadQueryFromFile(){this.query=this.makeQueryFromSourceAndTasksFile()}getfilePath(){vart,e;return(e=(t=this.tasksFile)==null?void0:t.path)!=null?e:void0}render(t,e,n,i){returnI(this,null,function*(){t==="Warm"&&this.query.error===void0?yieldthis.renderQuerySearchResults(e,t,n,i):this.query.error!==void0?this.renderErrorMessage(n,this.query.error):this.renderLoadingMessage(n)})}renderQuerySearchResults(t,e,n,i){returnI(this,null,function*(){lets=this.explainAndPerformSearch(e,t,n);if(s.searchErrorMessage!==void0){this.renderErrorMessage(n,s.searchE