/ *
THIS IS A GENERATED / BUNDLED FILE BY ESBUILD
if you want to view the source visit the plugins github repository
* /
/ *
License obsidian - tasks :
MIT License
Copyright ( c ) 2021 Martin Schenck and Clare Macrae
Permission is hereby granted , free of charge , to any person obtaining a copy
of this software and associated documentation files ( the "Software" ) , to deal
in the Software without restriction , including without limitation the rights
to use , copy , modify , merge , publish , distribute , sublicense , and / or sell
copies of the Software , and to permit persons to whom the Software is
furnished to do so , subject to the following conditions :
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software .
THE SOFTWARE IS PROVIDED "AS IS" , WITHOUT WARRANTY OF ANY KIND , EXPRESS OR
IMPLIED , INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY ,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT . IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM , DAMAGES OR OTHER
LIABILITY , WHETHER IN AN ACTION OF CONTRACT , TORT OR OTHERWISE , ARISING FROM ,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE .
* /
/ *
License rrule ( included library ) :
rrule . js : Library for working with recurrence rules for calendar dates .
=== === === === === === === === === === === === === === === === === === === === === === === ==
Copyright 2010 , Jakub Roztocil < jakub @ roztocil . name > and Lars Schöning
Redistribution and use in source and binary forms , with or without
modification , are permitted provided that the following conditions are met :
1. Redistributions of source code must retain the above copyright notice ,
this list of conditions and the following disclaimer .
2. Redistributions in binary form must reproduce the above copyright
notice , this list of conditions and the following disclaimer in the
documentation and / or other materials provided with the distribution .
3. Neither the name of The author nor the names of its contributors may
be used to endorse or promote products derived from this software
without specific prior written permission .
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES , INCLUDING , BUT NOT LIMITED TO , THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED . IN NO EVENT SHALL THE AUTHOR AND CONTRIBUTORS BE LIABLE FOR
ANY DIRECT , INDIRECT , INCIDENTAL , SPECIAL , EXEMPLARY , OR CONSEQUENTIAL DAMAGES
( INCLUDING , BUT NOT LIMITED TO , PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES ;
LOSS OF USE , DATA , OR PROFITS ; OR BUSINESS INTERRUPTION ) HOWEVER CAUSED AND ON
ANY THEORY OF LIABILITY , WHETHER IN CONTRACT , STRICT LIABILITY , OR TORT
( INCLUDING NEGLIGENCE OR OTHERWISE ) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE , EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE .
. / rrule . js and . / test / tests . js is based on python - dateutil . LICENCE :
python - dateutil - Extensions to the standard Python datetime module .
=== === === === === === === === === === === === === === === === === === === === === === ==
Copyright ( c ) 2003 - 2011 - Gustavo Niemeyer < gustavo @ niemeyer . net >
Copyright ( c ) 2012 - Tomi Pieviläinen < tomi . pievilainen @ iki . fi >
All rights reserved .
Redistribution and use in source and binary forms , with or without
modification , are permitted provided that the following conditions are met :
* Redistributions of source code must retain the above copyright notice ,
this list of conditions and the following disclaimer .
* Redistributions in binary form must reproduce the above copyright notice ,
this list of conditions and the following disclaimer in the documentation
and / or other materials provided with the distribution .
* Neither the name of the copyright holder nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission .
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES , INCLUDING , BUT NOT
LIMITED TO , THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED . IN NO EVENT SHALL THE COPYRIGHT OWNER OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT , INDIRECT , INCIDENTAL , SPECIAL ,
EXEMPLARY , OR CONSEQUENTIAL DAMAGES ( INCLUDING , BUT NOT LIMITED TO ,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES ; LOSS OF USE , DATA , OR
PROFITS ; OR BUSINESS INTERRUPTION ) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY , WHETHER IN CONTRACT , STRICT LIABILITY , OR TORT ( INCLUDING
NEGLIGENCE OR OTHERWISE ) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE , EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE .
* /
/ *
License chrono - node ( included library ) :
The MIT License
Copyright ( c ) 2014 , Wanasit Tanakitrungruang
Permission is hereby granted , free of charge , to any person obtaining a copy
of this software and associated documentation files ( the "Software" ) , to deal
in the Software without restriction , including without limitation the rights
to use , copy , modify , merge , publish , distribute , sublicense , and / or sell
copies of the Software , and to permit persons to whom the Software is
furnished to do so , subject to the following conditions :
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software .
THE SOFTWARE IS PROVIDED "AS IS" , WITHOUT WARRANTY OF ANY KIND , EXPRESS OR
IMPLIED , INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY ,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT . IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM , DAMAGES OR OTHER
LIABILITY , WHETHER IN AN ACTION OF CONTRACT , TORT OR OTHERWISE , ARISING FROM ,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE .
* /
"use strict" ; var B _ = Object . create ; var ts = Object . defineProperty , H _ = Object . defineProperties , z _ = Object . getOwnPropertyDescriptor , K _ = Object . getOwnPropertyDescriptors , V _ = Object . getOwnPropertyNames , Hp = Object . getOwnPropertySymbols , Q _ = Object . getPrototypeOf , Kp = Object . prototype . hasOwnProperty , X _ = Object . prototype . propertyIsEnumerable ; var zp = ( r , e , t ) => e in r ? ts ( r , e , { enumerable : ! 0 , configurable : ! 0 , writable : ! 0 , value : t } ) : r [ e ] = t , pe = ( r , e ) => { for ( var t in e || ( e = { } ) ) Kp . call ( e , t ) && zp ( r , t , e [ t ] ) ; if ( Hp ) for ( var t of Hp ( e ) ) X _ . call ( e , t ) && zp ( r , t , e [ t ] ) ; return r } , bt = ( r , e ) => H _ ( r , K _ ( e ) ) ; var T = ( r , e ) => ( ) => ( e || r ( ( e = { exports : { } } ) . exports , e ) , e . exports ) , Z _ = ( r , e ) => { for ( var t in e ) ts ( r , t , { get : e [ t ] , enumerable : ! 0 } ) } , Vp = ( r , e , t , n ) => { if ( e && typeof e == "object" || typeof e == "function" ) for ( let i of V _ ( e ) ) ! Kp . call ( r , i ) && i !== t && ts ( r , i , { get : ( ) => e [ i ] , enumerable : ! ( n = z _ ( e , i ) ) || n . enumerable } ) ; return r } ; var rs = ( r , e , t ) => ( t = r != null ? B _ ( Q _ ( r ) ) : { } , Vp ( e || ! r || ! r . _ _esModule ? ts ( t , "default" , { value : r , enumerable : ! 0 } ) : t , r ) ) , J _ = r => Vp ( ts ( { } , "__esModule" , { value : ! 0 } ) , r ) ; var q = ( r , e , t ) => new Promise ( ( n , i ) => { var s = u => { try { o ( t . next ( u ) ) } catch ( l ) { i ( l ) } } , a = u => { try { o ( t . throw ( u ) ) } catch ( l ) { i ( l ) } } , o = u => u . done ? n ( u . value ) : Promise . resolve ( u . value ) . then ( s , a ) ; o ( ( t = t . apply ( r , e ) ) . next ( ) ) } ) ; var Ee = T ( en => { "use strict" ; Object . defineProperty ( en , "__esModule" , { value : ! 0 } ) ; en . matchAnyPattern = en . extractTerms = en . repeatedTimeunitPattern = void 0 ; function nv ( r , e ) { let t = e . replace ( /\((?!\?)/g , "(?:" ) ; return ` ${ r } ${ t } \\ s{0,5}(?:,? \\ s{0,5} ${ t } ){0,10} ` } en . repeatedTimeunitPattern = nv ; function Qp ( r ) { let e ; return r instanceof Array ? e = [ ... r ] : r instanceof Map ? e = Array . from ( r . keys ( ) ) : e = Object . keys ( r ) , e } en . extractTerms = Qp ; function iv ( r ) { return ` (?: ${ Qp ( r ) . sort ( ( t , n ) => n . length - t . length ) . join ( "|" ) . replace ( /\./g , "\\." ) } ) ` } en . matchAnyPattern = iv } ) ; var be = T ( ( Yu , ju ) => { ( function ( r , e ) { typeof Yu == "object" && typeof ju != "undefined" ? ju . exports = e ( ) : typeof define == "function" && define . amd ? define ( e ) : ( r = typeof globalThis != "undefined" ? globalThis : r || self ) . dayjs = e ( ) } ) ( Yu , function ( ) { "use strict" ; var r = 1e3 , e = 6e4 , t = 36e5 , n = "millisecond" , i = "second" , s = "minute" , a = "hour" , o = "day" , u = "week" , l = "month" , c = "quarter" , p = "year" , h = "date" , _ = "Invalid Date" , y = /^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/ , w = /\[([^\]]+)]|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 , x = { 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 ( "_" ) } , P = function ( B , C , E ) { var H = String ( B ) ; return ! H || H . length >= C ? B : "" + Array ( C + 1 - H . length ) . join ( E ) + B } , N = { s : P , z : function ( B ) { var C = - B . utcOffset ( ) , E = Math . abs ( C ) , H = Math . floor ( E / 60 ) , A = E % 60 ; return ( C <= 0 ? "+" : "-" ) + P ( H , 2 , "0" ) + ":" + P ( A , 2 , "0" ) } , m : function B ( C , E ) { if ( C . date ( ) < E . date ( ) ) return - B ( E , C ) ; var H = 12 * ( E . year ( ) - C . year ( ) ) + ( E . month ( ) - C . month ( ) ) , A = C . clone ( ) . add ( H , l ) , J = E - A < 0 , d = C . clone ( ) . add ( H + ( J ? - 1 : 1 ) , l ) ; return + ( - ( H + ( E - A ) / ( J ? A - d : d - A ) ) || 0 ) } , a : function ( B ) { return B < 0 ? Math . ceil ( B ) || 0 : Math . floor ( B ) } , p : function ( B ) { return { M : l , y : p , w : u , d : o , D : h , h : a , m : s , s : i , ms : n , Q : c } [ B ] || String ( B || "" ) . toLowerCase ( ) . replace ( /s$/ , "" ) } , u : function ( B ) { return B === void 0 } } , F = "en" , Z = { } ; Z [ F ] = x ; var V = function ( B ) { return B instanceof Ae } , he = function ( B , C , E ) { var H ; if ( ! B ) return F ; if ( typeof B == "string" ) Z [ B ] && ( H = B ) , C && ( Z [ B ] = C , H = B ) ; else { var A = B . name ; Z [ A ] = B , H = A } return ! E && H && ( F = H ) , H || ! E && F } , j = function ( B , C ) { if ( V ( B ) ) return B . clone ( ) ; var E = typeof C == "object" ? C : { } ; return E . date = B , E . args = arguments , new Ae ( E ) } , G = N ; G . l = he , G . i = V , G . w = function ( B , C ) { return j ( B , { locale : C . $L , utc : C . $u , x : C . $x , $offset : C . $offset } ) } ; var Ae = function ( ) { function B ( E ) { this . $L = he ( E . locale , null , ! 0 ) , this . parse ( E ) } var C = B . prototype ; return C . parse = function ( E ) { this . $d = function ( H ) { var A = H . date , J = H . utc ; if ( A === null ) return new Date ( NaN ) ; if ( G . u ( A ) ) return new Date ; if ( A instanceof Date ) return new Date ( A ) ; if ( typeof A == "string" && ! /Z$/i . test ( A ) ) { var d = A . match ( y ) ; if ( d ) { var f = d [ 2 ] - 1 || 0 , m = ( d [ 7 ] || "0" ) . substring ( 0 , 3 ) ; return J ? new Date ( Date . UTC ( d [ 1 ] , f , d [ 3 ] || 1 , d [ 4 ] || 0 , d [ 5 ] || 0 , d [ 6 ] || 0 , m ) ) : new Date ( d [ 1 ] , f , d [ 3 ] || 1 , d [ 4 ] || 0 , d [ 5 ] || 0 , d [ 6 ] || 0 , m ) } } return new Date ( A ) } ( E ) , this . $x = E . x || { } , this . init ( ) } , C . in
` ).map(AM).filter(function(t){return t!==null});return at(at({},e[0]),e[1])}function ua(r){var e={},t=/DTSTART(?:;TZID=([^:=]+?))?(?::|=)([^; \s ]+)/i.exec(r);if(!t)return e;var n=t[1],i=t[2];return n&&(e.tzid=n),e.dtstart=ia(i),e}function AM(r){if(r=r.replace(/^ \s +| \s + $ /,""),!r.length)return null;var e=/^([A-Z]+?)[:;]/.exec(r.toUpperCase());if(!e)return qb(r);var t=e[1];switch(t.toUpperCase()){case"RRULE":case"EXRULE":return qb(r);case"DTSTART":return ua(r);default:throw new Error("Unsupported RFC prop ".concat(t," in ").concat(r))}}function qb(r){var e=r.replace(/^RRULE:/i,""),t=ua(e),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":t.freq=ae[o.toUpperCase()];break;case"WKST":t.wkst=Xt[o.toUpperCase()];break;case"COUNT":case"INTERVAL":case"BYSETPOS":case"BYMONTH":case"BYMONTHDAY":case"BYYEARDAY":case"BYWEEKNO":case"BYHOUR":case"BYMINUTE":case"BYSECOND":var u=PM(o),l=a.toLowerCase();t[l]=u;break;case"BYWEEKDAY":case"BYDAY":t.byweekday=NM(o);break;case"DTSTART":case"TZID":var c=ua(r);t.tzid=c.tzid,t.dtstart=c.dtstart;break;case"UNTIL":t.until=ia(o);break;case"BYEASTER":t.byeaster=Number(o);break;default:throw new Error("Unknown RRULE property '"+a+"'")}}),t}function PM(r){if(r.indexOf(",")!==-1){var e=r.split(",");return e.map( $ b)}return $ b(r)}function $ b(r){return/^[+-]? \d + $ /.test(r)?Number(r):r}function NM(r){var e=r.split(",");return e.map(function(t){if(t.length===2)return Xt[t];var n=t.match(/^([+-]? \d {1,2})([A-Z]{2}) $ /);if(!n||n.length<3)throw new SyntaxError("Invalid weekday string: ".concat(t));var i=Number(n[1]),s=n[2],a=Xt[s].weekday;return new je(a,i)})}var Fn=function(){function r(e,t){if(isNaN(e.getTime()))throw new RangeError("Invalid date passed to DateWithZone");this.date=e,this.tzid=t}return Object.defineProperty(r.prototype,"isUTC",{get:function(){return!this.tzid||this.tzid.toUpperCase()==="UTC"},enumerable:!1,configurable:!0}),r.prototype.toString=function(){var e=vi(this.date.getTime(),this.isUTC);return this.isUTC?":".concat(e):";TZID=".concat(this.tzid,":").concat(e)},r.prototype.getTime=function(){return this.date.getTime()},r.prototype.rezonedDate=function(){return this.isUTC?this.date:Cb(this.date,this.tzid)},r}();function ca(r){for(var e=[],t="",n=Object.keys(r),i=Object.keys(oa),s=0;s<n.length;s++)if(n[s]!=="tzid"&&!!ce(i,n[s])){var a=n[s].toUpperCase(),o=r[n[s]],u="";if(!(!Re(o)||st(o)&&!o.length)){switch(a){case"FREQ":u= $ .FREQUENCIES[r.freq];break;case"WKST":Nt(o)?u=new je(o).toString():u=o.toString();break;case"BYWEEKDAY":a="BYDAY",u=Sb(o).map(function(_){return _ instanceof je?_:st(_)?new je(_[0],_[1]):new je(_)}).toString();break;case"DTSTART":t=IM(o,r.tzid);break;case"UNTIL":u=vi(o,!r.tzid);break;default:if(st(o)){for(var l=[],c=0;c<o.length;c++)l[c]=String(o[c]);u=l.toString()}else u=String(o)}u&&e.push([a,u])}}var p=e.map(function(_){var y=_[0],w=_[1];return"".concat(y,"=").concat(w.toString())}).join(";"),h="";return p!==""&&(h="RRULE:".concat(p)),[t,h].filter(function(_){return!!_}).join( `
` )}function IM(r,e){return r?"DTSTART"+new Fn(new Date(r),e).toString():""}function FM(r,e){return Array.isArray(r)?!Array.isArray(e)||r.length!==e.length?!1:r.every(function(t,n){return t.getTime()===e[n].getTime()}):r instanceof Date?e instanceof Date&&r.getTime()===e.getTime():r===e}var Yb=function(){function r(){this.all=!1,this.before=[],this.after=[],this.between=[]}return r.prototype._cacheAdd=function(e,t,n){t&&(t=t instanceof Date?Fo(t):If(t)),e==="all"?this.all=t:(n._value=t,this[e].push(n))},r.prototype._cacheGet=function(e,t){var n=!1,i=t?Object.keys(t):[],s=function(c){for(var p=0;p<i.length;p++){var h=i[p];if(!FM(t[h],c[h]))return!0}return!1},a=this[e];if(e==="all")n=this.all;else if(st(a))for(var o=0;o<a.length;o++){var u=a[o];if(!(i.length&&s(u))){n=u._value;break}}if(!n&&this.all){for(var l=new qr(e,t),o=0;o<this.all.length&&l.accept(this.all[o]);o++);n=l.getValue(),this._cacheAdd(e,n,t)}return st(n)?If(n):n instanceof Date?Fo(n):n},r}();var jb=M(M(M(M(M(M(M(M(M(M(M(M(M([],ue(1,31),!0),ue(2,28),!0),ue(3,31),!0),ue(4,30),!0),ue(5,31),!0),ue(6,30),!0),ue(7,31),!0),ue(8,31),!0),ue(9,30),!0),ue(10,31),!0),ue(11,30),!0),ue(12,31),!0),ue(1,7),!0),Gb=M(M(M(M(M(M(M(M(M(M(M(M(M([],ue(1,31),!0),ue(2,29),!0),ue(3,31),!0),ue(4,30),!0),ue(5,31),!0),ue(6,30),!0),ue(7,31),!0),ue(8,31),!0),ue(9,30),!0),ue(10,31),!0),ue(11,30),!0),ue(12,31),!0),ue(1,7),!0),LM=Qt(1,29),UM=Qt(1,30),un=Qt(1,31),lt=Qt(1,32),Bb=M(M(M(M(M(M(M(M(M(M(M(M(M([],lt,!0),UM,!0),lt,!0),un,!0),lt,!0),un,!0),lt,!0),lt,!0),un,!0),lt,!0),un,!0),lt,!0),lt.slice(0,7),!0),Hb=M(M(M(M(M(M(M(M(M(M(M(M(M([],lt,!0),LM,!0),lt,!0),un,!0),lt,!0),un,!0),lt,!0),lt,!0),un,!0),lt,!0),un,!0),lt,!0),lt.slice(0,7),!0),WM=Qt(-28,0),qM=Qt(-29,0),ln=Qt(-30,0),ct=Qt(-31,0),zb=M(M(M(M(M(M(M(M(M(M(M(M(M([],ct,!0),qM,!0),ct,!0),ln,!0),ct,!0),ln,!0),ct,!0),ct,!0),ln,!0),ct,!0),ln,!0),ct,!0),ct.slice(0,7),!0),Kb=M(M(M(M(M(M(M(M(M(M(M(M(M([],ct,!0),WM,!0),ct,!0),ln,!0),ct,!0),ln,!0),ct,!0),ct,!0),ln,!0),ct,!0),ln,!0),ct,!0),ct.slice(0,7),!0),Vb=[0,31,60,91,121,152,182,213,244,274,305,335,366],Qb=[0,31,59,90,120,151,181,212,243,273,304,334,365],Wf=function(){for(var r=[],e=0;e<55;e++)r=r.concat(Qt(7));return r}();function Xb(r,e){var t=Tr(r,1,1),n=_i(r)?366:365,i=_i(r+1)?366:365,s=na(t),a=Ur(t),o=at(at({yearlen:n,nextyearlen:i,yearordinal:s,yearweekday:a}, $ M(r)),{wnomask:null});if(It(e.byweekno))return o;o.wnomask=ue(0,n+7);var u,l,c=u=ut(7-a+e.wkst,7);c>=4?(c=0,l=o.yearlen+ut(a-e.wkst,7)):l=n-c;for(var p=Math.floor(l/7),h=ut(l,7),_=Math.floor(p+h/4),y=0;y<e.byweekno.length;y++){var w=e.byweekno[y];if(w<0&&(w+=_+1),w>0&&w<=_){var x=void 0;w>1?(x=c+(w-1)*7,c!==u&&(x-=7-u)):x=c;for(var P=0;P<7&&(o.wnomask[x]=1,x++,o.wdaymask[x]!==e.wkst);P++);}}if(ce(e.byweekno,1)){var x=c+_*7;if(c!==u&&(x-=7-u),x<n)for(var y=0;y<7&&(o.wnomask[x]=1,x+=1,o.wdaymask[x]!==e.wkst);y++);}if(c){var N=void 0;if(ce(e.byweekno,-1))N=-1;else{var F=Ur(Tr(r-1,1,1)),Z=ut(7-F.valueOf()+e.wkst,7),V=_i(r-1)?366:365,he=void 0;Z>=4?(Z=0,he=V+ut(F-e.wkst,7)):he=n-c,N=Math.floor(52+ut(he,7)/4)}if(ce(e.byweekno,N))for(var x=0;x<c;x++)o.wnomask[x]=1}return o}function $ M(r){var e=_i(r)?366:365,t=Tr(r,1,1),n=Ur(t);return e===365?{mmask:jb,mdaymask:Hb,nmdaymask:Kb,wdaymask:Wf.slice(n),mrange:Qb}:{mmask:Gb,mdaymask:Bb,nmdaymask:zb,wdaymask:Wf.slice(n),mrange:Vb}}function Zb(r,e,t,n,i,s){var a={lastyear:r,lastmonth:e,nwdaymask:[]},o=[];if(s.freq=== $ .YEARLY)if(It(s.bymonth))o=[[0,t]];else for(var u=0;u<s.bymonth.length;u++)e=s.bymonth[u],o.push(n.slice(e-1,e+1));else s.freq=== $ .MONTHLY&&(o=[n.slice(e-1,e+1)]);if(It(o))return a;a.nwdaymask=ue(0,t);for(var u=0;u<o.length;u++)for(var l=o[u],c=l[0],p=l[1]-1,h=0;h<s.bynweekday.length;h++){var _=void 0,y=s.bynweekday[h],w=y[0],x=y[1];x<0?(_=p+(x+1)*7,_-=ut(i[_]-w,7)):(_=c+(x-1)*7,_+=ut(7-i[_]+w,7)),c<=_&&_<=p&&(a.nwdaymask[_]=1)}return a}function Jb(r,e){e===void 0&&(e=0);var t=r%19,n=Math.floor(r/100),i=r%100,s=Math.floor(n/4),a=n%4,o=Math.floor((n+8)/25),u=Math.floor((n-o+1)/3),l=Math.floor(19*t+n-s-u+15)%30,c=Math.floor(i/4),p=i%4,h=Math.floor(32+2*a+2*c-l-p)%7,_=Math.floor((t+11*l
` ),n=0;n<t.length;){var i=t[n]=t[n].replace(/ \s + $ /g,"");i?n>0&&i[0]===" "?(t[n-1]+=i.slice(1),t.splice(n,1)):n+=1:t.splice(n,1)}return t}function ZM(r){r.forEach(function(e){if(!/(VALUE=DATE(-TIME)?)|(TZID=)/.test(e))throw new Error("unsupported RDATE/EXDATE parm: "+e)})}function sT(r,e){return ZM(e),r.split(",").map(function(t){return ia(t)})}function aT(r){var e=this;return function(t){if(t!==void 0&&(e["_".concat(r)]=t),e["_".concat(r)]!==void 0)return e["_".concat(r)];for(var n=0;n<e._rrule.length;n++){var i=e._rrule[n].origOptions[r];if(i)return i}}}var $ f=function(r){Ei(e,r);function e(t){t===void 0&&(t=!1);var n=r.call(this,{},t)||this;return n.dtstart=aT.apply(n,["dtstart"]),n.tzid=aT.apply(n,["tzid"]),n._rrule=[],n._rdate=[],n._exrule=[],n._exdate=[],n}return e.prototype._iter=function(t){return nT(t,this._rrule,this._exrule,this._rdate,this._exdate,this.tzid())},e.prototype.rrule=function(t){oT(t,this._rrule)},e.prototype.exrule=function(t){oT(t,this._exrule)},e.prototype.rdate=function(t){uT(t,this._rdate)},e.prototype.exdate=function(t){uT(t,this._exdate)},e.prototype.rrules=function(){return this._rrule.map(function(t){return Uo(t.toString())})},e.prototype.exrules=function(){return this._exrule.map(function(t){return Uo(t.toString())})},e.prototype.rdates=function(){return this._rdate.map(function(t){return new Date(t.getTime())})},e.prototype.exdates=function(){return this._exdate.map(function(t){return new Date(t.getTime())})},e.prototype.valueOf=function(){var t=[];return!this._rrule.length&&this._dtstart&&(t=t.concat(ca({dtstart:this._dtstart}))),this._rrule.forEach(function(n){t=t.concat(n.toString().split( `
` ))}),this._exrule.forEach(function(n){t=t.concat(n.toString().split( `
` ).map(function(i){return i.replace(/^RRULE:/,"EXRULE:")}).filter(function(i){return!/^DTSTART/.test(i)}))}),this._rdate.length&&t.push(lT("RDATE",this._rdate,this.tzid())),this._exdate.length&&t.push(lT("EXDATE",this._exdate,this.tzid())),t},e.prototype.toString=function(){return this.valueOf().join( `
` )},e.prototype.clone=function(){var t=new e(!!this._cache);return this._rrule.forEach(function(n){return t.rrule(n.clone())}),this._exrule.forEach(function(n){return t.exrule(n.clone())}),this._rdate.forEach(function(n){return t.rdate(new Date(n.getTime()))}),this._exdate.forEach(function(n){return t.exdate(new Date(n.getTime()))}),t},e}( $ );function oT(r,e){if(!(r instanceof $ ))throw new TypeError(String(r)+" is not RRule instance");ce(e.map(String),String(r))||e.push(r)}function uT(r,e){if(!(r instanceof Date))throw new TypeError(String(r)+" is not Date instance");ce(e.map(Number),Number(r))||(e.push(r),Wr(e))}function lT(r,e,t){var n=!t||t.toUpperCase()==="UTC",i=n?"".concat(r,":"):"".concat(r,";TZID=").concat(t,":"),s=e.map(function(a){return vi(a.valueOf(),n)}).join(",");return"".concat(i).concat(s)}function Yr(r,e){return r!==null&&e===null?-1:r===null&&e!==null?1:r!==null&&e!==null?r.isValid()&&!e.isValid()?-1:!r.isValid()&&e.isValid()||r.isAfter(e)?1:r.isBefore(e)?-1:0:0}var Ze=class{constructor({rrule:e,baseOnToday:t,referenceDate:n,startDate:i,scheduledDate:s,dueDate:a}){this.rrule=e,this.baseOnToday=t,this.referenceDate=n,this.startDate=i,this.scheduledDate=s,this.dueDate=a}static fromText({recurrenceRuleText:e,startDate:t,scheduledDate:n,dueDate:i}){try{let s=e.match(/^([a-zA-Z0-9, !]+?)( when done)? $ /i);if(s==null)return null;let a=s[1].trim(),o=s[2]!==void 0,u= $ .parseText(a);if(u!==null){let l=null;i?l=window.moment(i):n?l=window.moment(n):t&&(l=window.moment(t)),!o&&l!==null?u.dtstart=window.moment(l).startOf("day").utc(!0).toDate():u.dtstart=window.moment().startOf("day").utc(!0).toDate();let c=new $ (u);return new Ze({rrule:c,baseOnToday:o,referenceDate:l,startDate:t,scheduledDate:n,dueDate:i})}}catch(s){s instanceof Error&&console.log(s.message)}return null}toText(){let e=this.rrule.toText();return this.baseOnToday&&(e+=" when done"),e}next(){let e=this.nextReferenceDate();if(e!==null){let t=null,n=null,i=null;if(this.referenceDate){if(this.startDate){let s=window.moment.duration(this.startDate.diff(this.referenceDate));t=window.moment(e),t.add(Math.round(s.asDays()),"days")}if(this.scheduledDate){let s=window.moment.duration(this.scheduledDate.diff(this.referenceDate));n=window.moment(e),n.add(Math.round(s.asDays()),"days")}if(this.dueDate){let s=window.moment.duration(this.dueDate.diff(this.referenceDate));i=window.moment(e),i.add(Math.round(s.asDays()),"days")}}return{startDate:t,scheduledDate:n,dueDate:i}}return null}identicalTo(e){return this.baseOnToday!==e.baseOnToday||Yr(this.startDate,e.startDate)!==0||Yr(this.scheduledDate,e.scheduledDate)!==0||Yr(this.dueDate,e.dueDate)!==0?!1:this.toText()===e.toText()}nextReferenceDate(){if(this.baseOnToday){let e=window.moment();return this.nextReferenceDateFromToday(e).toDate()}else return this.nextReferenceDateFromOriginalReferenceDate().toDate()}nextReferenceDateFromToday(e){let t=new $ (bt(pe({},this.rrule.origOptions),{dtstart:e.startOf("day").utc(!0).toDate()}));return this.nextAfter(e.endOf("day"),t)}nextReferenceDateFromOriginalReferenceDate(){var t;let e=window.moment((t=this.referenceDate)!=null?t:void 0).endOf("day");return this.nextAfter(e,this.rrule)}nextAfter(e,t){e.utc(!0);let n=window.moment(t.after(e.toDate())),i=this.toText(),s=i.match(/every( \d +)? month(s)?(.*)?/);s!==null&&(i.includes(" on ")||(n=Ze.nextAfterMonths(e,n,t,s[1])));let a=i.match(/every( \d +)? year(s)?(.*)?/);return a!==null&&(n=Ze.nextAfterYears(e,n,t,a[1])),Ze.addTimezone(n)}static nextAfterMonths(e,t,n,i){let s=1;for(i!==void 0&&(s=Number.parseInt(i.trim(),10));Ze.isSkippingTooManyMonths(e,t,s);)t=Ze.fromOneDayEarlier(e,n);return t}static isSkippingTooManyMonths(e,t,n){let i=t.month()-e.month();return i+=(t.year()-e.year())*12,i>n}static nextAfterYears(e,t,n,i){let s=1;for(i!==void 0&&(s=Number.parseInt(i.trim(),10));Ze.isSkippingTooManyYears(e,t,s);)t=Ze.fromOneDayEarlier(e,n);return t}static isSkippingTooManyYears(e,t,n){return t.year()-e.year()>n}static fromOneDayEarlier(e,t){e.subtract(1,"days").endOf("day");let n=t.origOptions;return n.dtstart=e.startOf("day").toDat
` }),a=a.slice(0,s.autoSuggestMaxItems),a}}function JM(r,e,t,n){let i=u=>Object.values(n.prioritySymbols).some(l=>l.length>0&&u.includes(l)),s=[];if(r.includes(n.dueDateSymbol)||s.push({displayText: ` $ { n . dueDateSymbol } due date ` ,appendText: ` $ { n . dueDateSymbol } ` }),r.includes(n.startDateSymbol)||s.push({displayText: ` $ { n . startDateSymbol } start date ` ,appendText: ` $ { n . startDateSymbol } ` }),r.includes(n.scheduledDateSymbol)||s.push({displayText: ` $ { n . scheduledDateSymbol } scheduled date ` ,appendText: ` $ { n . scheduledDateSymbol } ` }),i(r)||(s.push({displayText: ` $ { n . prioritySymbols . High } high priority ` ,appendText: ` $ { n . prioritySymbols . High } ` }),s.push({displayText: ` $ { n . prioritySymbols . Medium } medium priority ` ,appendText: ` $ { n . prioritySymbols . Medium } ` }),s.push({displayText: ` $ { n . prioritySymbols . Low } low priority ` ,appendText: ` $ { n . prioritySymbols . Low } ` }),s.push({displayText: ` $ { n . prioritySymbols . Highest } highest priority ` ,appendText: ` $ { n . prioritySymbols . Highest } ` }),s.push({displayText: ` $ { n . prioritySymbols . Lowest } lowest priority ` ,appendText: ` $ { n . prioritySymbols . Lowest } ` })),r.includes(n.recurrenceSymbol)||s.push({displayText: ` $ { n . recurrenceSymbol } recurring ( repeat ) ` ,appendText: ` $ { n . recurrenceSymbol } ` }),!r.includes(n.createdDateSymbol)){let l=Pt.parseDate("today",!0).format(z.dateFormat);s.push({textToMatch: ` $ { n . createdDateSymbol } created ` ,displayText: ` $ { n . createdDateSymbol } created today ( $ { l } ) ` ,appendText: ` $ { n . createdDateSymbol } $ { l } ` })}let a=Gf(r,/([a-zA-Z'_-]*)/g,e),o=[];if(a&&a.length>0){let u=a[0];if(u.length>=Math.max(1,t.autoSuggestMinMatch)){let l=s.filter(c=>(c.textToMatch||c.displayText).toLowerCase().includes(u.toLowerCase()));for(let c of l)o.push({suggestionType:"match",displayText:c.displayText,appendText:c.appendText,insertAt:a.index,insertSkip:u.length})}}return o.length===0&&t.autoSuggestMinMatch===0?s:o}function eC(r,e,t,n,i){let s=["today","tomorrow","Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","next week","next month","next year"],a=[],o=new RegExp( ` ( $ { n } ) \ \ s * ( [ 0 - 9 a - zA - Z ] * ) ` ,"ug"),u=Gf(r,o,e);if(u&&u.length>=2){let l=u[1],c=u[2];if(c.length<t.autoSuggestMinMatch)return[];let p=c&&c.length>1?Pt.parseDate(Ti(c),!0):null;p&&p.isValid()&&a.push({displayText: ` $ { p . format ( z . dateFormat ) } ` ,appendText: ` $ { l } $ { p . format ( z . dateFormat ) } ` ,insertAt:u.index,insertSkip:u[0].length});let h=1,_=s.filter(y=>c&&c.length>=h&&y.toLowerCase().includes(c.toLowerCase())).slice(0,i);_.length===0&&(_=s.slice(0,i));for(let y of _){let x= ` $ { Pt . parseDate ( y , ! 0 ) . format ( z . dateFormat ) } ` ;a.push({suggestionType:"match",displayText: ` $ { y } ( $ { x } ) ` ,appendText: ` $ { l } $ { x } ` ,insertAt:u.index,insertSkip:u[0].length})}}return a}function tC(r,e,t,n){var u;let i=["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"],s=[],a=new RegExp( ` ( $ { n } ) \ \ s * ( [ 0 - 9 a - zA - Z ] * ) ` ,"ug"),o=Gf(r,a,e);if(o&&o.length>=2){let l=o[1],c=o[2];if(c.length<t.autoSuggestMinMatch)return[];if(c.length>0){let y=(u=Ze.fromText({recurrenceRuleText:c,startDate:null,scheduledDate:null,dueDate:null}))==null?void 0:u.toText();if(y){let w= ` $ { l } $ { y } ` ;if(s.push({suggestionType:"match",displayText: ` \u2705 $ { y } ` ,appendText:w,insertAt:o.index,insertSkip:o[0].length}),o[0]==w)return[]}}let p=1,h=t.autoSuggestMaxItems/2,_=i.filter(y=>c&&c.length>=p&&y.toLowerCase().includes(c.toLowerCase())).slice(0,h);_.length===0&&c.trim().length===0&&(_=i.slice(0,h));for(let y of _)s.push({suggestionType:"match",displayText: ` $ { y } ` ,appendText: ` $ { l } $ { y } ` ,insertAt:o.index,insertSkip:o[0].length})}return s}function Gf(r,e,t){let n=r.matchAll(e);for(let i of n)if((i==null?void 0:i.index)&&i.index<=t&&t<=i.index+i[0].length)return i}function rC(r,e){if(e.length===0)return!1;let t=Object.fromEntries(e.map(([i,s])=>[i,0])),n=Object.fromEntries(e.map(([i,s])=>[s,i]));for(let i of r)i in t?t[i]++:i in n&&(t[n[i]]=Math.max(0,t[n[i]]-1));return Object.values(t).some(i=>i>0)}function dT(r,e){return(t,n,i)=>rC(t.slice
\ ` \` \` ${ n }
flowchart LR
classDef TODO stroke : # f33 , stroke - width : 3 px ;
classDef DONE stroke : # 0 c0 , stroke - width : 3 px ;
classDef IN _PROGRESS stroke : # fa0 , stroke - width : 3 px ;
classDef CANCELLED stroke : # ddd , stroke - width : 3 px ;
classDef NON _TASK stroke : # 99 e , stroke - width : 3 px ;
$ { i . join ( `
` )}
$ { s . join ( `
` )}
linkStyle default stroke : gray
\ ` \` \`
` }getMermaidNodeLabel(e,t){let n=yT(e.name),i=e.type;if(t){let s=Yo(e.symbol),a=Yo(e.nextStatusSymbol),o= ` [ $ { s } ] - > [ $ { a } ] ` ,u= ` '${n}' ` ,l= ` ( $ { i } ) ` ;return ` [ "${u}<br>${o}<br>${l}" ] : : : $ { i } ` }else return ` [ "${n}" ] : : : $ { i } ` }};var ur=class{static calculate(e){let t=0;if(e.dueDate!==null){let n=window.moment().startOf("day"),i=Math.round(n.diff(e.dueDate)/ur.milliSecondsPerDay),s;i>=7?s=1:i>=-14?s=(i+14)*.8/21+.2:s=.2,t+=s*ur.dueCoefficient}switch(e.scheduledDate!==null&&window.moment().isSameOrAfter(e.scheduledDate)&&(t+=1*ur.scheduledCoefficient),e.startDate!==null&&window.moment().isBefore(e.startDate)&&(t+=1*ur.startedCoefficient),e.priority){case"0":t+=1.5*ur.priorityCoefficient;break;case"1":t+=1*ur.priorityCoefficient;break;case"2":t+=.65*ur.priorityCoefficient;break;case"3":t+=.325*ur.priorityCoefficient;break;case"5":t-=.3*ur.priorityCoefficient;break}return t}},Br=ur;Br.dueCoefficient=12,Br.scheduledCoefficient=5,Br.startedCoefficient=-3,Br.priorityCoefficient=6,Br.milliSecondsPerDay=1e3*60*60*24;var Rt=class{static fromPath(e){let{useFilenameAsScheduledDate:t,filenameAsDateFolders:n}=Q();return!t||!this.matchesAnyFolder(n,e)?null:this.extractDateFromPath(e)}static matchesAnyFolder(e,t){return e.length===0?!0:e.some(n=>t.startsWith(n+"/"))}static extractDateFromPath(e){let t=Math.max(0,e.lastIndexOf("/")+1),n=e.lastIndexOf("."),i=e.substring(t,n),s=/( \d {4})-( \d {2})-( \d {2})/.exec(i);if(s||(s=/( \d {4})( \d {2})( \d {2})/.exec(i)),s){let a=window.moment([parseInt(s[1]),parseInt(s[2])-1,parseInt(s[3])]);if(a.isValid())return a}return null}static canApplyFallback({startDate:e,scheduledDate:t,dueDate:n}){return e===null&&n===null&&t===null}static updateTaskPath(e,t,n){let i=e.scheduledDate,s=e.scheduledDateIsInferred;return n===null?s&&(s=!1,i=null):s?i=n:this.canApplyFallback(e)&&(i=n,s=!0),new ye(bt(pe({},e),{taskLocation:e.taskLocation.fromRenamedFile(t),scheduledDate:i,scheduledDateIsInferred:s}))}static removeInferredStatusIfNeeded(e,t){let n=e.scheduledDateIsInferred?e.scheduledDate:null;return t.map(i=>(n!==null&&!n.isSame(i.scheduledDate,"day")&&(i=new ye(bt(pe({},i),{scheduledDateIsInferred:!1}))),i))}};var Hr=class{constructor(e,t){this.name=e,this.sortOrder=t}get groupText(){return this.name!==""? ` % % $ { this . sortOrder } % % $ { this . name } ` :""}};var vt=class{constructor(e){this._date=null;this._date=e}get moment(){return this._date}formatAsDate(e=""){return this.format(z.dateFormat,e)}formatAsDateAndTime(e=""){return this.format(z.dateTimeFormat,e)}format(e,t=""){return this._date?this._date.format(e):t}toISOString(e){return this._date?this._date.toISOString(e):""}get category(){let e=window.moment(),t=this.moment;return t?t.isBefore(e,"day")?new Hr("Overdue",1):t.isSame(e,"day")?new Hr("Today",2):new Hr("Future",3):new Hr("Undated",4)}get fromNow(){let e=this.moment;if(!e)return new Hr("",0);let t=this.fromNowOrder(e);return new Hr(e.fromNow(),t)}fromNowOrder(e){let t=window.moment(),n=e.isSameOrBefore(t,"day"),i=this.fromNowStartDateOfGroup(e,n,t);return Number((n?1:3)+i.format("YYYYMMDD"))}fromNowStartDateOfGroup(e,t,n){let i=e.fromNow(!0).split(" "),s,a=Number(i[0]);isNaN(a)?s=1:s=a;let o=i[1];return t?n.subtract(s,o):n.add(s,o)}};var Si=class{constructor(e){this._path=e}get path(){return this._path}get pathWithoutExtension(){return this.withoutExtension(this.path)}withoutExtension(e){return e.replace(/ \. md $ /,"")}get root(){let e=this.path.replace(/ \\ /g,"/");e.charAt(0)==="/"&&(e=e.substring(1));let t=e.indexOf("/");return t==-1?"/":e.substring(0,t+1)}get folder(){let e=this.path,t=this.filename,n=e.substring(0,e.lastIndexOf(t));return n===""?"/":n}get filename(){let e=this.path.match(/([^/]+) $ /);return e!==null?e[1]:""}get filenameWithoutExtension(){return this.withoutExtension(this.filename)}};var zr=class{static priorityNameUsingNone(e){let t="ERROR";switch(e){case"1":t="High";break;case"0":t="Highest";break;case"2":t="Medium";break;case"3":t="None";break;case"4":t="Low";break;case"5":t="Lowest";break}return t}static priorityNameUsingNormal(e){return zr.priorityNameUsingNone(e).replace("None","Normal")}};var sC=require("o
` ),o=a.length,u=new ha(()=>Rt.fromPath(i.path)),l=null,c=0;for(let p of t)if(p.task!==void 0){let h=p.position.start.line;if(h>=o)return this.logger.debug( ` $ { i . path } Obsidian gave us a line number $ { h } past the end of the file . $ { o } . ` ),s;if((l===null||l.position.end.line<h)&&(l=qn.getSection(h,n.sections),c=0),l===null)continue;let _=a[h];if(_===void 0){this.logger.debug( ` $ { i . path } : line $ { h } - ignoring 'undefined' line . ` );continue}let y;try{y=ye.fromLine({line:_,taskLocation:new ot(i.path,h,l.position.start.line,c,qn.getPrecedingHeader(h,n.headings)),fallbackDate:u.value})}catch(w){this.reportTaskParsingErrorToUser(w,i,p,_);continue}y!==null&&(c++,s.push(y))}return s}reportTaskParsingErrorToUser(e,t,n,i){let s= ` There was an error reading one of the tasks in this vault .
The following task has been ignored , to prevent Tasks queries getting stuck with 'Loading Tasks ...'
Error : $ { e }
File : $ { t . path }
Line number : $ { n . position . start . line }
Task line : $ { i }
Please create a bug report for this message at
https : //github.com/obsidian-tasks-group/obsidian-tasks/issues/new/choose
to help us find and fix the underlying issue .
Include :
- either a screenshot of the error popup , or copy the text from the console , if on a desktop machine .
- the output from running the Obsidian command 'Show debug info'
The error popup will only be shown when Tasks is starting up , but if the error persists ,
it will be shown in the console every time this file is edited during the Obsidian
session .
` ;this.logger.error(s),e instanceof Error&&this.logger.error(e.stack?e.stack:"Cannot determine stack"),this.state==="Initializing"&&new Oi.Notice(s,1e4)}static getSection(e,t){if(t===void 0)return null;for(let n of t)if(n.position.start.line<=e&&n.position.end.line>=e)return n;return null}static getPrecedingHeader(e,t){if(t===void 0)return null;let n=null;for(let i of t){if(i.position.start.line>e)return n;n=i.heading}return n}};var ap=require("obsidian");var WT=require("obsidian");function Kr(){}function Zf(r){return r()}function ET(){return Object.create(null)}function Yn(r){r.forEach(Zf)}function jo(r){return typeof r=="function"}function kT(r,e){return r!=r?e==e:r!==e||r&&typeof r=="object"||typeof r=="function"}function ST(r){return Object.keys(r).length===0}var OT=typeof window!="undefined"?window:typeof globalThis!="undefined"?globalThis:global,ga=class{constructor(e){this.options=e,this._listeners="WeakMap"in OT?new WeakMap:void 0}observe(e,t){return this._listeners.set(e,t),this._getObserver().observe(e,this.options),()=>{this._listeners.delete(e),this._observer.unobserve(e)}}_getObserver(){var e;return(e=this._observer)!==null&&e!==void 0?e:this._observer=new ResizeObserver(t=>{var n;for(let i of t)ga.entries.set(i.target,i),(n=this._listeners.get(i.target))===null||n===void 0||n(i)})}};ga.entries="WeakMap"in OT?new WeakMap:void 0;var DT=!1;function oC(){DT=!0}function uC(){DT=!1}function R(r,e){r.appendChild(e)}function Mi(r,e,t){r.insertBefore(e,t||null)}function jn(r){r.parentNode&&r.parentNode.removeChild(r)}function Jf(r,e){for(let t=0;t<r.length;t+=1)r[t]&&r[t].d(e)}function K(r){return document.createElement(r)}function lC(r){return document.createElementNS("http://www.w3.org/2000/svg",r)}function dt(r){return document.createTextNode(r)}function de(){return dt(" ")}function Et(r,e,t,n){return r.addEventListener(e,t,n),()=>r.removeEventListener(e,t,n)}function RT(r){return function(e){return e.preventDefault(),r.call(this,e)}}function L(r,e,t){t==null?r.removeAttribute(e):r.getAttribute(e)!==t&&r.setAttribute(e,t)}function xT(r){let e;return{p(...t){e=t,e.forEach(n=>r.push(n))},r(){e.forEach(t=>r.splice(r.indexOf(t),1))}}}function cC(r){return Array.from(r.childNodes)}function ep(r,e){e=""+e,r.data!==e&&(r.data=e)}function lr(r,e){r.value=e==null?"":e}function tp(r,e,t){for(let n=0;n<r.options.length;n+=1){let i=r.options[n];if(i.__value===e){i.selected=!0;return}}(!t||e!==void 0)&&(r.selectedIndex=-1)}function MT(r){let e=r.querySelector(":checked");return e&&e.__value}function cr(r,e,t){r.classList[t?"add":"remove"](e)}var $ n=class{constructor(e=!1){this.is_svg=!1,this.is_svg=e,this.e=this.n=null}c(e){this.h(e)}m(e,t,n=null){this.e||(this.is_svg?this.e=lC(t.nodeName):this.e=K(t.nodeType===11?"TEMPLATE":t.nodeName),this.t=t.tagName!=="TEMPLATE"?t:t.content,this.c(e)),this.i(n)}h(e){this.e.innerHTML=e,this.n=Array.from(this.e.nodeName==="TEMPLATE"?this.e.content.childNodes:this.e.childNodes)}i(e){for(let t=0;t<this.n.length;t+=1)Mi(this.t,this.n[t],e)}p(e){this.d(),this.h(e),this.i(this.a)}d(){this.n.forEach(jn)}};var ya;function ma(r){ya=r}function dC(){if(!ya)throw new Error("Function called outside component initialization");return ya}function rp(r){dC(). $ $ .on_mount.push(r)}var Ri=[];var Go=[],xi=[],wT=[],fC=Promise.resolve(),Xf=!1;function pC(){Xf||(Xf=!0,fC.then(CT))}function ba(r){xi.push(r)}var Qf=new Set,Di=0;function CT(){if(Di!==0)return;let r=ya;do{try{for(;Di<Ri.length;){let e=Ri[Di];Di++,ma(e),hC(e. $ $ )}}catch(e){throw Ri.length=0,Di=0,e}for(ma(null),Ri.length=0,Di=0;Go.length;)Go.pop()();for(let e=0;e<xi.length;e+=1){let t=xi[e];Qf.has(t)||(Qf.add(t),t())}xi.length=0}while(Ri.length);for(;wT.length;)wT.pop()();Xf=!1,Qf.clear(),ma(r)}function hC(r){if(r.fragment!==null){r.update(),Yn(r.before_update);let e=r.dirty;r.dirty=[-1],r.fragment&&r.fragment.p(r.ctx,e),r.after_update.forEach(ba)}}function mC(r){let e=[],t=[];xi.forEach(n=>r.indexOf(n)===-1?e.push(n):t.push(n)),t.forEach(n=>n()),xi=e}var gC=new Set;function yC(r,e){r&&r.i&&(gC.delete(r),r.i(e))}var bC=["allowfullscreen","allowpaymentre
< span class = "accesskey-first" > future < / s p a n > d a t e s : ` , P p = d e ( ) , p r = K ( " i n p u t " ) , N p = d e ( ) , J n = K ( " d i v " ) , M a = K ( " l a b e l " ) , M a . i n n e r H T M L = ' S t a t < s p a n c l a s s = " a c c e s s k e y " > u < / s p a n > s ' , I p = d e ( ) , Y t = K ( " s e l e c t " ) ; f o r ( l e t Y = 0 ; Y < y t . l e n g t h ; Y + = 1 ) y t [ Y ] . c ( ) ; F p = d e ( ) , Z r = K ( " d i v " ) , Q i = K ( " d i v " ) , A a = K ( " l a b e l " ) , A a . t e x t C o n t e n t = " C o m p l e t e d : " , L p = d e ( ) , J r = K ( " i n p u t " ) , U p = d e ( ) , X i = K ( " d i v " ) , U u = K ( " s p a n " ) , U u . t e x t C o n t e n t = " C r e a t e d o n : " , W p = d e ( ) , N a = K ( " c o d e " ) , q p = d e ( ) , Z i = K ( " d i v " ) , W u = K ( " s p a n " ) , W u . t e x t C o n t e n t = " D o n e o n : " , $ p = d e ( ) , I a = K ( " c o d e " ) , Y p = d e ( ) , e i = K ( " d i v " ) , v n = K ( " b u t t o n " ) , j p = d t ( " A p p l y " ) , G p = d e ( ) , J i = K ( " b u t t o n " ) , J i . t e x t C o n t e n t = " C a n c e l " , L ( i , " f o r " , " d e s c r i p t i o n " ) , L ( a , " i d " , " d e s c r i p t i o n " ) , L ( a , " c l a s s " , " t a s k s - m o d a l - d e s c r i p t i o n " ) , L ( a , " p l a c e h o l d e r " , " T a k e o u t t h e t r a s h " ) , L ( a , " a c c e s s k e y " , o = r [ 1 5 ] ( " t " ) ) , L ( n , " c l a s s " , " t a s k s - m o d a l - s e c t i o n " ) , L ( c , " f o r " , h = " p r i o r i t y - " + r [ 1 ] . p r i o r i t y ) , L ( l , " c l a s s " , " t a s k s - m o d a l - s e c t i o n t a s k s - m o d a l - p r i o r i t i e s " ) , L ( x , " f o r " , " r e c u r r e n c e " ) , L ( x , " c l a s s " , " a c c e s s k e y - f i r s t " ) , L ( N , " i d " , " r e c u r r e n c e " ) , L ( N , " t y p e " , " t e x t " ) , L ( N , " p l a c e h o l d e r " , " T r y ' e v e r y 2 w e e k s o n T h u r s d a y ' . " ) , L ( N , " a c c e s s k e y " , F = r [ 1 5 ] ( " r " ) ) , c r ( N , " t a s k s - m o d a l - e r r o r " , ! r [ 8 ] ) , G . a = n u l l , L ( F e , " f o r " , " d u e " ) , L ( F e , " c l a s s " , " a c c e s s k e y - f i r s t " ) , L ( C , " i d " , " d u e " ) , L ( C , " t y p e " , " t e x t " ) , L ( C , " p l a c e h o l d e r " , n p ) , L ( C , " a c c e s s k e y " , E = r [ 1 5 ] ( " d " ) ) , c r ( C , " t a s k s - m o d a l - e r r o r " , ! r [ 7 ] ) , f . a = n u l l , L ( g , " f o r " , " s c h e d u l e d " ) , L ( g , " c l a s s " , " a c c e s s k e y - f i r s t " ) , L ( v , " i d " , " s c h e d u l e d " ) , L ( v , " t y p e " , " t e x t " ) , L ( v , " p l a c e h o l d e r " , n p ) , L ( v , " a c c e s s k e y " , k = r [ 1 5 ] ( " s " ) ) , c r ( v , " t a s k s - m o d a l - e r r o r " , ! r [ 5 ] ) , m e . a = n u l l , L ( r e , " f o r " , " s t a r t " ) , L ( U , " i d " , " s t a r t " ) , L ( U , " t y p e " , " t e x t " ) , L ( U , " p l a c e h o l d e r " , n p ) , L ( U , " a c c e s s k e y " , x e = r [ 1 5 ] ( " a " ) ) , c r ( U , " t a s k s - m o d a l - e r r o r " , ! r [ 3 ] ) , L e . a = n u l l , L ( R a , " f o r " , " f o r w a r d O n l y " ) , L ( p r , " i d " , " f o r w a r d O n l y " ) , L ( p r , " t y p e " , " c h e c k b o x " ) , L ( p r , " c l a s s " , " t a s k - l i s t - i t e m - c h e c k b o x t a s k s - m o d a l - c h e c k b o x " ) , L ( p r , " a c c e s s k e y " , x a = r [ 1 5 ] ( " f " ) ) , L ( w , " c l a s s " , " t a s k s - m o d a l - s e c t i o n t a s k s - m o d a l - d a t e s " ) , L ( M a , " f o r " , " s t a t u s " ) , L ( Y t , " i d " , " s t a t u s - t y p e " ) , L ( Y t , " c l a s s " , " d r o p d o w n " ) , L ( Y t , " a c c e s s k e y " , C a = r [ 1 5 ] ( " u " ) ) , r [ 1 ] . s t a t u s = = = v o i d 0 & & b a ( ( ) = > r [ 3 9 ] . c a l l ( Y t ) ) , L ( J n , " c l a s s " , " t a s k s - m o d a l - s e c t i o n " ) , L ( A a , " f o r " , " s t a t u s " ) , L ( J r , " i d " , " s t a t u s " ) , L ( J r , " t y p e " , " c h e c k b o x " ) , L ( J r , " c l a s s " , " t a s k - l i s t - i t e m - c h e c k b o x t a s k s - m o d a l - c h e c k b o x " ) , J r . c h e c k e d = P a = r [ 1 ] . s t a t u s . i s C o m p l e t e d ( ) , J r . d i s a b l e d = ! 0 , L ( Z r , " c l a s s " , " t a s k s - m o d a l - s e c t i o n t a s k s - m o d a l - s t a t u s " ) , v n . d i s a b l e d = F a = ! r [ 1 4 ] , L ( v n , " t y p e " , " s u b m i t " ) , L ( v n , " c l a s s " , " m o d - c t a " ) , L ( J i , " t y p e " , " b u t t o n " ) , L ( e i , " c l a s s " , " t a s k s - m o d a l - s e c t i o n t a s k s - m o d a l - b u t t o n s " ) , c r ( t , " w i t h - a c c e s s k e y s " , r [ 9 ] ) , L ( e , " c l a s s " , " t a s k s - m o d a l " ) } , m ( Y , f e ) { M i ( Y , e , f e ) , R ( e , t ) , R ( t , n ) , R ( n , i ) , R ( n , s ) , R ( n , a ) , l r ( a , r [ 1 ] . d e s c r i p t i o n ) , r [ 3 1 ] ( a ) , R ( t , u ) , R ( t , l ) , R ( l , c ) , R ( c , p ) , R ( l , _ ) ; f o r ( l e t l e = 0 ; l e < g t . l e n g t h ; l e + = 1 ) g t [ l e ] & & g t [ l e ] . m ( l , n u l l ) ; R ( t , y ) , R ( t , w ) , R ( w , x ) , R ( w , P ) , R ( w , N ) , l r ( N , r [ 1 ] . r e c u r r e n c e R u l e ) , R ( w , Z ) , R ( w , V ) , R ( V , h e ) , R ( V , j ) , G . m ( r [ 1 2 ] , V ) , R ( w , A e ) , R ( w , F e ) , R ( w , B ) , R ( w , C ) , l r ( C , r [ 1 ] . d u e D a t e ) , R ( w , H ) , R ( w , A ) , R ( A , J ) , R ( A , d ) , f . m ( r [ 6 ] , A ) , R ( w , m ) , R ( w , g ) , R ( w , b ) , R ( w , v ) , l r ( v , r [ 1 ] . s c h e d u l e d D a t e ) , R ( w , D ) , R ( w , S ) , R ( S , O ) , R ( S , I ) , m e . m ( r [ 4 ] , S ) , R ( w , s e ) , R ( w , r e ) , R ( w , D e ) , R ( w , U ) , l r ( U , r [ 1 ] . s t a r t D a t e ) , R ( w , C e ) , R ( w , t t ) , R ( t t , R r ) , R ( t t , W e ) , L e . m ( r [ 2 ] , t t ) , R ( w , A p ) , R ( w , V i ) , R ( V i , R a ) , R ( V i , P p ) , R ( V i , p r ) , p r . c h e c k e d = r [ 1 ] . f o r w a r d O n l y , R ( t , N p ) , R ( t , J n ) , R ( J n , M a ) , R ( J n , I p ) , R ( J n , Y t ) ; f o r ( l e t l e = 0 ; l e < y t . l e n g t h ; l e + = 1 ) y t [ l e ] & & y t [ l e ] . m ( Y t , n u l l ) ; t p ( Y t , r [ 1 ] . s t a t u s , ! 0 ) , R ( t , F p ) , R ( t , Z r ) , R ( Z r , Q i ) , R ( Q i , A a ) , R ( Q i , L p ) , R ( Q i , J r ) , R ( Z r , U p ) , R ( Z r , X i ) , R ( X i , U u ) , R ( X i , W p ) , R ( X i , N a ) , N a . i n n e r H T M L = r [ 1 1 ] , R ( Z r , q p ) , R ( Z r , Z i ) , R ( Z i , W u ) , R ( Z i , $ p ) , R ( Z i , I a ) , I a . i n n e r H T M L = r [ 1 3 ] , R ( t , Y p ) , R ( t , e i ) , R ( e i , v n ) , R ( v n , j p ) , R ( e i , G p ) , R ( e i , J i ) , q u | | ( B p = [ E t ( a , " i n p u t " , r [ 3 0 ] ) , E t ( a , " k e y d o w n " , r [ 2 3 ] ) , E t ( a , " p a s t e " , r [ 2 4 ] ) , E t ( a , " d r o p " , r [ 2 4 ] ) , E t ( l , " k e y u p " , r [ 2 1 ] ) , E t ( N , " i n p u t " , r [ 3 4 ] ) , E t ( C , " i n p u t " , r [ 3 5 ] ) , E t ( v , " i n p u t " , r [ 3 6 ] ) , E t ( U , " i n p u t " , r [ 3 7 ] ) , E t ( p r , " c h a n g e " , r [ 3 8 ] ) , E t ( Y t , " c h a n g e " , r [ 3 9 ] ) , E t ( J i , " c l i c k " , r [ 2 2 ] ) , E t ( t , " s u b m i t " , R T ( r [ 2 5 ] ) ) ] , q u = ! 0 ) } , p ( Y , f e ) { i f ( f e [ 0 ] & 3 2 7 6 8 & & o ! = = ( o = Y [ 1 5 ] ( " t " ) ) & & L ( a , " a c c e s s k e y " , o ) , f e [ 0 ] & 3 & & l r ( a , Y [ 1 ] . d e s c r i p t i o n ) , f e [ 0 ] & 3 & & h ! = = ( h = " p r i o r i t y - " + Y [ 1 ] . p r i o r i t y ) & & L ( c , " f o r " , h ) , f e [ 0 ] & 1 0 8 1 3 4 6 ) { t i = Y [ 2 0 ] ; l e t l e ; f o r ( l e = 0 ; l e < t i . l e n g t h ; l e + = 1 ) { l e t e s = I T ( Y , t i , l e ) ; g t [ l e ] ? g t [ l e ] . p ( e s , f e ) : ( g t [ l e ] = F T ( e s ) , g t [ l e ] . c ( ) , g t [ l e ] . m ( l , n u l l ) ) } f o r ( ; l e < g t . l e n g t h ; l e + = 1 ) g t [ l e ] . d ( 1 ) ; g t . l e n g t
` );e.setLine(a,_)};new pn({app:n,task:u,onSubmit:l}).open()};var op=require("obsidian");var $ T=(r,e,t)=>{var u;if(r)return t instanceof op.MarkdownView;if(!(t instanceof op.MarkdownView))return;let n=(u=t.file)==null?void 0:u.path;if(n===void 0)return;let i=e.getCursor(),s=i.line,a=e.getLine(s),o=DC(a,n);e.setLine(s,o.text),e.setCursor(RC(i,o))},DC=(r,e)=>{let t=ye.fromLine({line:r,taskLocation:ot.fromUnknownPosition(e),fallbackDate:null});if(t!==null){let n=t.toggleWithRecurrenceInUsersOrder().map(i=>i.toFileLineString());return{text:n.join( `
` ),moveTo:{line:n.length-1}}}else{let n=r.match(z.taskRegex);if(n!==null){let i=n[3],a=Oe.getInstance().bySymbol(i).nextStatusSymbol;return{text:r.replace(z.taskRegex, ` $1 - [ $ { a } ] $4 ` )}}else if(z.listItemRegex.test(r)){let i=r.replace(z.listItemRegex," $ 1 $ 2 [ ]");return{text:i,moveTo:{ch:i.length}}}else{let i=r.replace(z.indentationRegex," $ 1- ");return{text:i,moveTo:{ch:i.length}}}}},RC=(r,e)=>{var s;let t={line:0,ch:r.ch},n=pe(pe({},t),(s=e.moveTo)!=null?s:{}),i=e.text.split( `
` )[n.line].length;return{line:r.line+n.line,ch:Math.min(n.ch,i)}};var zo=class{get app(){return this.plugin.app}constructor({plugin:e}){this.plugin=e,e.addCommand({id:"edit-task",name:"Create or edit task",icon:"pencil",editorCheckCallback:(t,n,i)=>qT(t,n,i,this.app)}),e.addCommand({id:"toggle-done",name:"Toggle task done",icon:"check-in-circle",editorCheckCallback: $ T})}};var xC=Object.prototype.toString,Ai=Array.isArray||function(e){return xC.call(e)==="[object Array]"};function lp(r){return typeof r=="function"}function MC(r){return Ai(r)?"array":typeof r}function up(r){return r.replace(/[ \- \[ \] {}()*+?., \\ \^ $ |# \s ]/g," \\ $ &")}function YT(r,e){return r!=null&&typeof r=="object"&&e in r}function CC(r,e){return r!=null&&typeof r!="object"&&r.hasOwnProperty&&r.hasOwnProperty(e)}var AC=RegExp.prototype.test;function PC(r,e){return AC.call(r,e)}var NC=/ \S /;function IC(r){return!PC(NC,r)}var FC={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"," ` ":" & # x60 ; "," = ":" & # x3D ; "};function LC(r){return String(r).replace(/[&<>" ' ` = \/ ]/g,function(t){return FC[t]})}var UC=/ \s */,WC=/ \s +/,jT=/ \s *=/,qC=/ \s * \} /, $ C=/#| \^ | \/ |>| \{ |&|=|!/;function YC(r,e){if(!r)return[];var t=!1,n=[],i=[],s=[],a=!1,o=!1,u="",l=0;function c(){if(a&&!o)for(;s.length;)delete i[s.pop()];else s=[];a=!1,o=!1}var p,h,_;function y(G){if(typeof G=="string"&&(G=G.split(WC,2)),!Ai(G)||G.length!==2)throw new Error("Invalid tags: "+G);p=new RegExp(up(G[0])+" \\ s*"),h=new RegExp(" \\ s*"+up(G[1])),_=new RegExp(" \\ s*"+up("}"+G[1]))}y(e||Zt.tags);for(var w=new _a(r),x,P,N,F,Z,V;!w.eos();){if(x=w.pos,N=w.scanUntil(p),N)for(var he=0,j=N.length;he<j;++he)F=N.charAt(he),IC(F)?(s.push(i.length),u+=F):(o=!0,t=!0,u+=" "),i.push(["text",F,x,x+1]),x+=1,F=== `
` &&(c(),u="",l=0,t=!1);if(!w.scan(p))break;if(a=!0,P=w.scan( $ C)||"name",w.scan(UC),P==="="?(N=w.scanUntil(jT),w.scan(jT),w.scanUntil(h)):P==="{"?(N=w.scanUntil(_),w.scan(qC),w.scanUntil(h),P="&"):N=w.scanUntil(h),!w.scan(h))throw new Error("Unclosed tag at "+w.pos);if(P==">"?Z=[P,N,x,w.pos,u,l,t]:Z=[P,N,x,w.pos],l++,i.push(Z),P==="#"||P==="^")n.push(Z);else if(P==="/"){if(V=n.pop(),!V)throw new Error('Unopened section "'+N+'" at '+x);if(V[1]!==N)throw new Error('Unclosed section "'+V[1]+'" at '+x)}else P==="name"||P==="{"||P==="&"?o=!0:P==="="&&y(N)}if(c(),V=n.pop(),V)throw new Error('Unclosed section "'+V[1]+'" at '+w.pos);return GC(jC(i))}function jC(r){for(var e=[],t,n,i=0,s=r.length;i<s;++i)t=r[i],t&&(t[0]==="text"&&n&&n[0]==="text"?(n[1]+=t[1],n[3]=t[3]):(e.push(t),n=t));return e}function GC(r){for(var e=[],t=e,n=[],i,s,a=0,o=r.length;a<o;++a)switch(i=r[a],i[0]){case"#":case"^":t.push(i),n.push(i),t=i[4]=[];break;case"/":s=n.pop(),s[5]=i[2],t=n.length>0?n[n.length-1][4]:e;break;default:t.push(i)}return e}function _a(r){this.string=r,this.tail=r,this.pos=0}_a.prototype.eos=function(){return this.tail===""};_a.prototype.scan=function(e){var t=this.tail.match(e);if(!t||t.index!==0)return"";var n=t[0];return this.tail=this.tail.substring(n.length),this.pos+=n.length,n};_a.prototype.scanUntil=function(e){var t=this.tail.search(e),n;switch(t){case-1:n=this.tail,this.tail="";break;case 0:n="";break;default:n=this.tail.substring(0,t),this.tail=this.tail.substring(t)}return this.pos+=n.length,n};function Ci(r,e){this.view=r,this.cache={".":this.view},this.parent=e}Ci.prototype.push=function(e){return new Ci(e,this)};Ci.prototype.lookup=function(e){var t=this.cache,n;if(t.hasOwnProperty(e))n=t[e];else{for(var i=this,s,a,o,u=!1;i;){if(e.indexOf(".")>0)for(s=i.view,a=e.split("."),o=0;s!=null&&o<a.length;)o===a.length-1&&(u=YT(s,a[o])||CC(s,a[o])),s=s[a[o++]];else s=i.view[e],u=YT(i.view,e);if(u){n=s;break}i=i.parent}t[e]=n}return lp(n)&&(n=n.call(this.view)),n};function wt(){this.templateCache={_cache:{},set:function(e,t){this._cache[e]=t},get:function(e){return this._cache[e]},clear:function(){this._cache={}}}}wt.prototype.clearCache=function(){typeof this.templateCache!="undefined"&&this.templateCache.clear()};wt.prototype.parse=function(e,t){var n=this.templateCache,i=e+":"+(t||Zt.tags).join(":"),s=typeof n!="undefined",a=s?n.get(i):void 0;return a==null&&(a=YC(e,t),s&&n.set(i,a)),a};wt.prototype.render=function(e,t,n,i){var s=this.getConfigTags(i),a=this.parse(e,s),o=t instanceof Ci?t:new Ci(t,void 0);return this.renderTokens(a,o,n,e,i)};wt.prototype.renderTokens=function(e,t,n,i,s){for(var a="",o,u,l,c=0,p=e.length;c<p;++c)l=void 0,o=e[c],u=o[0],u==="#"?l=this.renderSection(o,t,n,i,s):u==="^"?l=this.renderInverted(o,t,n,i,s):u===">"?l=this.renderPartial(o,t,n,s):u==="&"?l=this.unescapedValue(o,t):u==="name"?l=this.escapedValue(o,t,s):u==="text"&&(l=this.rawValue(o)),l!==void 0&&(a+=l);return a};wt.prototype.renderSection=function(e,t,n,i,s){var a=this,o="",u=t.lookup(e[1]);function l(h){return a.render(h,t,n,s)}if(!!u){if(Ai(u))for(var c=0,p=u.length;c<p;++c)o+=this.renderTokens(e[4],t.push(u[c]),n,i,s);else if(typeof u=="object"||typeof u=="string"||typeof u=="number")o+=this.renderTokens(e[4],t.push(u),n,i,s);else if(lp(u)){if(typeof i!="string")throw new Error("Cannot use higher-order sections without the original template");u=u.call(t.view,i.slice(e[3],e[5]),l),u!=null&&(o+=u)}else o+=this.renderTokens(e[4],t,n,i,s);return o}};wt.prototype.renderInverted=function(e,t,n,i,s){var a=t.lookup(e[1]);if(!a||Ai(a)&&a.length===0)return this.renderTokens(e[4],t,n,i,s)};wt.prototype.indentPartial=function(e,t,n){for(var i=t.replace(/[^ \t ]/g,""),s=e.split( `
` ),a=0;a<s.length;a++)s[a].length&&(a>0||!n)&&(s[a]=i+s[a]);return s.join( `
` )};wt.prototype.renderPartial=function(e,t,n,i){if(!!n){var s=this.getConfigTags(i),a=lp(n)?n(e[1]):n[e[1]];if(a!=null){var o=e[6],u=e[5],l=e[4],c=a;u==0&&l&&(c=this.indentPartial(a,l,o));var p=this.parse(c,s);return this.renderTokens(p,t,n,c,i)}}};wt.prototype.unescapedValue=function(e,t){var n=t.lookup(e[1]);if(n!=null)return n};wt.prototype.escapedValue=function(e,t,n){var i=this.getConfigEscape(n)||Zt.escape,s=t.lookup(e[1]);if(s!=null)return typeof s=="number"&&i===Zt.escape?String(s):i(s)};wt.prototype.rawValue=function(e){return e[1]};wt.prototype.getConfigTags=function(e){return Ai(e)?e:e&&typeof e=="object"?e.tags:void 0};wt.prototype.getConfigEscape=function(e){if(e&&typeof e=="object"&&!Ai(e))return e.escape};var Zt={name:"mustache.js",version:"4.2.0",tags:["{{","}}"],clearCache:void 0,escape:void 0,parse:void 0,render:void 0,Scanner:void 0,Context:void 0,Writer:void 0,set templateCache(r){Ta.templateCache=r},get templateCache(){return Ta.templateCache}},Ta=new wt;Zt.clearCache=function(){return Ta.clearCache()};Zt.parse=function(e,t){return Ta.parse(e,t)};Zt.render=function(e,t,n,i){if(typeof e!="string")throw new TypeError('Invalid template! Template should be a "string" but "'+MC(e)+'" was given as the first argument for mustache#render(template, view, partials)');return Ta.render(e,t,n,i)};Zt.escape=LC;Zt.Scanner=_a;Zt.Context=Ci;Zt.Writer=wt;var cp=Zt;var KT=rs(zT());function VT(r,e){cp.escape=function(t){return t};try{return cp.render(r,(0,KT.default)(e))}catch(t){let n="";throw t instanceof Error?n= ` There was an error expanding one or more placeholders .
The error message was :
$ { t . message . replace ( / > /g , "." ) . replace ( "Missing Mustache data property" , "Unknown property" ) } ` :n="Unknown error expanding placeholders.",n+= `
The problem is in :
$ { r } ` ,Error(n)}}function Ko(r){return{query:{file:new Si(r)}}}function Gn(r,e){let t= ` Error : $ { r } .
The error message was :
` ,n="";return e instanceof Error?n+=e:n+="Unknown error", ` $ { t } "${n}" ` }var Vr=class{constructor(e,t,n){this.property=e,this.comparator=Vr.maybeReverse(n,t)}static maybeReverse(e,t){return e?Vr.makeReversedComparator(t):t}static makeReversedComparator(e){return(t,n)=>e(t,n)*-1}};var hn=class{constructor(e,t,n){this.property=e,this.grouper=t,this.reverse=n}};var we=class{canCreateFilterForLine(e){return we.lineMatchesFilter(this.filterRegExp(),e)}static lineMatchesFilter(e,t){return e?e.test(t):!1}static getMatch(e,t){return e?t.match(e):null}fieldNameSingular(){return this.fieldName()}fieldNameSingularEscaped(){return Wo(this.fieldNameSingular())}supportsSorting(){return!1}createSorterFromLine(e){if(!this.supportsSorting())return null;let t=we.getMatch(this.sorterRegExp(),e);if(t===null)return null;let n=!!t[1];return this.createSorter(n)}sorterRegExp(){if(!this.supportsSorting())throw Error( ` sorterRegExp ( ) unimplemented for $ { this . fieldNameSingular ( ) } ` );return new RegExp( ` ^ sort by $ { this . fieldNameSingularEscaped ( ) } ( reverse ) ? ` )}comparator(){throw Error( ` comparator ( ) unimplemented for $ { this . fieldNameSingular ( ) } ` )}createSorter(e){return new Vr(this.fieldNameSingular(),this.comparator(),e)}createNormalSorter(){return this.createSorter(!1)}createReverseSorter(){return this.createSorter(!0)}supportsGrouping(){return!1}createGrouperFromLine(e){if(!this.supportsGrouping())return null;let t=we.getMatch(this.grouperRegExp(),e);if(t===null)return null;let n=!!t[1];return this.createGrouper(n)}grouperRegExp(){if(!this.supportsGrouping())throw Error( ` grouperRegExp ( ) unimplemented for $ { this . fieldNameSingular ( ) } ` );return new RegExp( ` ^ group by $ { this . fieldNameSingularEscaped ( ) } ( reverse ) ? $ ` )}grouper(){throw Error( ` grouper ( ) unimplemented for $ { this . fieldNameSingular ( ) } ` )}createGrouper(e){return new hn(this.fieldNameSingular(),this.grouper(),e)}createNormalGrouper(){return this.createGrouper(!1)}createReverseGrouper(){return this.createGrouper(!0)}};var ke=class{constructor(e,t=[],n=""){this.description=e,this.symbol=n,this.children=t}static booleanAnd(e){return this.combineOrCreateExplanation("All of",e,"AND")}static booleanOr(e){return this.combineOrCreateExplanation("At least one of",e,"OR")}static booleanNot(e){return new ke("None of",e,"NOT")}static booleanXor(e){return new ke("Exactly one of",e,"XOR")}asString(e=""){if(this.children.length==0)return e+this.description;let t=e;this.symbol===""?t+=this.description:(t+=this.symbol,this.children.length>1&&(t+= ` ( $ { this . description } ) ` ),t+=":");let n=e+" ";for(let i=0;i<this.children.length;i++)t+= `
$ { this . children [ i ] . asString ( n ) } ` ;return t}static combineOrCreateExplanation(e,t,n){if(t.length===2){let i=t[0],s=t[1];if(i.symbol===n&&s.symbol==="")return i.children.push(s),i}return new ke(e,t,n)}};var ft=class{constructor(e,t,n){this.instruction=e,this.explanation=n,this.filterFunction=t}explainFilterIndented(e){let t=this.explanation;return t.asString()===this.instruction? ` $ { e } $ { this . instruction }
` : ` $ { e } $ { this . instruction } =>
$ { t . asString ( " " ) }
` }};var vr=class{constructor(e){this.instruction=e}get queryComponent(){return this._queryComponent}set queryComponent(e){this._queryComponent=e}get error(){return this._error}set error(e){this._error=e}static fromObject(e,t){let n=new vr(e);return n._queryComponent=t,n}static fromError(e,t){let n=new vr(e);return n._error=t,n}};var ee=class{constructor(e){this.object=e}get instruction(){return this.object.instruction}get filter(){return this.object.queryComponent}get error(){return this.object.error}get filterFunction(){if(this.filter)return this.filter.filterFunction}static fromFilter(e){return new ee(vr.fromObject(e.instruction,e))}static fromError(e,t){return new ee(vr.fromError(e,t))}};var Vo=class{constructor(e,t){this._instruction=e,this._filter=t}canCreateFilterForLine(e){return e==this._instruction}createFilterOrErrorMessage(e){return e===this._instruction?ee.fromFilter(new ft(e,this._filter,new ke(e))):ee.fromError(e, ` do not understand filter : $ { e } ` )}};var Er=class{constructor(){this._filters=[]}add(e,t){this._filters.push(new Vo(e,t))}canCreateFilterForLine(e){for(let t of this._filters)if(t.canCreateFilterForLine(e))return!0;return!1}createFilterOrErrorMessage(e){for(let t of this._filters){let n=t.createFilterOrErrorMessage(e);if(n.error===void 0)return n}return ee.fromError(e, ` do not understand filter : $ { e } ` )}};var mn=class extends we{constructor(){super(...arguments);this._filters=new Er}canCreateFilterForLine(t){return this._filters.canCreateFilterForLine(t)}createFilterOrErrorMessage(t){return this._filters.createFilterOrErrorMessage(t)}filterRegExp(){return null}};var wr=class extends mn{constructor(){super(),this._filters.add("done",e=>e.isDone),this._filters.add("not done",e=>!e.isDone)}fieldName(){return"status"}supportsSorting(){return!0}comparator(){return(e,t)=>{let n=wr.oldStatusName(e),i=wr.oldStatusName(t);return n<i?1:n>i?-1:0}}static oldStatusName(e){return e.status.symbol===" "?"Todo":"Done"}supportsGrouping(){return!0}grouper(){return e=>[wr.oldStatusName(e)]}};var Qo=class{findUnexpandedDateText(e){let t=["<%","YYYY-MM-DD"];for(let n of t)if(e.includes(n))return this.unexpandedDateTextMessage(n);return null}unexpandedDateTextMessage(e){return ` Instruction contains unexpanded template text : "${e}" - and cannot be interpreted .
Possible causes :
- The query is an a template file , and is not intended to be searched .
- A command such as "Replace templates in the active file" needs to be run .
- The core "Daily notes" plugin is in use , and the template contained
date calculations that it does not support .
- Some sample template text was accidentally pasted in to a tasks query ,
instead of in to a template file .
See : https : //publish.obsidian.md/tasks/Advanced/Instruction+contains+unexpanded+template+text
` }};var pt=class extends we{constructor(t=null){super();t!==null?this.filterInstructions=t:(this.filterInstructions=new Er,this.filterInstructions.add( ` has $ { this . fieldName ( ) } date ` ,n=>this.date(n)!==null),this.filterInstructions.add( ` no $ { this . fieldName ( ) } date ` ,n=>this.date(n)===null),this.filterInstructions.add( ` $ { this . fieldName ( ) } date is invalid ` ,n=>{let i=this.date(n);return i!==null&&!i.isValid()}))}canCreateFilterForLine(t){return this.filterInstructions.canCreateFilterForLine(t)?!0:super.canCreateFilterForLine(t)}createFilterOrErrorMessage(t){let n=this.checkForUnexpandedTemplateText(t);if(n)return ee.fromError(t,n);let i=this.filterInstructions.createFilterOrErrorMessage(t);if(i.filter!==void 0)return i;let s=we.getMatch(this.filterRegExp(),t);if(s===null)return ee.fromError(t,"do not understand query filter ("+this.fieldName()+" date)");let a=s[1],o=s[2],u=s[3],l=Pt.parseDateRange(u);if(!l.isValid()){let h=Pt.parseDate(a);h.isValid()&&(l=new _t(h,h))}if(!l.isValid())return ee.fromError(t,"do not understand "+this.fieldName()+" date");let c=this.buildFilterFunction(o,l),p=pt.buildExplanation(this.fieldNameForExplanation(),o,this.filterResultIfFieldMissing(),l);return ee.fromFilter(new ft(t,c,p))}buildFilterFunction(t,n){let i;switch(t){case"before":i=s=>s?s.isBefore(n.start):this.filterResultIfFieldMissing();break;case"after":i=s=>s?s.isAfter(n.end):this.filterResultIfFieldMissing();break;case"on or before":case"in or before":i=s=>s?s.isSameOrBefore(n.end):this.filterResultIfFieldMissing();break;case"on or after":case"in or after":i=s=>s?s.isSameOrAfter(n.start):this.filterResultIfFieldMissing();break;default:i=s=>s?s.isSameOrAfter(n.start)&&s.isSameOrBefore(n.end):this.filterResultIfFieldMissing()}return this.getFilter(i)}getFilter(t){return n=>t(this.date(n))}filterRegExp(){return new RegExp( ` ^ $ { this . fieldNameForFilterInstruction ( ) } ( ( ( ? : on | in ) or before | before | ( ? : on | in ) or after | after | on | in ) ? ? ( . * ) ) ` )}fieldNameForFilterInstruction(){return this.fieldName()}static buildExplanation(t,n,i,s){let a=n,o="YYYY-MM-DD (dddd Do MMMM YYYY)",u;switch(n){case"before":case"on or after":u=s.start.format(o);break;case"after":case"on or before":u=s.end.format(o);break;case"in or before":a="on or before",u=s.end.format(o);break;case"in or after":a="on or after",u=s.start.format(o);break;default:if(!s.start.isSame(s.end)){let c= ` $ { t } date is between : ` ,p=[new ke( ` $ { s . start . format ( o ) } and ` ),new ke( ` $ { s . end . format ( o ) } inclusive ` )];return i&&p.push(new ke( ` OR no $ { t } date ` )),new ke(c,p)}a="on",u=s.start.format(o);break}let l= ` $ { t } date is $ { a } $ { u } ` ;return i&&(l+= ` OR no $ { t } date ` ),new ke(l)}fieldNameForExplanation(){return this.fieldName()}supportsSorting(){return!0}comparator(){return(t,n)=>Yr(this.date(t),this.date(n))}supportsGrouping(){return!0}grouper(){return t=>{let n=this.date(t);return n===null?["No "+this.fieldName()+" date"]:[n.format("YYYY-MM-DD dddd")]}}checkForUnexpandedTemplateText(t){return new Qo().findUnexpandedDateText(t)}};var Pi=class extends pt{fieldName(){return"due"}date(e){return e.dueDate}filterResultIfFieldMissing(){return!1}};var fp=class extends we{createFilterOrErrorMessage(e){let t=we.getMatch(this.filterRegExp(),e);if(t!==null){let n=t[5],i=null;switch(n){case"lowest":i="5";break;case"low":i="4";break;case"none":i="3";break;case"medium":i="2";break;case"high":i="1";break;case"highest":i="0";break}if(i===null)return ee.fromError(e,"do not understand priority");let s=e,a;switch(t[3]){case"above":a=o=>o.priority.localeCompare(i)<0;break;case"below":a=o=>o.priority.localeCompare(i)>0;break;case"not":a=o=>o.priority!==i;break;default:a=o=>o.priority===i,s= ` $ { this . fieldName ( ) } is $ { n } ` }return ee.fromFilter(new ft(e,a,new ke(s)))}else return ee.fromError(e,"do not understand query filter (priority)")}fieldName(){return"priority"}filterRegExp(){return fp.priorityRegexp}supportsSorting(){return!0}comparator(){return(e,t)=>e.priority.localeCompare(t.priority)}supportsGrouping(){return!0}grouper(){return e=>[e.priorityNameGroupText]}},Bn=fp;Bn.priorityRegexp=/^priority( \s +is)?( \s +(above|below|not))?( \s +(lo
Regular expressions must look like this :
/pattern/
or this :
/ p a t t e r n / f l a g s
Where :
- pattern : The 'regular expression' pattern to search for .
- flags : Optional characters that modify the search .
i => make the search case - insensitive
u => add Unicode support
Examples : /^Log/
/^Log/i
/File Name\.md/
/waiting|waits|waited/i
/\d\d:\d\d/
The following characters have special meaning in the pattern :
to find them literally , you must add a \ before them :
[ \ ^ $ . | ? * + ( )
CAUTION ! Regular expression ( or 'regex' ) searching is a powerful
but advanced feature that requires thorough knowledge in order to
use successfully , and not miss intended search results .
` }explanation(t){let i=BC(t,"using regex: ",this.regexAsString());return new ke(i)}regexAsString(){let t= ` '${this.regex.source}' with ` ;switch(this.regex.flags.length){case 0:t+="no flags";break;case 1:t+= ` flag '${this.regex.flags}' ` ;break;default:t+= ` flags '${this.regex.flags}' ` ;break}return t}};function BC(r,e,t){var o;let n=r.match(/ \/ /);if(!n)return"Error explaining instruction. Could not find a slash character";let i=2,s=((o=n.index)!=null?o:i)-i;return ` $ { e . padEnd ( s ) } $ { t } ` }var Me=class extends we{createFilterOrErrorMessage(e){let t=we.getMatch(this.filterRegExp(),e);if(t===null)return ee.fromError(e, ` do not understand query filter ( $ { this . fieldName ( ) } ) ` );let[n,i,s]=t,a=null;if(i.includes("include"))a=new Ii(s);else if(i.includes("regex")){try{a=gn.validateAndConstruct(s)}catch(l){let c=Gn("Parsing regular expression",l)+ `
$ { gn . helpMessage ( ) } ` ;return ee.fromError(e,c)}if(a===null)return ee.fromError(e, ` Invalid instruction : '${e}'
$ { gn . helpMessage ( ) } ` )}if(a===null)return ee.fromError(e, ` do not understand query filter ( $ { this . fieldName ( ) } ) ` );let o=i.match(/not/)!==null,u=new ft(e,this.getFilter(a,o),a.explanation(e));return ee.fromFilter(u)}fieldPattern(){return this.fieldNameSingularEscaped()}filterOperatorPattern(){return"includes|does not include|regex matches|regex does not match"}filterRegExp(){return new RegExp( ` ^ ( ? : $ { this . fieldPattern ( ) } ) ( $ { this . filterOperatorPattern ( ) } ) ( . * ) ` )}getFilter(e,t){return n=>{let i=e.matches(this.value(n));return t?!i:i}}comparator(){return(e,t)=>this.value(e).localeCompare(this.value(t),void 0,{numeric:!0})}grouper(){return e=>[this.value(e)]}static escapeMarkdownCharacters(e){return e.replace(/ \\ /g," \\ \\ ").replace(/_/g," \\ _")}};var Fi=class extends Me{fieldName(){return"path"}value(e){return e.path}supportsSorting(){return!0}supportsGrouping(){return!0}grouper(){return e=>[Me.escapeMarkdownCharacters(e.path.replace(".md",""))]}};var Li=class extends we{canCreateFilterForLine(e){return!1}createFilterOrErrorMessage(e){return ee.fromError(e,"Filtering by urgency is not yet supported")}fieldName(){return"urgency"}filterRegExp(){throw Error( ` filterRegExp ( ) unimplemented for $ { this . fieldName ( ) } ` )}supportsSorting(){return!0}comparator(){return(e,t)=>t.urgency-e.urgency}supportsGrouping(){return!0}grouper(){return e=>[ ` $ { e . urgency . toFixed ( 2 ) } ` ]}createGrouper(e){return super.createGrouper(!e)}};var Ui=class{static by(e,t){let n=[new Li().comparator(),new wr().comparator(),new Pi().comparator(),new Bn().comparator(),new Fi().comparator()],i=[];for(let s of e)i.push(s.comparator);return t.sort(Ui.makeCompositeComparator([...i,...n]))}static makeCompositeComparator(e){return(t,n)=>{for(let i of e){let s=i(t,n);if(s!==0)return s}return 0}}};var Xo=class{constructor(e,t,n){this.nestingLevel=e,this.displayName=t,this.property=n}};var Zo=class{constructor(e,t){this.lastHeadingAtLevel=new Array;this.groupers=t;let i=e.keys().next().value.length;for(let s=0;s<i;s++)this.lastHeadingAtLevel.push("")}getHeadingsForTaskGroup(e){let t=new Array;for(let n=0;n<e.length;n++){let i=e[n];if(i!=this.lastHeadingAtLevel[n]){t.push(new Xo(n,i,this.groupers[n].property));for(let s=n;s<e.length;s++)this.lastHeadingAtLevel[s]="";this.lastHeadingAtLevel[n]=i}}return t}};var Jo=class{constructor(e){this.children=new Map;this.values=[];this.values=e}generateAllPaths(e=[]){let t=new Map;if(this.children.size==0)return t.set([...e],this.values),t;for(let[n,i]of this.children)e.push(n),i.generateAllPaths(e).forEach((a,o)=>t.set(o,a)),e.pop();return t}};var eu=class extends Jo{},tu=class{constructor(e,t,n){this.root=new eu(t),this.buildGroupingTree(e,n)}buildGroupingTree(e,t){let n=[this.root];for(let i of e){let s=[];for(let a of n)for(let o of a.values){let u=i.grouper(o,t);u.length===0&&u.push("");for(let l of u){let c=a.children.get(l);c===void 0&&(c=new eu([]),a.children.set(l,c),s.push(c)),c.values.push(o)}}n=s}}generateTaskTreeStorage(){return this.root.generateAllPaths()}};var ru=class{constructor(e,t){this.groups=e,this.groupHeadings=[],this.tasks=t}setGroupHeadings(e){for(let t of e)this.groupHeadings.push(t)}applyTaskLimit(e){this.tasks=this.tasks.slice(0,e)}tasksAsStringOfLines(){let e="";for(let t of this.tasks)e+=t.toFileLineString()+ `
` ;return e}toString(){let e= `
` ;e+= ` Group names : [ $ { this . groups } ]
` ;for(let t of this.groupHeadings)e+= ` $ { "#" . repeat ( 4 + t . nestingLevel ) } [ $ { t . property } ] $ { t . displayName }
` ;return e+=this.tasksAsStringOfLines(),e}};var Wi=class{constructor(e,t,n){this._groups=new Array;this._totalTaskCount=0;this._totalTaskCount=t.length,this._groupers=e;let s=new tu(e,t,n).generateTaskTreeStorage();this.addTaskGroups(s),this.sortTaskGroups(),this.setGroupsHeadings(s)}get groupers(){return this._groupers}get groups(){return this._groups}totalTasksCount(){return this._totalTaskCount}toString(){let e="";e+= ` Groupers ( if any ) :
` ;for(let n of this._groupers){let i=n.reverse?" reverse":"";e+= ` - $ { n . property } $ { i }
` }for(let n of this.groups)e+=n.toString(),e+= `
-- -
` ;return e+= `
$ { this . totalTasksCount ( ) } tasks
` ,e}addTaskGroups(e){for(let[t,n]of e){let i=new ru(t,n);this.addTaskGroup(i)}}addTaskGroup(e){this._groups.push(e)}sortTaskGroups(){let e=(t,n)=>{let i=t.groups,s=n.groups;for(let a=0;a<i.length;a++){let o=this._groupers[a],u=i[a].localeCompare(s[a],void 0,{numeric:!0});if(u!==0)return o.reverse?-u:u}return 0};this._groups.sort(e)}setGroupsHeadings(e){let t=new Zo(e,this._groupers);for(let n of this._groups)n.setGroupHeadings(t.getHeadingsForTaskGroup(n.groups))}applyTaskLimit(e){this._groupers.length!==0&&(this._groups.forEach(t=>{t.applyTaskLimit(e)}),this.recalculateTotalTaskCount())}recalculateTotalTaskCount(){let e=[];this._groups.forEach(n=>{e=[...e,...n.tasks]});let t=[...new Set(e)];this._totalTaskCount=t.length}};var Hn=class extends Me{fieldName(){return"description"}value(e){return ge.getInstance().removeAsSubstringFrom(e.description)}supportsSorting(){return!0}comparator(){return(e,t)=>{let n=Hn.cleanDescription(e.description),i=Hn.cleanDescription(t.description);return n.localeCompare(i,void 0,{numeric:!0})}}static cleanDescription(e){e=ge.getInstance().removeAsSubstringFrom(e);let t=/^ \[ \[ ?([^ \] ]*)]]?/,n=e.match(t);if(n!==null){let i=n[1];e=i.substring(i.indexOf("|")+1)+e.replace(t,"")}return e=this.replaceFormatting(e,/^ \* \* ([^*]+) \* \* /),e=this.replaceFormatting(e,/^ \* ([^*]+) \* /),e=this.replaceFormatting(e,/^==([^=]+)==/),e=this.replaceFormatting(e,/^__([^_]+)__/),e=this.replaceFormatting(e,/^_([^_]+)_/),e}static replaceFormatting(e,t){let n=e.match(t);return n!==null&&(e=n[1]+e.replace(t,"")),e}};var nu=class extends pt{fieldName(){return"created"}date(e){return e.createdDate}filterResultIfFieldMissing(){return!1}};var iu=class extends pt{fieldName(){return"done"}date(e){return e.doneDate}filterResultIfFieldMissing(){return!1}};var su=class extends mn{constructor(){super(),this._filters.add("exclude sub-items",e=>{if(e.indentation==="")return!0;let t=e.indentation.lastIndexOf(">");return t===-1?!1:/^ ? $ /.test(e.indentation.slice(t+1))})}fieldName(){return"exclude"}};var va=class extends vr{};function pp(r,e){let t=r.map(([n])=>n);try{let n=e.includes("return")?e: ` return $ { e } ` ,i=e&&new Function(...t,n);return i instanceof Function?va.fromObject(e,i):va.fromError(e,"Error parsing group function")}catch(n){return va.fromError(e,Gn( ` Failed parsing expression "${e}" ` ,n))}}function hp(r,e){let t=e.map(([n,i])=>i);return r(...t)}function mp(r,e,t){try{return hp(r,e)}catch(n){return Gn( ` Failed calculating expression "${t}" ` ,n)}}function au(r,e){return[["task",r],["query",e?e.query:null]]}function QT(r,e,t){let n=au(r,t||null),i=pp(n,e);return i.error?i.error:mp(i.queryComponent,n,e)}var ou=class{constructor(e){this.line=e,this.functionOrError=pp(au(null,null),e)}isValid(){return this.functionOrError.error===void 0}get parseError(){return this.functionOrError.error}evaluate(e,t){if(!this.isValid())throw Error( ` Error : Cannot evaluate an expression which is not valid : "${this.line}" gave error : "${this.parseError}" ` );return hp(this.functionOrError.queryComponent,au(e,t||null))}evaluateOrCatch(e,t){return this.isValid()?mp(this.functionOrError.queryComponent,au(e,t),this.line): ` Error : Cannot evaluate an expression which is not valid : "${this.line}" gave error : "${this.parseError}" ` }};var uu=class extends we{createFilterOrErrorMessage(e){let t=we.getMatch(this.filterRegExp(),e);if(t===null)return ee.fromError(e,"Unable to parse line");let n=t[1],i=new ou(n);return i.isValid()?ee.fromFilter(new ft(e,HC(i),new ke(e))):ee.fromError(e,i.parseError)}fieldName(){return"function"}filterRegExp(){return new RegExp( ` ^ filter by $ { this . fieldNameSingularEscaped ( ) } ( . * ) ` )}supportsGrouping(){return!0}createGrouperFromLine(e){let t=we.getMatch(this.grouperRegExp(),e);if(t===null)return null;let n=!!t[1],i=t[2];return new hn("function",KC(i),n)}grouperRegExp(){return new RegExp( ` ^ group by $ { this . fieldNameSingularEscaped ( ) } ( reverse ) ? ( . * ) ` )}grouper(){throw Error("grouper() function not valid for FunctionField. Use createGrouperFromLine() instead.")}};function HC(r){return(e,t)=>{let n=t.queryContext();return zC(r,e,n)}}function zC(r
Allowed options : 'is' and 'is not' ( without quotes ) .
Allowed values : $ { t }
Note : values are case - insensitive ,
so 'in_progress' works too , for example .
Example : $ { this . fieldNameSingular ( ) } is not NON _TASK ` ;return ee.fromError(e,n)}fieldName(){return"status.type"}value(e){return e.status.type}supportsSorting(){return!0}comparator(){return(e,t)=>{let n=yn.groupName(e),i=yn.groupName(t);return n.localeCompare(i,void 0,{numeric:!0})}}supportsGrouping(){return!0}grouper(){return e=>[yn.groupName(e)]}static groupName(e){return e.status.typeGroupText}};var wu=class extends Me{fieldName(){return"recurrence"}value(e){return e.recurrence!==null?e.recurrence.toText():""}supportsGrouping(){return!0}grouper(){return e=>e.recurrence!==null?[e.recurrence.toText()]:["None"]}};var ku=class extends Me{fieldName(){return"folder"}value(e){return e.file.folder}supportsGrouping(){return!0}grouper(){return e=>[Me.escapeMarkdownCharacters(this.value(e))]}};var Su=class extends Me{fieldName(){return"root"}value(e){return e.file.root}supportsGrouping(){return!0}grouper(){return e=>[Me.escapeMarkdownCharacters(this.value(e))]}};var Ou=class extends Me{fieldName(){return"backlink"}value(e){let t=e.getLinkText({isFilenameUnique:!0});return t===null?"Unknown Location":t}createFilterOrErrorMessage(e){return ee.fromError(e,"backlink field does not support filtering")}canCreateFilterForLine(e){return!1}supportsGrouping(){return!0}grouper(){return e=>{let t=e.filename;if(t===null)return["Unknown Location"];let n=e.precedingHeader;return n===null?["[["+t+"]]"]:[ ` [ [ $ { t } # $ { n } | $ { t } > $ { n } ] ] ` ]}}};var Sp=[()=>new Eu,()=>new yn,()=>new wr,()=>new pu,()=>new Bn,()=>new fu,()=>new nu,()=>new du,()=>new cu,()=>new Pi,()=>new iu,()=>new Fi,()=>new ku,()=>new Su,()=>new Ou,()=>new Hn,()=>new zn,()=>new lu,()=>new su,()=>new vu,()=>new Li,()=>new wu,()=>new uu,()=>new Tu];function _u(r){for(let e of Sp){let t=e();if(t.canCreateFilterForLine(r))return t.createFilterOrErrorMessage(r)}return null}function d_(r){let e=/^sort by /;if(r.match(e)===null)return null;for(let t of Sp){let i=t().createSorterFromLine(r);if(i)return i}return null}function f_(r){let e=/^group by /;if(r.match(e)===null)return null;for(let t of Sp){let i=t().createGrouperFromLine(r);if(i)return i}return null}var bn=class{constructor(e,t){this.queryPath=e,this.allTasks=[...t]}static fromAllTasks(e){return new bn(void 0,e)}queryContext(){return this.queryPath?Ko(this.queryPath):void 0}};function p_(r){return ` task$ { r !== 1 ? "s" : "" } ` }var Qn=class{constructor(e,t){this.totalTasksCountBeforeLimit=0;this._searchErrorMessage=void 0;this.taskGroups=e,this.totalTasksCountBeforeLimit=t}get searchErrorMessage(){return this._searchErrorMessage}set searchErrorMessage(e){this._searchErrorMessage=e}get totalTasksCount(){return this.taskGroups.totalTasksCount()}totalTasksCountDisplayText(){let e=this.totalTasksCount,t=this.totalTasksCountBeforeLimit;return e===t? ` $ { e } $ { p _ ( e ) } ` : ` $ { e } of $ { t } $ { p _ ( t ) } ` }get groups(){return this.taskGroups.groups}static fromError(e){let t=new Qn(new Wi([],[],bn.fromAllTasks([])),0);return t._searchErrorMessage=e,t}};function h_(r){return r.endsWith(" \\ ")}function m_(r){return r.endsWith(" \\ \\ ")}function EA(r){return r.replace(/^[ \t ]*/,"")}function wA(r){return r.replace(/[ \t ]* \\ $ /,"")}function kA(r,e){let t=r;return e&&(t=EA(r)),m_(t)?t=t.slice(0,-1):h_(r)&&(t=wA(t)),t}function SA(r,e,t){e?r[r.length-1]+=" "+t:r.push(t)}function OA(r){let e=[],t=!1;for(let n of r.split( `
` )){let i=kA(n,t);SA(e,t,i),m_(n)?t=!1:t=h_(n)}return e.join( `
` )}function g_(r){return OA(r).split( `
` ).map(e=>e.trim()).filter(e=>e!=="")}var Xr=class{constructor(e,t=void 0){this._limit=void 0;this._taskGroupLimit=void 0;this._layoutOptions=new da;this._filters=[];this._error=void 0;this._sorting=[];this._grouping=[];this._ignoreGlobalQuery=!1;this.hideOptionsRegexp=/^(hide|show) (task count|backlink|priority|created date|start date|scheduled date|done date|due date|recurrence rule|edit button|urgency|tags)/;this.shortModeRegexp=/^short/;this.explainQueryRegexp=/^explain/;this.ignoreGlobalQueryRegexp=/^ignore global query/;this.logger=xt.getLogger("tasks.Query");this._queryId="";this.limitRegexp=/^limit (groups )?(to )?( \d +)( tasks?)?/;this.commentRegexp=/^#.*/;this._queryId=this.generateQueryId(10),this.source=e,this.filePath=t,this.debug( ` Creating query : $ { this . formatQueryForLogging ( ) } ` ),g_(e).forEach(n=>{let i=this.expandPlaceholders(n,t);if(this.error===void 0)switch(!0){case this.shortModeRegexp.test(i):this._layoutOptions.shortMode=!0;break;case this.explainQueryRegexp.test(i):this._layoutOptions.explainQuery=!0;break;case this.ignoreGlobalQueryRegexp.test(i):this._ignoreGlobalQuery=!0;break;case this.limitRegexp.test(i):this.parseLimit(i);break;case this.parseSortBy(i):break;case this.parseGroupBy(i):break;case this.hideOptionsRegexp.test(i):this.parseHideOptions(i);break;case this.commentRegexp.test(i):break;case this.parseFilter(i):break;default:this.setError("do not understand query",i)}})}formatQueryForLogging(){return ` [ $ { this . source . split ( `
` ).join(" ; ")}] ` } expandPlaceholders ( e , t ) { if ( e . includes ( "{{" ) && e . includes ( "}}" ) && this . filePath === void 0 ) return this . _error = ` The query looks like it contains a placeholder, with "{{" and "}}"
but no file path has been supplied , so cannot expand placeholder values .
The query is :
$ { e } ` ,e;let n=e;if(t){let i=Ko(t);try{n=VT(e,i)}catch(s){return s instanceof Error?this._error=s.message:this._error="Internal error. expandPlaceholders() threw something other than Error.",e}}return n}append(e){return this.source===""?e:e.source===""?this:new Xr( ` $ { this . source }
$ { e . source } ` ,this.filePath)}explainQuery(){let e="";if(this.error!==void 0)return e+= ` Query has an error :
` ,e+=this.error+ `
` ,e;let t=this.filters.length;if(t===0)e+="No filters supplied. All tasks will match the query.";else for(let i=0;i<t;i++)i>0&&(e+= `
` ),e+=this.filters[i].explainFilterIndented("");e+=this.explainQueryLimits();let{debugSettings:n}=Q();return n.ignoreSortInstructions&&(e+= `
NOTE : All sort instructions , including default sort order , are disabled , due to 'ignoreSortInstructions' setting . ` ),e}explainQueryLimits(){let e="";function t(n){let i= `
At most $ { n } task ` ;return n!==1&&(i+="s"),i}return this._limit!==void 0&&(e+=t(this._limit),e+= ` .
` ),this._taskGroupLimit!==void 0&&(e+=t(this._taskGroupLimit),e+= ` per group ( if any "group by" options are supplied ) .
` ),e}get limit(){return this._limit}get layoutOptions(){return this._layoutOptions}get filters(){return this._filters}addFilter(e){this._filters.push(e)}get sorting(){return this._sorting}get grouping(){return this._grouping}get error(){return this._error}setError(e,t){this._error= ` $ { e }
Problem line : "${t}" ` }get ignoreGlobalQuery(){return this._ignoreGlobalQuery}applyQueryToTasks(e){this.debug( ` Executing query : $ { this . formatQueryForLogging ( ) } ` );let t=new bn(this.filePath,e);try{this.filters.forEach(o=>{e=e.filter(u=>o.filterFunction(u,t))});let{debugSettings:n}=Q(),i=n.ignoreSortInstructions?e:Ui.by(this.sorting,e),s=i.slice(0,this.limit),a=new Wi(this.grouping,s,t);return this._taskGroupLimit!==void 0&&a.applyTaskLimit(this._taskGroupLimit),new Qn(a,i.length)}catch(n){let i="Search failed";return Qn.fromError(Gn(i,n))}}parseHideOptions(e){let t=e.match(this.hideOptionsRegexp);if(t!==null){let n=t[1]==="hide";switch(t[2]){case"task count":this._layoutOptions.hideTaskCount=n;break;case"backlink":this._layoutOptions.hideBacklinks=n;break;case"priority":this._layoutOptions.hidePriority=n;break;case"created date":this._layoutOptions.hideCreatedDate=n;break;case"start date":this._layoutOptions.hideStartDate=n;break;case"scheduled date":this._layoutOptions.hideScheduledDate=n;break;case"due date":this._layoutOptions.hideDueDate=n;break;case"done date":this._layoutOptions.hideDoneDate=n;break;case"recurrence rule":this._layoutOptions.hideRecurrenceRule=n;break;case"edit button":this._layoutOptions.hideEditButton=n;break;case"urgency":this._layoutOptions.hideUrgency=n;break;case"tags":this._layoutOptions.hideTags=n;break;default:this.setError("do not understand hide/show option",e)}}}parseFilter(e){var n;let t=_u(e);return t!=null?(t.filter?this._filters.push(t.filter):this.setError((n=t.error)!=null?n:"Unknown error",e),!0):!1}parseLimit(e){let t=e.match(this.limitRegexp);if(t===null){this.setError("do not understand query limit",e);return}let n=Number.parseInt(t[3],10);t[1]!==void 0?this._taskGroupLimit=n:this._limit=n}parseSortBy(e){let t=d_(e);return t?(this._sorting.push(t),!0):!1}parseGroupBy(e){let t=f_(e);return t?(this._grouping.push(t),!0):!1}generateQueryId(e){let t="AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz1234567890";return Array.from({length:e},()=>t[Math.floor(Math.random()*t.length)]).join("")}debug(e,t){this.logger.debugWithId(this._queryId, ` "${this.filePath}" : $ { e } ` ,t)}};var Tn=class{constructor(e=Tn.empty){this._source=e}static getInstance(){return Tn.instance||(Tn.instance=new Tn),Tn.instance}set(e){this._source=e}query(e=void 0){return new Xr(this._source,e)}hasInstructions(){return this._source.trim()!==Tn.empty}},er=Tn;er.empty="";var Du=class{constructor({obsidianEvents:e}){this.logger=xt.getLogger("tasks.Events");this.obsidianEvents=e}onCacheUpdate(e){return this.logger.debug("TasksEvents.onCacheUpdate()"),this.obsidianEvents.on("obsidian-tasks-plugin:cache-update",e)}triggerCacheUpdate(e){this.logger.debug("TasksEvents.triggerCacheUpdate()"),this.obsidianEvents.trigger("obsidian-tasks-plugin:cache-update",e)}onRequestCacheUpdate(e){return this.logger.debug("TasksEvents.onRequestCacheUpdate()"),this.obsidianEvents.on("obsidian-tasks-plugin:request-cache-update",e)}triggerRequestCacheUpdate(e){this.logger.debug("TasksEvents.triggerRequestCacheUpdate()"),this.obsidianEvents.trigger("obsidian-tasks-plugin:request-cache-update",e)}off(e){this.logger.debug("TasksEvents.off()"),this.obsidianEvents.offref(e)}};var Sa=require("obsidian");var wa,Op,Dp,DA=["md"],ka=xt.getLogger("tasks.File"),y_=({metadataCache:r,vault:e,workspace:t})=>{wa=r,Op=e,Dp=t},Mu=t=>q(void 0,[t],function*({originalTask:r,newTasks:e}){if(Op===void 0||wa===void 0||Dp===void 0){Ru("Tasks: cannot use File before initializing it.");return}Array.isArray(e)||(e=[e]),ka.debug( ` replaceTaskWithTasks entered . $ { r . path } ` ),T_({originalTask:r,newTasks:e,vault:Op,metadataCache:wa,workspace:Dp,previousTries:0})});function Ru(r){console.error(r),new Sa.Notice(r,15e3)}function b_(r){console.warn(r),new Sa.Notice(r,1e4)}function RA(r){ka.debug(r)}var _n=class extends Error{},xu=class extends Error{},T_=a=>q(void 0,[a],function*({originalTask:r,newTasks:e,vault:t,metadataCache:n,workspace:i,previousTries:s}){ka.debug( ` tryRepetitive after $ { s } previous tries ` );let o=()=>{if(s>10){let l= ` Tasks : Could not find the correct task line
The task line not updated is :
$ { r . originalMarkdown }
In this markdown file :
"${r.taskLocation.path}"
Note : further clicks on this checkbox will usually now be ignored until the file is opened ( or certain , specific edits are made - it ' s complicated ) .
Recommendations :
1. Close all panes that have the above file open , and then re - open the file .
2. Check for exactly identical copies of the task line , in this file , and see if you can make them different .
` ;Ru(l);return}let u=Math.min(Math.pow(10,s),100);ka.debug( ` timeout = $ { u } ` ),setTimeout(()=>{T_({originalTask:r,newTasks:e,vault:t,metadataCache:n,workspace:i,previousTries:s+1})},u)};try{let[u,l,c]=yield __(r,t),p=[...c.slice(0,u),...e.map(h=>h.toFileLineString()),...c.slice(u+1)];yield t.modify(l,p.join( `
` ))}catch(u){if(u instanceof _n)return u.message&&b_(u.message),o();if(u instanceof xu)return o();u instanceof Error&&Ru(u.message)}});function __(r,e){return q(this,null,function*(){if(wa===void 0)throw new _n;let t=e.getAbstractFileByPath(r.path);if(!(t instanceof Sa.TFile))throw new _n( ` Tasks : No file found for task $ { r . description } . Retrying ... ` );if(!DA.includes(t.extension))throw new Error( ` Tasks : Does not support files with the $ { t . extension } file extension . ` );let n=wa.getFileCache(t);if(n==null||n===null)throw new _n( ` Tasks : No file cache found for file $ { t . path } . Retrying ... ` );let i=n.listItems;if(i===void 0||i.length===0)throw new _n( ` Tasks : No list items found in file cache of $ { t . path } . Retrying ... ` );let a=(yield e.read(t)).split( `
` ),o=xA(r,a,i,RA);if(o===void 0)throw new xu;return[o,t,a]})}function Rp(r,e){return q(this,null,function*(){try{let[t,n,i]=yield __(r,e);return[t,n]}catch(t){t instanceof _n?t.message&&b_(t.message):t instanceof Error&&Ru(t.message)}})}function v_(r,e){return r<e.length}function xA(r,e,t,n){let i=MA(r,e);return i!==void 0||(i=CA(r,e),i!==void 0)?i:AA(r,e,t,n)}function MA(r,e){let t=r.taskLocation.lineNumber;if(v_(t,e)&&e[t]===r.originalMarkdown)return ka.debug( ` Found original markdown at original line number $ { t } ` ),t}function CA(r,e){let t=[];for(let n=0;n<e.length;n++)e[n]===r.originalMarkdown&&t.push(n);if(t.length===1)return t[0]}function AA(r,e,t,n){let i,s=0;for(let a of t){let o=a.position.start.line;if(!v_(o,e))return;if(o<r.taskLocation.sectionStart||a.task===void 0)continue;let u=e[o];if(ge.getInstance().includedIn(u)){if(s===r.taskLocation.sectionIndex){if(u===r.originalMarkdown)i=o;else{n( ` Tasks : Unable to find task in file $ { r . taskLocation . path } .
Expected task :
$ { r . originalMarkdown }
Found task :
$ { u } ` );return}break}s++}}return i}var w_=require("obsidian");var E_=require("obsidian");var PA={description:"task-description",priority:"task-priority",dueDate:"task-due",startDate:"task-start",createdDate:"task-created",scheduledDate:"task-scheduled",doneDate:"task-done",recurrenceRule:"task-recurring",blockLink:"task-block-link"},NA=7,IA="far";function FA(r,e,t){return q(this,null,function*(){var o;let n=document.createElement("li");e.parentUlElement.appendChild(n),n.classList.add("task-list-item","plugin-tasks-list-item");let i=document.createElement("span");n.appendChild(i),i.classList.add("tasks-list-text");let s=yield LA(r,e,i,t);for(let u in s)n.dataset[u]=s[u];let a=document.createElement("input");return n.appendChild(a),a.classList.add("task-list-item-checkbox"),a.type="checkbox",r.status.symbol!==" "&&(a.checked=!0,n.classList.add("is-checked")),a.addEventListener("click",u=>{u.preventDefault(),u.stopPropagation(),a.disabled=!0;let l=r.toggleWithRecurrenceInUsersOrder();Mu({originalTask:r,newTasks:l})}),n.prepend(a),n.setAttribute("data-task",r.status.symbol.trim()),n.setAttribute("data-line",e.listIndex.toString()),n.setAttribute("data-task-status-name",r.status.name),n.setAttribute("data-task-status-type",r.status.type),a.setAttribute("data-line",e.listIndex.toString()),(o=e.layoutOptions)!=null&&o.shortMode&&jA({task:r,element:i,isFilenameUnique:e.isFilenameUnique}),n})}function LA(r,e,t,n){return q(this,null,function*(){let i={},s=new dn(e.layoutOptions),a=Gr.tasksPluginEmoji.taskSerializer;for(let o of s.shownTaskLayoutComponents){let u=a.componentToString(r,s,o);if(u){o==="description"&&(u=ge.getInstance().removeAsWordFromDependingOnSettings(u));let l=document.createElement("span");if(t.appendChild(l),l){let c=document.createElement("span");l.appendChild(c),yield UA(c,u,o,r,n,e.obsidianComponent),qA(o,c);let p=WA(o,r);l.classList.add(...p);let h=xp(o,r);for(let _ in h)l.dataset[_]=h[_];i=pe(pe({},i),h)}}}for(let o of s.hiddenTaskLayoutComponents){let u=xp(o,r);i=pe(pe({},i),u)}if(i.taskPriority===void 0){let o=xp("priority",r);i=pe(pe({},i),o)}return i})}function UA(r,e,t,n,i,s){return q(this,null,function*(){if(t==="description"){let{debugSettings:a}=Q();a.showTaskHiddenData&&(e+= ` < br > \ u { 1 F41B } < b > $ { n . lineNumber } < / b > . $ { n . s e c t i o n S t a r t } . $ { n . s e c t i o n I n d e x } . ' < c o d e > $ { n . o r i g i n a l M a r k d o w n } < / c o d e > ' < b r > ' < c o d e > $ { n . p a t h } < / c o d e > ' > ' < c o d e > $ { n . p r e c e d i n g H e a d e r } < / c o d e > ' < b r > ` ) , y i e l d i ( e , r , n . p a t h , s ) ; l e t o = r . q u e r y S e l e c t o r ( " b l o c k q u o t e " ) , u = o ! = n u l l ? o : r , l = u . q u e r y S e l e c t o r ( " p " ) ; i f ( l ! = = n u l l ) { f o r ( ; l . f i r s t C h i l d ; ) u . i n s e r t B e f o r e ( l . f i r s t C h i l d , l ) ; l . r e m o v e ( ) } r . q u e r y S e l e c t o r A l l ( " p " ) . f o r E a c h ( c = > { c . h a s C h i l d N o d e s ( ) | | c . r e m o v e ( ) } ) , r . q u e r y S e l e c t o r A l l ( " . f o o t n o t e s " ) . f o r E a c h ( c = > { c . r e m o v e ( ) } ) } e l s e r . i n n e r H T M L = e } ) } f u n c t i o n W A ( r , e ) { l e t t = [ ] , n = P A [ r ] ; s w i t c h ( r ) { c a s e " b l o c k L i n k " : c a s e " d e s c r i p t i o n " : c a s e " p r i o r i t y " : c a s e " r e c u r r e n c e R u l e " : t . p u s h ( n ) ; b r e a k ; c a s e " c r e a t e d D a t e " : c a s e " d u e D a t e " : c a s e " s t a r t D a t e " : c a s e " s c h e d u l e d D a t e " : c a s e " d o n e D a t e " : { e [ r ] & & t . p u s h ( n ) ; b r e a k } } r e t u r n t } f u n c t i o n x p ( r , e ) { l e t t = { } , n = { c r e a t e d D a t e : " t a s k C r e a t e d " , d u e D a t e : " t a s k D u e " , s t a r t D a t e : " t a s k S t a r t " , s c h e d u l e d D a t e : " t a s k S c h e d u l e d " , d o n e D a t e : " t a s k D o n e " , p r i o r i t y : " t a s k P r i o r i t y " , d e s c r i p t i o n : " " , r e c u r r e n c e R u l e : " " , b l o c k L i n k : " " } ; s w i t c h ( r ) { c a s e " d e s c r i p t i o n " : c a s e " r e c u r r e n c e R u l e " : c a s e " b l o c k L i n k " : b r e a k ; c a s e " p r i o r i t y " : { l e t i = n [ r ] ; t [ i ] = z r . p r i o r i t y N a m e U s i n g N o r m a l ( e . p r i o r i t y ) . t o L o c a l e L o w e r C a s e ( ) ; b r e a k } c a s e " c r e a t e d D a t e " : c a s e " d u e D a t e " : c a s e " s t a r t D a t e " : c a s e " s c h e d u l e d D a t e " : c a s e " d o n e D a t e " : { l e t i = e [ r ] ; i f ( i ) { l e t s = $ A ( i ) ; i f ( s ) { l e t a = n [ r ] ; t [ a ] = s } } b r e a k } } r e t u r n t } f u n c t i o n q A ( r , e ) { i f ( r = = = " d e s c r i p t i o n " ) { l e t t = e . g e t E l e m e n t s B y C l a s s N a m e ( " t a g " ) ; f o r ( l e t n = 0 ; n < t . l e n g t h ; n + + ) { l e t i = t [ n ] . t e x t C o n t e n t ; i f ( i ) { l e t s = Y A ( i ) , a = t [ n ] ; s & & ( a . d a t a s e t . t a g N a m e = s ) } } } } f u n c t i o n $ A ( r ) { l e t e = w i n d o w . m o m e n t ( ) . s t a r t O f ( " d a y " ) , t = " " , n = e . d i f f ( r , " d a y s " ) ; r e t u r n i s N a N ( n ) ? n u l l : n = = = 0 ? " t o d a y " : ( n > 0 ? t + = " p a s t - " : n < 0 & & ( t + = " f u t u r e - " ) , M a t h . a b s ( n ) < = N A ? t + = M a t h . a b s ( n ) . t o S t r i n g ( ) + " d " : t + = I A , t ) } f u n c t i o n Y A ( r ) { l e t e = / [ " & \ x 0 0 \ r \ n ] / g , t = r . r e p l a c e ( e , " - " ) ; r e t u r n t = t . r e p l a c e ( / ^ [ - _ ] + / , " " ) , t . l e n g t h > 0 ? t : n u l l } f u n c t i o n j A ( { t a s k : r , e l e m e n t : e , i s F i l e n a m e U n i q u e : t } ) { l e t { r e c u r r e n c e S y m b o l : n , s t a r t D a
` );if(h===void 0)return!1;let _=null;for(let w=0;w<h.length;w=w+1)if(h[w]!==""){_=h[w];break}return _===null?!1:ge.getInstance().includedIn(_)});if(i.length===0)return;let s=t.sourcePath,a=t.getSectionInfo(e);if(a===null)return;let o=a.text.split( `
` ),u=0,l=[];for(let p=a.lineStart;p<=a.lineEnd;p++){let h=o[p];if(h===void 0)continue;let _=null,y=ye.fromLine({line:h,taskLocation:new ot(s,p,a.lineStart,u,_),fallbackDate:null});y!==null&&(l.push(y),u++)}for(let p=0;p<i.length;p++){let h=l[p],_=i[p];if(h===void 0||_===void 0)continue;let y=(c=_.getAttr("data-line"))!=null?c:"0",w=Number.parseInt(y,10),x=yield Cu(h,{parentUlElement:e,listIndex:w,obsidianComponent:n}),P=_.childNodes;for(let Z=0;Z<P.length;Z=Z+1){let V=P[Z];V.nodeName.toLowerCase()==="div"?x.prepend(V):V.nodeName.toLowerCase()==="ul"&&x.append(V)}let N=_.querySelectorAll("[data-footnote-id]"),F=x.querySelectorAll("[data-footnote-id]");if(N.length===F.length)for(let Z=0;Z<N.length;Z++)F[Z].replaceWith(N[Z]);_.replaceWith(x)}})}};var k_=require("@codemirror/view"),S_=require("obsidian");var O_=()=>k_.ViewPlugin.fromClass(Mp),Mp=class{constructor(e){this.view=e,this.handleClickEvent=this.handleClickEvent.bind(this),this.view.dom.addEventListener("click",this.handleClickEvent)}destroy(){this.view.dom.removeEventListener("click",this.handleClickEvent)}handleClickEvent(e){let{target:t}=e;if(!t||!(t instanceof HTMLInputElement)||t.type!=="checkbox")return!1;let n=t.closest("ul.plugin-tasks-query-result, div.callout-content");if(n){if(n.matches("div.callout-content")){let h= ` 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(h),new S_.Notice(h,45e3)}return!1}let{state:i}=this.view,s=this.view.posAtDOM(t),a=i.doc.lineAt(s),o=ye.fromLine({line:a.text,taskLocation:ot.fromUnknownPosition(""),fallbackDate:null});if(o===null)return!1;e.preventDefault();let l=o.toggleWithRecurrenceInUsersOrder().map(h=>h.toFileLineString()).join(i.lineBreak),c=i.update({changes:{from:a.from,to:a.to,insert:l}});this.view.dispatch(c);let p=t.checked;return setTimeout(()=>{t.checked=p},1),!0}};var zi=require("obsidian");function D_(r,e,t,n=void 0){let i="";e.isEmpty()||(i+= ` Only tasks containing the global filter '${e.get()}' .
` );let s=new Xr(r,n);return s.ignoreGlobalQuery||t.hasInstructions()&&(i+= ` Explanation of the global query :
$ { t . query ( n ) . explainQuery ( ) }
` ),i+= ` Explanation of this Tasks code block query :
$ { s . explainQuery ( ) } ` ,i}function Pu(r,e,t){let n=new Xr(r,t);return n.ignoreGlobalQuery?n:e.query(t).append(n)}var Nu=class{constructor({plugin:e,events:t}){this.addQueryRenderChild=this._addQueryRenderChild.bind(this);this.app=e.app,this.events=t,e.registerMarkdownCodeBlockProcessor("tasks",this._addQueryRenderChild.bind(this))}_addQueryRenderChild(e,t,n){return q(this,null,function*(){n.addChild(new Cp({app:this.app,events:this.events,container:t,source:e,filePath:n.sourcePath}))})}},Cp=class extends zi.MarkdownRenderChild{constructor({app:t,events:n,container:i,source:s,filePath:a}){super(i);switch(this.app=t,this.events=n,this.source=s,this.filePath=a,this.containerEl.className){case"block-language-tasks":this.query=Pu(this.source,er.getInstance(),this.filePath),this.queryType="tasks";break;default:this.query=Pu(this.source,er.getInstance(),this.filePath),this.queryType="tasks";break}}onload(){this.events.triggerRequestCacheUpdate(this.render.bind(this)),this.renderEventRef=this.events.onCacheUpdate(this.render.bind(this)),this.reloadQueryAtMidnight()}onunload(){this.renderEventRef!==void 0&&this.events.off(this.renderEventRef),this.queryReloadTimeout!==void 0&&clearTimeout(this.queryReloadTimeout)}reloadQueryAtMidnight(){let t=new Date;t.setHours(24,0,0,0);let n=new Date,i=t.getTime()-n.getTime();this.queryReloadTimeout=setTimeout(()=>{this.query=Pu(this.source,er.getInstance(),this.filePath),this.events.triggerRequestCacheUpdate(this.render.bind(this)),this.reloadQueryAtMidnight()},i+1e3)}render(i){return q(this,arguments,function*({tasks:t,state:n}){var a;let s=this.containerEl.createEl("div");n==="Warm"&&this.query.error===void 0?yield this.renderQuerySearchResults(t,n,s):this.query.error!==void 0?this.renderErrorMessage(s,this.query.error):this.renderLoadingMessage(s),(a=this.containerEl.firstChild)==null||a.replaceWith(s)})}renderQuerySearchResults(t,n,i){return q(this,null,function*(){this.query.debug( ` Render called : plugin state : $ { n } ; searching $ { t . length } tasks ` ),this.query.layoutOptions.explainQuery&&this.createExplanation(i);let s=this.query.applyQueryToTasks(t);if(s.searchErrorMessage!==void 0){this.renderErrorMessage(i,s.searchErrorMessage);return}yield this.addAllTaskGroups(s.taskGroups,i);let a=s.totalTasksCount;this.addTaskCount(i,s),this.query.debug( ` $ { a } tasks displayed ` )})}renderErrorMessage(t,n){t.createDiv().innerHTML= ` < pre > Tasks query : $ { n . replace ( /\n/g , "<br>" ) } < / p r e > ` } r e n d e r L o a d i n g M e s s a g e ( t ) { t . s e t T e x t ( " L o a d i n g T a s k s . . . " ) } c r e a t e E x p l a n a t i o n ( t ) { l e t n = D _ ( t h i s . s o u r c e , g e . g e t I n s t a n c e ( ) , e r . g e t I n s t a n c e ( ) , t h i s . f i l e P a t h ) , i = t . c r e a t e E l ( " p r e " ) ; i . a d d C l a s s e s ( [ " p l u g i n - t a s k s - q u e r y - e x p l a n a t i o n " ] ) , i . s e t T e x t ( n ) , t . a p p e n d C h i l d ( i ) } c r e a t e T a s k L i s t ( t , n ) { r e t u r n q ( t h i s , n u l l , f u n c t i o n * ( ) { l e t i = n e w d n ( t h i s . q u e r y . l a y o u t O p t i o n s ) , s = n . c r e a t e E l ( " u l " ) ; s . a d d C l a s s e s ( [ " c o n t a i n s - t a s k - l i s t " , " p l u g i n - t a s k s - q u e r y - r e s u l t " ] ) , s . a d d C l a s s e s ( i . t a s k L i s t H i d d e n C l a s s e s ) ; l e t a = t h i s . g e t G r o u p i n g A t t r i b u t e ( ) ; a & & a . l e n g t h > 0 & & ( s . d a t a s e t . t a s k G r o u p B y = a ) ; f o r ( l e t [ o , u ] o f t . e n t r i e s ( ) ) { l e t l = t h i s . i s F i l e n a m e U n i q u e ( { t a s k : u } ) , c = y i e l d C u ( u , { p a r e n t U l E l e m e n t : s , l i s t I n d e x : o , l a y o u t O p t i o n s : t h i s . q u e r y . l a y o u t O p t i o n s , i s F i l e n a m e U n i q u e : l , t a s k L a y o u t : i , o b s i d i a n C o m p o n e n t : t h i s } ) ; c . q u e r y S e l e c t o r A l l ( " [ d a t a - f o o t n o t e - i d ] " ) . f o r E a c h ( _ = > _ . r e m o v e ( ) ) ; l e t h = c . c r e a t e S p a n ( " t a s k - e x t r a s " ) ; i f ( t h i s . q u e r y . l a y o u t O p t i o n s . h i d e U r g e n c y | | t h i s . a d d U r g e n c y ( h , u ) , ! t h i s . q u e r y . l a y o u t O p t i o n s . h i d e B a c k l i n k s ) { l e t _ = t h i s . q u e r y . l a y o u t O p t i o n s . s h o r t M o d e ; t h i s . a d d B a c k l i n k s ( h , u , _ , l ) } t h i s . q u e r y . l a y o u t O p t i o n s . h i d e E d i t B u t t o n | | t h i s . a d d E d i t B u t t o n ( h , u ) , s . a p p e n d C h i l d ( c ) } n . a p p e n d C h i l d ( s ) } ) } a d d E d i t B u t t o n ( t , n ) { t . c r e a t e E l ( " a " , { c l s : " t a s k s - e d i t " } ) . o n C l i c k E v e n t ( s = > { s . p r e v e n t D e f a u l t ( ) ; l e t a = u = > { M u ( { o r i g i n a l T a s k : n , n e w T a s k s : R t . r e m o v e I n f e r r e d S t a t u s I f N e e d e d ( n , u ) } ) } ; n e w p n ( { a p p : t h i s . a p p , t a s k : n , o n S u b m i t : a } ) . o p e n ( ) } ) } a d d U r g e n c y ( t , n ) { l e t i = n e w I n t l . N u m b e r F o r m a t ( ) . f o r m a t ( n . u r g e n c y ) ; t . c r e a t e S p a n ( { t e x t : i , c l s : " t a s k s - u r g e n c y " } ) } a d d A l l T a s k G r o u p s ( t , n ) { r e t u r n q ( t h i s , n u l l , f u n c t i o n * ( ) { f o r ( l e t i o f t . g r o u p s ) t h i s . a d d G r o u p H e a d i n g s ( n , i . g r o u p H e a d i n g s ) , y i e l d t h i s . c r e a t e T a s k L i s t ( i . t a s k s , n ) } ) } a d d G r o u p H e a d i n g s ( t , n ) { f o r ( l e t i o f n ) t h i s . a d d G r o u p H e a d i n g ( t , i ) } a d d G r o
` ,this._markdown+= ` $ { t }
` }addRow(e){let t=this.makeRowText(e);this._markdown+= ` $ { t }
` }addRowIfNew(e){let t=this.makeRowText(e);this._markdown.includes(t)||(this._markdown+= ` $ { t }
` )}makeRowText(e){let t="|";return e.forEach(n=>{t+= ` $ { n } | ` }),t}};function R_(r,e){return r.findIndex(t=>t.symbol===e)}function BA(r,e){let t=X.getTypeForUnknownSymbol(r.symbol);r.type!==t&&(t==="TODO"&&r.symbol!==" "||e.push( ` For information , the conventional type for status symbol $ { Dr ( r . symbol ) } is $ { Dr ( t ) } : you may wish to review this type . ` ))}function HA(r,e,t){let n=R_(r,e.nextStatusSymbol);if(n===-1){t.push( ` Next symbol $ { Dr ( e . nextStatusSymbol ) } is unknown : create a status with symbol $ { Dr ( e . nextStatusSymbol ) } . ` );return}if(e.type!=="DONE")return;let i=r[n];if(i){if(i.type!=="TODO"&&i.type!=="IN_PROGRESS"){let s="https://publish.obsidian.md/tasks/Getting+Started/Statuses/Recurring+Tasks+and+Custom+Statuses";t.push( ` This \ ` DONE \` status is followed by ${ Dr ( i . type ) } , not \` TODO \` or \` IN_PROGRESS \` : this will not work well for recurring tasks. See [Recurring Tasks and Custom Statuses]( ${ s } ). ` ) } } else t . push ( "Unexpected failure to find the next status." ) } function zA ( r , e , t ) { let n = [ ] ; return e . symbol === X . EMPTY . symbol ? ( n . push ( "Empty symbol: this status will be ignored." ) , n ) : R _ ( r , e . symbol ) != t ? ( n . push ( ` Duplicate symbol ' ${ Dr ( e . symbol ) } ': this status will be ignored. ` ) , n ) : ( BA ( e , n ) , HA ( r , e , n ) , n ) } function x _ ( r ) { let e = new Iu ( [ "Status Symbol" , "Next Status Symbol" , "Status Name" , "Status Type" , "Problems (if any)" ] ) , t = Ne . allStatuses ( r ) ; return t . forEach ( ( n , i ) => { e . addRow ( [ Dr ( n . symbol ) , Dr ( n . nextStatusSymbol ) , n . name , Dr ( n . type ) , zA ( t , n , i ) . join ( "<br>" ) ] ) } ) , e . markdown } function M _ ( r , e , t , n ) { let s = x _ ( r ) , a = e . mermaidDiagram ( ! 0 ) ; return ` # ${ t }
# # About this file
This file was created by the Obsidian Tasks plugin ( version $ { n } ) to help visualise the task statuses in this vault .
If you change the Tasks status settings , you can get an updated report by :
- Going to \ ` Settings \` -> \` Tasks \` .
- Clicking on \ ` Review and check your Statuses \` .
You can delete this file any time .
# # Status Settings
<!--
Switch to Live Preview or Reading Mode to see the table .
If there are any Markdown formatting characters in status names , such as '*' or '_' ,
Obsidian may only render the table correctly in Reading Mode .
-- >
These are the status values in the Core and Custom statuses sections .
$ { s }
# # Loaded Settings
<!-- Switch to Live Preview or Reading Mode to see the diagram . -- >
These are the settings actually used by Tasks .
$ { a } ` }function Dr(r){return r===""?r:" ` "+(r!==" "?r:" space ")+" ` "}function C_(){return[[" ","Unchecked","x","TODO"],["x","Checked"," ","DONE"],[">","Rescheduled","x","TODO"],["<","Scheduled","x","TODO"],["!","Important","x","TODO"],["-","Cancelled"," ","CANCELLED"],["/","In Progress","x","IN_PROGRESS"],["?","Question","x","TODO"],["*","Star","x","TODO"],["n","Note","x","TODO"],["l","Location","x","TODO"],["i","Information","x","TODO"],["I","Idea","x","TODO"],["S","Amount","x","TODO"],["p","Pro","x","TODO"],["c","Con","x","TODO"],["b","Bookmark","x","TODO"],['"',"Quote","x","TODO"],["0","Speech bubble 0","0","NON_TASK"],["1","Speech bubble 1","1","NON_TASK"],["2","Speech bubble 2","2","NON_TASK"],["3","Speech bubble 3","3","NON_TASK"],["4","Speech bubble 4","4","NON_TASK"],["5","Speech bubble 5","5","NON_TASK"],["6","Speech bubble 6","6","NON_TASK"],["7","Speech bubble 7","7","NON_TASK"],["8","Speech bubble 8","8","NON_TASK"],["9","Speech bubble 9","9","NON_TASK"]]}function A_(){return[[" ","incomplete","x","TODO"],["x","complete / done"," ","DONE"],["-","cancelled"," ","CANCELLED"],[">","deferred","x","TODO"],["/","in progress, or half-done","x","IN_PROGRESS"],["!","Important","x","TODO"],["?","question","x","TODO"],["R","review","x","TODO"],["+","Inbox / task that should be processed later","x","TODO"],["b","bookmark","x","TODO"],["B","brainstorm","x","TODO"],["D","deferred or scheduled","x","TODO"],["I","Info","x","TODO"],["i","idea","x","TODO"],["N","note","x","TODO"],["Q","quote","x","TODO"],["W","win / success / reward","x","TODO"],["P","pro","x","TODO"],["C","con","x","TODO"]]}function P_(){return[[" ","Unchecked","x","TODO"],["x","Checked"," ","DONE"],["-","Cancelled"," ","CANCELLED"],["/","In Progress","x","IN_PROGRESS"],[">","Deferred","x","TODO"],["!","Important","x","TODO"],["?","Question","x","TODO"],["r","Review","x","TODO"]]}function N_(){return[[" ","Unchecked","x","TODO"],["x","Regular"," ","DONE"],["X","Checked"," ","DONE"],["-","Dropped"," ","CANCELLED"],[">","Forward","x","TODO"],["D","Date","x","TODO"],["?","Question","x","TODO"],["/","Half Done","x","IN_PROGRESS"],["+","Add","x","TODO"],["R","Research","x","TODO"],["!","Important","x","TODO"],["i","Idea","x","TODO"],["B","Brainstorm","x","TODO"],["P","Pro","x","TODO"],["C","Con","x","TODO"],["Q","Quote","x","TODO"],["N","Note","x","TODO"],["b","Bookmark","x","TODO"],["I","Information","x","TODO"],["p","Paraphrase","x","TODO"],["L","Location","x","TODO"],["E","Example","x","TODO"],["A","Answer","x","TODO"],["r","Reward","x","TODO"],["c","Choice","x","TODO"],["d","Doing","x","IN_PROGRESS"],["T","Time","x","TODO"],["@","Character / Person","x","TODO"],["t","Talk","x","TODO"],["O","Outline / Plot","x","TODO"],["~","Conflict","x","TODO"],["W","World","x","TODO"],["f","Clue / Find","x","TODO"],["F","Foreshadow","x","TODO"],["H","Favorite / Health","x","TODO"],["&","Symbolism","x","TODO"],["s","Secret","x","TODO"]]}function I_(){return[[" ","Unchecked","x","TODO"],["x","Checked"," ","DONE"],[">","Rescheduled","x","TODO"],["<","Scheduled","x","TODO"],["!","Important","x","TODO"],["-","Cancelled"," ","CANCELLED"],["/","In Progress","x","IN_PROGRESS"],["?","Question","x","TODO"],["*","Star","x","TODO"],["n","Note","x","TODO"],["l","Location","x","TODO"],["i","Information","x","TODO"],["I","Idea","x","TODO"],["S","Amount","x","TODO"],["p","Pro","x","TODO"],["c","Con","x","TODO"],["b","Bookmark","x","TODO"],["f","Fire","x","TODO"],["k","Key","x","TODO"],["w","Win","x","TODO"],["u","Up","x","TODO"],["d","Down","x","TODO"]]}function F_(){return[[" ","to-do","x","TODO"],["/","incomplete","x","IN_PROGRESS"],["x","done"," ","DONE"],["-","canceled"," ","CANCELLED"],[">","forwarded","x","TODO"],["<","scheduling","x","TODO"],["?","question","x","TODO"],["!","important","x","TODO"],["*","star","x","TODO"],['"',"quote","x","TODO"],["l","location","x","TODO"],["b","bookmark","x","TODO"],["i","information","x","TODO"],["S","savings","x","TODO"],["I","idea","x","TODO"],["p","pros","x","TODO"],["c","cons","x","TODO"],["f","fire","x","TODO"],["k","key","x","TODO"],["w","win","
` )+ `
Fix errors before saving . ` ;new fr.Notice(p);return}this.saved=!0,this.close()})),l)),u.addExtraButton(l=>(l.setIcon("cross").setTooltip("Cancel").onClick(()=>{this.saved=!1,this.close()}),l))})}onOpen(){this.display()}static setValidationError(t){t.inputEl.addClass("tasks-settings-is-invalid")}static removeValidationError(t){t.inputEl.removeClass("tasks-settings-is-invalid")}static setValid(t,n){n.length===0?qt.removeValidationError(t):qt.setValidationError(t)}};var $ t=class extends _e.PluginSettingTab{constructor({plugin:t}){super(t.app,t);this.customFunctions={insertTaskCoreStatusSettings:this.insertTaskCoreStatusSettings.bind(this),insertCustomTaskStatusSettings:this.insertCustomTaskStatusSettings.bind(this)};this.plugin=t}saveSettings(t){return q(this,null,function*(){yield this.plugin.saveSettings(),t&&this.display()})}display(){let{containerEl:t}=this;t.empty(),this.containerEl.addClass("tasks-settings"),t.createEl("h3",{text:"Tasks Settings"}),t.createEl("p",{cls:"tasks-setting-important",text:"Changing any settings requires a restart of obsidian."}),t.createEl("h4",{text:"Task Format Settings"}),new _e.Setting(t).setName("Task Format").setDesc( $ t.createFragmentWithHTML('<p>The format that Tasks uses to read and write tasks.</p><p><b>Important:</b> Tasks currently only supports one format at a time. Selecting Dataview will currently <b>stop Tasks reading its own emoji signifiers</b>.</p><p>See the <a href="https://publish.obsidian.md/tasks/Reference/Task+Formats/About+Task+Formats">documentation</a>.</p>')).addDropdown(i=>{for(let s of Object.keys(Gr))i.addOption(s,Gr[s].displayName);i.setValue(Q().taskFormat).onChange(s=>q(this,null,function*(){et({taskFormat:s}),yield this.plugin.saveSettings()}))}),t.createEl("h4",{text:"Global filter Settings"}),new _e.Setting(t).setName("Global task filter").setDesc( $ t.createFragmentWithHTML('<p><b>Recommended: Leave empty if you want all checklist items in your vault to be tasks managed by this plugin.</b></p><p>Use a global filter if you want Tasks to only act on a subset of your "<code>- [ ]</code>" checklist items, so that a checklist item must include the specified string in its description in order to be considered a task.<p><p>For example, if you set the global filter to <code>#task</code>, the Tasks plugin will only handle checklist items tagged with <code>#task</code>.</br>Other checklist items will remain normal checklist items and not appear in queries or get a done date set.</p><p>See the <a href="https://publish.obsidian.md/tasks/Getting+Started/Global+Filter">documentation</a>.</p>')).addText(i=>{i.setPlaceholder("e.g. #task or TODO").setValue(ge.getInstance().get()).onChange(s=>q(this,null,function*(){et({globalFilter:s}),ge.getInstance().set(s),yield this.plugin.saveSettings()}))}),new _e.Setting(t).setName("Remove global filter from description").setDesc("Enabling this removes the string that you set as global filter from the task description when displaying a task.").addToggle(i=>{let s=Q();i.setValue(s.removeGlobalFilter).onChange(a=>q(this,null,function*(){et({removeGlobalFilter:a}),ge.getInstance().setRemoveGlobalFilter(a),yield this.plugin.saveSettings()}))}),t.createEl("h4",{text:"Global Query"}),XA(new _e.Setting(t).setDesc( $ t.createFragmentWithHTML('<p>A query that is automatically included at the start of every Tasks block in the vault. Useful for adding default filters, or layout options.</p><p>See the <a href="https://publish.obsidian.md/tasks/Queries/Global+Query">documentation</a>.</p>')).addTextArea(i=>{let s=Q();i.inputEl.rows=4,i.setPlaceholder( ` # For example ...
path does not include _templates /
limit 300
show urgency ` ).setValue(s.globalQuery).onChange(a=>q(this,null,function*(){et({globalQuery:a}),er.getInstance().set(a),yield this.plugin.saveSettings()}))})),t.createEl("h4",{text:"Task Statuses"});let{headingOpened:n}=Q();U_.forEach(i=>{this.addOneSettingsBlock(t,i,n)}),t.createEl("h4",{text:"Date Settings"}),new _e.Setting(t).setName("Set created date on every added task").setDesc( $ t.createFragmentWithHTML( ` Enabling this will add a timestamp \u2795 YYYY - MM - DD before other date values , when a task is created with 'Create or edit task' , or by completing a recurring task . < /br><p>See the <a href="https:/ / publish . obsidian . md / tasks / Getting + Started / Dates # Created + date ">documentation</a>.</p>`)).addToggle(i=>{let s=Q();i.setValue(s.setCreatedDate).onChange(a=>q(this,null,function*(){et({setCreatedDate:a}),yield this.plugin.saveSettings()}))}),new _e.Setting(t).setName(" Set done date on every completed task ").setDesc($t.createFragmentWithHTML('Enabling this will add a timestamp \u2705 YYYY-MM-DD at the end when a task is toggled to done.</br><p>See the <a href=" https : //publish.obsidian.md/tasks/Getting+Started/Dates#Done+date">documentation</a>.</p>')).addToggle(i=>{let s=Q();i.setValue(s.setDoneDate).onChange(a=>q(this,null,function*(){et({setDoneDate:a}),yield this.plugin.saveSettings()}))}),new _e.Setting(t).setName("Use filename as Scheduled date for undated tasks").setDesc($t.createFragmentWithHTML('Save time entering Scheduled (\u23F3) dates.</br>If this option is enabled, any undated tasks will be given a default Scheduled date extracted from their file name.</br>The date in the file name must be in one of <code>YYYY-MM-DD</code> or <code>YYYYMMDD</code> formats.</br>Undated tasks have none of Due (\u{1F4C5} ), Scheduled (\u23F3) and Start (\u{1F6EB}) dates.</br><p>See the <a href="https://publish.obsidian.md/tasks/Getting+Started/Use+Filename+as+Default+Date">documentation</a>.</p>')).addToggle(i=>{let s=Q();i.setValue(s.useFilenameAsScheduledDate).onChange(a=>q(this,null,function*(){et({useFilenameAsScheduledDate:a}),yield this.plugin.saveSettings()}))}),new _e.Setting(t).setName("Folders with default Scheduled dates").setDesc("Leave empty if you want to use default Scheduled dates everywhere, or enter a comma-separated list of folders.").addText(i=>q(this,null,function*(){let s=Q();yield this.plugin.saveSettings(),i.setValue($t.renderFolderArray(s.filenameAsDateFolders)).onChange(a=>q(this,null,function*(){let o=$t.parseCommaSeparatedFolders(a);et({filenameAsDateFolders:o}),yield this.plugin.saveSettings()}))})),t.createEl("h4",{text:"Recurring task Settings"}),new _e.Setting(t).setName("Next recurrence appears on the line below").setDesc($t.createFragmentWithHTML('Enabling this will make the next recurrence of a task appear on the line below the completed task. Otherwise the next recurrence will appear before the completed one.</br><p>See the <a href="https://publish.obsidian.md/tasks/Getting+Started/Recurring+Tasks">documentation</a>.</p>')).addToggle(i=>{let{recurrenceOnNextLine:s}=Q();i.setValue(s).onChange(a=>q(this,null,function*(){et({recurrenceOnNextLine:a}),yield this.plugin.saveSettings()}))}),t.createEl("h4",{text:"Auto-suggest Settings"}),new _e.Setting(t).setName("Auto-suggest task content").setDesc($t.createFragmentWithHTML('Enabling this will open an intelligent suggest menu while typing inside a recognized task line.</br><p>See the <a href="https://publish.obsidian.md/tasks/Getting+Started/Auto-Suggest">documentation</a>.</p>')).addToggle(i=>{let s=Q();i.setValue(s.autoSuggestInEditor).onChange(a=>q(this,null,function*(){et({autoSuggestInEditor:a}),yield this.plugin.saveSettings()}))}),new _e.Setting(t).setName("Minimum match length for auto-suggest").setDesc("If higher than 0, auto-suggest will be triggered only when the beginning of any supported keywords is recognized.").addSlider(i=>{let s=Q();i.setLimits(0,3,1).setValue(s.autoSuggestMinMatch).setDynamicTooltip().onChange(a=>q(this,null,function*(){et({autoSuggestMinMatch:a}),yield this.plugin.saveSettings()}))}),new _e.Setting(t).setName("Maximum
` );t(o)}).open(),n};var Y_=(r,e)=>{let t=Ho({line:"",path:""});return new pn({app:r,task:t,onSubmit:e})};var j_=r=>({createTaskLineModal:()=> $ _(r,Y_)});var Lu=class extends G_.Plugin{get apiV1(){return j_(app)}onload(){return q(this,null,function*(){xt.registerConsoleLogger(),Vf("info", ` loading plugin "${this.manifest.name}" v$ { this . manifest . version } ` ),yield this.loadSettings();let{loggingOptions:t}=Q();xt.configure(t),this.addSettingTab(new Da({plugin:this})),y_({metadataCache:this.app.metadataCache,vault:this.app.vault,workspace:this.app.workspace}),yield this.loadTaskStatuses();let n=new Du({obsidianEvents:this.app.workspace});this.cache=new qn({metadataCache:this.app.metadataCache,vault:this.app.vault,events:n}),this.inlineRenderer=new Au({plugin:this}),this.queryRenderer=new Nu({plugin:this,events:n}),this.registerEditorExtension(O_()),this.registerEditorSuggest(new Fu(this.app,Q())),new zo({plugin:this})})}loadTaskStatuses(){return q(this,null,function*(){let{statusSettings:t}=Q();Ne.applyToStatusRegistry(t,Oe.getInstance())})}onunload(){var t;Vf("info", ` unloading plugin "${this.manifest.name}" v$ { this . manifest . version } ` ),(t=this.cache)==null||t.unload()}loadSettings(){return q(this,null,function*(){let t=yield this.loadData();et(t),t=Q(),ge.getInstance().set(t.globalFilter),ge.getInstance().setRemoveGlobalFilter(t.removeGlobalFilter),er.getInstance().set(t.globalQuery),yield this.loadTaskStatuses()})}saveSettings(){return q(this,null,function*(){yield this.saveData(Q())})}getTasks(){var t;return(t=this.cache)==null?void 0:t.getTasks()}};
/ * !
* EventEmitter2
* https : //github.com/hij1nx/EventEmitter2
*
* Copyright ( c ) 2013 hij1nx
* Licensed under the MIT license .
* /
/ * !
* mustache . js - Logic - less { { mustache } } templates with JavaScript
* http : //github.com/janl/mustache.js
* /