show urgency`}},presets:{buttons:{addNewPreset:""},line1:"",line2:"",name:""},recurringTasks:{heading:"Wiederkehrende Aufgaben",nextLine:{description:"Aktivieren Sie dies, damit das n\xE4chste Auftreten einer Aufgabe in der Zeile unterhalb der abgeschlossenen Aufgabe erscheint. Ansonsten erscheint es vor der abgeschlossenen Aufgabe.",name:"N\xE4chste Wiederholung erscheint in Zeile darunter"},removeScheduledDate:{description:{line1:"Aktiviert, damit das n\xE4chste Auftreten einer Aufgabe keinen geplanten (\u23F3) Termin hat, wenn mindestens Start-(\u{1F6EB}) oder F\xE4lligkeitsdaten (\u{1F4C5}) vorhanden sind.",line2:"Dies gilt, wenn Sie m\xF6chten, dass Start- und F\xE4lligkeitsdaten beim n\xE4chsten Auftreten beibehalten werden, aber das geplante Datum sp\xE4ter festgelegt wird, sobald Sie planen, daran zu arbeiten."},name:"Geplantes Datum bei Wiederholung entfernen"}},searchResults:{heading:"",taskCountLocation:{description:"",name:"",options:{bottom:"",top:""}}},searches:{enableCustomSearches:{description:{line1:"",line2:"",line3:"",line4:""},name:""},heading:""},seeTheDocumentation:"Vgl. die Dokumentation",statuses:{collections:{anuppuccinTheme:"AnuPpuccin Theme",auraTheme:"Aura Theme",borderTheme:"Border Theme",buttons:{addCollection:{name:"{{themeName}}: F\xFCge {{numberOfStatuses}} unterst\xFCtzte Status hinzu"}},ebullientworksTheme:"Ebullientworks Theme",itsThemeAndSlrvbCheckboxes:"ITS Theme & SlRvb Kontrollk\xE4stchen",lytModeTheme:"LYT Mode Theme (nur Dunkelmodus)",minimalTheme:"Minimal Theme",thingsTheme:"Things Theme"},coreStatuses:{buttons:{checkStatuses:{name:"\xDCberpr\xFCfen und einsehen Sie Ihre Status-Eintr\xE4ge",tooltip:"Erstellen Sie eine neue Datei im Hauptverzeichnis des Tresors, die ein Mermaid-Diagramm der aktuellen Statuseinstellungen enth\xE4lt."}},description:{line1:"Diese Kern-Status unterst\xFCtzt Tasks nativ ohne benutzerdefiniertes CSS-Styling oder Themes.",line2:"Hinzuf\xFCgen und Bearbeiten Ihrer eigenen benutzerdefinierten Status k\xF6nnen Sie im unteren Abschnitt."},heading:"Kern-Status"},customStatuses:{buttons:{addAllUnknown:{name:"Alle unbekannten Statustypen hinzuf\xFCgen"},addNewStatus:{name:"Neuen Aufgabenstatus hinzuf\xFCgen"},resetCustomStatuses:{name:"Benutzerdefinierte Statustypen auf Standard zur\xFCcksetzen"}},description:{line1:"Zuerst w\xE4hlen und installieren Sie ein CSS-Snippet oder Theme, um benutzerdefinierte Kontrollk\xE4stchen zu formatieren.",line2:"Verwenden Sie dann die untenstehenden Schaltfl\xE4chen, um Ihre benutzerdefinierten Status zu erstellen, sodass sie mit Ihren ausgew\xE4hlten CSS-Kontrollk\xE4stchen \xFCbereinstimmen.",line3:"Hinweis: Status mit dem gleichen Symbol wie ein fr\xFCherer Status ignorieren wir. Best\xE4tigen Sie die tats\xE4chlich geladenen Status, indem Sie den 'Aufgabe erstellen oder bearbeiten'-Befehl ausf\xFChren und das Status-Dropdown anschauen.",line4:"Nutzen Sie die Dokumentation, um loszulegen!"},heading:"Benutzerdefinierte Status"},heading:"Aufgabenstatus"}}}});varjT,UT=z(()=>{jT={main:{loadingPlugin:"Loading plugin: {{name}} v{{version}}",unloadingPlugin:"Unloading plugin: {{name}} v{{version}}"},modals:{customStatusModal:{editAvailableAsCommand:{description:"If enabled this status will be available as a command so you can assign a hotkey and toggle the status using it.",name:"Available as command"},editNextStatusSymbol:{description:"When clicked on this is the symbol that should be used next.",name:"Task Next Status Symbol"},editStatusName:{description:"This is the friendly name of the task status.",name:"Task Status Name"},editStatusSymbol:{description:"This is the character between the square braces. (It can only be edited for Custom statuses, and not Core statuses.)",name:"Task Status Symbol"},editStatusType:{description:"Control how the status behaves for searching and toggling.",name:"Task Status Type"},fixErrorsBeforeSaving:"Fix errors before saving."}},notices:{"do-not-show-message-again":"Do not show me this message again","live-preview-callout-warning":{line1:"Obsidian does not currently give plugins the correct ta
show urgency`}},presets:{buttons:{addNewPreset:"Addnewpreset"},line1:"Youcandefinenamedinstructionshere,thatyoucanre-useinmultiplequeries.Apresetcalled'{{name}}'canbeusedinTasksquerieswitheither'{{instruction1}}'or'{{instruction2}}'.",line2:"AnyopenTasksqueriesarereloadedautomaticallywhenpresetsareedited.",name:"Presets"},recurringTasks:{heading:"Recurringtasks",nextLine:{description:"Enablingthiswillmakethenextrecurrenceofataskappearonthelinebelowthecompletedtask.Otherwisethenextrecurrencewillappearbeforethecompletedone.",name:"Nextrecurrenceappearsonthelinebelow"},removeScheduledDate:{description:{line1:"EnablingthiswillmakethenextrecurrenceofataskhavenoScheduled(\u23F3)date,whenatleastoneofStart(\u{1F6EB})orDue(\u{1F4C5})datesispresent.",line2:"ThisisforwhenyouwanttheStartandDuedatestocarryforwardtothenextrecurrence,butyouwillsettheScheduleddateinfuture,onceyouplantoworkonit."},name:"Removescheduleddateonrecurrence"}},searchResults:{heading:"Searchresults",taskCountLocation:{description:"Choosewhetherthetaskcountisshownatthetoporbottomofqueryresults.",name:"Taskcountlocation",options:{bottom:"Bottom",top:"Top"}}},searches:{enableCustomSearches:{description:{line1:"Enables'{{filterByFunction}}','{{sortByFunction}}',and'{{groupByFunction}}',whichexecuteJavaScriptinTasksqueries.",line2:"MaliciousJavaScriptinaTasksqueryorMarkdownfilecouldruninsideObsidianandaccessormodifyyourvaultcontents,localfiles,orothersystemresources.",line3:"Onlyenablethisifyoutrustthecurrentandfuturecontentsofthisvault,includingfilesyoumaylaterdownload,copy,orsyncfromotherpeople.",line4:"Thissettingisstoredonthisdeviceonly;enableitseparatelyoneachdevicewhereyouusethisvault."},name:"Enablecustomsearches"},heading:"Searches"},seeTheDocumentation:"Seethedocumentation",statuses:{collections:{anuppuccinTheme:"AnuPpuccinTheme",auraTheme:"AuraTheme",borderTheme:"BorderTheme",buttons:{addCollection:{name:"{{themeName}}:Add{{numberOfStatuses}}supportedStatuses"}},ebullientworksTheme:"EbullientworksTheme",itsThemeAndSlrvbCheckboxes:"ITSTheme&SlRvbCheckboxes",lytModeTheme:"LYTModeTheme(Darkmodeonly)",minimalTheme:"MinimalTheme",thingsTheme:"ThingsTheme"},coreStatuses:{buttons:{checkStatuses:{name:"ReviewandcheckyourStatuses",tooltip:"Createanewfileintherootofthevault,containingaMermaiddiagramofthecurrentstatussettings."}},description:{line1:"ThesearethecorestatusesthatTaskssupportsnatively,withnoneedforcustomCSSstylingortheming.",line2:"Youcanaddeditandaddyourowncustomstatusesinthesectionbelow."},heading:"CoreStatuses"},customStatuses:{buttons:{addAllUnknown:{name:"AddAllUnknownStatusTypes"},addNewStatus:{name:"AddNewTaskStatus"},resetCustomStatuses:{name:"ResetCustomStatusTypestoDefaults"}},description:{line1:"Youshouldfirst<b>selectandinstallaCSSSnippetorTheme</b> to style custom checkboxes.",line2:"Then, use the buttons below to set up your custom statuses, to match your chosen CSS checkboxes.",line3:"<b>Note</b> Any statuses with the same symbol as any earlier statuses will be ignored. You can confirm the actually loaded statuses by running the 'Create or edit task' command and looking at the Status drop-down.",line4:"See the documentation to get started!"},heading:"Custom Statuses"},heading:"Task Statuses"}}}});var WT,$T=z(()=>{WT={main:{loadingPlugin:"Cargando el complemento: {{name}} v{{version}}",unloadingPlugin:"Descargando el complemento: {{name}} v{{version}}"},modals:{customStatusModal:{editAvailableAsCommand:{description:"Si se activa, este estado estar\xE1 disponible como comando para que puedas asignarle un atajo de teclado y alternar el estado con \xE9l.",name:"Disponible como comando"},editNextStatusSymbol:{description:"Al hacer clic, este es el s\xEDmbolo que se debe usar a continuaci\xF3n.",name:"S\xEDmbolo del sigu
showurgency`}},presets:{buttons:{addNewPreset:"A\xF1adir nuevo preajuste"},line1:"Aqu\xED puedes definir instrucciones con nombre que puedes reutilizar en varias consultas. Un preajuste llamado '{{name}}' se puede usar en consultas de Tasks con '{{instruction1}}' o '{{instruction2}}'.",line2:"Las consultas de Tasks que est\xE9n abiertas se recargan autom\xE1ticamente al editar los preajustes.",name:"Preajustes"},recurringTasks:{heading:"Tareas recurrentes",nextLine:{description:"Al activar esta opci\xF3n, la siguiente repetici\xF3n de una tarea aparecer\xE1 en la l\xEDnea debajo de la tarea completada. En caso contrario, la siguiente repetici\xF3n aparecer\xE1 antes de la completada.",name:"La siguiente repetici\xF3n aparece en la l\xEDnea de abajo"},removeScheduledDate:{description:{line1:"Al activar esta opci\xF3n, la siguiente repetici\xF3n de una tarea no tendr\xE1 fecha Programada (\u23F3) cuando est\xE9 presente al menos una fecha de Inicio (\u{1F6EB}) o de Vencimiento (\u{1F4C5}).",line2:"Esto es \xFAtil cuando quieres que las fechas de Inicio y Vencimiento se trasladen a la siguiente repetici\xF3n, pero prefieres establecer la fecha Programada m\xE1s adelante, cuando planees trabajar en ella."},name:"Eliminar la fecha programada en la repetici\xF3n"}},searchResults:{heading:"Resultados de la b\xFAsqueda",taskCountLocation:{description:"Elige si el recuento de tareas se muestra en la parte superior o inferior de los resultados de la consulta.",name:"Ubicaci\xF3n del recuento de tareas",options:{bottom:"Inferior",top:"Superior"}}},searches:{enableCustomSearches:{description:{line1:"Habilita '{{filterByFunction}}', '{{sortByFunction}}' y '{{groupByFunction}}', que ejecutan JavaScript en las consultas de Tasks.",line2:"El c\xF3digo JavaScript malicioso en una consulta de Tasks o en un archivo Markdown podr\xEDa ejecutarse dentro de Obsidian y acceder o modificar el contenido de tu b\xF3veda, archivos locales u otros recursos del sistema.",line3:"Act\xEDvalo solo si conf\xEDas en el contenido actual y futuro de esta b\xF3veda, incluidos los archivos que puedas descargar, copiar o sincronizar m\xE1s adelante desde otras personas.",line4:"Este ajuste se guarda solo en este dispositivo; act\xEDvalo por separado en cada dispositivo donde uses esta b\xF3veda."},name:"Habilitar b\xFAsquedas personalizadas"},heading:"B\xFAsquedas"},seeTheDocumentation:"Consulta la documentaci\xF3n",statuses:{collections:{anuppuccinTheme:"Tema AnuPpuccin",auraTheme:"Tema Aura",borderTheme:"Tema Border",buttons:{addCollection:{name:"{{themeName}}: A\xF1adir {{numberOfStatuses}} estados admitidos"}},ebullientworksTheme:"Tema Ebullientworks",itsThemeAndSlrvbCheckboxes:"Tema ITS y casillas SlRvb",lytModeTheme:"Tema LYT Mode (Solo modo oscuro)",minimalTheme:"Tema Minimal",thingsTheme:"Tema Things"},coreStatuses:{buttons:{checkStatuses:{name:"Revisar y comprobar tus estados",tooltip:"Crea un nuevo archivo en la ra\xEDz de la b\xF3veda que contiene un diagrama Mermaid de los ajustes de estado actuales."}},description:{line1:"Estos son los estados principales que Tasks admite de forma nativa, sin necesidad de estilos CSS personalizados ni temas.",line2:"Puedes editar y a\xF1adir tus propios estados personalizados en la secci\xF3n siguiente."},heading:"Estados principales"},customStatuses:{buttons:{addAllUnknown:{name:"A\xF1adir todos los tipos de estado desconocidos"},addNewStatus:{name:"A\xF1adir nuevo estado de tarea"},resetCustomStatuses:{name:"Restablecer los tipos de estado personalizados a los valores predeterminados"}},description:{line1:"Primero debes <b>seleccionar e instalar un fragmento CSS o un tema</b> para dar estilo a las casillas personalizadas.",line2:"A continuaci\xF3n, usa los botones de abajo para configurar tus estados personalizados, de forma que coincidan con las casillas CSS elegidas.",line3:"<b>Nota:</b> cualquier estado con el mismo s\xEDmbolo que un estado anterior se ignorar\xE1. Puedes confirmar los estados realmente cargados ejecutando el comando 'Crear o editar tarea' y consultando el men\xFA desplegable de Estado.",l
show urgency`}},presets:{buttons:{addNewPreset:"Ajouter un pr\xE9r\xE9glage"},line1:"Vous pouvez d\xE9finir ici des instructions \xE0 r\xE9utiliser dans plusieurs requ\xEAtes. Un pr\xE9r\xE9glage appel\xE9 '{{name}}' pourra \xEAtre appliqu\xE9 dans les requ\xEAtes Tasks avec '{{instruction1}}' ou '{{instruction2}}'.",line2:"Toutes les requ\xEAtes Tasks ouvertes sont recharg\xE9es automatiquement quand les pr\xE9r\xE9glages sont modifi\xE9s.",name:"Pr\xE9r\xE9glages"},recurringTasks:{heading:"T\xE2ches r\xE9currentes",nextLine:{description:"Activer cette option ajoutera la prochaine occurence d'une t\xE2che en-dessous de la t\xE2che compl\xE9t\xE9e. Sinon, la prochaine occurrence sera ajout\xE9e au-dessus de la t\xE2che compl\xE9t\xE9e.",name:"Prochaine occurrence en-dessous"},removeScheduledDate:{description:{line1:"Activer cette option retirera la Date planifi\xE9e (\u23F3) sur la prochaine occurrence, si au moins une Date de d\xE9but (\u{1F6EB}) ou une Date d'\xE9ch\xE9ance (\u{1F4C5}) est pr\xE9sente.",line2:"Pratique si vous voulez que la Date de d\xE9but et la Date de fin soient report\xE9es sur la prochaine occurrence, mais que vous comptez attribuer une Date planifi\xE9e plus tard."},name:"Retirer la Date planifi\xE9e sur la prochaine occurrence"}},searchResults:{heading:"R\xE9sultats de recherche",taskCountLocation:{description:"Afficher le nombre de t\xE2ches en haut ou en bas des r\xE9sultats d'une requ\xEAte.",name:"Emplacement du nombre de t\xE2ches",options:{bottom:"En bas",top:"En haut"}}},searches:{enableCustomSearches:{description:{line1:"Active '{{filterByFunction}}', '{{sortByFunction}}', et '{{groupByFunction}}', qui \xE9x\xE9cutent JavaScript dans les requ\xEAtes Tasks.",line2:"Du code JavaScript malveillant dans une requ\xEAte Tasks ou un fichier Markdown peut s'ex\xE9cuter \xE0 l'int\xE9rieur d'Obsidian et lire ou modifier le contenu de votre coffre, vos fichiers locaux, ou autres ressources du syst\xE8me.",line3:"Activez uniquement si vous avez confiance dans le contenu actuel et futur de ce coffre, y compris les fichiers d'autres personnes que vous pourriez t\xE9l\xE9charger, copier, ou synchroniser.",line4:"Ce r\xE9glage est stock\xE9 seulement sur cet appareil; activez-le s\xE9par\xE9ment sur chaque appareil sur lequel vous utilisez ce coffre."},name:"Activer les requ\xEAtes personnalis\xE9es"},heading:"Requ\xEAtes"},seeTheDocumentation:"Voir la documentation",statuses:{collections:{anuppuccinTheme:"Th\xE8me AnuPpuccin",auraTheme:"Th\xE8me Aura",borderTheme:"Th\xE8me Border",buttons:{addCollection:{name:"{{themeName}}: Ajouter {{numberOfStatuses}} Statuts pris en charge"}},ebullientworksTheme:"Th\xE8me Ebullientworks",itsThemeAndSlrvbCheckboxes:"Th\xE8me ITS & SlRvb Checkboxes",lytModeTheme:"Th\xE8me LYT Mode (Mode sombre seulement)",minimalTheme:"Th\xE8me Minimal",thingsTheme:"Th\xE8me Things"},coreStatuses:{buttons:{checkStatuses:{name:"Examiner et v\xE9rifier vos Statuts",tooltip:"Cr\xE9e un nouveau fichier \xE0 la racine du coffre, contenant un sch\xE9ma Mermaid des r\xE9glages actuels des Statuts."}},description:{line1:"Voici les statuts principaux pris en charge nativement par Tasks, sans n\xE9cessit\xE9 de styles CSS ou de th\xE8me personnalis\xE9s.",line2:"Vous pouvez ajouter ou modifier vos propres statuts personnalis\xE9s dans la section ci-dessous."},heading:"Statuts principaux"},customStatuses:{buttons:{addAllUnknown:{name:"Ajouter tous les types de Statuts inconnus."},addNewStatus:{name:"Nouveau Statut"},resetCustomStatuses:{name:"R\xE9initialiser les types de Statuts personnalis\xE9s"}},description:{line1:"Vous devriez d'abord <b>s\xE9lectionner et installer un fragment CSS ou un Th\xE8me</b> pour appliquer un style aux cases \xE0 cocher personnalis\xE9es.",line2:"Ensuite, utilisez les boutons ci-dessous pour r\xE9gler vos statuts personnalis\xE9s en correspondance avec vos cases \xE0 cocher CSS.",line3:"<b>Note</b> Tout statut avec un symbole d\xE9j\xE0 utilis\xE9 sera ignor\xE9. Vous pouvez v\xE9rifier les Statuts effectivement utilis\xE9s en lan\xE7ant la commande 'Cr\xE9er ou
showurgency`}},presets:{buttons:{addNewPreset:"Adicionar nova predefini\xE7\xE3o"},line1:"Voc\xEA pode definir instru\xE7\xF5es nomeadas aqui, que podem ser reutilizadas em v\xE1rias consultas. Uma predefini\xE7\xE3o chamada '{{name}}' pode ser usada em consultas do Tasks com '{{instruction1}}' ou '{{instruction2}}'.",line2:"Quaisquer consultas do Tasks abertas s\xE3o recarregadas automaticamente quando as predefini\xE7\xF5es s\xE3o editadas.",name:"Predefini\xE7\xF5es (Presets)"},recurringTasks:{heading:"Tarefas recorrentes",nextLine:{description:"A ativa\xE7\xE3o desta op\xE7\xE3o far\xE1 com que a pr\xF3xima recorr\xEAncia de uma tarefa apare\xE7a na linha logo abaixo da tarefa conclu\xEDda. Caso contr\xE1rio, a pr\xF3xima recorr\xEAncia aparecer\xE1 antes da conclu\xEDda.",name:"A pr\xF3xima recorr\xEAncia aparece na linha de baixo"},removeScheduledDate:{description:{line1:"A ativa\xE7\xE3o desta op\xE7\xE3o far\xE1 com que a pr\xF3xima recorr\xEAncia de uma tarefa n\xE3o tenha data Agendada (\u23F3), quando pelo menos uma das datas de In\xEDcio (\u{1F6EB}) ou Vencimento (\u{1F4C5}) estiver presente.",line2:"Isto \xE9 \xFAtil para quando voc\xEA deseja que as datas de In\xEDcio e Vencimento sejam mantidas na pr\xF3xima recorr\xEAncia, mas pretende definir a data Agendada no futuro, quando for planejar trabalhar nela."},name:"Remover data agendada na recorr\xEAncia"}},searchResults:{heading:"Resultados da pesquisa",taskCountLocation:{description:"Escolha se a contagem de tarefas deve ser mostrada na parte superior ou inferior dos resultados da consulta.",name:"Localiza\xE7\xE3o da contagem de tarefas",options:{bottom:"Inferior",top:"Superior"}}},searches:{enableCustomSearches:{description:{line1:"",line2:"",line3:"",line4:""},name:""},heading:""},seeTheDocumentation:"Veja a documenta\xE7\xE3o",statuses:{collections:{anuppuccinTheme:"Tema AnuPpuccin",auraTheme:"Tema Aura",borderTheme:"Tema Border",buttons:{addCollection:{name:"{{themeName}}: Adicionar {{numberOfStatuses}} Status suportados"}},ebullientworksTheme:"Tema Ebullientworks",itsThemeAndSlrvbCheckboxes:"Tema ITS e Checkboxes SlRvb",lytModeTheme:"Tema LYT Mode (Somente modo escuro)",minimalTheme:"Tema Minimal",thingsTheme:"Tema Things"},coreStatuses:{buttons:{checkStatuses:{name:"Revisar e verificar seus Status",tooltip:"Criar um novo arquivo na raiz do cofre, contendo um diagrama Mermaid das configura\xE7\xF5es atuais de status."}},description:{line1:"Estes s\xE3o os status principais que o Tasks suporta nativamente, sem a necessidade de estilos CSS personalizados ou temas.",line2:"Voc\xEA pode adicionar e editar seus pr\xF3prios status personalizados na se\xE7\xE3o abaixo."},heading:"Status Principais"},customStatuses:{buttons:{addAllUnknown:{name:"Adicionar Todos os Tipos de Status Desconhecidos"},addNewStatus:{name:"Adicionar Novo Status de Tarefa"},resetCustomStatuses:{name:"Redefinir Tipos de Status Personalizados para os Padr\xF5es"}},description:{line1:"Primeiro, voc\xEA deve <b>selecionar e instalar um Snippet CSS ou Tema</b> para estilizar as caixas de sele\xE7\xE3o personalizadas.",line2:"Em seguida, use os bot\xF5es abaixo para configurar seus status personalizados, para que correspondam \xE0s caixas de sele\xE7\xE3o CSS escolhidas.",line3:"<b>Nota:</b> Qualquer status com o mesmo s\xEDmbolo de um status anterior ser\xE1 ignorado. Voc\xEA pode confirmar os status que foram realmente carregados executando o comando 'Criar ou editar tarefa' e olhando a lista suspensa de Status.",line4:"Veja a documenta\xE7\xE3o para come\xE7ar!"},heading:"Status Personalizados"},heading:"Status das Tarefas"}}}});var ZT,KT=z(()=>{ZT={main:{loadingPlugin:"\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430 \u043F\u043B\u0430\u0433\u0438\u043D\u0430: {{name}} v{{version}}",unloadingPlugin:"\u0412\u044B\u0433\u0440\u0443\u0437\u043A\u0430 \u043F\u043B\u0430\u0433\u0438\u043D\u0430: {{name}} v{{version}}"},modals:{customStatusModal:{editAvailableAsCommand:{description:"\u0415\u0441\u043B\u0438 \u0432\u043A\u043B\u044E\u0447\u0435\u043D\u043E, \u044D\u0442\u043E\u0442 \u0441\
showurgency`}},presets:{buttons:{addNewPreset:"Yeni \xF6n ayar ekle"},line1:"Burada birden fazla sorguda yeniden kullanabilece\u011Finiz adland\u0131r\u0131lm\u0131\u015F talimatlar tan\u0131mlayabilirsiniz. '{{name}}' adl\u0131 bir \xF6n ayar, Tasks sorgular\u0131nda '{{instruction1}}' veya '{{instruction2}}' ile kullan\u0131labilir.",line2:"\xD6n ayarlar d\xFCzenlendi\u011Finde a\xE7\u0131k Tasks sorgular\u0131 otomatik olarak yeniden y\xFCklenir.",name:"\xD6n Ayarlar"},recurringTasks:{heading:"Tekrarlayan g\xF6revler",nextLine:{description:"Bu se\xE7ene\u011Fi etkinle\u015Ftirirseniz, bir g\xF6revin sonraki tekrar\u0131 tamamlanan g\xF6revin alt\u0131ndaki sat\u0131rda g\xF6r\xFCn\xFCr. Aksi takdirde sonraki tekrar tamamlanandan \xF6nce g\xF6r\xFCn\xFCr.",name:"Sonraki tekrar bir alt sat\u0131rda g\xF6r\xFCns\xFCn"},removeScheduledDate:{description:{line1:"Bu se\xE7ene\u011Fi etkinle\u015Ftirirseniz, Ba\u015Flang\u0131\xE7 (\u{1F6EB}) veya Son Tarih (\u{1F4C5}) tarihlerinden en az biri mevcutsa g\xF6revin sonraki tekrar\u0131nda Zamanlanm\u0131\u015F (\u23F3) tarih olmaz.",line2:"Bu se\xE7enek; Ba\u015Flang\u0131\xE7 ve Son Tarih tarihlerinin bir sonraki tekrara ta\u015F\u0131nmas\u0131n\u0131, ancak Zamanlanm\u0131\u015F tarihin \xFCzerinde \xE7al\u0131\u015Fmay\u0131 planlad\u0131\u011F\u0131n\u0131zda ileride belirlenmesini istedi\u011Finizde kullan\u0131\u015Fl\u0131d\u0131r."},name:"Tekrarda zamanlanm\u0131\u015F tarihi kald\u0131r"}},searchResults:{heading:"Arama sonu\xE7lar\u0131",taskCountLocation:{description:"G\xF6rev say\u0131s\u0131n\u0131n sorgu sonu\xE7lar\u0131n\u0131n \xFCst\xFCnde mi yoksa alt\u0131nda m\u0131 g\xF6sterilece\u011Fini se\xE7in.",name:"G\xF6rev say\u0131s\u0131 konumu",options:{bottom:"Alt",top:"\xDCst"}}},searches:{enableCustomSearches:{description:{line1:"Tasks sorgular\u0131nda JavaScript \xE7al\u0131\u015Ft\u0131ran '{{filterByFunction}}', '{{sortByFunction}}' ve '{{groupByFunction}}' \xF6zelliklerini etkinle\u015Ftirir.",line2:"Bir Tasks sorgusunda veya Markdown dosyas\u0131nda k\xF6t\xFC ama\xE7l\u0131 JavaScript, Obsidian i\xE7inde \xE7al\u0131\u015Farak kasa i\xE7eriklerinize, yerel dosyalar\u0131n\u0131za veya di\u011Fer sistem kaynaklar\u0131na eri\u015Febilir ya da bunlar\u0131 de\u011Fi\u015Ftirebilir.",line3:"Bunu yaln\u0131zca bu kasan\u0131n mevcut ve gelecekteki i\xE7eriklerine (ba\u015Fkalar\u0131ndan daha sonra indirebilece\u011Finiz, kopyalayabilece\u011Finiz veya e\u015Fitleyebilece\u011Finiz dosyalar dahil) g\xFCveniyorsan\u0131z etkinle\u015Ftirin.",line4:"Bu ayar yaln\u0131zca bu cihazda saklan\u0131r; bu kasay\u0131 kulland\u0131\u011F\u0131n\u0131z her cihazda ayr\u0131 ayr\u0131 etkinle\u015Ftirin."},name:"\xD6zel aramalar\u0131 etkinle\u015Ftir"},heading:"Aramalar"},seeTheDocumentation:"Belgelere bak\u0131n",statuses:{collections:{anuppuccinTheme:"AnuPpuccin Temas\u0131",auraTheme:"Aura Temas\u0131",borderTheme:"Border Temas\u0131",buttons:{addCollection:{name:"{{themeName}}: {{numberOfStatuses}} desteklenen Durumu ekle"}},ebullientworksTheme:"Ebullientworks Temas\u0131",itsThemeAndSlrvbCheckboxes:"ITS Temas\u0131 & SlRvb Onay Kutular\u0131",lytModeTheme:"LYT Mode Temas\u0131 (Yaln\u0131zca karanl\u0131k mod)",minimalTheme:"Minimal Tema",thingsTheme:"Things Temas\u0131"},coreStatuses:{buttons:{checkStatuses:{name:"Durumlar\u0131n\u0131z\u0131 inceleyin ve kontrol edin",tooltip:"Kasan\u0131n k\xF6k dizininde, mevcut durum ayarlar\u0131n\u0131n Mermaid diyagram\u0131n\u0131 i\xE7eren yeni bir dosya olu\u015Fturur."}},description:{line1:"Bunlar, Tasks'\u0131n \xF6zel CSS stillendirmesi veya tema gerektirmeksizin yerel olarak destekledi\u011Fi temel durumlard\u0131r.",line2:"A\u015Fa\u011F\u0131daki b\xF6l\xFCmde kendi \xF6zel durumlar\u0131n\u0131z\u0131 d\xFCzenleyebilir ve ekleyebilirsiniz."},heading:"Temel Durumlar"},customStatuses:{buttons:{addAllUnknown:{name:"T\xFCm Bilinmeyen Durum T\xFCrlerini Ekle"},addNewStatus:{name:"Yeni G\xF6rev Durumu Ekle"},resetCustomStatuses:{name:"\xD6zel Durum T\xFCrlerini Varsay\u0131lanlara S\u0131f\u0131rla"}},description:
show urgency`}},presets:{buttons:{addNewPreset:"Th\xEAmpresetm\u1EDBi"},line1:"B\u1EA1nc\xF3th\u1EC3\u0111\u1ECBnhngh\u0129ac\xE1ch\u01B0\u1EDBngd\u1EABn\u0111\u01B0\u1EE3c\u0111\u1EB7tt\xEAn\u1EDF\u0111\xE2y,m\xE0b\u1EA1nc\xF3th\u1EC3s\u1EEDd\u1EE5ngl\u1EA1itrongnhi\u1EC1utruyv\u1EA5n.M\u1ED9tpresetc\xF3t\xEAn'{{name}}'c\xF3th\u1EC3\u0111\u01B0\u1EE3cs\u1EEDd\u1EE5ngtrongtruyv\u1EA5nTasksv\u1EDBi'{{instruction1}}'ho\u1EB7c'{{instruction2}}'.",line2:"B\u1EA5tk\u1EF3truyv\u1EA5nTasksn\xE0o\u0111angm\u1EDFs\u1EBD\u0111\u01B0\u1EE3ct\u1EA3il\u1EA1it\u1EF1\u0111\u1ED9ngkhic\xE1cpreset\u0111\u01B0\u1EE3cch\u1EC9nhs\u1EEDa.",name:"Preset"},recurringTasks:{heading:"Nhi\u1EC7mv\u1EE5\u0111\u1ECBnhk\u1EF3",nextLine:{description:"B\u1EADtt\xEDnhn\u0103ngn\xE0ys\u1EBDl\xE0mchol\u1EA7nl\u1EB7pl\u1EA1iti\u1EBFptheoc\u1EE7anhi\u1EC7mv\u1EE5xu\u1EA5thi\u1EC7ntr\xEAnd\xF2ngb\xEAnd\u01B0\u1EDBinhi\u1EC7mv\u1EE5\u0111\xE3ho\xE0nth\xE0nh.N\u1EBFukh\xF4ng,l\u1EA7nl\u1EB7pl\u1EA1iti\u1EBFptheos\u1EBDxu\u1EA5thi\u1EC7ntr\u01B0\u1EDBcl\u1EA7n\u0111\xE3ho\xE0nth\xE0nh.",name:"L\u1EA7nl\u1EB7pl\u1EA1iti\u1EBFptheoxu\u1EA5thi\u1EC7ntr\xEAnd\xF2ngb\xEAnd\u01B0\u1EDBi"},removeScheduledDate:{description:{line1:"B\u1EADtt\xEDnhn\u0103ngn\xE0ys\u1EBDl\xE0mchol\u1EA7nl\u1EB7pl\u1EA1iti\u1EBFptheoc\u1EE7anhi\u1EC7mv\u1EE5kh\xF4ngc\xF3ng\xE0y\u0110\xE3l\xEAnl\u1ECBch(\u23F3),khi\xEDtnh\u1EA5tm\u1ED9ttrongc\xE1cng\xE0yB\u1EAFt\u0111\u1EA7u(\u{1F6EB})ho\u1EB7c\u0110\u1EBFnh\u1EA1n(\u{1F4C5})c\xF3m\u1EB7t.",line2:"\u0110i\u1EC1un\xE0yd\xE0nhchokhib\u1EA1nmu\u1ED1nng\xE0yB\u1EAFt\u0111\u1EA7uv\xE0\u0110\u1EBFnh\u1EA1n\u0111\u01B0\u1EE3cchuy\u1EC3nti\u1EBFpsangl\u1EA7nl\u1EB7pl\u1EA1iti\u1EBFptheo,nh\u01B0ngb\u1EA1ns\u1EBD\u0111\u1EB7tng\xE0y\u0110\xE3l\xEAnl\u1ECBchtrongt\u01B0\u01A1nglai,m\u1ED9tkhib\u1EA1nd\u1EF1\u0111\u1ECBnhl\xE0mvi\u1EC7cv\u1EDBin\xF3."},name:"X\xF3ang\xE0y\u0111\xE3l\xEAnl\u1ECBchkhil\u1EB7pl\u1EA1i"}},searchResults:{heading:"",taskCountLocation:{description:"",name:"",options:{bottom:"",top:""}}},searches:{enableCustomSearches:{description:{line1:"",line2:"",line3:"",line4:""},name:""},heading:""},seeTheDocumentation:"Xemt\xE0ili\u1EC7u",statuses:{collections:{anuppuccinTheme:"ThemeAnuPpuccin",auraTheme:"ThemeAura",borderTheme:"ThemeBorder",buttons:{addCollection:{name:"{{themeName}}:Th\xEAm{{numberOfStatuses}}Tr\u1EA1ngth\xE1i\u0111\u01B0\u1EE3ch\u1ED7tr\u1EE3"}},ebullientworksTheme:"ThemeEbullientworks",itsThemeAndSlrvbCheckboxes:"ThemeITS&SlRvbCheckboxes",lytModeTheme:"ThemeLYTMode(Ch\u1EC9ch\u1EBF\u0111\u1ED9t\u1ED1i)",minimalTheme:"ThemeMinimal",thingsTheme:"ThemeThings"},coreStatuses:{buttons:{checkStatuses:{name:"Xemx\xE9tv\xE0ki\u1EC3mtraTr\u1EA1ngth\xE1ic\u1EE7ab\u1EA1n",tooltip:"T\u1EA1ofilem\u1EDBitrongth\u01B0m\u1EE5cg\u1ED1cc\u1EE7avault,ch\u1EE9as\u01A1\u0111\u1ED3Mermaidc\u1EE7ac\xE1cc\xE0i\u0111\u1EB7ttr\u1EA1ngth\xE1ihi\u1EC7nt\u1EA1i."}},description:{line1:"\u0110\xE2yl\xE0c\xE1ctr\u1EA1ngth\xE1ic\u1ED1tl\xF5im\xE0Tasksh\u1ED7tr\u1EE3nguy\xEAnb\u1EA3n,kh\xF4ngc\u1EA7nCSSt\xF9ych\u1EC9nhho\u1EB7ctheme.",line2:"B\u1EA1nc\xF3th\u1EC3th\xEAmch\u1EC9nhs\u1EEDav\xE0th\xEAmc\xE1ctr\u1EA1ngth\xE1it\xF9ych\u1EC9nhc\u1EE7ari\xEAngb\u1EA1ntrongph\u1EA7nb\xEAnd\u01B0\u1EDBi."},heading:"Tr\u1EA1ngth\xE1ic\u1ED1tl\xF5i"},customStatuses:{buttons:{addAllUnknown:{name:"Th\xEAmt\u1EA5tc\u1EA3lo\u1EA1itr\u1EA1ngth\xE1ikh\xF4ngx\xE1c\u0111\u1ECBnh"},addNewStatus:{name:"Th\xEAmtr\u1EA1ngth\xE1inhi\u1EC7mv\u1EE5m\u1EDBi"},resetCustomStatuses:{name:"\u0110\u1EB7tl\u1EA1ilo\u1EA1itr\u1EA1ngth\xE1it\xF9ych\u1EC9nhv\u1EC1m\u1EB7c\u0111\u1ECBnh"}},description:{line1:"Tr\u01B0\u1EDBcti\xEAn,b\u1EA1nn\xEAn<b>ch\u1ECDnv\xE0c\xE0i\u0111\u1EB7tCSSSnippetho\u1EB7cTheme</b> \u0111\u1EC3 t\u1EA1o ki\u1EC3u cho c\xE1c \xF4 \u0111\
${s}`}return e}var kE,Vy=z(()=>{"use strict";kE={this_file:"path includes {{query.file.path}}",this_folder:"folder includes {{query.file.folder}}",this_folder_only:"filter by function task.file.folder === query.file.folder",this_root:"root includes {{query.file.root}}",hide_date_fields:`#Hideanyvaluesforalldatefields
`}addEdgeIfNotToInternal(t,e,r,i,s){leta=t.findIndex(u=>u.symbol===e.symbol),o=a!==-1,l=e.type!=="EMPTY";if(o&&l){letu;s?u='-. "\u{1F501}" .-> ':u=" --> ";letc=`${i+1}${u}${a+1}`;r.push(c)}}getMermaidNodeLabel(t,e){letr=OE(t.name),i=t.type;if(e){lets=rd(t.symbol),a=rd(t.nextStatusSymbol),o=`[${s}] -> [${a}]`,l=`'${r}'`,u=`(${i})`;return`["${l}<br>${o}<br>${u}"]:::${i}`}elsereturn`["${r}"]:::${i}`}}});varzr,CE=z(()=>{"use strict";zr=class{constructor(t,e){this.name=t,this.sortOrder=e}getgroupText(){returnthis.name!==""?`%%${this.sortOrder}%% ${this.name}`:""}}});varME,jt,id=z(()=>{"use strict";ME=require("obsidian");CE();ii();jt=class{constructor(t){this._date=null;this._date=t}getmoment(){returnthis._date?this._date.clone():null}formatAsDate(t=""){returnthis.format($e.dateFormat,t)}formatAsDateAndTime(t=""){returnthis.format($e.dateTimeFormat,t)}format(t,e=""){returnthis._date?this._date.format(t):e}toISOString(t){returnthis._date?this._date.toISOString(t):""}getcategory(){lett=window.moment(),e=this.moment;returne?e.isBefore(t,"day")?newzr("Overdue",1):e.isSame(t,"day")?newzr("Today",2):e.isValid()?newzr("Future",3):newzr("Invalid date",0):newzr("Undated",4)}getfromNow(){lett=this.moment;if(!t)returnnewzr("",0);lete=this.fromNowOrder(t);returnnewzr(t.fromNow(),e)}fromNowOrder(t){if(!t.isValid())return0;lete=window.moment(),r=t.isSameOrBefore(e,"second"),i=this.fromNowStartDateOfGroup(t,r,e);returnNumber((r?1:3)+i.format("YYYYMMDDHHmm"))}fromNowStartDateOfGroup(t,e,r){leti=t.clone().locale("en").fromNow(!0).split(" "),s,a=Number(i[0]);isNaN(a)?s=1:s=a;leto=i[1];returne?r.subtract(s,o):r.add(s,o)}postpone(t="days",e=1){if(!this._date)thrownewME.Notice("Cannot postpone a null date");letr=window.moment().startOf("day");returnthis._date.isSameOrAfter(r,"day")?this._date.clone().add(e,t):r.add(e,t)}}});varIE=O((AE,PE)=>{(function(n){vart=Object.hasOwnProperty,e=Array.isArray?Array.isArray:function(T){returnObject.prototype.toString.call(T)==="[object Array]"},r=10,i=typeofprocess=="object"&&typeofprocess.nextTick=="function",s=typeofSymbol=="function",a=typeofReflect=="object",o=typeofsetImmediate=="function",l=o?setImmediate:setTimeout,u=s?a&&typeofReflect.ownKeys=="function"?Reflect.ownKeys:function(m){varT=Object.getOwnPropertyNames(m);returnT.push.apply(T,Object.getOwnPropertySymbols(m)),T}:Object.keys;functionc(){this._events={},this._conf&&d.call(this,this._conf)}functiond(m){m&&(this._conf=m,m.delimiter&&(this.delimiter=m.delimiter),m.maxListeners!==n&&(this._maxListeners=m.maxListeners),m.wildcard&&(this.wildcard=m.wildcard),m.newListener&&(this._newListener=m.newListener),m.removeListener&&(this._removeListener=m.removeListener),m.verboseMemoryLeak&&(this.verboseMemoryLeak=m.verboseMemoryLeak),m.ignoreErrors&&(this.ignoreErrors=m.ignoreErrors),this.wildcard&&(this.listenerTree={}))}functionf(m,T){varw="(node) warning: possible EventEmitter memory leak detected. "+m+" listeners added. Use emitter.setMaxListeners() to increase limit.";if(this.verboseMemoryLeak&&(w+=" Event name: "+T+"."),typeofprocess!="undefined"&&process.emitWarning){vark=newError(w);k.name="MaxListenersExceededWarning",k.emitter=this,k.count=m,process.emitWarning(k)}elseconsole.error(w),console.trace&&console.trace()}varp=function(m,T,w){vark=arguments.length;switch(k){case0:return[];case1:return[m];case2:return[m,T];case3:return[m,T,w];default:for(varS=newArray(k);k--;)S[k]=arguments[k];returnS}};functionh(m,T){for(varw={},k,S=m.length,C=T?T.length:0,I=0;I<S;I++)k=m[I],w[k]=I<C?T[I]:n;returnw}functionb(m,T,w){this._emitter=m,this._target=T,this._listeners={},this._listenersCount=0;vark,S;if((w.on||w.off)&&(k=w.on,S=w.off),T.addEventListener?(k=T.addEventListener,S=T.removeEventListener):T.addListener?(k=T.addListener,S=T.removeListener):T.on&&(k=T.on,S=T.off),!k&&!S)throwError("target does not implement any known event API");if(typeofk!="function")throwTypeError("on method must be a function");if(typeofS!="function")throwTypeError("off method must be a function");this._
`),this.dateFromFileName=new La(()=>$t.fromPath(this.filePath))}get filePath(){return this.tasksFile.path}get fileCache(){return this.tasksFile.cachedMetadata}parseFileContent(){if(this.listItems===void 0)return this.tasks;let t=this.fileLines.length,e=null,r=0;for(let i of this.listItems){let s=i.position.start.line;if(s>=t)return this.logger.debug(`${this.filePath}Obsidiangaveusalinenumber${s}pasttheendofthefile.${t}.`),this.tasks;if((e===null||e.position.end.line<s)&&(e=Ls.getSection(s,this.fileCache.sections),r=0),e===null)continue;let a=this.fileLines[s];if(a===void 0){this.logger.debug(`${this.filePath}:line${s}-ignoring'undefined'line.`);continue}let o=new Jt(this.tasksFile,s,e.position.start.line,r,Ls.getPrecedingHeader(s,this.fileCache.headings));r=this.parseLine(i,a,o,s,r)}return this.tasks}parseLine(t,e,r,i,s){var o;if(t.task===void 0)return this.createListItem(t,e,i,r),s;let a;try{if(a=ye.fromLine({line:e,taskLocation:r,fallbackDate:this.dateFromFileName.value}),a!==null){let l=(o=this.line2ListItem.get(t.parent))!=null?o:null;l!==null&&(a=new ye(me(L({},a),{parent:l}))),this.line2ListItem.set(i,a),a!==null&&(s++,this.tasks.push(a))}else this.createListItem(t,e,i,r)}catch(l){this.errorReporter(l,this.filePath,t,e)}return s}createListItem(t,e,r,i){var o;let s=(o=this.line2ListItem.get(t.parent))!=null?o:null,a=Ki.fromListItemLine(e,s,i);if(a===null){this.logger.warn("Unexpected failure to create a list item from line: "+e+" in file: "+this.filePath);return}this.line2ListItem.set(r,a)}};var KU=4;var Ls=class{constructor({metadataCache:t,vault:e,workspace:r,events:i}){this.logger=gn.getLogger("tasks.Cache");this.notifySubscribersDebounced=(0,qE.debounce)(()=>this.notifySubscribersNotDebounced(),100,!0);this.reportTaskParsingErrorToUser=(t,e,r,i)=>{let s=`Therewasanerrorreadingoneofthetasksinthisvault.
`))}catch(u){if(uinstanceofXi){u.message&&Nx(u.message),yieldl();return}elseif(uinstanceofkd){yieldl();return}elseuinstanceofError&&vd(u.message)}});functionLx(n,t){returnM(this,null,function*(){if(Xl===void0)thrownewXi;lete=n.file.tFile||t.getFileByPath(n.path);if(!e)thrownewXi(`Tasks: No file found for task ${n.description}. Retrying ...`);if(!Bj.includes(e.extension))thrownewError(`Tasks: Does not support files with the ${e.extension} file extension.`);letr=Xl.getFileCache(e);if(r==null||r===null)thrownewXi(`Tasks: No file cache found for file ${e.path}. Retrying ...`);leti=r.listItems;if(i===void0||i.length===0)thrownewXi(`Tasks: No list items found in file cache of ${e.path}. Retrying ...`);leta=(yieldt.read(e)).split(`
`),o=zj(n,a,i,Gj);if(o===void0)thrownewkd;return[o,e,a]})}functionJl(n,t){returnM(this,null,function*(){try{let[e,r,i]=yieldLx(n,t);return[e,r]}catch(e){einstanceofXi?e.message&&Nx(e.message):einstanceofError&&vd(e.message)}})}functionqx(n,t){returnn<t.length}functionzj(n,t,e,r){leti=Vj(n,t);returni!==void0||(i=Qj(n,t),i!==void0)?i:Kj(n,t,e,r)}functionVj(n,t){lete=n.taskLocation.lineNumber;if(qx(e,t)&&t[e]===n.originalMarkdown)returnwd().debug(`Found original markdown at original line number ${e}`),e}functionQj(n,t){lete=[];for(letr=0;r<t.length;r++)t[r]===n.originalMarkdown&&e.push(r);if(e.length===1)returne[0]}functionKj(n,t,e,r){leti,s=0;for(letaofe){leto=a.position.start.line;if(!qx(o,t))return;if(o<n.taskLocation.sectionStart||a.task===void0)continue;letl=t[o];if(Re.getInstance().includedIn(l)){if(s===n.taskLocation.sectionIndex){if(l===n.originalMarkdown)i=o;else{r(`Tasks: Unable to find task in file ${n.taskLocation.path}.
${l}`);return}break}s++}}returni}Dc();Gi();Lc();vt();$c();Yn();varSd=classn{constructor(t){this.addGlobalFilterOnSave=t.addGlobalFilterOnSave,this.originalBlocking=t.originalBlocking,this.description=t.description,this.status=t.status,this.priority=t.priority,this.onCompletion=t.onCompletion,this.recurrenceRule=t.recurrenceRule,this.createdDate=t.createdDate,this.startDate=t.startDate,this.scheduledDate=t.scheduledDate,this.dueDate=t.dueDate,this.doneDate=t.doneDate,this.cancelledDate=t.cancelledDate,this.forwardOnly=t.forwardOnly,this.blockedBy=t.blockedBy,this.blocking=t.blocking}staticfromTask(t,e){letr=Re.getInstance().removeAsWordFrom(t.description),i=r!=t.description||!Re.getInstance().includedIn(t.description),s="none";t.priority==="5"?s="lowest":t.priority==="4"?s="low":t.priority==="2"?s="medium":t.priority==="1"?s="high":t.priority==="0"&&(s="highest");leta=[];for(letloft.dependsOn){letu=e.find(c=>c.id===l);u&&a.push(u)}leto=e.filter(l=>l.dependsOn.includes(t.id));returnnewn({addGlobalFilterOnSave:i,originalBlocking:o,description:r,status:t.status,priority:s,recurrenceRule:t.recurrence?t.recurrence.toText():"",onCompletion:t.onCompletion,createdDate:t.created.formatAsDate(),startDate:t.start.formatAsDate(),scheduledDate:t.scheduled.formatAsDate(),dueDate:t.due.formatAsDate(),doneDate:t.done.formatAsDate(),cancelledDate:t.cancelled.formatAsDate(),forwardOnly:!0,blockedBy:a,blocking:o})}applyEdits(t,e){returnM(this,null,function*(){letr=this.description.trim();this.addGlobalFilterOnSave&&(r=Re.getInstance().prependTo(r));leti=ws(this.startDate,this.forwardOnly),s=ws(this.scheduledDate,this.forwardOnly),a=ws(this.dueDate,this.forwardOnly),o=ws(this.cancelledDate,this.forwardOnly),l=ws(this.createdDate,this.forwardOnly),u=ws(this.doneDate,this.forwardOnly),c=null;this.recurrenceRule&&(c=ki.fromText({recurrenceRuleText:this.recurrenceRule,occurrence:newhi({startDate:i,scheduledDate:s,dueDate:a})}));letd=this.onCompletion,f=[];for(letRofthis.blockedBy){letD=yieldZj(R,e);f.push(D)}letp=t.id,h=[],b=[];(this.blocking.toString()!==this.originalBlocking.toString()||this.blocking.length!==0)&&(t.id===""&&(p=Ul(e.filter(R=>R.id!=="").map(R=>R.id))),h=this.originalBlocking.filter(R=>!this.blocking.includes(R)),b=this.blocking.filter(R=>!this.originalBlocking.includes(R)));letv=newye(me(L({},t),{description:r,status:t.status,priority:Un.priorityValue(this.priority),onCompletion:d,recurrence:c,startDate:i,scheduledDate:s,dueDate:a,doneDate:u,createdDate:l,cancelledDate:o,dependsOn:f.map(R=>R.id),id:p}));for(letRofh){letD=WD(R,v);yieldHn({originalTask:R,newTasks:D})}for(letRofb){letD=$D(R,v);yieldHn({originalTask:R,newTasks:D})}letE=this.inferTodaysDate(this.status.type,u,o);returnv.handleNewStatusWithRecurrenceInUsersOrder(this.status,E)})}inferTodaysDate(t,e,r){returnt==="DONE"&&e!==null?e:t==="CANCELLED"&&r!==null?r:window.moment()}parseAndValidateRecurrence(){vare;if(!this.recurrenceRule)return{parsedRecurrence:"<i>not recurring</>",isRecurrenceValid:!0};lett=(e=ki.fromText({recurrenceRuleText:this.recurrenceRule,occurrence:newhi({startDate:null,scheduledDate:null,dueDate:null})}))==null?void0:e.toText();returnt?this.startDate||this.scheduledDate||this.dueDate?{parsedRecurrence:t,isRecurrenceValid:!0}:{parsedRecurrence:"<i>due, scheduled or start date required</i>",isRecurrenceValid:!1}:{parsedRecurrence:"<i>invalid recurrence rule</i>",isRecurrenceValid:!1}}};functionZj(n,t){returnM(this,null,function*(){if(n.id!=="")returnn;lete=t.filter(i=>i.id!==""),r=jc(n,e.map(i=>i.id));returnyieldHn({originalTask:n,newTasks:r}),r})}dt();functionYx(n,t,e){letr=n.slice();returnr[7]=t[e].value,r[8]=t[e].label,r[9]=t[e].symbol,r[10]=t[e].accessKey,r[11]=t[e].accessKeyIndex,r}functionXj(n){lett,e=n[8]+"",r;return{c(){t=ie("span"),r=We(e)},m(i,s){fe(i,t,s),B(t,r)},p:je,d(i){i&&ce(t)}}}functionJj(n){lett,e=n[8].substring(0,n[11])+"",r,i,s=n[8].substring(n[11],n[11]+1)+"",a,o,l=n[8].substring(n[11]+1)+"",u;return{c(){t=ie("span"),r=We(e),i=ie("span"),a=We(s),o=ie("span"),u=We(l),j(i,"
https://publish.obsidian.md/tasks/Scripting/JavaScript+in+Tasks+Queries`;var Er=eu;var tu=class extends Vs{};function nu(n,t){if(!on.getInstance().get())throw new Er;try{let e=n.map(([s])=>s),r=t.includes("return")?t:`return ${t}`,i=t&&new Function(...e,r);return i instanceof Function?tu.fromObject(t,i):tu.fromError(t,`Problem parsing expression "${t}"`)}catch(e){return tu.fromError(t,zs(`Failed parsing expression "${t}"`,e))}}function ru(n,t){if(!on.getInstance().get())throw new Er;let e=t.map(([r,i])=>i);return n(...e)}function Mb(n,t,e){try{return ru(n,t)}catch(r){return zs(`Failed calculating expression "${e}"`,r)}}function Pd(n,t){return[["task",n],["query",t?t.query:null]]}function vO(n,t,e){let r=Pd(n,e||null),i=nu(r,t);return i.error?i.error:Mb(i.queryComponent,r,t)}var iu=class{constructor(t){this.line=t,this.functionOrError=nu(Pd(null,null),t)}isValid(){return this.functionOrError.isValid()}get parseError(){return this.functionOrError.error}evaluate(t,e){if(!this.isValid())throw new Error(`Error: Cannot evaluate an expression which is not valid: "${this.line}" gave error: "${this.parseError}"`);return ru(this.functionOrError.queryComponent,Pd(t,e||null))}evaluateOrCatch(t,e){return this.isValid()?Mb(this.functionOrError.queryComponent,Pd(t,e),this.line):`Error: Cannot evaluate an expression which is not valid: "${this.line}" gave error: "${this.parseError}"`}};Ss();function Ab(n){if(n===null)return"null";let t=typeof n;return t==="object"?n.constructor.name:t}var Id=class extends Ze{createFilterOrErrorMessage(t){if(!on.getInstance().get())return xe.fromError(t,Er.helpMessage);let e=Ze.getMatch(this.filterRegExp(),t);if(e===null)return xe.fromError(t,"Unabletoparseline");let r=e[1],i=new iu(r);return i.isValid()?xe.fromFilter(new sn(t,g$(i),new Je(t))):xe.fromError(t,i.parseError)}fieldName(){return"function"}filterRegExp(){return new RegExp(`^filter by ${this.fieldNameSingularEscaped()} (.*)`,"i")}supportsSorting(){return!0}sorterRegExp(){return new RegExp(`^sort by ${this.fieldNameSingularEscaped()}( reverse)? (.*)`,"i")}createSorterFromLine(t){let e=Ze.getMatch(this.sorterRegExp(),t);if(e===null)return null;if(!on.getInstance().get())throw new Er;let r=!!e[1],i=e[2],s=new iu(i);if(!s.isValid())throw new Error(s.parseError);let a=(o,l,u)=>{try{let c=u.queryContext(),d=this.validateTaskSortKey(s.evaluate(o,c)),f=this.validateTaskSortKey(s.evaluate(l,c));return this.compareTaskSortKeys(d,f)}catch(c){throw c instanceof Error&&(c.message+=`: while evaluating instruction '${t}'`),c}};return new ts(t,this.fieldNameSingular(),a,r)}validateTaskSortKey(t){function e(r){throw new Error(`"${r}" is not a valid sort key`)}return t===void 0&&e("undefined"),Number.isNaN(t)&&e("NaN(NotaNumber)"),Array.isArray(t)&&e("array"),t}compareTaskSortKeys(t,e){let r=Ab(t),i=Ab(e),s=this.compareTaskSortKeysIfOptionalMoment(t,e,r,i);if(s!==void 0)return s;let a=this.compareTaskSortKeysIfEitherIsNull(t,e);if(a!==void 0)return a;if(r!==i)throw new Error(`Unable to compare two different sort key types '${r}' and '${i}' order`);if(r==="string")return t.localeCompare(e,void 0,{numeric:!0});if(r==="TasksDate")return tr(t.moment,e.moment);if(r==="boolean")return Number(e)-Number(t);let o=Number(t)-Number(e);if(isNaN(o))throw new Error(`Unable to determine sort order for sort key types '${r}' and '${i}'`);return o}compareTaskSortKeysIfOptionalMoment(t,e,r,i){let s=r==="Moment",a=i==="Moment";if(s&&a||s&&e===null||a&&t===null)return tr(t,e)}compareTaskSortKeysIfEitherIsNull(t,e){if(t===null&&e===null)return 0;if(t===null&&e!==null)return-1;if(t!==null&&e===null)return 1}supportsGrouping(){return!0}createGrouperFromLine(t){let e=Ze.getMatch(this.grouperRegExp(),t);if(e===null)return null;if(!on.getInstance().get())throw new Er;let r=!!e[1],i=e[2];return new ns(t,"function",b$(i),r)}grouperRegExp(){return new RegExp(`^group by ${this.fieldNameSingularEscaped()}( reverse)? (.*)`,"i")}grouper(){throw new Error("grouper()functionnotvalidforFunctionField.UsecreateGrouperFromLine()instead.")}};function g$(n){return(t,e)=>{let r=e.quer
`&&(c(),l="",u=0,e=!1);if(!b.scan(d))break;if(a=!0,E=b.scan(uW)||"name",b.scan(aW),E==="="?(R=b.scanUntil(jO),b.scan(jO),b.scanUntil(f)):E==="{"?(R=b.scanUntil(p),b.scan(lW),b.scanUntil(f),E="&"):R=b.scanUntil(f),!b.scan(f))thrownewError("Unclosed tag at "+b.pos);if(E==">"?U=[E,R,v,b.pos,l,u,e]:U=[E,R,v,b.pos],u++,i.push(U),E==="#"||E==="^")r.push(U);elseif(E==="/"){if(ee=r.pop(),!ee)thrownewError('Unopened section "'+R+'" at '+v);if(ee[1]!==R)thrownewError('Unclosed section "'+ee[1]+'" at '+v)}elseE==="name"||E==="{"||E==="&"?o=!0:E==="="&&h(R)}if(c(),ee=r.pop(),ee)thrownewError('Unclosed section "'+ee[1]+'" at '+b.pos);returnfW(dW(i))}functiondW(n){for(vart=[],e,r,i=0,s=n.length;i<s;++i)e=n[i],e&&(e[0]==="text"&&r&&r[0]==="text"?(r[1]+=e[1],r[3]=e[3]):(t.push(e),r=e));returnt}functionfW(n){for(vart=[],e=t,r=[],i,s,a=0,o=n.length;a<o;++a)switch(i=n[a],i[0]){case"#":case"^":e.push(i),r.push(i),e=i[4]=[];break;case"/":s=r.pop(),s[5]=i[2],e=r.length>0?r[r.length-1][4]:t;break;default:e.push(i)}returnt}functionuu(n){this.string=n,this.tail=n,this.pos=0}uu.prototype.eos=function(){returnthis.tail===""};uu.prototype.scan=function(t){vare=this.tail.match(t);if(!e||e.index!==0)return"";varr=e[0];returnthis.tail=this.tail.substring(r.length),this.pos+=r.length,r};uu.prototype.scanUntil=function(t){vare=this.tail.search(t),r;switch(e){case-1:r=this.tail,this.tail="";break;case0:r="";break;default:r=this.tail.substring(0,e),this.tail=this.tail.substring(e)}returnthis.pos+=r.length,r};functionco(n,t){this.view=n,this.cache={".":this.view},this.parent=t}co.prototype.push=function(t){returnnewco(t,this)};co.prototype.lookup=function(t){vare=this.cache,r;if(e.hasOwnProperty(t))r=e[t];else{for(vari=this,s,a,o,l=!1;i;){if(t.indexOf(".")>0)for(s=i.view,a=t.split("."),o=0;s!=null&&o<a.length;)o===a.length-1&&(l=UO(s,a[o])||J$(s,a[o])),s=s[a[o++]];elses=i.view[t],l=UO(i.view,t);if(l){r=s;break}i=i.parent}e[t]=r}returnBb(r)&&(r=r.call(this.view)),r};functionbn(){this.templateCache={_cache:{},set:function(t,e){this._cache[t]=e},get:function(t){returnthis._cache[t]},clear:function(){this._cache={}}}}bn.prototype.clearCache=function(){typeofthis.templateCache!="undefined"&&this.templateCache.clear()};bn.prototype.parse=function(t,e){varr=this.templateCache,i=t+":"+(e||mr.tags).join(":"),s=typeofr!="undefined",a=s?r.get(i):void0;returna==null&&(a=cW(t,e),s&&r.set(i,a)),a};bn.prototype.render=function(t,e,r,i){vars=this.getConfigTags(i),a=this.parse(t,s),o=einstanceofco?e:newco(e,void0);returnthis.renderTokens(a,o,r,t,i)};bn.prototype.renderTokens=function(t,e,r,i,s){for(vara="",o,l,u,c=0,d=t.length;c<d;++c)u=void0,o=t[c],l=o[0],l==="#"?u=this.renderSection(o,e,r,i,s):l==="^"?u=this.renderInverted(o,e,r,i,s):l===">"?u=this.renderPartial(o,e,r,s):l==="&"?u=this.unescapedValue(o,e):l==="name"?u=this.escapedValue(o,e,s):l==="text"&&(u=this.rawValue(o)),u!==void0&&(a+=u);returna};bn.prototype.renderSection=function(t,e,r,i,s){vara=this,o="",l=e.lookup(t[1]);functionu(f){returna.render(f,e,r,s)}if(l){if(fo(l))for(varc=0,d=l.length;c<d;++c)o+=this.renderTokens(t[4],e.push(l[c]),r,i,s);elseif(typeofl=="object"||typeofl=="string"||typeofl=="number")o+=this.renderTokens(t[4],e.push(l),r,i,s);elseif(Bb(l)){if(typeofi!="string")thrownewError("Cannot use higher-order sections without the original template");l=l.call(e.view,i.slice(t[3],t[5]),u),l!=null&&(o+=l)}elseo+=this.renderTokens(t[4],e,r,i,s);returno}};bn.prototype.renderInverted=function(t,e,r,i,s){vara=e.lookup(t[1]);if(!a||fo(a)&&a.length===0)returnthis.renderTokens(t[4],e,r,i,s)};bn.prototype.indentPartial=function(t,e,r){for(vari=e.replace(/[^ \t]/g,""),s=t.split(`
`)};bn.prototype.renderPartial=function(t,e,r,i){if(r){vars=this.getConfigTags(i),a=Bb(r)?r(t[1]):r[t[1]];if(a!=null){varo=t[6],l=t[5],u=t[4],c=a;l==0&&u&&(c=this.indentPartial(a,u,o));vard=this.parse(c,s);returnthis.renderTokens(d,e,r,c,i)}}};bn.prototype.unescapedValue=function(t,e){varr=e.lookup(t[1]);if(r!=null)returnr};bn.prototype.escapedValue=function(t,e,r){vari=this.getConfigEscape(r)||mr.escape,s=e.lookup(t[1]);if(s!=null)returntypeofs=="number"&&i===mr.escape?String(s):i(s)};bn.prototype.rawValue=function(t){returnt[1]};bn.prototype.getConfigTags=function(t){returnfo(t)?t:t&&typeoft=="object"?t.tags:void0};bn.prototype.getConfigEscape=function(t){if(t&&typeoft=="object"&&!fo(t))returnt.escape};varmr={name:"mustache.js",version:"4.2.0",tags:["{{","}}"],clearCache:void0,escape:void0,parse:void0,render:void0,Scanner:void0,Context:void0,Writer:void0,settemplateCache(n){lu.templateCache=n},gettemplateCache(){returnlu.templateCache}},lu=newbn;mr.clearCache=function(){returnlu.clearCache()};mr.parse=function(t,e){returnlu.parse(t,e)};mr.render=function(t,e,r,i){if(typeoft!="string")thrownewTypeError('Invalid template! Template should be a "string" but "'+X$(t)+'" was given as the first argument for mustache#render(template, view, partials)');returnlu.render(t,e,r,i)};mr.escape=sW;mr.Scanner=uu;mr.Context=co;mr.Writer=bn;varGb=mr;varZO=ds(BO());functionVO(n,t){lete=n.trim(),r=t.query.file;switch(e){case"query.file.path":returnRr(r.path);case"query.file.pathWithoutExtension":returnRr(r.pathWithoutExtension);case"query.file.root":returnRr(r.root);case"query.file.folder":returnRr(r.folder);case"query.file.filename":returnRr(r.filename);case"query.file.filenameWithoutExtension":returnRr(r.filenameWithoutExtension);case"query.file.outlinksInProperties":returnRr(r.outlinksInProperties);case"query.file.outlinksInBody":returnRr(r.outlinksInBody);case"query.file.outlinks":returnRr(r.outlinks)}leti=zO(e,GO("query.file.property"));if(i!==null)returnRr(r.property(i));lets=zO(e,GO("query.file.hasProperty"));returns!==null?Rr(r.hasProperty(s)):pW()}functionRr(n){return{resolved:!0,value:n}}functionpW(){return{resolved:!1}}functionGO(n){lett=n.replace(/\./g,String.raw`\.`);returnnewRegExp(String.raw`^${t}\((['"])([^'"]*)\1\)$`)}functionzO(n,t){varr;lete=newRegExp(t).exec(n);return(r=e==null?void0:e[2])!=null?r:null}functionVb(n,t){Gb.escape=e=>e;try{lete=hW(n,t);returnGb.render(e,(0,ZO.default)(t))}catch(e){letr="";throweinstanceofError?r=`There was an error expanding one or more placeholders.
${n}`,newError(r)}}varmW=newRegExp(["\\{\\{","(.*?)","\\}\\}"].join(""),"g");functionhW(n,t){returnn.replace(mW,(e,r)=>{if(gW(t)){leta=VO(r,t);if(a.resolved){leto=a.value;if(o===null&&KO(r),o!==void0)returnQO(o)}}if(!on.getInstance().get()){if(yW(r))returne;thrownewEr}leti=bW(t),s=nu(i,r);if(s.isValid()){leta=ru(s.queryComponent,i);if(a===null&&KO(r),a!==void0)returnQO(a)}returne})}functionQO(n){returntypeofn=="object"?JSON.stringify(n):String(n)}functiongW(n){vart;return((t=n==null?void0:n.query)==null?void0:t.file)!==void0}functionKO(n){thrownewError(`Invalid placeholder result 'null'.
`)}explainGroups(t){returnthis.explainStatements(t.grouping.map(e=>e.statement))}explainSorters(t){returnthis.explainStatements(t.sorting.map(e=>e.statement))}explainLayout(t){returnthis.explainStatements(t.layoutStatements)}explainQueryLimits(t){functione(i){lets=`At most ${i} task`;returni!==1&&(s+="s"),s}letr=[];if(t.limit!==void0){leti=e(t.limit)+`.
`;r.push(this.indent(i))}if(t.taskGroupLimit!==void0){leti=e(t.taskGroupLimit)+` per group (if any "group by" options are supplied).
`;r.push(this.indent(i))}returnr.join(`
`)}explainDebugSettings(){lett="",{debugSettings:e}=X();returne.ignoreSortInstructions&&(t+=this.indent(`NOTE: All sort instructions, including default sort order, are disabled, due to 'ignoreSortInstructions' setting.
`}indent(t){returnthis.indentation+t}};varcf=class{constructor(t,e,r){this.nestingLevel=t,this.displayName=e,this.property=r}};vardf=class{constructor(t,e){this.lastHeadingAtLevel=newArray;this.groupers=e;leti=t.keys().next().value.length;for(lets=0;s<i;s++)this.lastHeadingAtLevel.push("")}getHeadingsForTaskGroup(t){lete=newArray;for(letr=0;r<t.length;r++){leti=t[r];if(i!=this.lastHeadingAtLevel[r]){e.push(newcf(r,i,this.groupers[r].property));for(lets=r;s<t.length;s++)this.lastHeadingAtLevel[s]="";this.lastHeadingAtLevel[r]=i}}returne}};varff=class{constructor(t){this.children=newMap;this.values=[];this.values=t}generateAllPaths(t=[]){lete=newMap;if(this.children.size==0)returne.set([...t],this.values),e;for(let[r,i]ofthis.children)t.push(r),i.generateAllPaths(t).forEach((a,o)=>e.set(o,a)),t.pop();returne}};varpf=classextendsff{},mf=class{constructor(t,e,r){this.root=newpf(e),this.buildGroupingTree(t,r)}buildGroupingTree(t,e){letr=[this.root];for(letioft){lets=[];for(letaofr)for(letoofa.values){letl=i.grouper(o,e);l.length===0&&l.push("");for(letuofl){letc=a.children.get(u);c===void0&&(c=newpf([]),a.children.set(u,c),s.push(c)),c.values.push(o)}}r=s}}generateTaskTreeStorage(){returnthis.root.generateAllPaths()}};functionXO(n){return`task${n!==1?"s":""}`}functionhf(n,t){returnn===t?`${n}${XO(n)}`:`${n} of ${t}${XO(t)}`}vargf=class{constructor(t,e){this.groups=t,this.groupHeadings=[],this.tasks=e,this._totalTasksCountBeforeLimit=e.length}setGroupHeadings(t){for(leteoft)this.groupHeadings.push(e)}applyTaskLimit(t){this.tasks=this.tasks.slice(0,t)}describeTaskCount(){lett=this.tasks.length;returnhf(t,this._totalTasksCountBeforeLimit)}tasksAsStringOfLines(){lett="";for(leteofthis.tasks)t+=e.toFileLineString()+`
`}expandPlaceholders(t,e){letr=t.anyContinuationLinesRemoved;if(r.includes("{{")&&r.includes("}}")&&this.tasksFile===void0)returnthis._error=`The query looks like it contains a placeholder, with "{{" and "}}"
`))}catch(l){returnlinstanceofError?this._error=l.message:this._error="Internal error. expandPlaceholders() threw something other than Error.",[t]}}returnthis.createStatementsFromExpandedPlaceholders(s,t)}createStatementsFromExpandedPlaceholders(t,e){letr=t.split(`
`).map(i=>i.trim()).filter(i=>i.length>0);returnr.length===1?(e.recordExpandedPlaceholders(r[0]),[e]):r.map((i,s)=>{leta=`: statement ${s+1} after expansion of placeholder`,o=newyn(e.rawInstruction+a,e.anyContinuationLinesRemoved+a);returno.recordExpandedPlaceholders(i),o})}append(t){returnthis.source===""?t:t.source===""?this:newn(`${this.source}
`+x.t("notices.live-preview-callout-warning.line6",{commandName:eT});P1(p,h,this.plugin)}return!1}let{state:i}=this.view,s=this.view.posAtDOM(e),a=i.doc.lineAt(s),o=ye.fromLine({line:a.text,taskLocation:Jt.fromUnknownPosition(newut("")),fallbackDate:null});if(o===null)return!1;t.preventDefault();letl=o.toggleWithRecurrenceInUsersOrder(),u=l.map(p=>p.toFileLineString()).join(i.lineBreak),c=a.to;if(u===""){letp=a.number<i.doc.lines?i.doc.line(a.number+1):null;p&&(c=p.from)}letd=i.update({changes:{from:a.from,to:c,insert:u}});if(this.view.dispatch(d),l.length===1){letp=l[0].status.symbol!==" ";window.setTimeout(()=>{e.checked=p},1)}return!0};this.view=t,this.plugin=e,this.view.dom.addEventListener("click",this.handleClickEvent)}destroy(){this.view.dom.removeEventListener("click",this.handleClickEvent)}};varus=require("obsidian"),U1=require("obsidian");functionF1(n,t,e,r=void0){leti="";t.isEmpty()||(i+=`Only tasks containing the global filter '${t.get()}'.
${s.explainQuery(d)}`}leto=newCr(n,r),l=newMi().query(r);if(!(o.ignoreGlobalQuery||l.ignoreGlobalQuery)&&e.hasInstructions()){letc=e.query(r);i+=a("Explanation of the global query",c)+`
`),i+=a("Explanation of this Tasks code block query",o),i}functionIf(n,t,e){leti=newMi().query(e).append(newCr(n,e));returni.ignoreGlobalQuery?i:t.query(e).append(i)}Qi();varti=require("obsidian");vt();vt();Ia();Gi();varuT=class{constructor(t){this.newPriority=t}apply(t){returnthis.isCheckedForTask(t)?[t]:[newye(me(L({},t),{priority:this.newPriority}))]}instructionDisplayName(){return`Priority: ${Un.priorityNameUsingNormal(this.newPriority)}`}isCheckedForTask(t){returnt.priority===this.newPriority}};functionL1(n){returnnewuT(n.priority)}functionq1(n,t){if(n==="priority")returnL1(t);lete=ye.allDateFields().find(r=>FW(r)===n);returne?T1(e,t):null}functionFW(n){returnn.replace(/Date$/,"")}varNf=class{start(t){this.draggedTask=t}dragged(t){returnM(this,null,function*(){returnyieldhr(this.draggedTask,t.apply(this.draggedTask)),this.draggedTask})}clear(){this.draggedTask=void0}};dt();functionhu(n,t,e){t&&n.push(LW(e))}functionLW(n){return`tasks-layout-hide-${n}`}varFf=class{constructor(t){t?this.queryLayoutOptions=t:this.queryLayoutOptions=newes}getHiddenClasses(){lett=[],e=[[this.queryLayoutOptions.hideUrgency,"urgency"],[this.queryLayoutOptions.hideBacklinks,"backlinks"],[this.queryLayoutOptions.hideEditButton,"edit-button"],[this.queryLayoutOptions.hidePostponeButton,"postpone-button"]];for(let[r,i]ofe)hu(t,r,i);returnthis.queryLayoutOptions.shortMode&&t.push("tasks-layout-short-mode"),t}};Bi();varLf=class{constructor(t){t?this.taskLayoutOptions=t:this.taskLayoutOptions=newHr}generateHiddenClasses(){lett=[];returnthis.taskLayoutOptions.toggleableComponents.forEach(e=>{hu(t,!this.taskLayoutOptions.isShown(e),e)}),hu(t,!this.taskLayoutOptions.areTagsShown(),"tags"),t}};varcT=require("obsidian");vargu=classnextendsss{constructor(t,e,r=hr){super(r);leti=(u,c,d,f,p,h)=>{varR;letb=!1,v=ho(e);if(v){let{postponedDate:D}=h(e,v,d,f);(R=e[v])!=null&&R.isSame(D,"day")&&(b=!0)}letE=p(e,f,d);c.setChecked(b).setTitle(E).onClick(()=>n.postponeOnClickCallback(u,e,f,d,h,r))},s=p1,a=o1;this.addItem(u=>i(t,u,"days",0,s,a)),this.addItem(u=>i(t,u,"day",1,s,a)),this.addSeparator();leto=nT,l=tT;o(e,1,"day")!==s(e,1,"day")&&this.addItem(u=>i(t,u,"day",1,o,l)),this.addItem(u=>i(t,u,"days",2,o,l)),this.addItem(u=>i(t,u,"days",3,o,l)),this.addItem(u=>i(t,u,"days",4,o,l)),this.addItem(u=>i(t,u,"days",5,o,l)),this.addItem(u=>i(t,u,"days",6,o,l)),this.addSeparator(),this.addItem(u=>i(t,u,"week",1,o,l)),this.addItem(u=>i(t,u,"weeks",2,o,l)),this.addItem(u=>i(t,u,"weeks",3,o,l)),this.addItem(u=>i(t,u,"month",1,o,l)),this.addSeparator(),this.addItem(u=>i(t,u,"days",2,m1,l1))}staticpostponeOnClickCallback(o,l,u,c){returnM(this,arguments,function*(t,e,r,i,s=tT,a=hr){varh;letd=ho(e);if(d===null){letb="\u26A0\uFE0F Postponement requires a date: due, scheduled or start.";returnnewcT.Notice(b,1e4)}let{postponedDate:f,postponedTask:p}=s(e,d,i,r);(h=e[d])!=null&&h.isSame(f,"day")||(yielda(e,p),n.postponeSuccessCallback(t,d,f))})}staticpostponeSuccessCallback(t,e,r){t.classList.add("tasks-no-pointer-events");leti=d1(r,e);newcT.Notice(i,2e3)}};Zt();vt();var_o=class{constructor(t,e,r){this.addedListItems=newSet;this.nestingLevel=0;this.source=t,this.tasksFile=e,this.query=r}getfilePath(){returnthis.tasksFile.path}renderQuery(t,e){returnM(this,null,function*(){this.beginRender();leti=this.query.error;t==="Warm"&&i===void0?yieldthis.renderQuerySearchResults(e):i?this.renderErrorMessage(i):this.renderLoadingMessage()})}renderQuerySearchResults(t){returnM(this,null,function*(){if(this.explainQuery(),t.searchErrorMessage!==void0){this.renderErrorMessage(t.searchErrorMessage);return}yieldthis.renderSearchResults(t)})}explainQuery(){if(this.query.queryLayoutOptions.explainQuery){lett=F1(this.source,Re.getInstance(),Rn.getInstance(),this.tasksFile);this.renderExplanation(t)}}renderSearchResults(t){returnM(this,null,function*(){this.renderSearchResultsHeader(t),yieldthis.addAllTaskGroups(t.taskGroups);lete=t.totalTasksCount;this.query.debug(`[render] ${e} tasks displayed`),this.renderSearchResultsFooter(t)
`+x.t("modals.customStatusModal.fixErrorsBeforeSaving");new Ar.Notice(d);return}this.saved=!0,this.close()})),u)),l.addExtraButton(u=>(u.setIcon("cross").setTooltip("Cancel").onClick(()=>{this.saved=!1,this.close()}),u))}onOpen(){this.display()}static setValidationError(e){e.inputEl.addClass("tasks-settings-is-invalid")}static removeValidationError(e){e.inputEl.removeClass("tasks-settings-is-invalid")}static setValid(e,r){r.length===0?n.removeValidationError(e):n.setValidationError(e)}};var fT=require("obsidian");function J1(n,t,e){if(t===e||!Object.prototype.hasOwnProperty.call(n,t))return L({},n);let r={};for(let[i,s]of Object.entries(n))i===t?r[e]=s:r[i]=s;return r}var yu=class{constructor(t,e,r){this.originalName=t,this.isValid=e,this.errorMessage=r}},Bf=class{validateRenames(t){let e={};for(let[r,i]of Object.entries(t)){let s={};for(let[a,o]of Object.entries(t))a!==r&&(s[o]="");e[r]=this.validateRename(s,"",i)}return e}validateRename(t,e,r){if(!r||r.trim()==="")return new yu(e,!1,"Preset name cannot be empty or all whitespace");for(let i of Object.keys(t))if(i!==e&&i.trim()===r.trim())return new yu(e,!1,"A preset with this name already exists");return new yu(e,!0,null)}addPreset(t){let e=this.generateUniqueKey(t),r=L({},t);return r[e]="",{presets:r,newKey:e}}renamePreset(t,e,r){return!r||r.trim()===""||(r=r.trim(),this.wouldCreateDuplicateKey(t,e,r))?null:J1(t,e,r)}deletePreset(t,e){let r=L({},t);return delete r[e],r}updatePresetValue(t,e,r){let i=L({},t);return i[e]=r,i}wouldCreateDuplicateKey(t,e,r){let i=r.trim();if(e.trim()===i)return!1;for(let s of Object.keys(t))if(s!==e&&s.trim()===i)return!0;return!1}generateUniqueKey(t){let e="new_key",r=1;for(;Object.prototype.hasOwnProperty.call(t,`${e}_${r}`);)r++;return`${e}_${r}`}reorderPreset(t,e,r){let i=Object.keys(t),s=i.indexOf(e);if(s===-1||r<0||r>=i.length)return null;if(s===r)return L({},t);let a=[...i];a.splice(s,1),a.splice(r,0,e);let o={};for(let l of a)o[l]=t[l];return o}};Nr();dt();var Gf=class{constructor(t,e){this.presetsSettingsService=new Bf;this.nameFields=new Map;this.plugin=t,this.events=e}renderPresetsSettings(t){let e=t.createDiv(),r=X(),i=()=>{e.empty(),this.nameFields.clear(),Object.entries(r.presets).forEach(([s,a])=>{this.renderPresetItem(e,r,s,a,i)})};i(),this.createAddNewPresetButton(t,r,i)}renderPresetItem(t,e,r,i,s){let a=t.createDiv({cls:"tasks-presets-wrapper"}),o=new fT.Setting(a);o.settingEl.addClass("tasks-presets-setting"),a.setAttribute("data-preset-key",r),o.addText(l=>{l.setPlaceholder("Name").setValue(r),l.inputEl.addClass("tasks-presets-key"),this.nameFields.set(r,{inputEl:l.inputEl,originalKey:r});let u=r;l.inputEl.addEventListener("input",d=>{u=d.target.value,this.validateAllInputs()});let c=()=>{if(u&&u!==r){let d=this.presetsSettingsService.renamePreset(e.presets,r,u);d&&this.savePresetsSettings(d,e,s)}};l.inputEl.addEventListener("blur",c),l.inputEl.addEventListener("keydown",d=>{d.key==="Enter"&&(d.preventDefault(),l.inputEl.blur())})}),o.addTextArea(l=>(l.inputEl.addClass("tasks-presets-value"),l.setPlaceholder("Query or filter text...").setValue(i),this.setupAutoResizingTextarea(l),l.onChange(u=>M(this,null,function*(){let c=this.presetsSettingsService.updatePresetValue(e.presets,r,u);this.savePresetsSettings(c,e,null)})))),o.addExtraButton(l=>{l.extraSettingsEl.addClass("tasks-presets-drag-handle"),l.setIcon("grip-vertical").setTooltip("Drag to reorder"),l.extraSettingsEl.addEventListener("mousedown",u=>{a.draggable=!0,l.extraSettingsEl.addClass("tasks-presets-drag-handle-active")}),l.extraSettingsEl.addEventListener("mouseup",u=>{l.extraSettingsEl.removeClass("tasks-presets-drag-handle-active")})}),o.addExtraButton(l=>{l.extraSettingsEl.addClass("tasks-presets-delete-button"),l.setIcon("cross").setTooltip("Delete").onClick(()=>M(this,null,function*(){let u=this.presetsSettingsService.deletePreset(e.presets,r);this.savePresetsSettings(u,e,s)}))}),this.setupDragAndDrop(a,r,e,s),o.infoEl.remove()}setupDragAndDrop(t,e,r,i){t.addEventListener("dragstart",s=>{s.dataTransfer&&(s.dataTransfer.setData("text/plain",e),s.dataTra
`,1e4)}varVf=classextendscs.EditorSuggest{constructor(t,e,r){super(t),this.settings=e,this.plugin=r,t.scope.register([],"Tab",()=>{vars;leti=(s=this.context)==null?void0:s.editor;returni?(i.exec("indentMore"),!1):!0})}onTrigger(t,e,r){if(!this.settings.autoSuggestInEditor||r===void0)returnnull;leti=e.getLine(t.line);return!TE(i,t,e)||this.grabSuggestions(e,r,i).length===0?null:{start:{line:t.line,ch:0},end:{line:t.line,ch:i.length},query:i}}getSuggestions(t){returnt.file===void0?[]:this.grabSuggestions(t.editor,t.file,t.query).map(r=>me(L({},r),{context:t}))}grabSuggestions(t,e,r){varu,c,d;leti=t.getCursor(),s=this.plugin.getTasks(),a=s.find(f=>f.taskLocation.path==e.path&&f.taskLocation.lineNumber==i.line),o=this.getMarkdownFileInfo(t),l=this.canSaveEdits(o);return(d=(c=(u=Wl()).buildSuggestions)==null?void0:c.call(u,r,i.ch,this.settings,s,l,a))!=null?d:[]}getMarkdownFileInfo(t){returnt.cm.state.field(cs.editorInfoField)}canSaveEdits(t){returntinstanceofcs.MarkdownView}renderSuggestion(t,e){e.setText(t.displayText)}selectSuggestion(t,e){returnM(this,null,function*(){varl,u,c;letr=t.context.editor;if(t.suggestionType==="empty"){this.close();letd=newKeyboardEvent("keydown",{code:"Enter",key:"Enter"});(u=(l=r==null?void0:r.cm)==null?void0:l.contentDOM)==null||u.dispatchEvent(d);return}if(t.taskItDependsOn!=null){letd=jc(t.taskItDependsOn,this.plugin.getTasks().map(f=>f.id));if(t.appendText+=` ${d.id}`,t.taskItDependsOn!==d)if(t.context.file.path==d.path){letf=t.taskItDependsOn.originalMarkdown,p={line:t.taskItDependsOn.lineNumber,ch:0},h={line:t.taskItDependsOn.lineNumber,ch:f.length},b=t.context.editor.getRange(p,h);if(b!==f){letv=`Error adding new ID, due to mismatched data in Tasks memory and the editor: